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