diff options
author | rwatson <rwatson@FreeBSD.org> | 2004-08-06 03:45:45 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2004-08-06 03:45:45 +0000 |
commit | 11a2e8ce3c40516b1b505be3d5cdbf720ba8069f (patch) | |
tree | 38d3ac3c4e0dee27c2bff0875fc15138701f62ba /sys/netinet6/raw_ip6.c | |
parent | 6680706c2bf89170fdfb9bd5bc9332aa7319a17a (diff) | |
download | FreeBSD-src-11a2e8ce3c40516b1b505be3d5cdbf720ba8069f.zip FreeBSD-src-11a2e8ce3c40516b1b505be3d5cdbf720ba8069f.tar.gz |
Pass pcbinfo structures to in6_pcbnotify() rather than pcbhead
structures, allowing in6_pcbnotify() to lock the pcbinfo and each
inpcb that it notifies of ICMPv6 events. This prevents inpcb
assertions from firing when IPv6 generates and delievers event
notifications for inpcbs.
Reported by: kuriyama
Tested by: kuriyama
Diffstat (limited to 'sys/netinet6/raw_ip6.c')
-rw-r--r-- | sys/netinet6/raw_ip6.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/netinet6/raw_ip6.c b/sys/netinet6/raw_ip6.c index 994cf5f..204ec29 100644 --- a/sys/netinet6/raw_ip6.c +++ b/sys/netinet6/raw_ip6.c @@ -298,7 +298,8 @@ rip6_ctlinput(cmd, sa, d) sa6_src = &sa6_any; } - (void) in6_pcbnotify(&ripcb, sa, 0, (const struct sockaddr *)sa6_src, + (void) in6_pcbnotify(&ripcbinfo, sa, 0, + (const struct sockaddr *)sa6_src, 0, cmd, cmdarg, notify); } |