Date: Mon, 25 Jan 2021 20:21:56 +0000 From: bugzilla-noreply@freebsd.org To: fs@FreeBSD.org Subject: [Bug 252981] panic with ZFS encryption and QAT: VERIFY3(0 == spa_do_crypt_bad(... Message-ID: <bug-252981-3630-iwWLZjx9Qf@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-252981-3630@https.bugs.freebsd.org/bugzilla/> References: <bug-252981-3630@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=3D252981 Mark Johnston <markj@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|New |Open --- Comment #1 from Mark Johnston <markj@FreeBSD.org> --- This looks like a bug in zfs_crypto_dispatch() which is only tickled when cryptop dispatch is asynchronous (i.e., a hardware driver is handling the request): it needs to set session->fs_done =3D false earlier. More generally the code is assuming that only one thread is dispatching cry= pto requests for a given freebsd_session_t. From my reading of the code this i= sn't obviously true: zio_do_crypt_data() uses key->zk_session but there doesn't appear to be any mutual exclusion. Again this is only a problem with hw crypto. I think it should be sufficient to make fs_done truly thread local. --=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-252981-3630-iwWLZjx9Qf>