nfsd: fix dentry leak upon mkdir failure.
syzbot is reporting that nfsd_mkdir() forgot to remove dentry created by
d_alloc_name() when __nfsd_mkdir() failed (due to memory allocation fault
injection) [1].
[1] https://syzkaller.appspot.com/bug?id=ce41a1f769ea4637ebffedf004a803e8405b4674
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reported-by: syzbot <syzbot+2c95195d5d433f6ed6cb@syzkaller.appspotmail.com>
Fixes: e8a79fb14f
("nfsd: add nfsd/clients directory")
[bfields: clean up in nfsd_mkdir instead of __nfsd_mkdir]
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
609488bc97
commit
d6846bfbee
|
@ -1205,6 +1205,7 @@ out:
|
|||
inode_unlock(dir);
|
||||
return dentry;
|
||||
out_err:
|
||||
dput(dentry);
|
||||
dentry = ERR_PTR(ret);
|
||||
goto out;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue