[PATCH v2] fs: namespace: suppress 'may be used uninitialized' warnings

From: rtg . canonical
Date: Thu Aug 28 2014 - 09:56:31 EST


From: Tim Gardner <tim.gardner@xxxxxxxxxxxxx>

The gcc version 4.9.1 compiler complains even though it isn't possible for
these variables to not get initialized before they are used.

fs/namespace.c: In function âSyS_mountâ:
fs/namespace.c:2720:8: warning: âkernel_devâ may be used uninitialized in this function [-Wmaybe-uninitialized]
ret = do_mount(kernel_dev, kernel_dir->name, kernel_type, flags,
^
fs/namespace.c:2699:8: note: âkernel_devâ was declared here
char *kernel_dev;
^
fs/namespace.c:2720:8: warning: âkernel_typeâ may be used uninitialized in this function [-Wmaybe-uninitialized]
ret = do_mount(kernel_dev, kernel_dir->name, kernel_type, flags,
^
fs/namespace.c:2697:8: note: âkernel_typeâ was declared here
char *kernel_type;
^
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx>
---

V1 - use of the uninitialized_var() macro rejected.
V2 - assign automatic variables an initial value.

fs/namespace.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/namespace.c b/fs/namespace.c
index a01c773..365a06d 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -2665,9 +2665,9 @@ SYSCALL_DEFINE5(mount, char __user *, dev_name, char __user *, dir_name,
char __user *, type, unsigned long, flags, void __user *, data)
{
int ret;
- char *kernel_type;
+ char *kernel_type = NULL;
struct filename *kernel_dir;
- char *kernel_dev;
+ char *kernel_dev = NULL;
unsigned long data_page;

ret = copy_mount_string(type, &kernel_type);
--
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/