[PATCH] crypto: arm64/aes-neonbs: transition to kmalloc_obj()

Manuel Ebner posted 1 patch 3 weeks, 6 days ago
arch/arm64/crypto/aes-neonbs-glue.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] crypto: arm64/aes-neonbs: transition to kmalloc_obj()
Posted by Manuel Ebner 3 weeks, 6 days ago
Convert to type aware allocation as suggested in commit 2932ba8d9c99
("slab: Introduce kmalloc_obj() and family")

CC: Kees Cook <kees@kernel.org>
Fixes: 652a3017c485 ("crypto: arm64/aes-neonbs - Move key expansion off the stack")
Signed-off-by: Manuel Ebner <manuelebnerli@mailbox.org>
---
I have a couple similar patches lined up but they could be automated or maybe
the script is already made by Kees.
Kees can you make a script assisted commit (again)?
---
 arch/arm64/crypto/aes-neonbs-glue.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/crypto/aes-neonbs-glue.c b/arch/arm64/crypto/aes-neonbs-glue.c
index 5bcbac979..7cb1aede9 100644
--- a/arch/arm64/crypto/aes-neonbs-glue.c
+++ b/arch/arm64/crypto/aes-neonbs-glue.c
@@ -66,7 +66,7 @@ static int aesbs_setkey(struct crypto_skcipher *tfm, const u8 *in_key,
 	struct crypto_aes_ctx *rk;
 	int err;
 
-	rk = kmalloc(sizeof(*rk), GFP_KERNEL);
+	rk = kmalloc_obj(*rk);
 	if (!rk)
 		return -ENOMEM;
 
@@ -128,7 +128,7 @@ static int aesbs_cbc_ctr_setkey(struct crypto_skcipher *tfm, const u8 *in_key,
 	struct crypto_aes_ctx *rk;
 	int err;
 
-	rk = kmalloc(sizeof(*rk), GFP_KERNEL);
+	rk = kmalloc_obj(*rk);
 	if (!rk)
 		return -ENOMEM;
 
-- 
2.54.0
Re: [PATCH] crypto: arm64/aes-neonbs: transition to kmalloc_obj()
Posted by Kees Cook 3 weeks, 3 days ago
On Sun, Aug 30, 2026 at 12:17:14PM +0200, Manuel Ebner wrote:
> I have a couple similar patches lined up but they could be automated or maybe
> the script is already made by Kees.
> Kees can you make a script assisted commit (again)?

This lead me down quite a long path to try to figure out why the existing
Coccinelle script (scripts/coccinelle/api/kmalloc_objs.cocci) didn't
catch these. The answer is the cleanup.h macros and poor interaction
with Coccinelle. I think I've got a work-around built now, and I'll send
a new tree-wide change to Linus before -rc2 gets cut.

Thanks for noticing these got missed!

-Kees

-- 
Kees Cook
Re: [PATCH] crypto: arm64/aes-neonbs: transition to kmalloc_obj()
Posted by Manuel Ebner 3 weeks, 2 days ago
On Wed, 2026-09-02 at 13:17 -0700, Kees Cook wrote:
> On Sun, Aug 30, 2026 at 12:17:14PM +0200, Manuel Ebner wrote:
> > I have a couple similar patches lined up but they could be automated or maybe
> > the script is already made by Kees.
> > Kees can you make a script assisted commit (again)?
> 
> This lead me down quite a long path to try to figure out why the existing
> Coccinelle script (scripts/coccinelle/api/kmalloc_objs.cocci) didn't
> catch these. The answer is the cleanup.h macros and poor interaction
> with Coccinelle. I think I've got a work-around built now, and I'll send
> a new tree-wide change to Linus before -rc2 gets cut.
> 
> Thanks for noticing these got missed!

I think they got introduced after the big '+_obj' commit, this commit 652a3017c485
("crypto: arm64/aes-neonbs - Move key expansion off the stack") is from Mar 6 2026.

I did git checkout this commit and run checkpatch.pl (from Mar 6) over the commit:

WARNING: Prefer kmalloc_obj over kmalloc with sizeof
#37: FILE: arch/arm64/crypto/aes-neonbs-glue.c:82:
+       rk = kmalloc(sizeof(*rk), GFP_KERNEL);

So the recommended workflow should have caught this.

Thanks for handling this.
 Manuel

> -Kees
Re: [PATCH] crypto: arm64/aes-neonbs: transition to kmalloc_obj()
Posted by Eric Biggers 3 weeks, 4 days ago
On Sun, Aug 30, 2026 at 12:17:14PM +0200, Manuel Ebner wrote:
> Convert to type aware allocation as suggested in commit 2932ba8d9c99
> ("slab: Introduce kmalloc_obj() and family")
> 
> CC: Kees Cook <kees@kernel.org>
> Fixes: 652a3017c485 ("crypto: arm64/aes-neonbs - Move key expansion off the stack")
> Signed-off-by: Manuel Ebner <manuelebnerli@mailbox.org>

Please don't use the Fixes tag for behavior-preserving conversions like
this.

- Eric