Defined in 2 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/slub.c __rcu_free_sheaf_prepare() -> memcg_slab_free_hook()

Type Parameter Key Value
PARAM_VALUE 1 slab 0,4096-ptr_max
PARAM_VALUE 3 objects 1
DATA_SOURCE 0 s $0
DATA_SOURCE 1 slab r virt_to_slab
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

mm/slub.c free_to_pcs_bulk() -> memcg_slab_free_hook()

Type Parameter Key Value
PARAM_VALUE 0 s 1-u64max
PARAM_VALUE 0 s->sheaf_capacity 1-u32max
PARAM_VALUE 1 slab 0,4096-ptr_max
PARAM_VALUE 3 objects 1
DATA_SOURCE 0 s $0
DATA_SOURCE 1 slab r virt_to_slab
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 s->object_size

mm/slub.c kfree_nolock() -> memcg_slab_free_hook()

Type Parameter Key Value
PARAM_VALUE 1 slab 4096-ptr_max
PARAM_VALUE 2 p 3517731801141628928
PARAM_VALUE 2 *p 17-u64max
PARAM_VALUE 3 objects 1
DATA_SOURCE 1 slab r virt_to_slab
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 1 slab 4096-ptr_max
PARAM_VALUE 3 objects 1
DATA_SOURCE 0 s $0
DATA_SOURCE 1 slab $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 1 slab 4096-ptr_max
PARAM_VALUE 2 p 4096-ptr_max
PARAM_VALUE 3 objects 1-s32max
DATA_SOURCE 0 s $0
DATA_SOURCE 1 slab $1
DATA_SOURCE 2 p $4
DATA_SOURCE 3 objects $5
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