svn commit: r354607 - head/sys/netinet6
Gleb Smirnoff
glebius at FreeBSD.org
Mon Nov 11 06:28:26 UTC 2019
Author: glebius
Date: Mon Nov 11 06:28:25 2019
New Revision: 354607
URL: https://svnweb.freebsd.org/changeset/base/354607
Log:
It is unclear why in6_pcblookup_local() would require write access
to the PCB hash. The function doesn't modify the hash. It always
asserted write lock historically, but with epoch conversion this
fails in some special cases.
Reviewed by: rwatson, bz
Reported-by: syzbot+0b0488ca537e20cb2429 at syzkaller.appspotmail.com
Modified:
head/sys/netinet6/in6_pcb.c
Modified: head/sys/netinet6/in6_pcb.c
==============================================================================
--- head/sys/netinet6/in6_pcb.c Mon Nov 11 05:06:49 2019 (r354606)
+++ head/sys/netinet6/in6_pcb.c Mon Nov 11 06:28:25 2019 (r354607)
@@ -714,7 +714,7 @@ in6_pcblookup_local(struct inpcbinfo *pcbinfo, struct
KASSERT((lookupflags & ~(INPLOOKUP_WILDCARD)) == 0,
("%s: invalid lookup flags %d", __func__, lookupflags));
- INP_HASH_WLOCK_ASSERT(pcbinfo);
+ INP_HASH_LOCK_ASSERT(pcbinfo);
if ((lookupflags & INPLOOKUP_WILDCARD) == 0) {
struct inpcbhead *head;
More information about the svn-src-head
mailing list