Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

fs: Fix uninitialized 'offp' in statmount_string()

In statmount_string(), most flags assign an output offset pointer (offp)
which is later updated with the string offset. However, the
STATMOUNT_MNT_UIDMAP and STATMOUNT_MNT_GIDMAP cases directly set the
struct fields instead of using offp. This leaves offp uninitialized,
leading to a possible uninitialized dereference when *offp is updated.

Fix it by assigning offp for UIDMAP and GIDMAP as well, keeping the code
path consistent.

Fixes: 37c4a9590e1e ("statmount: allow to retrieve idmappings")
Fixes: e52e97f09fb6 ("statmount: let unset strings be empty")
Cc: stable@vger.kernel.org
Signed-off-by: Zhen Ni <zhen.ni@easystack.cn>
Link: https://patch.msgid.link/20251013114151.664341-1-zhen.ni@easystack.cn
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>

authored by

Zhen Ni and committed by
Christian Brauner
0778ac7d 98ac9cc4

+2 -2
+2 -2
fs/namespace.c
··· 5454 5454 ret = statmount_sb_source(s, seq); 5455 5455 break; 5456 5456 case STATMOUNT_MNT_UIDMAP: 5457 - sm->mnt_uidmap = start; 5457 + offp = &sm->mnt_uidmap; 5458 5458 ret = statmount_mnt_uidmap(s, seq); 5459 5459 break; 5460 5460 case STATMOUNT_MNT_GIDMAP: 5461 - sm->mnt_gidmap = start; 5461 + offp = &sm->mnt_gidmap; 5462 5462 ret = statmount_mnt_gidmap(s, seq); 5463 5463 break; 5464 5464 default: