Date: Mon, 08 Nov 2021 09:14:46 +0000 From: bugzilla-noreply@freebsd.org To: net@FreeBSD.org Subject: [Bug 259458] iflib_rxeof NULL pointer crash with vmxnet3 driver Message-ID: <bug-259458-7501-yVe8yD8UMe@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-259458-7501@https.bugs.freebsd.org/bugzilla/> References: <bug-259458-7501@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D259458 --- Comment #18 from Andriy Gapon <avg@FreeBSD.org> --- I think that comment #13 could be on spot. After applying the following patch the problem hasn't been seen for several days (whereas previously it happened at least once per day on one of test machines). @@ -2572,7 +2572,8 @@ bzero((void *)di->idi_vaddr, di->idi_size); } for (i =3D 0; i < scctx->isc_nrxqsets; i++, rxq++) { - /* make sure all transmitters have completed before proceed= ing XXX */ + gtaskqueue_drain(rxq->ifr_task.gt_taskqueue, + &rxq->ifr_task.gt_task); rxq->ifr_cq_cidx =3D 0; for (j =3D 0, di =3D rxq->ifr_ifdi; j < sctx->isc_nrxqs; j+= +, di++) I cannot come up with an exact interaction between threads that could lead = to the symptoms, but there certainly was a data race. I used anonymous dtrace to capture initial network configuration and I saw = some interleaving between _task_fn_rx and iflib_if_ioctl -> iflib_stop / iflib_init_locked. One specific ioctl that I saw was SIOCSIFCAP. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-259458-7501-yVe8yD8UMe>