commit | 4a65cf94b67935be46fbc55ddaea48ae3f7a1471 | [log] [tgz] |
---|---|---|
author | Yuval Pavel Zholkover <paulzhol@gmail.com> | Fri Apr 12 12:16:49 2019 +0300 |
committer | Tobias Klauser <tobias.klauser@gmail.com> | Mon Apr 15 10:05:56 2019 +0000 |
tree | 7bbcc3675dddc211d505f72522cca85131a00703 | |
parent | eb5bcb51f2a31c7d5141d810b70815c05d9c9146 [diff] |
ipv4: work around FreeBSD 12.0 kernel running COMPAT_FREEBSD32 Followup for CL 168297, a fix was released for the kernel bug https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236737 https://svnweb.freebsd.org/base?view=revision&revision=345741 https://svnweb.freebsd.org/base?view=revision&revision=346019 https://svnweb.freebsd.org/base?view=revision&revision=346020 Thus the bug won't affect 11.3-RELEASE and 12.1-RELEASE when they are out. Update adjustFreeBSD32 to handle only FreeBSD 12.0-RELEASE ranges of freebsdVersion. Updates golang/go#30899 Change-Id: I6beeaa55023dbe86a3d6fd8d6d5094516ec6978a Reviewed-on: https://go-review.googlesource.com/c/net/+/171937 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/ipv4/helper.go b/ipv4/helper.go index a4457d6..25e7568 100644 --- a/ipv4/helper.go +++ b/ipv4/helper.go
@@ -24,14 +24,15 @@ errNoSuchMulticastInterface = errors.New("no such multicast interface") errNotImplemented = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH) - // See http://www.freebsd.org/doc/en/books/porters-handbook/freebsd-versions.html. + // See https://www.freebsd.org/doc/en/books/porters-handbook/versions.html. freebsdVersion uint32 compatFreeBSD32 bool // 386 emulation on amd64 ) // See golang.org/issue/30899. func adjustFreeBSD32(m *socket.Message) { - if freebsdVersion >= 1103000 { + // FreeBSD 12.0-RELEASE is affected by https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236737 + if freebsdVersion >= 1200086 && freebsdVersion < 1201000 { l := (m.NN + 4 - 1) &^ (4 - 1) if m.NN < l && l <= len(m.OOB) { m.NN = l