do_last(): fetch directory ->i_mode and ->i_uid before it's too late
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 26 Jan 2020 14:29:34 +0000 (09:29 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Jan 2020 09:24:39 +0000 (10:24 +0100)
commit51772996274874a6bccda05b827f92582ce7b565
tree911017a05e7d7d55f802cb31818bd215c1eefcef
parentd0a73d27b927026832a15d3d982e126fe79a2588
do_last(): fetch directory ->i_mode and ->i_uid before it's too late

commit d0cb50185ae942b03c4327be322055d622dc79f6 upstream.

may_create_in_sticky() call is done when we already have dropped the
reference to dir.

Fixes: 30aba6656f61e (namei: allow restricted O_CREAT of FIFOs and regular files)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/namei.c