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>