vfs: Fix invalid ida_remove() call
When the group id of a shared mount is not allocated, the umount still tries to call mnt_release_group_id(), which eventually hits a kernel warning at ida_remove() spewing a message like: ida_remove called for id=0 which is not allocated. This patch fixes the bug simply checking the group id in the caller. Reported-by: Cristian Rodríguez <crrodriguez@opensuse.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
a93cb29aca
commit
5d477b6079
|
@ -83,7 +83,8 @@ static int do_make_slave(struct mount *mnt)
|
||||||
if (peer_mnt == mnt)
|
if (peer_mnt == mnt)
|
||||||
peer_mnt = NULL;
|
peer_mnt = NULL;
|
||||||
}
|
}
|
||||||
if (IS_MNT_SHARED(mnt) && list_empty(&mnt->mnt_share))
|
if (mnt->mnt_group_id && IS_MNT_SHARED(mnt) &&
|
||||||
|
list_empty(&mnt->mnt_share))
|
||||||
mnt_release_group_id(mnt);
|
mnt_release_group_id(mnt);
|
||||||
|
|
||||||
list_del_init(&mnt->mnt_share);
|
list_del_init(&mnt->mnt_share);
|
||||||
|
|
Loading…
Reference in New Issue