Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 3 files as a function:
- kernel/task_work.c, line 200 (as a function)
- tools/testing/selftests/bpf/prog_tests/task_work_stress.c, line 46 (as a function)
- tools/testing/selftests/bpf/prog_tests/test_task_work.c, line 53 (as a function)
Referenced in 8 files:
- include/linux/resume_user_mode.h, line 50
- include/linux/task_work.h, line 40
- init/do_mounts.h, line 41
- io_uring/sqpoll.c, line 274
- io_uring/tw.h, line 84
- kernel/signal.c
- tools/testing/selftests/bpf/prog_tests/task_work_stress.c
- tools/testing/selftests/bpf/prog_tests/test_task_work.c
Smatch caller information:
kernel/exit.c exit_task_work() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | global &system_transition_mutex |
kernel/entry/common.c resume_user_mode_work() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
init/do_mounts.c init_flush_fput() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
io_uring/sqpoll.c io_run_task_work() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| LOCK2 | &sqd->lock | ||
| TYPE_LOCK | (struct io_sq_data)->lock |
io_uring/sqpoll.c io_sq_tw() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| LOCK2 | &sqd->lock | ||
| TYPE_LOCK | (struct io_sq_data)->lock |
io_uring/sqpoll.c resume_user_mode_work() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| LOCK2 | &sqd->lock | ||
| TYPE_LOCK | (struct io_sq_data)->lock |
init/initramfs.c init_flush_fput() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
io_uring/wait.c io_run_task_work() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
io_uring/wait.c resume_user_mode_work() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
io_uring/io-wq.c io_run_task_work() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
io_uring/io-wq.c resume_user_mode_work() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
io_uring/io_uring.c io_run_task_work() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
io_uring/io_uring.c resume_user_mode_work() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
io_uring/cancel.c io_run_task_work() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &sqd->lock |
io_uring/cancel.c resume_user_mode_work() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &sqd->lock |
kernel/entry/virt.c resume_user_mode_work() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| LOCK2 | &vcpu->mutex | ||
| TYPE_LOCK | (struct kvm_vcpu)->mutex |
io_uring/loop.c io_run_task_work() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
io_uring/loop.c resume_user_mode_work() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
kernel/signal.c do_freezer_trap() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &sighand->siglock | ||
| TYPE_LOCK | (struct sighand_struct)->siglock |
kernel/signal.c get_signal() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
kernel/signal.c ptrace_notify() -> task_work_run()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |