• Theodore Ts'o's avatar
    ext4: remove unneeded file_remove_suid() from ext4_ioctl() · 22cdfca5
    Theodore Ts'o authored
    In the code to support EXT4_IOC_MOVE_EXT, ext4_ioctl calls
    file_remove_suid() after the call to ext4_move_extents() if any
    extents has been moved.  There are at least three things wrong with
    this.  First, file_remove_suid() should be called with i_mutex down,
    which is not here.  Second, it should be called before the donor file
    has been modified, to avoid a potential race condition.  Third, and
    most importantly, it's pointless, because ext4_file_extents() already
    checks if the donor file has the setuid or setgid bit set, and will
    return an error in that case.  So the first two objections don't
    really matter, since file_remove_suid() will never need to modify the
    inode in any case.
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    22cdfca5
ioctl.c 10.1 KB