OSDN Git Service

ovl: fix oopses in ovl_fill_super() failure paths
authorMiklos Szeredi <mszeredi@redhat.com>
Mon, 10 Sep 2018 09:43:29 +0000 (11:43 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Sep 2018 06:39:30 +0000 (08:39 +0200)
commit4585b79971f781196df447a4f256b37047e1bedc
tree6c9d573f2dc098c2e47eba9c68429045cd5d2284
parent617afda7f5d9859d9e303dc0e94776f0410e041c
ovl: fix oopses in ovl_fill_super() failure paths

commit 8c25741aaad8be6fbe51510e917c740e0059cf83 upstream.

ovl_free_fs() dereferences ofs->workbasedir and ofs->upper_mnt in cases when
those might not have been initialized yet.

Fix the initialization order for these fields.

Reported-by: syzbot+c75f181dc8429d2eb887@syzkaller.appspotmail.com
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Cc: <stable@vger.kernel.org> # v4.15
Fixes: 95e6d4177cb7 ("ovl: grab reference to workbasedir early")
Fixes: a9075cdb467d ("ovl: factor out ovl_free_fs() helper")
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/overlayfs/super.c