• Vivek Goyal's avatar
    fuse: set FUSE_WRITE_KILL_SUIDGID in cached write path · b8667395
    Vivek Goyal authored
    With HANDLE_KILLPRIV_V2, server will need to kill suid/sgid if caller does
    not have CAP_FSETID.  We already have a flag FUSE_WRITE_KILL_SUIDGID in
    WRITE request and we already set it in direct I/O path.
    
    To make it work in cached write path also, start setting
    FUSE_WRITE_KILL_SUIDGID in this path too.
    
    Set it only if fc->handle_killpriv_v2 is set.  Otherwise client is
    responsible for kill suid/sgid.
    
    In case of direct I/O we set FUSE_WRITE_KILL_SUIDGID unconditionally
    because we don't call file_remove_privs() in that path (with cache=none
    option).
    Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
    b8667395
file.c 85.6 KB