Re: [PATCH] crypto: ti - Use list_first_entry_or_null() in dthe_get_dev()

From: T Pratham

Date: Wed Jul 29 2026 - 08:39:40 EST


On 7/3/26 14:07, Herbert Xu wrote:
> 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,

This is not possible here as the device is part of the SoC. That being
said, I'll implement this handling to have a more correct driver. In the
meanwhile, the above empty list fix can be applied.

--
Regards
T Pratham <t-pratham@xxxxxx>