Message ID | 20161122142921.1801734-1-arnd@arndb.de |
---|---|
State | New |
Headers | show |
diff --git a/fs/overlayfs/dir.c b/fs/overlayfs/dir.c index bc7c62c7a72f..fb9fce0112f0 100644 --- a/fs/overlayfs/dir.c +++ b/fs/overlayfs/dir.c @@ -798,8 +798,10 @@ static char *ovl_get_redirect(struct dentry *dentry, bool samedir) } buf = kmalloc(buflen, GFP_TEMPORARY); - if (!buf) + if (!buf) { + ret = ERR_PTR(-ENOMEM); goto out; + } buflen--; buf[buflen] = '\0';
The newly introduced ovl_get_redirect() function returns an unintialized variable when kmalloc() fails: fs/overlayfs/dir.c: In function ‘ovl_set_redirect’: fs/overlayfs/overlayfs.h:92:6: error: ‘ret’ may be used uninitialized in this function [-Werror=maybe-uninitialized] This makes it return -ENOMEM instead. Fixes: 496654b0792e ("ovl: redirect on rename-dir") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- fs/overlayfs/dir.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- 2.9.0