FAILED: patch "[PATCH] crypto: atmel-sha204a - Fix potential UAF and memory leak in" failed to apply to 5.10-stable tree
[email protected]
maintainerThe patch below does not apply to the 5.10-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.10.y
git checkout FETCH_HEAD
git cherry-pick -x bab1adf3b87e4bfac92c4f5963c63db434d561c1
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026050418-posing-squad-4f3b@gregkh' --subject-prefix 'PATCH 5.10.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From bab1adf3b87e4bfac92c4f5963c63db434d561c1 Mon Sep 17 00:00:00 2001
From: Thorsten Blum <[email protected]>
Date: Sat, 14 Mar 2026 20:36:29 +0100
Subject: [PATCH] crypto: atmel-sha204a - Fix potential UAF and memory leak in
remove path
Unregister the hwrng to prevent new ->read() calls and flush the Atmel I2C workqueue before teardown to prevent a potential UAF if a queued callback runs while the device is being removed.
Drop the early return to ensure sysfs entries are removed and ->hwrng.priv is freed, preventing a memory leak.
drivers/crypto/atmel-sha204a.c +2 -4
@@ -194,10 +194,8 @@ static void atmel_sha204a_remove(struct i2c_client *client) {struct atmel_i2c_client_priv *i2c_priv =i2c_get_clientdata (client); -if (atomic_read (&i2c_priv->tfm_count)) { -dev_emerg (&client->dev,"Device is busy, will remove it anyhow\n" ); -return ; - } +devm_hwrng_unregister (&client->dev, &i2c_priv->hwrng); +atmel_i2c_flush_queue ();sysfs_remove_group (&client->dev.kobj, &atmel_sha204a_groups);