Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

mm/memcontrol.c slab_obj_ext() -> __obj_to_index()

Type Parameter Key Value
PARAM_VALUE 1 addr 18379471554275704832,18446612682070032384
DATA_SOURCE 0 cache $0
DATA_SOURCE 2 obj $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 cache->object_size
NO_OVERFLOW_SIMPLE 0 cache->sheaf_capacity
HALF_LOCKED2 rcu_read

mm/kfence/kfence_test.c obj_to_index() -> __obj_to_index()

Type Parameter Key Value
PARAM_VALUE 1 addr 18379471554275704832,18446612682070032384
BUF_SIZE 2 obj (-1)-s32max
BUF_SIZE 2 obj (-1)-s32max
CAPPED_DATA 2 obj 1
DATA_SOURCE 0 cache $0
DATA_SOURCE 2 obj $2

mm/slub.c __fill_map() -> __obj_to_index()

Type Parameter Key Value
PARAM_VALUE 0 cache 4096-ptr_max
PARAM_VALUE 1 addr 18379471554275704832,18446612682070032384
PARAM_VALUE 2 obj 1-u64max
BUF_SIZE 0 cache s32min-(-1),1-s32max
BUF_SIZE 0 cache s32min-(-1),1-s32max
BUF_SIZE 2 obj (-1),1-s32max
BUF_SIZE 2 obj (-1),1-s32max
DATA_SOURCE 0 cache $1
DATA_SOURCE 1 addr r slab_address
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 cache unit_array_size
UNITS 2 obj unit_byte
LOCK2 &n->list_lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &object_map_lock
HALF_LOCKED2 global &slab_mutex
HALF_LOCKED2 irq
TYPE_LOCK (struct kmem_cache_node)->list_lock

mm/slub.c kvmalloc_obj_start_addr() -> __obj_to_index()

Type Parameter Key Value
PARAM_VALUE 1 addr 18379471554275704832,18446612682070032384
CAPPED_DATA 2 obj 1
DATA_SOURCE 2 obj $0
UNITS 2 obj unit_byte

mm/slub.c list_slab_objects() -> __obj_to_index()

Type Parameter Key Value
PARAM_VALUE 0 cache 4096-ptr_max
PARAM_VALUE 1 addr 18379471554275704832,18446612682070032384
PARAM_VALUE 2 obj 0-18446744073709551614
CAPPED_DATA 2 obj 1
DATA_SOURCE 0 cache $0
DATA_SOURCE 1 addr r slab_address
PARAM_COMPARE 1 addr == $2
PARAM_COMPARE 1 addr == $2
PARAM_COMPARE 2 obj == $1
PREEMPT_ADD <- disables preempt
LOCK2 &n->list_lock
LOCK2 global &object_map_lock
LOCK2 global &slab_mutex
LOCK2 irq
TYPE_LOCK (struct kmem_cache_node)->list_lock

mm/slub.c obj_to_index() -> __obj_to_index()

Type Parameter Key Value
PARAM_VALUE 0 cache 4096-ptr_max
PARAM_VALUE 1 addr 18379471554275704832,18446612682070032384
PARAM_VALUE 2 obj 4096-u64max
BUF_SIZE 2 obj (-1)-s32max
BUF_SIZE 2 obj (-1)-s32max
DATA_SOURCE 0 cache $0
DATA_SOURCE 2 obj $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 rcu

mm/slub.c process_slab() -> __obj_to_index()

Type Parameter Key Value
PARAM_VALUE 0 cache 4096-ptr_max
PARAM_VALUE 1 addr 18379471554275704832,18446612682070032384
PARAM_VALUE 2 obj 0-18446744073709551614
BUF_SIZE 0 cache s32min-(-2),1-s32max
BUF_SIZE 0 cache s32min-(-2),1-s32max
CAPPED_DATA 2 obj 1
DATA_SOURCE 0 cache $1
DATA_SOURCE 1 addr r slab_address
PARAM_COMPARE 1 addr == $2
PARAM_COMPARE 1 addr == $2
PARAM_COMPARE 2 obj == $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 cache unit_array_size
LOCK2 &n->list_lock
LOCK2 flags
TYPE_LOCK (struct kmem_cache_node)->list_lock

mm/slub.c slab_obj_ext() -> __obj_to_index()

Type Parameter Key Value
PARAM_VALUE 0 cache 4096-ptr_max
PARAM_VALUE 1 addr 18379471554275704832,18446612682070032384
PARAM_VALUE 2 obj 4096-ptr_max
BUF_SIZE 2 obj->__sk_common.skc_prot (-1),448
CAPPED_DATA 2 obj 1
CAPPED_DATA 2 obj->sk_memcg 1
DATA_SOURCE 0 cache $0
DATA_SOURCE 2 obj $3
RX_PATH
TASK_NOT_RUNNING
UNITS 2 obj unit_byte
HALF_LOCKED2 sk

mm/slub.c validate_slab() -> __obj_to_index()

Type Parameter Key Value
PARAM_VALUE 0 cache 4096-ptr_max
PARAM_VALUE 1 addr 18379471554275704832,18446612682070032384
PARAM_VALUE 2 obj 0-18446744073709551614
CAPPED_DATA 2 obj 1
DATA_SOURCE 0 cache $0
DATA_SOURCE 1 addr r slab_address
PARAM_COMPARE 1 addr == $2
PARAM_COMPARE 1 addr == $2
PARAM_COMPARE 2 obj == $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &n->list_lock
LOCK2 flags
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct kmem_cache_node)->list_lock

mm/slab_common.c kvmalloc_obj_start_addr() -> __obj_to_index()

Type Parameter Key Value
PARAM_VALUE 1 addr 18379471554275704832,18446612682070032384
PARAM_VALUE 2 obj 1-u64max
CAPPED_DATA 2 obj 1
DATA_SOURCE 2 obj $0
RX_PATH
TASK_NOT_RUNNING