Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

kernel/fork.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->binfmt 0,4096-ptr_max
PARAM_VALUE 0 mm->binfmt->module 0
PARAM_VALUE 0 mm->context.ldt 0
PARAM_VALUE 0 mm->exe_file 0
PARAM_VALUE 0 mm->exe_file->f_cred->process_keyring->user->qnbytes s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->process_keyring->user->qnkeys s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->rcu.func 1-u64max
PARAM_VALUE 0 mm->exe_file->f_cred->request_key_auth->user->qnbytes s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->request_key_auth->user->qnkeys s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->session_keyring->user->qnbytes s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->session_keyring->user->qnkeys s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->thread_keyring->user->qnbytes s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->thread_keyring->user->qnkeys s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->ucounts->ns->work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 mm->exe_file->f_cred->user->uidhash_node.next->pprev 1-u64max
PARAM_VALUE 0 mm->exe_file->f_security 0
PARAM_VALUE 0 mm->exe_file->f_task_work.func 5179756662909861888
PARAM_VALUE 0 mm->exe_file->f_task_work.next 0-7661163036167163903,7661163036167163905-u64max
PARAM_VALUE 0 mm->ioctx_table 0
PARAM_VALUE 0 mm->mm_cid.pcpu 0
PARAM_VALUE 0 mm->mm_id 0
PARAM_VALUE 0 mm->mm_mt.ma_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 mm->mm_mt.ma_root 0
PARAM_VALUE 0 mm->mm_users.counter 0
PARAM_VALUE 0 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.next 2212933610777083904,2624917664208203776
PARAM_VALUE 0 mm->mmap_lock.first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 mm->notifier_subscriptions 0
PARAM_VALUE 0 mm->sc_stat.pcpu_sched 0
PARAM_VALUE 0 *mm->exe_file->f_cred->user->uidhash_node.next->pprev 1-u64max
CAPPED_DATA 0 mm 1
CAPPED_DATA 0 mm->uprobes_state.xol_area 1
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &mm->mmap_lock

kernel/fork.c mmdrop_async_fn() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

kernel/trace/trace_events_user.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 0 &mm->mmap_lock

mm/oom_kill.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
CAPPED_DATA 0 mm 1
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 global &oom_lock

drivers/vhost/vhost.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 &dev->mutex

mm/userfaultfd.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 &ctx->event_wqh.lock
HALF_LOCKED2 irq

drivers/usb/gadget/legacy/inode.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
DATA_SOURCE 0 mm $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 &epdata->dev->lock
HALF_LOCKED2 &epdata->lock

fs/proc/base.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
BUF_SIZE 0 mm (-1),26
BUF_SIZE 0 mm (-1),26
CAPPED_DATA 0 mm 1
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 global &oom_adj_mutex

kernel/kthread.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
DATA_SOURCE 0 mm $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 &access->ioas_lock
HALF_LOCKED2 &iommu->lock
HALF_LOCKED2 &iopt->iova_rwsem
HALF_LOCKED2 &kvm->arch.xen.shinfo_cache.lock
HALF_LOCKED2 &wq->uc_lock

drivers/accel/amdxdna/amdxdna_ctx.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte

fs/proc/task_mmu.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
BUF_SIZE 0 mm (-1),26
BUF_SIZE 0 mm (-1),26
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/iommu/iommufd/pages.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte

drivers/gpu/drm/drm_gpusvm.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 &vm->lock

io_uring/zcrx.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock

mm/ksm.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->binfmt->module 0
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
CAPPED_DATA 0 mm 1
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &ksm_thread_mutex
HALF_LOCKED2 0 &mm->mmap_lock

drivers/infiniband/core/umem.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 &context->db_page_mutex

io_uring/io_uring.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 &pool->lock

mm/vmscan.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/android/binder_alloc.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte

drivers/gpu/drm/xe/xe_sync.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte

drivers/accel/amdxdna/amdxdna_ubuf.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte

kernel/cpu.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq

drivers/vdpa/vdpa_user/vduse_dev.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
LOCK2 &dev->domain_lock
TYPE_LOCK (struct vduse_dev)->domain_lock

drivers/vfio/vfio_iommu_type1.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 &iommu->lock

drivers/infiniband/hw/usnic/usnic_uiom.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/mmu_notifier.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte

drivers/accel/amdxdna/amdxdna_pci_drv.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
LOCK2 &xdna->client_lock
LOCK2 &xdna->dev_lock
TYPE_LOCK (struct amdxdna_dev)->client_lock
TYPE_LOCK (struct amdxdna_dev)->dev_lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/iommu/iommufd/ioas.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
NOCHECK_CALL
UNITS 0 mm unit_byte
LOCK2 &ictx->ioas_creation_lock
TYPE_LOCK (struct iommufd_ctx)->ioas_creation_lock

drivers/infiniband/hw/mlx5/doorbell.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
LOCK2 &context->db_page_mutex
TYPE_LOCK (struct mlx5_ib_ucontext)->db_page_mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
NOCHECK_CALL
UNITS 0 mm unit_byte
LOCK2 rcu_read

drivers/iommu/iommu.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 &container->group_lock
HALF_LOCKED2 &group->mutex
HALF_LOCKED2 &iommu->lock
HALF_LOCKED2 &rproc->lock
HALF_LOCKED2 global &component_mutex
HALF_LOCKED2 global &iommu_sva_lock

mm/mmap_lock.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte

drivers/infiniband/hw/hfi1/mmu_rb.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->context.ldt 0
PARAM_VALUE 0 mm->mm_cid.pcpu 0
PARAM_VALUE 0 mm->mm_id 0
PARAM_VALUE 0 mm->notifier_subscriptions->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 mm->sc_stat.pcpu_sched 0
CAPPED_DATA 0 mm 1
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte

drivers/usb/gadget/function/f_fs.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
CAPPED_DATA 0 mm 1
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 &pool->lock

arch/x86/kvm/../../../virt/kvm/kvm_main.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte

mm/khugepaged.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->binfmt->module 0
PARAM_VALUE 0 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 mm->mmap_lock.first_waiter->type 0-1
CAPPED_DATA 0 mm 1
DATA_SOURCE 0 mm $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 global &khugepaged_mm_lock
HALF_LOCKED2 0 &mm->mmap_lock

fs/exec.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 &tsk->signal->exec_update_lock

kernel/sched/core.c mmdrop() -> __mmdrop()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte