xattr: mark variable as uninitialized to make both gcc and smatch happy
authorAristeu Rozanski <aris@redhat.com>
Wed, 12 Sep 2012 14:31:13 +0000 (10:31 -0400)
committerTejun Heo <tj@kernel.org>
Thu, 13 Sep 2012 18:10:49 +0000 (11:10 -0700)
new_xattr in __simple_xattr_set() is only initialized with a valid
pointer if value is not NULL, which only happens if this function is
called directly with the intention to remove an existing extended
attribute. Even being safe to be this way, smatch warns about possible
NULL dereference. Dan Carpenter suggested using uninitialized_var()
which will make both gcc and smatch happy.

Cc: Fengguang Wu <fengguang.wu@intel.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Aristeu Rozanski <aris@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
fs/xattr.c

index f053c11..014f113 100644 (file)
@@ -845,7 +845,7 @@ static int __simple_xattr_set(struct simple_xattrs *xattrs, const char *name,
                              const void *value, size_t size, int flags)
 {
        struct simple_xattr *xattr;
-       struct simple_xattr *new_xattr = NULL;
+       struct simple_xattr *uninitialized_var(new_xattr);
        int err = 0;
 
        /* value == NULL means remove */