[Bug 252981] panic with ZFS encryption and QAT: VERIFY3(0 == spa_do_crypt_bad(...
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Jan 25 20:21:56 UTC 2021
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252981
Mark Johnston <markj at FreeBSD.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|New |Open
--- Comment #1 from Mark Johnston <markj at 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 = false earlier.
More generally the code is assuming that only one thread is dispatching crypto
requests for a given freebsd_session_t. From my reading of the code this isn'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.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-fs
mailing list