Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
mm/kfence/core.c __kfence_free() -> metadata_update_state()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | meta | 4096-ptr_max |
| PARAM_VALUE | 0 | meta->cache | 4096-ptr_max |
| PARAM_VALUE | 0 | meta->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | meta->lock.owner_cpu | 0 |
| PARAM_VALUE | 0 | meta->lock.raw_lock.val.counter | 0-s32max |
| PARAM_VALUE | 1 | next | 2 |
| PARAM_VALUE | 2 | stack_entries | 0 |
| PARAM_VALUE | 3 | num_stack_entries | 0 |
| DATA_SOURCE | 0 | meta | r addr_to_metadata |
| BIT_INFO | 0 | meta->cache->flags | 0x200,0xffffffff |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &meta->lock | |
| TYPE_LOCK | (struct kfence_metadata)->lock |
mm/kfence/core.c kfence_guarded_alloc() -> metadata_update_state()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | meta | 4096-1267601977413201919,1267601977413201921-ptr_max |
| PARAM_VALUE | 0 | meta->list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | meta->list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | meta->lock.owner_cpu | 0 |
| PARAM_VALUE | 0 | meta->lock.raw_lock.val.counter | 0-s32max |
| PARAM_VALUE | 1 | next | 1 |
| PARAM_VALUE | 2 | stack_entries | 8113415261922422784 |
| PARAM_VALUE | 3 | num_stack_entries | 0-u32max |
| BUF_SIZE | 2 | stack_entries | 512 |
| BUF_SIZE | 2 | stack_entries | 512 |
| CAPPED_DATA | 0 | meta | 1 |
| CAPPED_DATA | 0 | meta->addr | 1 |
| CAPPED_DATA | 3 | num_stack_entries | 1 |
| CAPPED_DATA | 3 | num_stack_entries | 1 |
| DATA_SOURCE | 2 | stack_entries | $3 |
| DATA_SOURCE | 3 | num_stack_entries | $4 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 0 | meta->addr | 0-u64max[c] |
| USER_DATA | 0 | meta->addr | 0-u64max[c] |
| LOCK2 | flags | ||
| LOCK2 | 0 | &meta->lock | |
| TYPE_LOCK | (struct kfence_metadata)->lock |
mm/kfence/core.c kfence_guarded_free() -> metadata_update_state()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | meta | 4096-ptr_max |
| PARAM_VALUE | 0 | meta->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | meta->lock.owner_cpu | 0 |
| PARAM_VALUE | 0 | meta->lock.raw_lock.val.counter | 0-s32max |
| PARAM_VALUE | 0 | meta->state | 1-2 |
| PARAM_VALUE | 0 | meta->unprotected_page | 0 |
| PARAM_VALUE | 1 | next | 3 |
| PARAM_VALUE | 2 | stack_entries | 0 |
| PARAM_VALUE | 3 | num_stack_entries | 0 |
| CAPPED_DATA | 0 | meta->addr | 1 |
| DATA_SOURCE | 0 | meta | $1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &meta->lock | |
| TYPE_LOCK | (struct kfence_metadata)->lock |