[PATCH][next] fs: Fix uninitialized variable uflags

Colin Ian King posted 1 patch 11 months, 2 weeks ago
fs/namespace.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH][next] fs: Fix uninitialized variable uflags
Posted by Colin Ian King 11 months, 2 weeks ago
The variable uflags is only being initialized in the if statement that
checks if flags & MOVE_MOUNT_F_EMPTY_PATH is non-zero.  Fix this by
initializing uflags at the start of the system call move_mount.

Fixes: b1e9423d65e3 ("fs: support getname_maybe_null() in move_mount()")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
---
 fs/namespace.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/namespace.c b/fs/namespace.c
index 663bacefddfa..c19e919a9108 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -4599,7 +4599,7 @@ SYSCALL_DEFINE5(move_mount,
 	struct path from_path __free(path_put) = {};
 	struct filename *to_name __free(putname) = NULL;
 	struct filename *from_name __free(putname) = NULL;
-	unsigned int lflags, uflags;
+	unsigned int lflags, uflags = 0;
 	enum mnt_tree_flags_t mflags = 0;
 	int ret = 0;
 
-- 
2.47.2
Re: [PATCH][next] fs: Fix uninitialized variable uflags
Posted by Christian Brauner 11 months, 2 weeks ago
On Wed, Feb 26, 2025 at 10:39:12PM +0000, Colin Ian King wrote:
> The variable uflags is only being initialized in the if statement that
> checks if flags & MOVE_MOUNT_F_EMPTY_PATH is non-zero.  Fix this by
> initializing uflags at the start of the system call move_mount.
> 
> Fixes: b1e9423d65e3 ("fs: support getname_maybe_null() in move_mount()")
> Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
> ---

Thanks, Colin. I've already taken in a patch from Arnd Bergmann
yesterday. So this should already be fixed.

>  fs/namespace.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/namespace.c b/fs/namespace.c
> index 663bacefddfa..c19e919a9108 100644
> --- a/fs/namespace.c
> +++ b/fs/namespace.c
> @@ -4599,7 +4599,7 @@ SYSCALL_DEFINE5(move_mount,
>  	struct path from_path __free(path_put) = {};
>  	struct filename *to_name __free(putname) = NULL;
>  	struct filename *from_name __free(putname) = NULL;
> -	unsigned int lflags, uflags;
> +	unsigned int lflags, uflags = 0;
>  	enum mnt_tree_flags_t mflags = 0;
>  	int ret = 0;
>  
> -- 
> 2.47.2
>