From a869fe526caa175924863ea570ac4bb40ccbb1ac Mon Sep 17 00:00:00 2001 From: Kees Cook Date: Thu, 17 Sep 2026 14:11:59 -0700 Subject: [PATCH] 9p: Add const and unsigned to wnames allocation type In preparation for converting the kmalloc family of allocators to the type-aware kmalloc_obj family, we need to make sure that the returned type from the allocation matches the type of the variable being assigned. (The kmalloc family returns "void *", which can be implicitly cast to any pointer type.) The assigned type is "const unsigned char **", but the converted allocation type would be "char **", which differs in both the const qualifier and the signedness of the character type. Take the size from the assignment target instead. No change in allocation size results. Build tested ARCH=x86_64 allmodconfig with GCC 16.2.0: fs/9p/fid.o Assisted-by: LLM coccinelle Signed-off-by: Kees Cook Message-ID: <20260917211158.i.129-kees@kernel.org> Signed-off-by: Dominique Martinet --- fs/9p/fid.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/9p/fid.c b/fs/9p/fid.c index 76242d450aa7..65dc7972b396 100644 --- a/fs/9p/fid.c +++ b/fs/9p/fid.c @@ -154,7 +154,7 @@ static int build_path_from_dentry(struct v9fs_session_info *v9ses, for (ds = dentry; !IS_ROOT(ds); ds = ds->d_parent) n++; - wnames = kmalloc_array(n, sizeof(char *), GFP_KERNEL); + wnames = kmalloc_array(n, sizeof(*wnames), GFP_KERNEL); if (!wnames) goto err_out;