• Pavel Tikhomirov's avatar
    fs: fix a posible leak of allocated superblock · 0e2c763c
    Pavel Tikhomirov authored
    We probably need to fix superblock leak in patch (v4 "fs: Add user
    namesapace member to struct super_block"):
    
    Imagine posible code path in sget_userns: we iterate through
    type->fs_supers and do not find suitable sb, we drop sb_lock to
    allocate s and go to retry. After we dropped sb_lock some other
    task from different userns takes sb_lock, it is already in retry
    stage and has s allocated, so it puts its s in type->fs_supers
    list. So in retry we will find these sb in list and check it has
    a different userns, and finally we will return without freeing s.
    Signed-off-by: default avatarPavel Tikhomirov <ptikhomirov@virtuozzo.com>
    Acked-by: default avatarSeth Forshee <seth.forshee@canonical.com>
    0e2c763c
super.c 35.9 KB