mirror of
https://github.com/torvalds/linux.git
synced 2026-09-11 20:13:02 +02:00
fs: autofs: fix memory leak in autofs_fill_super()
In autofs_fill_super(), we create a new inode using
autofs_new_ino(), however, if we fail to create root_inode,
(that is, root_inode failure path), we return -ENOMEM without
freeing the new inode(ino) that we created causing a memory leak.
Fix this by adding autofs_free_ino() to free the inode we created
in root_inode failure path before returning ENOMEM.
Reported-by: syzbot+df1db6e034b3953e19f5@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=df1db6e034b3953e19f5
Fixes: 66917f85db ("autofs: add: new_inode check in autofs_fill_super()")
Cc: stable@vger.kernel.org
Signed-off-by: Jeffin Philip <jeffinphilip14@gmail.com>
Link: https://patch.msgid.link/20260903081048.132524-1-jeffinphilip14@gmail.com
Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
This commit is contained in:
parent
115bf3e515
commit
5ab54837fc
|
|
@ -323,8 +323,10 @@ static int autofs_fill_super(struct super_block *s, struct fs_context *fc)
|
|||
return -ENOMEM;
|
||||
|
||||
root_inode = autofs_get_inode(s, S_IFDIR | 0755);
|
||||
if (!root_inode)
|
||||
if (!root_inode) {
|
||||
autofs_free_ino(ino);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
root_inode->i_uid = ctx->uid;
|
||||
root_inode->i_gid = ctx->gid;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user