aboutsummaryrefslogtreecommitdiff
path: root/website/static/security/patches/SA-22:05/bhyve.patch
diff options
context:
space:
mode:
Diffstat (limited to 'website/static/security/patches/SA-22:05/bhyve.patch')
-rw-r--r--website/static/security/patches/SA-22:05/bhyve.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/website/static/security/patches/SA-22:05/bhyve.patch b/website/static/security/patches/SA-22:05/bhyve.patch
new file mode 100644
index 0000000000..f151ac4bd8
--- /dev/null
+++ b/website/static/security/patches/SA-22:05/bhyve.patch
@@ -0,0 +1,26 @@
+ bhyve: admbug 985
+--- usr.sbin/bhyve/pci_e82545.c.orig
++++ usr.sbin/bhyve/pci_e82545.c
+@@ -1276,9 +1276,7 @@
+ goto done;
+ }
+ if (sc->esc_txctx.cmd_and_length & E1000_TXD_CMD_TCP) {
+- if (hdrlen < ckinfo[1].ck_start + 14 ||
+- (ckinfo[1].ck_valid &&
+- hdrlen < ckinfo[1].ck_off + 2)) {
++ if (hdrlen < ckinfo[1].ck_start + 14) {
+ WPRINTF("TSO hdrlen too small for TCP fields "
+ "(%d) -- dropped", hdrlen);
+ goto done;
+@@ -1290,6 +1288,11 @@
+ goto done;
+ }
+ }
++ if (ckinfo[1].ck_valid && hdrlen < ckinfo[1].ck_off + 2) {
++ WPRINTF("TSO hdrlen too small for TCP/UDP fields "
++ "(%d) -- dropped", hdrlen);
++ goto done;
++ }
+ }
+
+ /* Allocate, fill and prepend writable header vector. */