[Bug 220078] [patch] [panic] [ipfw] repeatable kernel panic due to unlocked INADDR_TO_IFP usage
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Jun 19 21:04:23 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=220078
--- Comment #10 from Cassiano Peixoto <peixoto.cassiano at gmail.com> ---
(In reply to Eugene Grosbein from comment #9)
mcast has been reject:
# patch < mcast.patch
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|--- sys/netinet/in_mcast.c.orig 2017-04-20 15:01:10.786840000 +0700
|+++ sys/netinet/in_mcast.c 2017-06-17 18:24:34.034823000 +0700
--------------------------
Patching file sys/netinet/in_mcast.c using Plan A...
Hunk #1 succeeded at 1340 (offset 2 lines).
Hunk #2 succeeded at 1378 (offset 2 lines).
Hunk #3 succeeded at 1878 (offset 2 lines).
Hunk #4 succeeded at 1895 (offset 2 lines).
Hunk #5 succeeded at 2229 (offset 2 lines).
Hunk #6 failed at 2288.
Hunk #7 succeeded at 2452 (offset 2 lines).
Hunk #8 succeeded at 2491 (offset 2 lines).
1 out of 8 hunks failed--saving rejects to sys/netinet/in_mcast.c.rej
done
Exit 1
# cat sys/netinet/in_mcast.c.rej
@@ -2283,9 +2288,11 @@
* XXX NOTE WELL: The RFC 3678 API is preferred because
* using an IPv4 address as a key is racy.
*/
- if (!in_nullhost(mreqs.imr_interface))
+ if (!in_nullhost(mreqs.imr_interface)) {
+ IN_IFADDR_RLOCK(&in_ifa_tracker);
INADDR_TO_IFP(mreqs.imr_interface, ifp);
-
+ IN_IFADDR_RUNLOCK(&in_ifa_tracker);
+ }
CTR3(KTR_IGMPV3, "%s: imr_interface = 0x%08x, ifp = %p",
__func__, ntohl(mreqs.imr_interface.s_addr), ifp);
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the freebsd-net
mailing list