Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/notify/inotify/inotify_user.c inotify_poll() -> fsnotify_notify_queue_is_empty()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->notification_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 $->notification_waitq.head.next->next 4096-ptr_max
PARAM_VALUE 0 $->notification_waitq.head.next->prev 4096-ptr_max
PARAM_VALUE 0 $->notification_waitq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 $->notification_waitq.head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 $->notification_waitq.lock.rlock.dep_map->name 0-255
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $ s32min-(-2),1-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &$->notification_lock
HALF_LOCKED2 &kvm->irq_srcu
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &vm->irqfds_lock
HALF_LOCKED2 global &irqfds_srcu
TYPE_LOCK (struct fsnotify_group)->notification_lock

fs/notify/notification.c fsnotify_flush_notify() -> fsnotify_notify_queue_is_empty()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->mark_mutex.dep_map->name 0-255
PARAM_VALUE 0 $->mark_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 $->mark_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 $->mark_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 $->mark_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 $->mark_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 $->mark_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 $->mark_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 $->notification_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 $->notification_waitq.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 $->owner_flags 0,262144
PARAM_VALUE 0 $->shutdown 1
BUF_SIZE 0 $ (-1),26,768
BUF_SIZE 0 $ (-1),26,768
BUF_SIZE 0 $->overflow_event (-1),16
DATA_SOURCE 0 $ $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &$->notification_lock
TYPE_LOCK (struct fsnotify_group)->notification_lock

fs/notify/notification.c fsnotify_flush_notify() -> fsnotify_notify_queue_is_empty()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->mark_mutex.dep_map->name 0-255
PARAM_VALUE 0 $->mark_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 $->mark_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 $->mark_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 $->mark_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 $->mark_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 $->mark_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 $->mark_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 $->notification_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 $->notification_waitq.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 $->owner_flags 0,262144
PARAM_VALUE 0 $->shutdown 1
BUF_SIZE 0 $ (-1),26,768
BUF_SIZE 0 $ (-1),26,768
BUF_SIZE 0 $->overflow_event (-1),16
DATA_SOURCE 0 $ $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &$->notification_lock
TYPE_LOCK (struct fsnotify_group)->notification_lock

fs/notify/notification.c fsnotify_peek_first_event() -> fsnotify_notify_queue_is_empty()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->notification_lock.rlock.dep_map->name 0-255
BUF_SIZE 0 $ s32min-(-1),1-s32max
BUF_SIZE 0 $ s32min-(-1),1-s32max
BUF_SIZE 0 $->overflow_event (-1),16
DATA_SOURCE 0 $ $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &$->notification_lock
TYPE_LOCK (struct fsnotify_group)->notification_lock

fs/notify/fanotify/fanotify_user.c fanotify_poll() -> fsnotify_notify_queue_is_empty()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->notification_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 $->notification_waitq.head.next->next 4096-ptr_max
PARAM_VALUE 0 $->notification_waitq.head.next->prev 4096-ptr_max
PARAM_VALUE 0 $->notification_waitq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 $->notification_waitq.head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 $->notification_waitq.lock.rlock.dep_map->name 0-255
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $ s32min-(-2),1-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &$->notification_lock
HALF_LOCKED2 &kvm->irq_srcu
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &vm->irqfds_lock
HALF_LOCKED2 global &irqfds_srcu
TYPE_LOCK (struct fsnotify_group)->notification_lock