Defined in 1 files as a prototype:

Defined in 1 files as a member:

Defined in 1 files as a function:

Referenced in 43 files:

Smatch caller information:

drivers/vfio/pci/vfio_pci_core.c vfio_pci_ioctl_pci_hot_reset_groups() -> fget()

Type Parameter Key Value
USER_DATA 0 fd 0-u32max

io_uring/rsrc.c __io_sqe_files_update() -> fget()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-4294967293
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 fd 0-4294967293
HALF_LOCKED2 &ctx->uring_lock

io_uring/rsrc.c io_files_update_with_index_alloc() -> fget()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 fd 0-u32max

io_uring/rsrc.c io_sqe_files_register() -> fget()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-4294967294
USER_DATA 0 fd 0-4294967294
LOCK2 &ctx->uring_lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

drivers/iommu/iommufd/selftest.c iommufd_access_get() -> fget()

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

kernel/time/posix-clock.c get_clock_desc() -> fget()

Type Parameter Key Value

arch/x86/kvm/../../../virt/kvm/guest_memfd.c kvm_gmem_bind() -> fget()

Type Parameter Key Value
DATA_SOURCE 0 fd $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 fd 0-u32max
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &kvm->slots_lock
HALF_LOCKED2 _T->lock

mm/mmap.c ksys_mmap_pgoff() -> fget()

Type Parameter Key Value
DATA_SOURCE 0 fd $4
USER_DATA 0 fd 0-u32max

kernel/liveupdate/luo_file.c luo_preserve_file() -> fget()

Type Parameter Key Value
DATA_SOURCE 0 fd $2
USER_DATA 0 fd 0-u32max[u]
LOCK2 _T->lock

drivers/md/md.c set_bitmap_file() -> fget()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
DATA_SOURCE 0 fd $1

fs/autofs/inode.c autofs_parse_fd() -> fget()

Type Parameter Key Value
PARAM_VALUE 0 fd 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fc->uapi_mutex

fs/aio.c __io_submit_one() -> fget()

Type Parameter Key Value
USER_DATA 0 fd 0-u32max

drivers/android/binder.c binder_translate_fd() -> fget()

Type Parameter Key Value
DATA_SOURCE 0 fd $0
USER_DATA 0 fd 0-u32max

drivers/iommu/iommufd/io_pagetable.c iopt_map_file_pages() -> fget()

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

drivers/dma-buf/sync_file.c sync_file_fdget() -> fget()

Type Parameter Key Value
DATA_SOURCE 0 fd $0
USER_DATA 0 fd 0-u32max

drivers/net/ppp/ppp_generic.c ppp_nl_newlink() -> fget()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &ops->srcu
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rx_queue_mutex

fs/autofs/dev-ioctl.c _autofs_dev_ioctl() -> fget()

Type Parameter Key Value
USER_DATA 0 fd 0-u32max

fs/autofs/dev-ioctl.c autofs_dev_ioctl_setpipefd() -> fget()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-4294967294
USER_DATA 0 fd 0-4294967294
LOCK2 &sbi->wq_mutex
TYPE_LOCK (struct autofs_sb_info)->wq_mutex

net/9p/trans_fd.c p9_fd_open() -> fget()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-4294967294
DATA_SOURCE 0 fd $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fc->uapi_mutex

net/9p/trans_fd.c p9_fd_open() -> fget()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-4294967294
DATA_SOURCE 0 fd $2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fc->uapi_mutex

drivers/misc/ntsync.c get_obj() -> fget()

Type Parameter Key Value
DATA_SOURCE 0 fd $1
USER_DATA 0 fd 0-u32max

drivers/dma-buf/dma-buf.c dma_buf_get() -> fget()

Type Parameter Key Value
DATA_SOURCE 0 fd $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 fd 0-u32max
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 _T->lock

drivers/infiniband/core/rdma_core.c lookup_get_fd_uobject() -> fget()

Type Parameter Key Value
CAPPED_DATA 0 fd 1
DATA_SOURCE 0 fd $2
USER_DATA 0 fd 0-u32max
HALF_LOCKED2 &ufile->device->disassociate_srcu
HALF_LOCKED2 &ufile->hw_destroy_rwsem

io_uring/tctx.c io_ring_add_registered_fd() -> fget()

Type Parameter Key Value
DATA_SOURCE 0 fd $1
USER_DATA 0 fd 0-u32max
LOCK2 &ctx->uring_lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

drivers/vhost/net.c get_tap_socket() -> fget()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-4294967294
DATA_SOURCE 0 fd $0
USER_DATA 0 fd 0-4294967294
LOCK2 &n->dev.mutex
LOCK2 &vq->mutex
TYPE_LOCK (struct vhost_dev)->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

fs/coda/psdev.c coda_psdev_write() -> fget()

Type Parameter Key Value
USER_DATA 0 fd 0-u32max[u]

drivers/iommu/iommufd/main.c iommufd_ctx_from_fd() -> fget()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-s32max
DATA_SOURCE 0 fd $0
USER_DATA 0 fd 0-s32max
LOCK2 &device->dev_set->lock
TYPE_LOCK (struct vfio_device_set)->lock

drivers/block/loop.c loop_change_fd() -> fget()

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

drivers/block/loop.c loop_configure() -> fget()

Type Parameter Key Value
USER_DATA 0 fd 0-u32max

io_uring/io_uring.c io_file_get_normal() -> fget()

Type Parameter Key Value
DATA_SOURCE 0 fd $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

io_uring/io_uring.c io_uring_ctx_get_file() -> fget()

Type Parameter Key Value
DATA_SOURCE 0 fd $0
USER_DATA 0 fd 0-u32max
HALF_LOCKED2 &ctx->uring_lock

drivers/accel/habanalabs/common/hldio.c hl_dio_fd_register() -> fget()

Type Parameter Key Value
PARAM_VALUE 0 fd 1-u32max
DATA_SOURCE 0 fd $1

io_uring/cancel.c io_sync_cancel() -> fget()

Type Parameter Key Value
USER_DATA 0 fd 0-u32max
LOCK2 &ctx->uring_lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_debug.c kfd_dbg_trap_enable() -> fget()

Type Parameter Key Value
DATA_SOURCE 0 fd $1
USER_DATA 0 fd 0-u32max[u]
LOCK2 &target->mutex
TYPE_LOCK (struct kfd_process)->mutex

fs/eventfd.c eventfd_fget() -> fget()

Type Parameter Key Value
PARAM_VALUE 0 fd 0-4294967294
DATA_SOURCE 0 fd $0
USER_DATA 0 fd 0-4294967294
LOCK2 &vq->mutex
HALF_LOCKED2 &d->mutex
HALF_LOCKED2 &n->dev.mutex
HALF_LOCKED2 &vs->dev.mutex
HALF_LOCKED2 &vsock->dev.mutex
TYPE_LOCK (struct vhost_dev)->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

arch/x86/kvm/../../../virt/kvm/vfio.c kvm_vfio_file_add() -> fget()

Type Parameter Key Value
DATA_SOURCE 0 fd $1
USER_DATA 0 fd 0-u32max

kernel/events/core.c perf_event_get() -> fget()

Type Parameter Key Value
DATA_SOURCE 0 fd $0
USER_DATA 0 fd 0-u32max

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_chardev.c criu_restore_devices() -> fget()

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

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_chardev.c kfd_ioctl_acquire_vm() -> fget()

Type Parameter Key Value
USER_DATA 0 fd 0-u32max[u]

net/socket.c sockfd_lookup() -> fget()

Type Parameter Key Value
DATA_SOURCE 0 fd $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 fd 0-u32max
HALF_LOCKED2 &cls_conn->ep_mutex
HALF_LOCKED2 &n->dev.mutex
HALF_LOCKED2 &nbd->config_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &sdev->ud.lock
HALF_LOCKED2 &sdev->ud.sysfs_lock
HALF_LOCKED2 &udc->lock
HALF_LOCKED2 &udc->ud.lock
HALF_LOCKED2 &udc->ud.sysfs_lock
HALF_LOCKED2 &vdev->ud.sysfs_lock
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 &xs->mutex
HALF_LOCKED2 flags
HALF_LOCKED2 global &nfsd_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 irq

fs/coda/inode.c coda_parse_fd() -> fget()

Type Parameter Key Value
PARAM_VALUE 0 fd 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fc->uapi_mutex

fs/coda/inode.c coda_parse_monolithic() -> fget()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 fd 0-u32max[u]
HALF_LOCKED2 &sb->s_umount

drivers/gpu/drm/xe/xe_svm.c xe_drm_pagemap_from_fd() -> fget()

Type Parameter Key Value
PARAM_VALUE 0 fd 1-s32max
DATA_SOURCE 0 fd $0
USER_DATA 0 fd 1-s32max[u]
LOCK2 &vm->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/dma-buf/udmabuf.c udmabuf_create() -> fget()

Type Parameter Key Value

fs/fuse/inode.c fuse_parse_param() -> fget()

Type Parameter Key Value
PARAM_VALUE 0 fd 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fsc->uapi_mutex

kernel/seccomp.c seccomp_notify_addfd() -> fget()

Type Parameter Key Value
USER_DATA 0 fd 0-u32max