Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 42 files:

Smatch caller information:

kernel/fork.c class_get_unused_fd_constructor() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
DATA_SOURCE 0 flags $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &u->iolock

net/kcm/kcmsock.c kcm_ioctl() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0
HALF_LOCKED2 &smc->sk

drivers/iommu/iommufd/selftest.c iommufd_test_create_access() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c amdgpu_cs_fence_to_handle_ioctl() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

drivers/vfio/vfio_main.c vfio_ioct_mig_return_fd() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

arch/x86/kvm/../../../virt/kvm/guest_memfd.c __kvm_gmem_create() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0

kernel/liveupdate/luo_session.c luo_session_retrieve_fd() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
LOCK2 _T->lock

fs/file.c __do_sys_dup() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0

fs/file.c __do_sys_dup() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0

fs/file.c receive_fd() -> get_unused_fd_flags()

Type Parameter Key Value
DATA_SOURCE 0 flags $2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &match->notify_lock

mm/userfaultfd.c new_userfaultfd() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0,2048-526336
BIT_INFO 0 flags 0x0,0x80800
USER_DATA 0 flags 0,2048-526336[c]

drivers/media/mc/mc-request.c media_request_alloc() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
HALF_LOCKED2 &mdev->graph_mutex

kernel/liveupdate/luo_core.c luo_ioctl_create_session() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

kernel/liveupdate/luo_core.c luo_ioctl_retrieve_session() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c i915_gem_do_execbuffer() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

sound/core/compress_offload.c snd_compr_task_new() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524289
LOCK2 _T->lock

sound/core/compress_offload.c snd_compr_task_new() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
LOCK2 _T->lock

kernel/bpf/bpf_iter.c bpf_iter_new_fd() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

drivers/gpu/drm/msm/msm_gem_vma.c msm_ioctl_vm_bind() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

kernel/bpf/syscall.c bpf_link_prime() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
HALF_LOCKED2 &prog->aux->dst_mutex
HALF_LOCKED2 global &rtnl_mutex

drivers/char/tpm/tpm_vtpm_proxy.c vtpm_proxy_create_device() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 2
CAPABLE 0 21

drivers/android/binder.c binder_apply_fd_fixups() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
TASK_NOT_RUNNING

drivers/dma-buf/sync_file.c sync_file_ioctl_merge() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

drivers/gpu/drm/msm/msm_gem_submit.c msm_ioctl_gem_submit() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

drivers/gpu/drm/drm_atomic_uapi.c setup_out_fence() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

fs/autofs/dev-ioctl.c autofs_dev_ioctl_open_mountpoint() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

drivers/misc/ntsync.c ntsync_obj_get_fd() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

fs/pipe.c __do_pipe_flags() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0-1048574
DATA_SOURCE 0 flags $2
BIT_INFO 0 flags 0x0,0x84880
USER_DATA 0 flags 0-1048574

fs/pipe.c __do_pipe_flags() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0-1048574
DATA_SOURCE 0 flags $2
BIT_INFO 0 flags 0x0,0x84880
USER_DATA 0 flags 0-1048574

net/sctp/socket.c sctp_getsockopt_peeloff_common() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0,524288
BIT_INFO 0 flags 0x0,0x80000
RX_PATH
USER_DATA 0 flags 0,524288[c]
LOCK2 sk

drivers/gpio/gpiolib-cdev.c lineevent_create() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
LOCK2 _T->lock

drivers/gpio/gpiolib-cdev.c linehandle_create() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
LOCK2 _T->lock

drivers/gpio/gpiolib-cdev.c linereq_create() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
LOCK2 _T->lock

drivers/dma-buf/dma-buf.c dma_buf_export_sync_file() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

drivers/dma-buf/dma-buf.c dma_buf_fd() -> get_unused_fd_flags()

Type Parameter Key Value
DATA_SOURCE 0 flags $1
USER_DATA 0 flags 0-u32max
HALF_LOCKED2 &vgpu->dmabuf_lock

drivers/infiniband/core/rdma_core.c alloc_begin_fd_uobject() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
LOCK2 &ufile->hw_destroy_rwsem
HALF_LOCKED2 &attrs->ufile->hw_destroy_rwsem
HALF_LOCKED2 &ufile->device->disassociate_srcu
TYPE_LOCK (struct ib_uverbs_file)->hw_destroy_rwsem

io_uring/zcrx.c zcrx_export() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
LOCK2 &ctx->uring_lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

mm/secretmem.c __do_sys_memfd_secret() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0,524288
BIT_INFO 0 flags 0x0,0x80000
USER_DATA 0 flags 0,524288[c]

mm/secretmem.c __do_sys_memfd_secret() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0,524288
BIT_INFO 0 flags 0x0,0x80000
USER_DATA 0 flags 0,524288[c]

fs/signalfd.c do_signalfd4() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0,524288
BIT_INFO 0 flags 0x0,0x80000
USER_DATA 0 flags 0,524288[c]

io_uring/mock_file.c io_create_mock_file() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524290
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->uring_lock

io_uring/io_uring.c io_uring_install_fd() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524290

drivers/gpu/drm/msm/msm_perfcntr.c msm_ioctl_perfcntr_config() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
LOCK2 _T->lock

net/unix/af_unix.c unix_open_file() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
NS_CAPABLE 0 12

drivers/tty/pty.c ptm_open_peer() -> get_unused_fd_flags()

Type Parameter Key Value
DATA_SOURCE 0 flags $2
USER_DATA 0 flags 0-u32max

net/handshake/netlink.c handshake_nl_accept_doit() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

fs/namespace.c __do_sys_fsmount() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0
NS_CAPABLE 0 21

fs/namespace.c __do_sys_fsmount() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0,524288
FUZZY_MAX 0 flags 524288
HARD_MAX 0 flags 524288

fs/namespace.c __do_sys_fsmount() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0
NS_CAPABLE 0 21

fs/namespace.c __do_sys_fsmount() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0,524288
FUZZY_MAX 0 flags 524288
HARD_MAX 0 flags 524288

fs/namespace.c __do_sys_open_tree() -> get_unused_fd_flags()

Type Parameter Key Value
DATA_SOURCE 0 flags $2
USER_DATA 0 flags 0-u32max

fs/namespace.c __do_sys_open_tree() -> get_unused_fd_flags()

Type Parameter Key Value
DATA_SOURCE 0 flags $2
USER_DATA 0 flags 0-u32max

fs/namespace.c __do_sys_open_tree_attr() -> get_unused_fd_flags()

Type Parameter Key Value
DATA_SOURCE 0 flags $2
USER_DATA 0 flags 0-u32max

fs/namespace.c __do_sys_open_tree_attr() -> get_unused_fd_flags()

Type Parameter Key Value
DATA_SOURCE 0 flags $2
USER_DATA 0 flags 0-u32max

drivers/iommu/iommufd/eventq.c iommufd_eventq_init() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
HALF_LOCKED2 &viommu->veventqs_rwsem

drivers/virt/nitro_enclaves/ne_misc_dev.c ne_create_vm_ioctl() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
LOCK2 &ne_pci_dev->enclaves_list_mutex
TYPE_LOCK (struct ne_pci_dev)->enclaves_list_mutex

drivers/gpu/drm/drm_lease.c drm_mode_create_lease_ioctl() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0,2048-526336
BIT_INFO 0 flags 0x0,0x80800
USER_DATA 0 flags 0,2048-526336[c]

drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c etnaviv_ioctl_gem_submit() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

fs/nsfs.c ns_ioctl() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

fs/nsfs.c open_namespace() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
HALF_LOCKED2 &_T->lock->alloc_lock

fs/eventfd.c do_eventfd() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 2,2050-526338
DATA_SOURCE 0 flags $1 [m]
BIT_INFO 0 flags 0x2,0x80802
USER_DATA 0 flags 2,2050-526338[c]

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_chardev.c criu_get_prime_handle() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0,2
DATA_SOURCE 0 flags $1
BIT_INFO 0 flags 0x0,0x2
LOCK2 &p->mutex
TYPE_LOCK (struct kfd_process)->mutex

fs/fhandle.c do_handle_open() -> get_unused_fd_flags()

Type Parameter Key Value
DATA_SOURCE 0 flags $2
USER_DATA 0 flags 0-u32max

fs/timerfd.c __do_sys_timerfd_create() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0,2048-526336
BIT_INFO 0 flags 0x0,0x80800
USER_DATA 0 flags 0,2048-526336[c]

fs/timerfd.c __do_sys_timerfd_create() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0,2048-526336
BIT_INFO 0 flags 0x0,0x80800
USER_DATA 0 flags 0,2048-526336[c]

fs/eventpoll.c do_epoll_create() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 2,524290
BIT_INFO 0 flags 0x2,0x80002
USER_DATA 0 flags 2,524290[c]

net/socket.c __sys_accept4_file() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0-1048574
DATA_SOURCE 0 flags $3
BIT_INFO 0 flags 0x0,0x80800
USER_DATA 0 flags 0-1048574

net/socket.c __sys_socketpair() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0-1048574
BIT_INFO 0 flags 0x0,0x80800
USER_DATA 0 flags 0-1048574[c]

net/socket.c __sys_socketpair() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0-1048574
BIT_INFO 0 flags 0x0,0x80800
USER_DATA 0 flags 0-1048574[c]

net/socket.c sock_map_fd() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0,2048-526336
DATA_SOURCE 0 flags $1
BIT_INFO 0 flags 0x0,0x80800
USER_DATA 0 flags 0,2048-526336[c]

fs/anon_inodes.c __anon_inode_getfd() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0-1048574
DATA_SOURCE 0 flags $3
BIT_INFO 0 flags 0x0,0x80803
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 flags 0-1048574[c]

drivers/dma-buf/sw_sync.c sw_sync_ioctl_create_fence() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

drivers/gpu/drm/drm_prime.c drm_gem_prime_handle_to_fd() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0-1048574
DATA_SOURCE 0 flags $3
BIT_INFO 0 flags 0x0,0x80002
USER_DATA 0 flags 0-1048574[u]

drivers/gpu/drm/virtio/virtgpu_submit.c virtio_gpu_init_submit() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

drivers/gpu/drm/drm_syncobj.c drm_syncobj_export_sync_file() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

drivers/gpu/drm/drm_syncobj.c drm_syncobj_get_fd() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

drivers/vfio/group.c vfio_group_ioctl_get_device_fd() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c vmw_execbuf_process() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

fs/init.c init_dup() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0

drivers/accel/habanalabs/common/memory.c class_get_unused_fd_constructor() -> get_unused_fd_flags()

Type Parameter Key Value
DATA_SOURCE 0 flags $0
USER_DATA 0 flags 0-u32max[u]

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_dev_ioctl_create_vm() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_vcpu_ioctl_get_stats_fd() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
LOCK2 &vcpu->mutex
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_vm_ioctl_get_stats_fd() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

fs/notify/fanotify/fanotify_user.c __do_sys_fanotify_init() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 2,2050,524290,526338
BIT_INFO 0 flags 0x2,0x80802

fs/notify/fanotify/fanotify_user.c __do_sys_fanotify_init() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 2,2050,524290,526338
BIT_INFO 0 flags 0x2,0x80802

fs/notify/fanotify/fanotify_user.c create_fd() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0,32768-2129918

fs/open.c do_sys_openat2() -> get_unused_fd_flags()

Type Parameter Key Value
USER_DATA 0 flags 0-u32max

mm/memfd.c __do_sys_memfd_create() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0,524288
BIT_INFO 0 flags 0x0,0x80000

mm/memfd.c __do_sys_memfd_create() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0,524288
BIT_INFO 0 flags 0x0,0x80000

kernel/bpf/token.c bpf_token_create() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
NS_CAPABLE 0 39

fs/xfs/xfs_handle.c xfs_open_by_handle() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0
CAPABLE 0 21

fs/exec.c begin_new_exec() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 0
LOCK2 &tsk->signal->exec_update_lock

drivers/xen/gntdev-dmabuf.c class_get_unused_fd_constructor() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288
DATA_SOURCE 0 flags $0

kernel/seccomp.c seccomp_set_mode_filter() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288

ipc/mqueue.c do_mq_open() -> get_unused_fd_flags()

Type Parameter Key Value
PARAM_VALUE 0 flags 524288