Documented in 2 files:
Defined in 1 files as a prototype:
Defined in 3 files as a function:
- kernel/futex/waitwake.c, line 178 (as a function)
- tools/perf/bench/futex.h, line 79 (as a function)
- tools/testing/selftests/futex/include/futextest.h, line 116 (as a function)
Referenced in 14 files:
- io_uring/futex.c, line 350
- kernel/futex/core.c
- kernel/futex/syscalls.c
- kernel/sys_ni.c, line 86
- tools/perf/bench/breakpoint.c
- tools/perf/bench/futex-requeue.c, line 293
- tools/perf/bench/futex-wake-parallel.c, line 89
- tools/perf/bench/futex-wake.c, line 209
- tools/testing/selftests/futex/functional/futex_requeue.c
- tools/testing/selftests/futex/functional/futex_requeue_pi.c
- tools/testing/selftests/futex/functional/futex_requeue_pi_mismatched_ops.c, line 72
- tools/testing/selftests/futex/functional/futex_wait.c
- tools/testing/selftests/futex/functional/futex_wait_private_mapped_file.c, line 77
- tools/testing/selftests/futex/functional/futex_waitv.c
Smatch caller information:
kernel/futex/core.c handle_futex_death() -> futex_wake()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | uaddr | 0-ptr_max |
| PARAM_VALUE | 1 | flags | 18 |
| PARAM_VALUE | 2 | pop | 0 |
| PARAM_VALUE | 3 | nr_wake | 1 |
| PARAM_VALUE | 4 | bitset | u32max |
| DATA_SOURCE | 0 | uaddr | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &curr->futex.exit_mutex | ||
| TYPE_LOCK | (struct futex_sched_data)->exit_mutex |
kernel/futex/core.c handle_futex_death() -> futex_wake()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | flags | 18 |
| PARAM_VALUE | 2 | pop | 0 |
| PARAM_VALUE | 3 | nr_wake | 1 |
| PARAM_VALUE | 4 | bitset | u32max |
| DATA_SOURCE | 0 | uaddr | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &curr->futex.exit_mutex | ||
| TYPE_LOCK | (struct futex_sched_data)->exit_mutex |
io_uring/futex.c io_futex_wake() -> futex_wake()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | flags | 256-914 |
| PARAM_VALUE | 2 | pop | 0 |
| BIT_INFO | 1 | flags | 0x100,0xffffffff |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/futex/syscalls.c __do_sys_futex_wake() -> futex_wake()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | flags | 256-914 |
| PARAM_VALUE | 2 | pop | 0 |
| DATA_SOURCE | 0 | uaddr | $0 |
| DATA_SOURCE | 3 | nr_wake | $2 |
| DATA_SOURCE | 4 | bitset | $1 |
| BIT_INFO | 1 | flags | 0x100,0x3ff |
| USER_DATA | 1 | flags | 256-914[c] |
| USER_DATA | 3 | nr_wake | s32min-s32max |
| USER_DATA | 4 | bitset | 0-u32max |
kernel/futex/syscalls.c __do_sys_futex_wake() -> futex_wake()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | flags | 256-914 |
| PARAM_VALUE | 2 | pop | 0 |
| DATA_SOURCE | 0 | uaddr | $0 |
| DATA_SOURCE | 3 | nr_wake | $2 |
| DATA_SOURCE | 4 | bitset | $1 |
| BIT_INFO | 1 | flags | 0x100,0x3ff |
| USER_DATA | 1 | flags | 256-914[c] |
| USER_DATA | 3 | nr_wake | s32min-s32max |
| USER_DATA | 4 | bitset | 0-u32max |
kernel/futex/syscalls.c do_futex() -> futex_wake()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | flags | 2,18,34,50,1026,1042,1058,1074,2050,2066,2082,2098,3074,3090,3106,3122 |
| DATA_SOURCE | 0 | uaddr | $0 |
| DATA_SOURCE | 1 | flags | r futex_to_flags |
| DATA_SOURCE | 2 | pop | $4 |
| DATA_SOURCE | 3 | nr_wake | $2 |
| DATA_SOURCE | 4 | bitset | $6 [m] |
| USER_DATA | 0 | uaddr | 0-u64max |
| USER_DATA | 3 | nr_wake | s32min-s32max |
| USER_DATA | 4 | bitset | 0-u32max |