Skip to content
  • Yann Droneaud's avatar
    vfio: use get_unused_fd_flags(0) instead of get_unused_fd() · a5d55070
    Yann Droneaud authored
    
    
    Macro get_unused_fd() is used to allocate a file descriptor with
    default flags. Those default flags (0) can be "unsafe":
    O_CLOEXEC must be used by default to not leak file descriptor
    across exec().
    
    Instead of macro get_unused_fd(), functions anon_inode_getfd()
    or get_unused_fd_flags() should be used with flags given by userspace.
    If not possible, flags should be set to O_CLOEXEC to provide userspace
    with a default safe behavor.
    
    In a further patch, get_unused_fd() will be removed so that
    new code start using anon_inode_getfd() or get_unused_fd_flags()
    with correct flags.
    
    This patch replaces calls to get_unused_fd() with equivalent call to
    get_unused_fd_flags(0) to preserve current behavor for existing code.
    
    The hard coded flag value (0) should be reviewed on a per-subsystem basis,
    and, if possible, set to O_CLOEXEC.
    
    Signed-off-by: default avatarYann Droneaud <ydroneaud@opteya.com>
    Link: http://lkml.kernel.org/r/cover.1376327678.git.ydroneaud@opteya.com
    
    
    Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
    a5d55070