Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Nov 2019 06:28:25 +0000 (UTC)
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r354607 - head/sys/netinet6
Message-ID:  <201911110628.xAB6SP72004193@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201911110628.xAB6SP72004193>