Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

kernel/fork.c ksys_unshare() -> put_files_struct()

Type Parameter Key Value
PARAM_VALUE 0 files 1-u64max
PARAM_VALUE 0 files->count.counter s32min-s32max
PARAM_VALUE 0 files->fdtab.max_fds 0-4294967295
PARAM_VALUE 0 files->next_fd 0-4294967295
PARAM_VALUE 0 files->resize_in_progress 0-1
NOCHECK_CALL
HALF_LOCKED2 &_T->lock->alloc_lock

kernel/fork.c unshare_files() -> put_files_struct()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/file.c __do_sys_close_range() -> put_files_struct()

Type Parameter Key Value
PARAM_VALUE 0 files 4096-ptr_max
PARAM_VALUE 0 files->count.counter 2-s32max
PARAM_VALUE 0 files->fd_array 4096-ptr_max
PARAM_VALUE 0 files->resize_wait.head.next->next 4096-ptr_max
PARAM_VALUE 0 files->resize_wait.head.prev->next 4096-ptr_max
PARAM_VALUE 0 files->resize_wait.head.prev->prev 4096-ptr_max
NOCHECK_CALL

fs/file.c __do_sys_close_range() -> put_files_struct()

Type Parameter Key Value
PARAM_VALUE 0 files 4096-ptr_max
PARAM_VALUE 0 files->count.counter 2-s32max
PARAM_VALUE 0 files->fd_array 4096-ptr_max
PARAM_VALUE 0 files->resize_wait.head.next->next 4096-ptr_max
PARAM_VALUE 0 files->resize_wait.head.prev->next 4096-ptr_max
PARAM_VALUE 0 files->resize_wait.head.prev->prev 4096-ptr_max
NOCHECK_CALL

fs/file.c exit_files() -> put_files_struct()

Type Parameter Key Value
PARAM_VALUE 0 files 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &system_transition_mutex