Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/slub.c ___cache_free() -> __slab_free()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 0 s->ctor 0
PARAM_VALUE 1 slab 0,4096-ptr_max
PARAM_VALUE 4 cnt 1
CAPPED_DATA 2 head 1
CAPPED_DATA 3 tail 1
DATA_SOURCE 0 s $0
DATA_SOURCE 2 head $1
DATA_SOURCE 3 tail $1
DATA_SOURCE 5 addr $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &remove_cache_srcu

mm/slub.c __kmem_cache_free_bulk() -> __slab_free()

Type Parameter Key Value
PARAM_VALUE 1 slab 4096-ptr_max
PARAM_VALUE 4 cnt 1-s32max
STR_LEN 0 s (-1)
STR_LEN 0 s (-1)
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 s->object_size
NO_OVERFLOW_SIMPLE 0 s->sheaf_capacity

mm/slub.c __refill_objects_node() -> __slab_free()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 1 slab 4096-ptr_max
PARAM_VALUE 4 cnt s32min-(-1),1-s32max
BUF_SIZE 2 head (-1),1-s32max
BUF_SIZE 2 head (-1),1-s32max
BUF_SIZE 3 tail (-1),1-s32max
BUF_SIZE 3 tail (-1),1-s32max
CAPPED_DATA 0 s 1
DATA_SOURCE 0 s $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 s->object_size

mm/slub.c deferred_percpu_work_fn() -> __slab_free()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 1 slab 4096-ptr_max
PARAM_VALUE 1 slab->slab_cache 4096-ptr_max
PARAM_VALUE 2 head 1-u64max
PARAM_VALUE 3 tail 1-u64max
PARAM_VALUE 4 cnt 1
DATA_SOURCE 1 slab r virt_to_slab
NOCHECK_CALL
UNITS 2 head unit_byte
UNITS 3 tail unit_byte

mm/slub.c memcg_alloc_abort_single() -> __slab_free()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 1 slab 0,4096-ptr_max
PARAM_VALUE 2 head 1-u64max
PARAM_VALUE 3 tail 1-u64max
PARAM_VALUE 4 cnt 1
CAPPED_DATA 2 head 1
CAPPED_DATA 3 tail 1
DATA_SOURCE 0 s $0
DATA_SOURCE 1 slab r virt_to_slab
DATA_SOURCE 2 head $1
DATA_SOURCE 3 tail $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 s->object_size

mm/slub.c slab_free() -> __slab_free()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 1 slab 4096-ptr_max
PARAM_VALUE 1 slab->obj_exts_needs_objcg 1
PARAM_VALUE 4 cnt 1
BUF_SIZE 2 head (-1),1-s32max
BUF_SIZE 2 head (-1),1-s32max
BUF_SIZE 3 tail (-1),1-s32max
BUF_SIZE 3 tail (-1),1-s32max
CAPPED_DATA 2 head 1
CAPPED_DATA 3 tail 1
DATA_SOURCE 0 s $0
DATA_SOURCE 1 slab $1
DATA_SOURCE 2 head $2
DATA_SOURCE 3 tail $2
DATA_SOURCE 5 addr $3
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/slub.c slab_free_after_rcu_debug() -> __slab_free()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 1 slab 4096-ptr_max
PARAM_VALUE 1 slab->slab_cache 4096-ptr_max
PARAM_VALUE 4 cnt 1
BUF_SIZE 2 head 1-s32max
BUF_SIZE 2 head 1-s32max
BUF_SIZE 3 tail 1-s32max
BUF_SIZE 3 tail 1-s32max
CAPPED_DATA 2 head 1
CAPPED_DATA 3 tail 1
DATA_SOURCE 1 slab r virt_to_slab
BIT_INFO 0 s->flags 0x200,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

mm/slub.c slab_free_bulk() -> __slab_free()

Type Parameter Key Value
PARAM_VALUE 0 s 4096-ptr_max
PARAM_VALUE 1 slab 4096-ptr_max
PARAM_VALUE 1 slab->obj_exts_needs_objcg 1
PARAM_VALUE 2 head 1-u64max
DATA_SOURCE 0 s $0
DATA_SOURCE 1 slab $1
DATA_SOURCE 2 head $2 [m]
DATA_SOURCE 3 tail $3 [m]
DATA_SOURCE 4 cnt $5 [m]
DATA_SOURCE 5 addr $6
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 s->object_size
NO_OVERFLOW_SIMPLE 0 s->sheaf_capacity
HALF_LOCKED2 rcu