Re: [PATCH] crypto: ti - Use list_first_entry_or_null() in dthe_get_dev()
From: Herbert Xu
Date: Fri Jul 03 2026 - 04:42:08 EST
On Sat, Jun 13, 2026 at 10:58:58AM +0200, Mert Seftali wrote:
> dthe_get_dev() fetches a device from the global device list with
> list_first_entry() and then checks the result for NULL. However,
> list_first_entry() never returns NULL: on an empty list it returns a
> bogus pointer computed from the list head. The NULL check is therefore
> dead code, and an empty list would be treated as a valid entry and
> moved around as if it were a real device.
>
> Use list_first_entry_or_null() so the existing NULL check works as
> intended and an empty list is handled gracefully.
>
> Fixes: 52f641bc63a4 ("crypto: ti - Add driver for DTHE V2 AES Engine (ECB, CBC)")
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Reported-by: Dan Carpenter <error27@xxxxxxxxx>
> Closes: https://lore.kernel.org/r/202606111933.69GGTKxr-lkp@xxxxxxxxx/
> Signed-off-by: Mert Seftali <mertsftl@xxxxxxxxx>
> ---
> drivers/crypto/ti/dthev2-common.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
This only fixes the symptom of the problem. But the root goes
deeper.
The main issue is that the device can go away in the middle of
an operation. The driver needs to be handle it gracefully, and
certainly not by crashing the system because the associated memory
has been freed.
Thanks,
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt