diff options
Diffstat (limited to 'website/static/security/patches/SA-22:05/bhyve.patch')
-rw-r--r-- | website/static/security/patches/SA-22:05/bhyve.patch | 26 |
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. */ |