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+0b0488ca537e20cb2...@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;
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to