Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 3 files as a macro:
- arch/mips/include/asm/futex.h, line 22 (as a macro)
- arch/xtensa/include/asm/futex.h, line 20 (as a macro)
- include/asm-generic/futex.h, line 16 (as a macro)
Defined in 20 files as a function:
- arch/alpha/include/asm/futex.h, line 64 (as a function)
- arch/arc/include/asm/futex.h, line 121 (as a function)
- arch/arm/include/asm/futex.h, line 46 (as a function)
- arch/arm/include/asm/futex.h, line 100 (as a function)
- arch/arm64/include/asm/futex.h, line 285 (as a function)
- arch/csky/include/asm/futex.h, line 83 (as a function)
- arch/hexagon/include/asm/futex.h, line 73 (as a function)
- arch/loongarch/include/asm/futex.h, line 66 (as a function)
- arch/microblaze/include/asm/futex.h, line 67 (as a function)
- arch/mips/include/asm/futex.h, line 132 (as a function)
- arch/openrisc/include/asm/futex.h, line 68 (as a function)
- arch/parisc/include/asm/futex.h, line 90 (as a function)
- arch/powerpc/include/asm/futex.h, line 65 (as a function)
- arch/riscv/include/asm/futex.h, line 76 (as a function)
- arch/s390/include/asm/futex.h, line 79 (as a function)
- arch/sh/include/asm/futex.h, line 20 (as a function)
- arch/sparc/include/asm/futex_64.h, line 68 (as a function)
- arch/um/kernel/skas/uaccess.c, line 330 (as a function)
- arch/x86/include/asm/futex.h, line 77 (as a function)
- arch/xtensa/include/asm/futex.h, line 117 (as a function)
Referenced in 4 files:
- arch/sh/include/asm/futex.h, line 63
- arch/um/kernel/skas/uaccess.c, line 368
- include/asm-generic/futex.h, line 9
- kernel/futex/futex.h, line 295
Smatch caller information:
kernel/futex/core.c futex_cmpxchg_value_locked() -> futex_atomic_cmpxchg_inatomic()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | uval | 5911024484344090624 |
| PARAM_VALUE | 3 | newval | 0,1073741824-u32max |
| DATA_SOURCE | 0 | uval | $0 |
| DATA_SOURCE | 1 | uaddr | $1 |
| DATA_SOURCE | 2 | oldval | $2 |
| DATA_SOURCE | 3 | newval | $3 |
| BIT_INFO | 3 | newval | 0x40000000,0xc0000000 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | *uval | 0-u32max |
| USER_DATA | 2 | oldval | 0-u32max |
| USER_DATA | 3 | newval | 0,1073741824-u32max[c] |
| USER_PTR | 0 | uval | |
| LOCK2 | &curr->futex.exit_mutex | ||
| TYPE_LOCK | (struct futex_sched_data)->exit_mutex |
kernel/futex/pi.c futex_cmpxchg_value_locked() -> futex_atomic_cmpxchg_inatomic()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | uval | 1330968361866330112,3533957183982542848,6004039199917338624,7663665894824783872 |
| DATA_SOURCE | 0 | uval | $0 |
| DATA_SOURCE | 1 | uaddr | $1 |
| DATA_SOURCE | 2 | oldval | $2 |
| DATA_SOURCE | 3 | newval | $3 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| USER_DATA | 0 | *uval | 0-u32max |
| USER_DATA | 1 | uaddr | 0-u64max[c] |
| USER_DATA | 2 | oldval | 0-u32max |
| USER_DATA | 3 | newval | 0-u32max[c] |
| USER_PTR | 0 | uval | |
| HALF_LOCKED2 | &hb->lock | ||
| HALF_LOCKED2 | &pi_state->pi_mutex.wait_lock | ||
| HALF_LOCKED2 | irq |