Skip site navigation (1)Skip section navigation (2)
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>