[PATCH] ovl: fix null pointer dereference on ofs allocation failure.

From: Colin King
Date: Thu Nov 09 2017 - 12:48:02 EST


From: Colin Ian King <colin.king@xxxxxxxxxxxxx>

The current error exit path when ofs fails to allocate jumps
to clean-up code that calls ovl_free_fs resulting in a null pointer
dereference on the null ovl pointer. Fix this by simply returning
with the -ENOMEM status in err.

Detected by CoverityScan, CID#1461284 ("Dereference after null check")

Fixes: 4f3bf9de9eac ("ovl: factor out ovl_free_fs() helper")
Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
---
fs/overlayfs/super.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c
index 708afec913ac..8258a194695b 100644
--- a/fs/overlayfs/super.c
+++ b/fs/overlayfs/super.c
@@ -1154,7 +1154,7 @@ static int ovl_fill_super(struct super_block *sb, void *data, int silent)
err = -ENOMEM;
ofs = kzalloc(sizeof(struct ovl_fs), GFP_KERNEL);
if (!ofs)
- goto out_err;
+ return err;

ofs->creator_cred = cred = prepare_creds();
if (!cred)
--
2.14.1