Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

fs/nfsd/filecache.c nfsd_file_mark_find_or_create() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
CAPPED_DATA 0 mark->group 1
DATA_SOURCE 0 mark r fsnotify_find_inode_mark
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nfsd/filecache.c nfsd_file_mark_find_or_create() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 mark->group 1
DATA_SOURCE 0 mark r fsnotify_find_inode_mark
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nfsd/filecache.c nfsd_file_mark_find_or_create() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark->connector 0
PARAM_VALUE 0 mark->flags 0,16,32,48,512,2048,2560,6144,6656
PARAM_VALUE 0 mark->g_list.next 4096-ptr_max
PARAM_VALUE 0 mark->g_list.prev 4096-ptr_max
PARAM_VALUE 0 mark->group 4096-ptr_max
PARAM_VALUE 0 mark->mask 1028
PARAM_VALUE 0 mark->obj_list.next 0
PARAM_VALUE 0 mark->obj_list.pprev 0
MEM_ZERO 0 mark
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/nfsd/filecache.c nfsd_file_mark_put() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->group 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/audit_fsnotify.c audit_alloc_mark() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->connector 0
PARAM_VALUE 0 mark->flags 0,16,32,48,512,2048,2560,6144,6656
PARAM_VALUE 0 mark->g_list.next 4096-ptr_max
PARAM_VALUE 0 mark->g_list.prev 4096-ptr_max
PARAM_VALUE 0 mark->group 4096-ptr_max
PARAM_VALUE 0 mark->mask 4032
PARAM_VALUE 0 mark->obj_list.next 0
PARAM_VALUE 0 mark->obj_list.pprev 0
MEM_ZERO 0 mark
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &audit_filter_mutex

kernel/audit_fsnotify.c audit_remove_mark() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &audit_filter_mutex

fs/notify/dnotify/dnotify.c dnotify_flush() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 mark->group 1
DATA_SOURCE 0 mark r fsnotify_find_inode_mark
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/notify/dnotify/dnotify.c fcntl_dirnotify() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->lock.rlock.dep_map->name 0-255
BUF_SIZE 0 mark (-1),136
BUF_SIZE 0 mark (-1),136
NOCHECK_CALL
HALF_LOCKED2 &new_fsn_mark->lock

fs/notify/dnotify/dnotify.c fcntl_dirnotify() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->connector 0
PARAM_VALUE 0 mark->flags 0,16,32,48,512,2048,2560,6144,6656
PARAM_VALUE 0 mark->g_list.next->prev 0,4096-ptr_max
PARAM_VALUE 0 mark->g_list.prev->next 0,4096-ptr_max
PARAM_VALUE 0 mark->group 4096-ptr_max
PARAM_VALUE 0 mark->ignore_mask 0
PARAM_VALUE 0 mark->mask 134217728-134217735,134218112-939525063
PARAM_VALUE 0 mark->obj_list.next 0
PARAM_VALUE 0 mark->obj_list.pprev 0
BUF_SIZE 0 mark 136
CAPPED_DATA 0 mark->group 1
MEM_ZERO 0 mark
NOCHECK_CALL

kernel/audit_watch.c audit_put_parent() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &audit_filter_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock

fs/notify/inotify/inotify_user.c __do_sys_inotify_rm_watch() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 1-u64max
NOCHECK_CALL

fs/notify/inotify/inotify_user.c __do_sys_inotify_rm_watch() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 1-u64max
NOCHECK_CALL

fs/notify/inotify/inotify_user.c inotify_new_watch() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 1-u64max
PARAM_VALUE 0 mark->flags 0,3,16,19,32,35,48,51,512,515,2048,2051,2560,2563,6144,6147,6656,6659
PARAM_VALUE 0 mark->group 4096-ptr_max
PARAM_VALUE 0 mark->mask 8192-12287,134225920-134230015
MEM_ZERO 0 mark
NOCHECK_CALL
USER_DATA 0 mark->mask 8192-12287,134225920-134230015[c][u]
LOCK2 &group->mark_mutex
TYPE_LOCK (struct fsnotify_group)->mark_mutex

fs/notify/inotify/inotify_user.c inotify_remove_from_idr() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->refcnt.refs.counter s32min-(-1),2-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 mark->mask 8192-12287,134225920-134230015[c][u]
LOCK2 idr_lock
HALF_LOCKED2 &group->mark_mutex

fs/notify/inotify/inotify_user.c inotify_remove_from_idr() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 1-u64max
PARAM_VALUE 0 mark->refcnt.refs.counter s32min-(-1),2-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &group->mark_mutex

fs/notify/inotify/inotify_user.c inotify_update_existing_watch() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->connector 0,4096-ptr_max
PARAM_VALUE 0 mark->connector->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 mark->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 mark->group 1
DATA_SOURCE 0 mark r fsnotify_find_inode_mark
NOCHECK_CALL
USER_DATA 0 mark->mask 0-u32max[c][u]
LOCK2 &group->mark_mutex
TYPE_LOCK (struct fsnotify_group)->mark_mutex

kernel/audit_tree.c create_chunk() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->connector 0
PARAM_VALUE 0 mark->flags 0,16,32,48,512,2048,2560,6144,6656
PARAM_VALUE 0 mark->g_list.next->prev 0,4096-ptr_max
PARAM_VALUE 0 mark->g_list.prev->next 0,4096-ptr_max
PARAM_VALUE 0 mark->group 4096-ptr_max
PARAM_VALUE 0 mark->group->fanotify_data.ucounts->ns->work.entry.next 4096-ptr_max
PARAM_VALUE 0 mark->group->inotify_data.idr.idr_rt.xa_flags 0,33554432-u32max
PARAM_VALUE 0 mark->group->inotify_data.ucounts->ns->work.entry.next 4096-ptr_max
PARAM_VALUE 0 mark->group->mark_mutex.magic 0
PARAM_VALUE 0 mark->group->marks_list.next 4096-ptr_max
PARAM_VALUE 0 mark->group->marks_list.next->next 4096-ptr_max
PARAM_VALUE 0 mark->group->marks_list.next->prev 4096-ptr_max
PARAM_VALUE 0 mark->group->user_ns->work.entry.next 4096-ptr_max
PARAM_VALUE 0 mark->group->user_ns->work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 mark->ignore_mask 0
PARAM_VALUE 0 mark->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 mark->mask 32768
PARAM_VALUE 0 mark->obj_list.next 0
PARAM_VALUE 0 mark->obj_list.pprev 0
BUF_SIZE 0 mark 136
CAPPED_DATA 0 mark->group 1
DATA_SOURCE 0 mark r alloc_mark
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

kernel/audit_tree.c create_chunk() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->connector->list.first 1-u64max
PARAM_VALUE 0 mark->connector->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 mark->connector->type 0-3,5-255
PARAM_VALUE 0 mark->group 4096-ptr_max
PARAM_VALUE 0 mark->group->marks_list.next 4096-ptr_max
PARAM_VALUE 0 mark->group->marks_list.next->next 4096-ptr_max
PARAM_VALUE 0 mark->group->marks_list.next->prev 4096-ptr_max
PARAM_VALUE 0 mark->ignore_mask 0
PARAM_VALUE 0 mark->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 mark->mask 32768
BUF_SIZE 0 mark 136
CAPPED_DATA 0 mark->group 1
DATA_SOURCE 0 mark r alloc_mark
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

kernel/audit_tree.c create_chunk() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->connector 4096-ptr_max
PARAM_VALUE 0 mark->connector->list.first 1-u64max
PARAM_VALUE 0 mark->connector->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 mark->connector->type 0-3,5-255
PARAM_VALUE 0 mark->flags 3,19,35,51,515,2051,2563,6147,6659
PARAM_VALUE 0 mark->g_list.next 0,4096-ptr_max
PARAM_VALUE 0 mark->g_list.prev 0,4096-ptr_max
PARAM_VALUE 0 mark->group 4096-ptr_max
PARAM_VALUE 0 mark->group->marks_list.next 4096-ptr_max
PARAM_VALUE 0 mark->group->marks_list.next->next 4096-ptr_max
PARAM_VALUE 0 mark->group->marks_list.next->prev 4096-ptr_max
PARAM_VALUE 0 mark->ignore_mask 0
PARAM_VALUE 0 mark->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 mark->mask 32768
PARAM_VALUE 0 mark->obj_list.next->pprev 4096-ptr_max
PARAM_VALUE 0 mark->obj_list.pprev 4096-ptr_max
BUF_SIZE 0 mark 136
DATA_SOURCE 0 mark r alloc_mark
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

kernel/audit_tree.c prune_tree_chunks() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &audit_cmd_mutex.lock

kernel/audit_tree.c tag_chunk() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
CAPPED_DATA 0 mark->group 1
DATA_SOURCE 0 mark r fsnotify_find_inode_mark
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

kernel/audit_tree.c tag_chunk() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
CAPPED_DATA 0 mark->group 1
DATA_SOURCE 0 mark r fsnotify_find_inode_mark
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

kernel/audit_tree.c tag_chunk() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
CAPPED_DATA 0 mark->group 1
DATA_SOURCE 0 mark r fsnotify_find_inode_mark
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

kernel/audit_tree.c tag_chunk() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
CAPPED_DATA 0 mark->group 1
DATA_SOURCE 0 mark r fsnotify_find_inode_mark
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

fs/notify/mark.c fsnotify_add_mark_locked() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->connector 0
PARAM_VALUE 0 mark->flags 0,16,32,48,512,2048,2560,6144,6656
PARAM_VALUE 0 mark->g_list.next->prev 0,4096-ptr_max
PARAM_VALUE 0 mark->g_list.prev->next 0,4096-ptr_max
PARAM_VALUE 0 mark->group 4096-ptr_max
PARAM_VALUE 0 mark->group->marks_list.next 4096-ptr_max
PARAM_VALUE 0 mark->group->marks_list.next->next 4096-ptr_max
PARAM_VALUE 0 mark->group->marks_list.next->prev 4096-ptr_max
PARAM_VALUE 0 mark->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 mark->mask 0,1028,4032,8192-12287,32768,134217728-134217735,134218112-939525063
PARAM_VALUE 0 mark->obj_list.next 0
PARAM_VALUE 0 mark->obj_list.pprev 0
BUF_SIZE 0 mark (-1),136
BUF_SIZE 0 mark (-1),136
CAPPED_DATA 0 mark->group 1
DATA_SOURCE 0 mark $0
BIT_INFO 0 mark->flags 0x0,0x1ffc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 mark->mask 8192-12287,134225920-134230015[c][u]
HALF_LOCKED2 &group->mark_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &audit_tree_group->mark_mutex
HALF_LOCKED2 global &dnotify_group->mark_mutex
TYPE_LOCK (struct fsnotify_group)->mark_mutex

fs/notify/mark.c fsnotify_clear_marks_by_group() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->lock.rlock.dep_map->name 0-255
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/notify/mark.c fsnotify_destroy_marks() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->connector->lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(*connp)->lock

fs/notify/mark.c fsnotify_destroy_marks() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->connector->lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(*connp)->lock

fs/notify/mark.c fsnotify_detach_mark() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->g_list.next->prev 4096-ptr_max
PARAM_VALUE 0 mark->g_list.prev->next 4096-ptr_max
PARAM_VALUE 0 mark->group->ops->freeing_mark 0,2212800610229145600,3292474124058923008,3405698242792390656
PARAM_VALUE 0 mark->lock.rlock.dep_map->name 0-255
BUF_SIZE 0 mark (-1),136
BUF_SIZE 0 mark (-1),136
DATA_SOURCE 0 mark $0
BIT_INFO 0 mark->flags 0x0,0xfffffffd
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 mark->ignore_mask 0-u32max[c][u]
USER_DATA 0 mark->mask 0-u32max[c][u]
HALF_LOCKED2 &group->mark_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &audit_tree_group->mark_mutex
HALF_LOCKED2 global &dnotify_group->mark_mutex
TYPE_LOCK (struct fsnotify_group)->mark_mutex

fs/notify/mark.c fsnotify_get_mark_safe() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 mark->refcnt.refs.counter (-1073741824),0-s32max
DATA_SOURCE 0 mark $0
BIT_INFO 0 mark->flags 0x0,0xfffffffd
NOCHECK_CALL

fs/notify/mark.c fsnotify_put_mark_wake() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
DATA_SOURCE 0 mark $0
NOCHECK_CALL
HALF_LOCKED2 global &fsnotify_mark_srcu

fs/notify/fanotify/fanotify_user.c fanotify_add_mark() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->flags 0,2-u32max
BUF_SIZE 0 mark (-1),136
BUF_SIZE 0 mark (-1),136
BUF_SIZE 0 mark->group s32min-(-1),1-s32max
CAPPED_DATA 0 mark->group 1
NS_CAPABLE 0 21
NOCHECK_CALL
USER_DATA 0 mark->ignore_mask 0-u32max[u]
USER_DATA 0 mark->mask 0-u32max[u]

fs/notify/fanotify/fanotify_user.c fanotify_add_new_mark() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->connector 0
PARAM_VALUE 0 mark->flags 0,16,32,48,512,2048,2560,6144,6656
PARAM_VALUE 0 mark->g_list.next->prev 0,4096-ptr_max
PARAM_VALUE 0 mark->g_list.prev->next 0,4096-ptr_max
PARAM_VALUE 0 mark->group 4096-ptr_max
PARAM_VALUE 0 mark->ignore_mask 0
PARAM_VALUE 0 mark->mask 0
PARAM_VALUE 0 mark->obj_list.next 0
PARAM_VALUE 0 mark->obj_list.pprev 0
BUF_SIZE 0 mark 136
CAPPED_DATA 0 mark->group 1
NS_CAPABLE 0 21
MEM_ZERO 0 mark
NOCHECK_CALL
LOCK2 &group->mark_mutex
TYPE_LOCK (struct fsnotify_group)->mark_mutex

fs/notify/fanotify/fanotify_user.c fanotify_remove_mark() -> fsnotify_put_mark()

Type Parameter Key Value
PARAM_VALUE 0 mark 4096-ptr_max
PARAM_VALUE 0 mark->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 mark->group 1
DATA_SOURCE 0 mark r fsnotify_find_mark
NS_CAPABLE 0 21
NOCHECK_CALL
USER_DATA 0 mark->ignore_mask 0-u32max[c][u]
USER_DATA 0 mark->mask 0-u32max[c][u]