[PATCH] crypto: stm32/crc32 - fix parsing list of devices

Thomas Bourgoin posted 1 patch 2 years ago
drivers/crypto/stm32/stm32-crc32.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] crypto: stm32/crc32 - fix parsing list of devices
Posted by Thomas Bourgoin 2 years ago
smatch warnings:
drivers/crypto/stm32/stm32-crc32.c:108 stm32_crc_get_next_crc() warn:
can 'crc' even be NULL?

Use list_first_entry_or_null instead of list_first_entry to retrieve
the first device registered.
The function list_first_entry always return a non NULL pointer even if
the list is empty. Hence checking if the pointer returned is NULL does
not tell if the list is empty or not.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/r/202311281111.ou2oUL2i-lkp@intel.com/
Reported-by: Dan Carpenter <error27@gmail.com>
Closes: https://lore.kernel.org/r/202311281111.ou2oUL2i-lkp@intel.com/
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com>
---
 drivers/crypto/stm32/stm32-crc32.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/crypto/stm32/stm32-crc32.c b/drivers/crypto/stm32/stm32-crc32.c
index b2d5c8921ab3..b0cf6d2fd352 100644
--- a/drivers/crypto/stm32/stm32-crc32.c
+++ b/drivers/crypto/stm32/stm32-crc32.c
@@ -104,7 +104,7 @@ static struct stm32_crc *stm32_crc_get_next_crc(void)
 	struct stm32_crc *crc;
 
 	spin_lock_bh(&crc_list.lock);
-	crc = list_first_entry(&crc_list.dev_list, struct stm32_crc, list);
+	crc = list_first_entry_or_null(&crc_list.dev_list, struct stm32_crc, list);
 	if (crc)
 		list_move_tail(&crc->list, &crc_list.dev_list);
 	spin_unlock_bh(&crc_list.lock);
-- 
2.25.1
Re: [PATCH] crypto: stm32/crc32 - fix parsing list of devices
Posted by Herbert Xu 1 year, 12 months ago
On Fri, Dec 15, 2023 at 12:17:24PM +0100, Thomas Bourgoin wrote:
> smatch warnings:
> drivers/crypto/stm32/stm32-crc32.c:108 stm32_crc_get_next_crc() warn:
> can 'crc' even be NULL?
> 
> Use list_first_entry_or_null instead of list_first_entry to retrieve
> the first device registered.
> The function list_first_entry always return a non NULL pointer even if
> the list is empty. Hence checking if the pointer returned is NULL does
> not tell if the list is empty or not.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/r/202311281111.ou2oUL2i-lkp@intel.com/
> Reported-by: Dan Carpenter <error27@gmail.com>
> Closes: https://lore.kernel.org/r/202311281111.ou2oUL2i-lkp@intel.com/
> Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com>
> ---
>  drivers/crypto/stm32/stm32-crc32.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Patch applied.  Thanks.
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt