[PATCH 10/12] crypto: atmel-sha204a - guard remove path against missing client data
Lothar Rubusch
l.rubusch at gmail.com
Sun May 17 11:06:37 PDT 2026
Retrieve the I2C client private data in atmel_sha204a_remove() only
after sysfs cleanup and add a NULL check before continuing device
teardown.
This prevents dereferencing invalid or partially initialized client
state during driver removal and makes the teardown path more robust
against inconsistent probe/remove sequences.
No functional change intended.
Signed-off-by: Lothar Rubusch <l.rubusch at gmail.com>
---
drivers/crypto/atmel-sha204a.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/crypto/atmel-sha204a.c b/drivers/crypto/atmel-sha204a.c
index 613ed5e7b3f6..923e462ff6b0 100644
--- a/drivers/crypto/atmel-sha204a.c
+++ b/drivers/crypto/atmel-sha204a.c
@@ -213,7 +213,11 @@ static int atmel_sha204a_probe(struct i2c_client *client)
static void atmel_sha204a_remove(struct i2c_client *client)
{
- struct atmel_i2c_client_priv *i2c_priv = i2c_get_clientdata(client);
+ struct atmel_i2c_client_priv *i2c_priv;
+
+ i2c_priv = i2c_get_clientdata(client);
+ if (WARN_ON(!i2c_priv))
+ return;
devm_hwrng_unregister(&client->dev, &i2c_priv->hwrng);
--
2.53.0
More information about the linux-arm-kernel
mailing list