Defined in 2 files as a function:
Referenced in 1 files:
Smatch caller information:
fs/eventpoll.c ep_clear_and_put() -> ep_poll_safewake()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ep | 4096-ptr_max |
| PARAM_VALUE | 1 | epi | 0 |
| PARAM_VALUE | 2 | pollflags | 0 |
| BUF_SIZE | 0 | ep | (-1),26 |
| BUF_SIZE | 0 | ep | (-1),26 |
| DATA_SOURCE | 0 | ep | $0 |
| PARAM_COMPARE | 0 | &ep->poll_wait.head | != $0->poll_wait.head.next |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/eventpoll.c ep_insert() -> ep_poll_safewake()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ep | 4096-ptr_max |
| PARAM_VALUE | 0 | ep->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ep->mtx.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ep->mtx.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ep->mtx.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | ep->mtx.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | ep->mtx.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | ep->rbr.rb_leftmost | 4096-ptr_max |
| PARAM_VALUE | 0 | ep->rbr.rb_leftmost->rb_left | 0 |
| PARAM_VALUE | 0 | ep->rbr.rb_leftmost->rb_right | 0 |
| PARAM_VALUE | 0 | ep->rbr.rb_root.rb_node | 4096-ptr_max |
| PARAM_VALUE | 0 | ep->rdllist.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ep->rdllist.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ep->rdllist.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ep->user | 4096-ptr_max |
| PARAM_VALUE | 0 | ep->user->epoll_watches.lock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | epi | 0 |
| PARAM_VALUE | 2 | pollflags | 0 |
| BUF_SIZE | 0 | ep | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | ep | s32min-(-2),1-s32max |
| DATA_SOURCE | 0 | ep | $1 |
| PARAM_COMPARE | 0 | &ep->poll_wait.head | != $0->poll_wait.head.next |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/eventpoll.c ep_modify() -> ep_poll_safewake()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ep | 4096-ptr_max |
| PARAM_VALUE | 0 | ep->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ep->mtx.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ep->mtx.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ep->mtx.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | ep->mtx.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | ep->mtx.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | ep->rbr.rb_root.rb_node | 1-u64max |
| PARAM_VALUE | 0 | ep->rdllist.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ep->rdllist.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | ep->rdllist.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | epi | 0 |
| PARAM_VALUE | 2 | pollflags | 0 |
| BUF_SIZE | 0 | ep | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | ep | s32min-(-2),1-s32max |
| DATA_SOURCE | 0 | ep | $0 |
| PARAM_COMPARE | 0 | &ep->poll_wait.head | != $0->poll_wait.head.next |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/eventpoll.c ep_poll_callback() -> ep_poll_safewake()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ep | 4096-ptr_max |
| PARAM_VALUE | 0 | ep->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | epi | 4096-ptr_max |
| PARAM_VALUE | 1 | epi->ep | 4096-ptr_max |
| PARAM_VALUE | 1 | epi->ep->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | epi->event.events | 1-u32max |
| PARAM_VALUE | 2 | pollflags | 0,134217728 |
| DATA_SOURCE | 1 | epi | r ep_item_from_wait |
| PARAM_COMPARE | 0 | &ep->poll_wait.head | != $0->poll_wait.head.next |
| BIT_INFO | 2 | pollflags | 0x0,0x8000000 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &sci->sc_wait_request.lock | ||
| HALF_LOCKED2 | &x->lock | ||
| HALF_LOCKED2 | flags |