Documented in 2 files:

Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/mtd/ubi/io.c self_check_vid_hdr() -> validate_vid_hdr()

Type Parameter Key Value
PARAM_VALUE 0 ubi 4096-ptr_max
PARAM_VALUE 0 ubi->bgt_thread->sched_class->set_cpus_allowed 0,1927640468783054848,5094656021401329664,7127180339355369472
PARAM_VALUE 0 ubi->dbg.chk_io 1
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->phys_limit 0-s64max
PARAM_VALUE 0 ubi->dev.kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 ubi->dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 ubi->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->type 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->type 0-1
PARAM_VALUE 0 ubi->work_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->work_sem.first_waiter->type 0-1
PARAM_VALUE 1 vid_hdr 4096-ptr_max
PARAM_VALUE 1 vid_hdr->magic 1430407457
BUF_SIZE 0 ubi (-1),64,128,280,1024
BUF_SIZE 0 ubi (-1),64,128,280,1024
BUF_SIZE 0 ubi->dev.class (-1),96
BUF_SIZE 0 ubi->dev.groups (-1),16
BUF_SIZE 0 ubi->dev.parent (-1),1616
BUF_SIZE 0 ubi->lookuptbl (-1),8
BUF_SIZE 0 ubi->mtd (-1)-0,64
BUF_SIZE 0 ubi->peb_buf s32min-(-1),1-s32max
DATA_SOURCE 0 ubi $0
DATA_SOURCE 1 vid_hdr $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 ubi->ubi_num 0-31
USER_DATA 0 ubi->vid_hdr_aloffset 0-s32max[c]
USER_DATA 0 ubi->vid_hdr_offset 1-s32max
USER_DATA 0 *ubi->peb_buf 0-255
NO_OVERFLOW_SIMPLE 0 ubi->bgt_thread->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 ubi->cdev.count
NO_OVERFLOW_SIMPLE 0 ubi->ec_hdr_alsize
NO_OVERFLOW_SIMPLE 0 ubi->fm_size
NO_OVERFLOW_SIMPLE 0 ubi->leb_size
NO_OVERFLOW_SIMPLE 0 ubi->mtd->erasesize
NO_OVERFLOW_SIMPLE 0 ubi->peb_count
NO_OVERFLOW_SIMPLE 0 ubi->peb_size
NO_OVERFLOW_SIMPLE 0 ubi->vid_hdr_alsize
NO_OVERFLOW_SIMPLE 0 ubi->vtbl_size
UNITS 1 vid_hdr unit_byte
HALF_LOCKED2 &le->mutex
HALF_LOCKED2 global &ubi_devices_mutex
HALF_LOCKED2 0 &ubi->buf_mutex
HALF_LOCKED2 0 &ubi->device_mutex
HALF_LOCKED2 0 &ubi->fm_eba_sem
HALF_LOCKED2 0 &ubi->fm_protect
HALF_LOCKED2 0 &ubi->move_mutex
HALF_LOCKED2 0 &ubi->work_sem

drivers/mtd/ubi/io.c ubi_io_read_vid_hdr() -> validate_vid_hdr()

Type Parameter Key Value
PARAM_VALUE 0 ubi 4096-ptr_max
PARAM_VALUE 0 ubi->bgt_thread->sched_class->set_cpus_allowed 0,1927640468783054848,5094656021401329664,7127180339355369472
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->can_grow 0-1
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->debugfs 0-s64max
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->for_alloc 0-1
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->force_bounce 0-1
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->nslabs 0-s64max
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->phys_limit 0-s64max
PARAM_VALUE 0 ubi->dev.kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 ubi->dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 ubi->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_eba_sem.first_waiter->type 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->fm_protect.first_waiter->type 0-1
PARAM_VALUE 0 ubi->work_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->work_sem.first_waiter->type 0-1
PARAM_VALUE 1 vid_hdr 4096-ptr_max
PARAM_VALUE 1 vid_hdr->magic 1430407457
BUF_SIZE 0 ubi (-1),128
BUF_SIZE 0 ubi (-1),128
BUF_SIZE 0 ubi->dev.class (-1),96
BUF_SIZE 0 ubi->dev.groups (-1),16
BUF_SIZE 0 ubi->dev.parent (-1),1616
BUF_SIZE 0 ubi->lookuptbl (-1),8
BUF_SIZE 0 ubi->mtd s32min,(-1)-s32max
BUF_SIZE 0 ubi->peb_buf s32min-(-1),1-s32max
DATA_SOURCE 0 ubi $0
STR_LEN 0 ubi->dev.parent->driver_data (-1)
STR_LEN 0 ubi->mtd (-1),18
STR_LEN 0 ubi->mtd->dev.driver_data (-1)
STR_LEN 0 ubi->mtd->name (-1)
NOSPEC 0 ubi->vid_hdr_offset
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 ubi->ubi_num 0-31
USER_DATA 0 ubi->vid_hdr_aloffset 0-s32max[c]
USER_DATA 0 ubi->vid_hdr_offset 1-s32max
USER_DATA 0 *ubi->peb_buf 0-255
NO_OVERFLOW_SIMPLE 0 ubi->bgt_thread->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 ubi->ec_hdr_alsize
NO_OVERFLOW_SIMPLE 0 ubi->fm_size
NO_OVERFLOW_SIMPLE 0 ubi->leb_size
NO_OVERFLOW_SIMPLE 0 ubi->mtd->erasesize
NO_OVERFLOW_SIMPLE 0 ubi->peb_count
NO_OVERFLOW_SIMPLE 0 ubi->peb_size
NO_OVERFLOW_SIMPLE 0 ubi->vid_hdr_alsize
NO_OVERFLOW_SIMPLE 0 ubi->vtbl_size
UNITS 1 vid_hdr unit_byte
HALF_LOCKED2 &le->mutex
HALF_LOCKED2 global &ubi_devices_mutex
HALF_LOCKED2 0 &ubi->buf_mutex
HALF_LOCKED2 0 &ubi->ckvol_mutex
HALF_LOCKED2 0 &ubi->device_mutex
HALF_LOCKED2 0 &ubi->fm_eba_sem
HALF_LOCKED2 0 &ubi->fm_protect
HALF_LOCKED2 0 &ubi->move_mutex
HALF_LOCKED2 0 &ubi->work_sem

drivers/mtd/ubi/attach.c ubi_add_to_av() -> validate_vid_hdr()

Type Parameter Key Value
PARAM_VALUE 0 ubi 4096-ptr_max
PARAM_VALUE 0 ubi->buf_mutex.dep_map->name 0-255
PARAM_VALUE 0 ubi->ckvol_mutex.dep_map->name 0-255
PARAM_VALUE 0 ubi->dev.devres_head.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.devres_head.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.devres_head.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->can_grow 0-1
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->debugfs 0
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->defpool.vaddr 0
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->dyn_alloc.data.counter 9007199250546704
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->dyn_alloc.entry.prev 1473117533515866344
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->dyn_alloc.func 1583282886040592384
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->for_alloc 0-1
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->force_bounce 0-1
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->nslabs 0-s64max
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->phys_limit 0-s64max
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->pools.prev 1473117533515866320
PARAM_VALUE 0 ubi->dev.dma_io_tlb_pools.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.dma_io_tlb_pools.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.dma_io_tlb_pools.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.dma_pools.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.dma_pools.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.dma_pools.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.flags 4096-ptr_max
PARAM_VALUE 0 ubi->dev.kobj.entry.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.kobj.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.kobj.entry.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.kobj.ktype->child_ns_type 0,2344685749105987584,4089303432171261952,6274457576243130368,8186263191508828160
PARAM_VALUE 0 ubi->dev.kobj.ktype->get_ownership 0,754295003445952512,1770093955000758272,2031763320308453376,9073032014207823872,9089295143347961856
PARAM_VALUE 0 ubi->dev.kobj.ktype->namespace 0,4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.consumers.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.consumers.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.consumers.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.defer_sync.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.defer_sync.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.defer_sync.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.suppliers.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.suppliers.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.suppliers.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.power.entry.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.power.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.power.entry.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.power.wait_queue.head.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.power.wait_queue.head.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.power.wait_queue.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->device_mutex.dep_map->name 0-255
PARAM_VALUE 0 ubi->fm_eba_sem.dep_map->name 0-255
PARAM_VALUE 0 ubi->fm_protect.dep_map->name 0-255
PARAM_VALUE 0 ubi->work_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->work_sem.first_waiter->type 0-1
PARAM_VALUE 1 vid_hdr 4096-ptr_max
PARAM_VALUE 2 av 4096-ptr_max
BUF_SIZE 0 ubi->dev.class (-1),96
BUF_SIZE 0 ubi->dev.groups (-1),16
BUF_SIZE 0 ubi->dev.parent (-1),1616
BUF_SIZE 0 ubi->mtd s32min,(-1),1-s32max
BUF_SIZE 0 ubi->peb_buf s32min-(-1),1-s32max
BUF_SIZE 2 av (-1),64
BUF_SIZE 2 av (-1),64
CAPPED_DATA 2 av->vol_id 1
DATA_SOURCE 0 ubi $0
DATA_SOURCE 1 vid_hdr $4
DATA_SOURCE 2 av r add_volume
DATA_SOURCE 3 pnum $2
STR_LEN 0 ubi->dev.parent->driver_data (-1)
STR_LEN 0 ubi->mtd (-1),18
STR_LEN 0 ubi->mtd->dev.driver_data (-1)
STR_LEN 0 ubi->mtd->name (-1)
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 ubi->ubi_num 0-31
USER_DATA 0 ubi->vid_hdr_aloffset 0-s32max[c]
USER_DATA 0 ubi->vid_hdr_offset 1-s32max
USER_DATA 0 *ubi->peb_buf 0-255
NO_OVERFLOW_SIMPLE 0 ubi->bgt_thread->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 ubi->mtd->erasesize
NO_OVERFLOW_SIMPLE 0 ubi->peb_count
NO_OVERFLOW_SIMPLE 0 ubi->peb_size
NO_OVERFLOW_SIMPLE 3 pnum
UNITS 1 vid_hdr unit_byte
LOCK2 global &ubi_devices_mutex
HALF_LOCKED2 global &mtd_table_mutex

drivers/mtd/ubi/attach.c ubi_add_to_av() -> validate_vid_hdr()

Type Parameter Key Value
PARAM_VALUE 0 ubi 4096-ptr_max
PARAM_VALUE 0 ubi->buf_mutex.dep_map->name 0-255
PARAM_VALUE 0 ubi->ckvol_mutex.dep_map->name 0-255
PARAM_VALUE 0 ubi->dev.devres_head.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.devres_head.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.devres_head.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->can_grow 0-1
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->debugfs 0
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->defpool.vaddr 0
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->dyn_alloc.data.counter 9007199250546704
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->dyn_alloc.entry.prev 1473117533515866344
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->dyn_alloc.func 1583282886040592384
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->for_alloc 0-1
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->force_bounce 0-1
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->nslabs 0-s64max
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->phys_limit 0-s64max
PARAM_VALUE 0 ubi->dev.dma_io_tlb_mem->pools.prev 1473117533515866320
PARAM_VALUE 0 ubi->dev.dma_io_tlb_pools.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.dma_io_tlb_pools.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.dma_io_tlb_pools.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.dma_pools.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.dma_pools.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.dma_pools.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.flags 4096-ptr_max
PARAM_VALUE 0 ubi->dev.kobj.entry.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.kobj.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.kobj.entry.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.kobj.ktype->child_ns_type 0,2344685749105987584,4089303432171261952,6274457576243130368,8186263191508828160
PARAM_VALUE 0 ubi->dev.kobj.ktype->get_ownership 0,754295003445952512,1770093955000758272,2031763320308453376,9073032014207823872,9089295143347961856
PARAM_VALUE 0 ubi->dev.kobj.ktype->namespace 0,4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.consumers.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.consumers.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.consumers.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.defer_sync.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.defer_sync.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.defer_sync.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.suppliers.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.suppliers.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.links.suppliers.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.power.entry.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.power.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.power.entry.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->dev.power.wait_queue.head.next->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.power.wait_queue.head.prev->next 4096-ptr_max
PARAM_VALUE 0 ubi->dev.power.wait_queue.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 ubi->device_mutex.dep_map->name 0-255
PARAM_VALUE 0 ubi->fm_eba_sem.dep_map->name 0-255
PARAM_VALUE 0 ubi->fm_protect.dep_map->name 0-255
PARAM_VALUE 0 ubi->mtd->parent 0
PARAM_VALUE 0 ubi->work_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ubi->work_sem.first_waiter->type 0-1
PARAM_VALUE 1 vid_hdr 4096-ptr_max
PARAM_VALUE 1 vid_hdr->compat 0-2,4-5
PARAM_VALUE 1 vid_hdr->data_pad 0-2147483646
PARAM_VALUE 1 vid_hdr->data_size 0-s32max
PARAM_VALUE 1 vid_hdr->lnum 0-s32max
PARAM_VALUE 1 vid_hdr->used_ebs 0-s32max
PARAM_VALUE 1 vid_hdr->vol_id 0-127,2147479551,2147479554-s32max
PARAM_VALUE 1 vid_hdr->vol_type 1-2
PARAM_VALUE 2 av 4096-ptr_max
BUF_SIZE 0 ubi->dev.class (-1),96
BUF_SIZE 0 ubi->dev.groups (-1),16
BUF_SIZE 0 ubi->dev.parent (-1),1616
BUF_SIZE 0 ubi->mtd s32min,(-1),1-s32max
BUF_SIZE 0 ubi->peb_buf s32min-(-1),1-s32max
BUF_SIZE 2 av (-1),64
BUF_SIZE 2 av (-1),64
CAPPED_DATA 1 vid_hdr->vol_id 1
CAPPED_DATA 2 av->vol_id 1
DATA_SOURCE 0 ubi $0
DATA_SOURCE 1 vid_hdr $4
DATA_SOURCE 2 av r add_volume
DATA_SOURCE 3 pnum $2
STR_LEN 0 ubi->dev.parent->driver_data (-1)
STR_LEN 0 ubi->mtd (-1),18
STR_LEN 0 ubi->mtd->dev.driver_data (-1)
STR_LEN 0 ubi->mtd->name (-1)
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 ubi->ubi_num 0-31
USER_DATA 0 ubi->vid_hdr_aloffset 0-s32max[c]
USER_DATA 0 ubi->vid_hdr_offset 1-s32max
USER_DATA 0 *ubi->peb_buf 0-255
NO_OVERFLOW_SIMPLE 0 ubi->bgt_thread->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 ubi->mtd->erasesize
NO_OVERFLOW_SIMPLE 0 ubi->peb_count
NO_OVERFLOW_SIMPLE 0 ubi->peb_size
NO_OVERFLOW_SIMPLE 3 pnum
UNITS 1 vid_hdr unit_byte
LOCK2 global &ubi_devices_mutex
HALF_LOCKED2 global &mtd_table_mutex