Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 45 files:

Smatch caller information:

kernel/fork.c class_get_unused_fd_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &u->iolock

net/kcm/kcmsock.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOSPEC 0 fd
NOSPEC 0 fd
NOCHECK_CALL
USER_DATA 0 fd 0-s32max[c]
LOCK2 _T->lock

fs/file.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/userfaultfd.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

io_uring/openclose.c io_openat2() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r __get_unused_fd_flags
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

io_uring/openclose.c io_pipe_fd() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

io_uring/openclose.c io_pipe_fd() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/media/mc/mc-request.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL
HALF_LOCKED2 &mdev->graph_mutex

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL
USER_DATA 0 fd 0-s32max[c]

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOSPEC 0 fd
NOSPEC 0 fd
NOCHECK_CALL
USER_DATA 0 fd 0-s32max[c]

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL
LOCK2 _T->lock

kernel/bpf/bpf_iter.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
NOCHECK_CALL

kernel/bpf/syscall.c bpf_link_cleanup() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL
HALF_LOCKED2 &prog->aux->dst_mutex
HALF_LOCKED2 global &rtnl_mutex

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL
HALF_LOCKED2 &prog->aux->dst_mutex
HALF_LOCKED2 global &rtnl_mutex

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL
HALF_LOCKED2 &prog->aux->dst_mutex
HALF_LOCKED2 global &rtnl_mutex

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
CAPABLE 0 21
NOCHECK_CALL

drivers/char/tpm/tpm_vtpm_proxy.c vtpmx_ioc_new_dev() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPABLE 0 21
NOCHECK_CALL
USER_DATA 0 fd 0-s32max

drivers/android/binder.c binder_free_txn_fixups() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
NOCHECK_CALL

drivers/gpu/drm/drm_atomic_uapi.c complete_signaling() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

fs/autofs/dev-ioctl.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

drivers/misc/ntsync.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
NOSPEC 0 fd
NOSPEC 0 fd
NOCHECK_CALL
USER_DATA 0 fd 1-s32max[c]

fs/pipe.c do_pipe2() -> put_unused_fd()

Type Parameter Key Value
NOCHECK_CALL

fs/pipe.c do_pipe2() -> put_unused_fd()

Type Parameter Key Value
NOCHECK_CALL

net/sctp/socket.c sctp_getsockopt_peeloff() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r sctp_getsockopt_peeloff_common
RX_PATH
NOCHECK_CALL
LOCK2 sk

net/sctp/socket.c sctp_getsockopt_peeloff() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r sctp_getsockopt_peeloff_common
RX_PATH
NOCHECK_CALL
LOCK2 sk

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
RX_PATH
NOCHECK_CALL
LOCK2 sk

net/sctp/socket.c sctp_getsockopt_peeloff_flags() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r sctp_getsockopt_peeloff_common
RX_PATH
NOCHECK_CALL
LOCK2 sk

net/sctp/socket.c sctp_getsockopt_peeloff_flags() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r sctp_getsockopt_peeloff_common
RX_PATH
NOCHECK_CALL
LOCK2 sk

drivers/gpio/gpiolib-cdev.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL
LOCK2 _T->lock

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

drivers/infiniband/core/rdma_core.c alloc_abort_fd_uobject() -> put_unused_fd()

Type Parameter Key Value
RX_PATH
NOCHECK_CALL
HALF_LOCKED2 &file->device->disassociate_srcu

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL
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() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL
LOCK2 &ctx->uring_lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

mm/secretmem.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

fs/signalfd.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

io_uring/mock_file.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ctx->uring_lock

drivers/gpu/drm/msm/msm_perfcntr.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL
LOCK2 _T->lock

net/unix/af_unix.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NS_CAPABLE 0 12
NOCHECK_CALL
HALF_LOCKED2 &smc->sk

drivers/tty/pty.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL
USER_DATA 0 fd 1-s32max[c]

net/handshake/netlink.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
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 class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL
USER_DATA 0 fd 1-s32max[c]

drivers/iommu/iommufd/eventq.c iommufd_fault_alloc() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r iommufd_eventq_init
NOCHECK_CALL

drivers/iommu/iommufd/eventq.c iommufd_veventq_alloc() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r iommufd_eventq_init
NOCHECK_CALL
LOCK2 &viommu->veventqs_rwsem
TYPE_LOCK (struct iommufd_viommu)->veventqs_rwsem

net/core/scm.c scm_pidfd_recv() -> put_unused_fd()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &u->iolock
TYPE_LOCK (struct unix_sock)->iolock

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL
LOCK2 &ne_pci_dev->enclaves_list_mutex
TYPE_LOCK (struct ne_pci_dev)->enclaves_list_mutex

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL
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() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

io_uring/net.c io_accept() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r __get_unused_fd_flags
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

io_uring/net.c io_socket() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r __get_unused_fd_flags
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nsfs.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

net/core/sock.c sk_getsockopt() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r pidfd_prepare
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/eventfd.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL
USER_DATA 0 fd 1-s32max[c]

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_chardev.c commit_files() -> put_unused_fd()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 &p->mutex
TYPE_LOCK (struct kfd_process)->mutex

fs/fhandle.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL
USER_DATA 0 fd 1-s32max[c]

fs/timerfd.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

fs/eventpoll.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOSPEC 0 fd
NOSPEC 0 fd
NOCHECK_CALL
USER_DATA 0 fd 1-s32max[c]

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL
USER_DATA 0 fd 1-s32max[c]

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOSPEC 0 fd
NOSPEC 0 fd
NOCHECK_CALL
USER_DATA 0 fd 1-s32max[c]

net/socket.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL
USER_DATA 0 fd 1-s32max[c]

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL
USER_DATA 0 fd 1-s32max[c]

fs/anon_inodes.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 fd 1-s32max[c]

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOSPEC 0 fd
NOSPEC 0 fd
NOCHECK_CALL
USER_DATA 0 fd 1-s32max[c]

drivers/gpu/drm/virtio/virtgpu_submit.c virtio_gpu_cleanup_submit() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

drivers/vfio/group.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL
LOCK2 &dev_priv->cmdbuf_mutex
TYPE_LOCK (struct vmw_private)->cmdbuf_mutex

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL
LOCK2 &dev_priv->cmdbuf_mutex
TYPE_LOCK (struct vmw_private)->cmdbuf_mutex

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

drivers/accel/habanalabs/common/memory.c class_get_unused_fd_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL
USER_DATA 0 fd 1-s32max[c]

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL
LOCK2 &vcpu->mutex
TYPE_LOCK (struct kvm_vcpu)->mutex

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

fs/notify/fanotify/fanotify_user.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

fs/notify/fanotify/fanotify_user.c copy_event_to_user() -> put_unused_fd()

Type Parameter Key Value
CAPPED_DATA 0 fd 1
NOCHECK_CALL

fs/notify/fanotify/fanotify_user.c copy_event_to_user() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r pidfd_prepare
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

fs/open.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL
USER_DATA 0 fd 1-s32max[c]

mm/memfd.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

kernel/bpf/token.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NS_CAPABLE 0 39
NOCHECK_CALL

fs/xfs/xfs_handle.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPABLE 0 21
NOCHECK_CALL

fs/exec.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL
LOCK2 &tsk->signal->exec_update_lock

drivers/xen/gntdev-dmabuf.c class_get_unused_fd_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd r get_unused_fd_flags
NOCHECK_CALL

ipc/mqueue.c class_fd_prepare_destructor() -> put_unused_fd()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
NOCHECK_CALL