Documented in 1 files:
Defined in 2 files as a function:
Referenced in 17 files:
- arch/arm/include/asm/kfence.h, line 33
- arch/arm64/mm/mmu.c, line 808
- arch/loongarch/mm/mmap.c, line 119
- arch/powerpc/mm/book3s64/hash_utils.c
- arch/powerpc/mm/fault.c, line 450
- arch/x86/include/asm/kfence.h, line 26
- drivers/misc/lkdtm/heap.c, line 167
- include/linux/kfence.h, line 185
- mm/kasan/common.c
- mm/kasan/generic.c, line 546
- mm/kfence/core.c, line 1271
- mm/kfence/kfence.h, line 118
- mm/kfence/kfence_test.c
- mm/memcontrol.c, line 3642
- mm/slab.h
- mm/slab_common.c, line 665
- mm/slub.c
Smatch caller information:
mm/memcontrol.c __memcg_slab_post_alloc_hook() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/kfence/kfence_test.c obj_to_index() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | addr | (-1)-s32max |
| BUF_SIZE | 0 | addr | (-1)-s32max |
| CAPPED_DATA | 0 | addr | 1 |
| DATA_SOURCE | 0 | addr | $2 |
mm/kfence/kfence_test.c test_alloc() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | addr | 0-u32max,u64max |
| BUF_SIZE | 0 | addr | 0-u32max,u64max |
mm/kfence/kfence_test.c test_memcache_alloc_bulk() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|
mm/slub.c __check_heap_object() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | addr | 17-u64max |
| CAPPED_DATA | 0 | addr | 1 |
| DATA_SOURCE | 0 | addr | $0 |
mm/slub.c __do_krealloc() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | addr | 17-u64max |
| DATA_SOURCE | 0 | addr | $0 |
| STR_LEN | 0 | addr | (-1)-1010101 |
| STR_LEN | 0 | addr | (-1)-1010101 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | *addr | s64min-s64max |
| UNITS | 0 | addr | unit_byte |
| HALF_LOCKED2 | &buffer->mutex | ||
| HALF_LOCKED2 | &c->commit_sem | ||
| HALF_LOCKED2 | &c->tnc_mutex | ||
| HALF_LOCKED2 | &call->user_mutex | ||
| HALF_LOCKED2 | &card->fw.lock | ||
| HALF_LOCKED2 | &card->mutex | ||
| HALF_LOCKED2 | &counter->mtx | ||
| HALF_LOCKED2 | &ctlr->io_mutex | ||
| HALF_LOCKED2 | &dev->mutex | ||
| HALF_LOCKED2 | &device->dev_set->lock | ||
| HALF_LOCKED2 | &frag->frag_sem | ||
| HALF_LOCKED2 | &gvt->lock | ||
| HALF_LOCKED2 | &hdev->driver_input_lock | ||
| HALF_LOCKED2 | &hidg->read_spinlock | ||
| HALF_LOCKED2 | &ioc->reset_in_progress_mutex | ||
| HALF_LOCKED2 | &ipvs->est_mutex | ||
| HALF_LOCKED2 | &mdevice->devmem_lock | ||
| HALF_LOCKED2 | &mdsc->mutex | ||
| HALF_LOCKED2 | &mgr->topology_ref_history_lock | ||
| HALF_LOCKED2 | &nbd->config_lock | ||
| HALF_LOCKED2 | &nlk->nl_cb_mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &opts->lock | ||
| HALF_LOCKED2 | &p->mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &priv->wsm_cmd_mux | ||
| HALF_LOCKED2 | &psi->read_mutex | ||
| HALF_LOCKED2 | &smaster->lock | ||
| HALF_LOCKED2 | &supplies->supplies_lock | ||
| HALF_LOCKED2 | &vc4->bo_lock | ||
| HALF_LOCKED2 | &vm->lock | ||
| HALF_LOCKED2 | &vsi->xdp_state_lock | ||
| HALF_LOCKED2 | &wl->mutex | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &bioscfg_drv.mutex | ||
| HALF_LOCKED2 | global &cb_lock | ||
| HALF_LOCKED2 | global &comedi_drivers_list_lock | ||
| HALF_LOCKED2 | global &dax_dev_rwsem | ||
| HALF_LOCKED2 | global &dax_region_rwsem | ||
| HALF_LOCKED2 | global &event_mutex | ||
| HALF_LOCKED2 | global &f_midi2_desc_mutex | ||
| HALF_LOCKED2 | global &genl_mutex | ||
| HALF_LOCKED2 | global &icc_lock | ||
| HALF_LOCKED2 | global &init_lock | ||
| HALF_LOCKED2 | global &nl_table_lock | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | obj->resv | ||
| HALF_LOCKED2 | queue_lock | ||
| HALF_LOCKED2 | rcu_read | ||
| HALF_LOCKED2 | su_mutex |
mm/slub.c build_detached_freelist() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| CAPPED_DATA | 0 | addr | 1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/slub.c get_orig_size() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| BUF_SIZE | 0 | addr->dev_id | (-1)-s32max |
| BUF_SIZE | 0 | addr->grp.attrs | (-1),8 |
| BUF_SIZE | 0 | addr->grp.name | (-1),11 |
| DATA_SOURCE | 0 | addr | $1 |
| STR_LEN | 0 | addr | (-1)-1010101 |
| STR_LEN | 0 | addr | (-1)-1010101 |
| STR_LEN | 0 | addr->grp.name | (-1),10 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | addr | unit_byte |
| HALF_LOCKED2 | &n->list_lock | ||
| HALF_LOCKED2 | flags |
mm/slub.c kfence_free() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| DATA_SOURCE | 0 | addr | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/slub.c kvmalloc_obj_start_addr() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| CAPPED_DATA | 0 | addr | 1 |
| DATA_SOURCE | 0 | addr | $0 |
| UNITS | 0 | addr | unit_byte |
mm/slub.c obj_to_index() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | addr | 4096-u64max |
| BUF_SIZE | 0 | addr | (-1)-s32max |
| BUF_SIZE | 0 | addr | (-1)-s32max |
| DATA_SOURCE | 0 | addr | $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | rcu |
mm/slub.c slab_free_after_rcu_debug() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | addr | 1-s32max |
| BUF_SIZE | 0 | addr | 1-s32max |
| CAPPED_DATA | 0 | addr | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu |
mm/slub.c slab_free_freelist_hook() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu |
mm/slub.c slab_post_alloc_hook() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | addr | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/kfence/report.c addr_to_metadata() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | addr | 4096-u64max |
| BUF_SIZE | 0 | addr | (-1)-s32max |
| BUF_SIZE | 0 | addr | (-1)-s32max |
| DATA_SOURCE | 0 | addr | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | addr | unit_byte |
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | rcu |
mm/kfence/core.c addr_to_metadata() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| BUF_SIZE | 0 | addr->common.type | (-1),24 |
| BUF_SIZE | 0 | addr->dev_id | (-1)-s32max |
| BUF_SIZE | 0 | addr->grp.attrs | (-1),8 |
| BUF_SIZE | 0 | addr->grp.name | (-1),11 |
| BUF_SIZE | 0 | addr->limiter.permitted_waiters | (-1),16 |
| BUF_SIZE | 0 | addr->started | (-1),96 |
| DATA_SOURCE | 0 | addr | $0 |
| STR_LEN | 0 | addr | (-1)-1010101 |
| STR_LEN | 0 | addr | (-1)-1010101 |
| STR_LEN | 0 | addr->grp.name | (-1),10 |
| STR_LEN | 0 | addr->owning_target->error | (-1) |
| STR_LEN | 0 | addr->thread_function | (-1),6-7,9 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | addr | unit_byte |
mm/kfence/core.c arch_kfence_init_pool() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/kfence/core.c arch_kfence_init_pool() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/kfence/core.c kfence_handle_page_fault() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | addr | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | addr | unit_byte |
mm/slab_common.c kmem_dump_obj() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | addr | 4096-u64max |
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| CAPPED_DATA | 0 | addr | 1 |
| DATA_SOURCE | 0 | addr | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | addr | unit_byte |
| HALF_LOCKED2 | rcu |
mm/slab_common.c kvmalloc_obj_start_addr() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | addr | 1-u64max |
| CAPPED_DATA | 0 | addr | 1 |
| DATA_SOURCE | 0 | addr | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/kasan/generic.c kasan_record_aux_stack() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| DATA_SOURCE | 0 | addr | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | addr | unit_byte |
| HALF_LOCKED2 | rcu_read |
drivers/misc/lkdtm/heap.c lkdtm_KFENCE_READ_AFTER_FREE() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | addr | 4096-ptr_max |
| BUF_SIZE | 0 | addr | 1024 |
| DATA_SOURCE | 0 | addr | r _kmalloc_noprof |
mm/kasan/common.c __kasan_kmalloc() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | addr | 1-u64max |
| DATA_SOURCE | 0 | addr | $1 |
| STR_LEN | 0 | addr | (-1),1-8,10-12,14,16,20,31,39,45,88,255 |
| STR_LEN | 0 | addr | (-1),1-8,10-12,14,16,20,31,39,45,88,255 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/kasan/common.c __kasan_krealloc() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | addr | 17-u64max |
| BUF_SIZE | 0 | addr->dev_id | (-1)-s32max |
| BUF_SIZE | 0 | addr->grp.attrs | (-1),8 |
| BUF_SIZE | 0 | addr->grp.name | (-1),11 |
| CAPPED_DATA | 0 | addr | 1 |
| DATA_SOURCE | 0 | addr | $0 |
| STR_LEN | 0 | addr | (-1)-1010101 |
| STR_LEN | 0 | addr | (-1)-1010101 |
| STR_LEN | 0 | addr->grp.name | (-1),10 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | *addr | s64min-s64max |
| NO_OVERFLOW_SIMPLE | 0 | addr->capacity | |
| NO_OVERFLOW_SIMPLE | 0 | addr->info->size | |
| NO_OVERFLOW_SIMPLE | 0 | addr->ndescs | |
| UNITS | 0 | addr | unit_byte |
| HALF_LOCKED2 | &buffer->mutex | ||
| HALF_LOCKED2 | &c->commit_sem | ||
| HALF_LOCKED2 | &c->tnc_mutex | ||
| HALF_LOCKED2 | &call->user_mutex | ||
| HALF_LOCKED2 | &card->fw.lock | ||
| HALF_LOCKED2 | &card->mutex | ||
| HALF_LOCKED2 | &counter->mtx | ||
| HALF_LOCKED2 | &ctlr->io_mutex | ||
| HALF_LOCKED2 | &dev->mutex | ||
| HALF_LOCKED2 | &device->dev_set->lock | ||
| HALF_LOCKED2 | &frag->frag_sem | ||
| HALF_LOCKED2 | &gvt->lock | ||
| HALF_LOCKED2 | &hdev->driver_input_lock | ||
| HALF_LOCKED2 | &hidg->read_spinlock | ||
| HALF_LOCKED2 | &ioc->reset_in_progress_mutex | ||
| HALF_LOCKED2 | &ipvs->est_mutex | ||
| HALF_LOCKED2 | &mdevice->devmem_lock | ||
| HALF_LOCKED2 | &mdsc->mutex | ||
| HALF_LOCKED2 | &mgr->topology_ref_history_lock | ||
| HALF_LOCKED2 | &nbd->config_lock | ||
| HALF_LOCKED2 | &nlk->nl_cb_mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &opts->lock | ||
| HALF_LOCKED2 | &p->mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &priv->wsm_cmd_mux | ||
| HALF_LOCKED2 | &psi->read_mutex | ||
| HALF_LOCKED2 | &smaster->lock | ||
| HALF_LOCKED2 | &supplies->supplies_lock | ||
| HALF_LOCKED2 | &vc4->bo_lock | ||
| HALF_LOCKED2 | &vm->lock | ||
| HALF_LOCKED2 | &vsi->xdp_state_lock | ||
| HALF_LOCKED2 | &wl->mutex | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &bioscfg_drv.mutex | ||
| HALF_LOCKED2 | global &cb_lock | ||
| HALF_LOCKED2 | global &comedi_drivers_list_lock | ||
| HALF_LOCKED2 | global &dax_dev_rwsem | ||
| HALF_LOCKED2 | global &dax_region_rwsem | ||
| HALF_LOCKED2 | global &event_mutex | ||
| HALF_LOCKED2 | global &f_midi2_desc_mutex | ||
| HALF_LOCKED2 | global &genl_mutex | ||
| HALF_LOCKED2 | global &icc_lock | ||
| HALF_LOCKED2 | global &init_lock | ||
| HALF_LOCKED2 | global &nl_table_lock | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | obj->resv | ||
| HALF_LOCKED2 | queue_lock | ||
| HALF_LOCKED2 | rcu_read | ||
| HALF_LOCKED2 | su_mutex |
mm/kasan/common.c __kasan_mempool_poison_object() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | addr | (-1)-s32max |
| BUF_SIZE | 0 | addr | (-1)-s32max |
| CAPPED_DATA | 0 | addr | 1 |
| DATA_SOURCE | 0 | addr | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | addr->buf->nr_bvecs | |
| NO_OVERFLOW_SIMPLE | 0 | addr->nr_bvecs | |
| UNITS | 0 | addr | unit_byte |
mm/kasan/common.c __kasan_mempool_unpoison_object() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| CAPPED_DATA | 0 | addr | 1 |
| DATA_SOURCE | 0 | addr | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &ctx->uring_lock |
mm/kasan/common.c __kasan_slab_alloc() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | addr | 1-u64max |
| DATA_SOURCE | 0 | addr | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/kasan/common.c __kasan_slab_free() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| DATA_SOURCE | 0 | addr | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | addr | unit_byte |
mm/kasan/common.c __kasan_slab_pre_free() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| BUF_SIZE | 0 | addr | (-1),1-s32max |
| DATA_SOURCE | 0 | addr | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | addr | unit_byte |
mm/kasan/common.c __kasan_unpoison_range() -> is_kfence_address()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | addr | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | addr | unit_byte |