Defined in 1 files as a prototype:

Defined in 3 files as a member:

Defined in 1 files as a function:

Referenced in 24 files:

Smatch caller information:

drivers/mtd/mtdswap.c mtdswap_erase_block() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 instr 6736137366940999680
PARAM_VALUE 1 instr->fail_addr 0
PARAM_VALUE 1 instr->len 0-u32max
MEM_ZERO 1 instr
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->lock
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mtd_blktrans_dev)->lock

drivers/mtd/mtdblock.c erase_write() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 1 instr 7221548784152875008
PARAM_VALUE 1 instr->len 0-u32max
DATA_SOURCE 0 mtd $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->lock
TYPE_LOCK (struct mtd_blktrans_dev)->lock

fs/jffs2/erase.c jffs2_erase_block() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 1 instr 4096-ptr_max
PARAM_VALUE 1 instr->addr 0-u32max
PARAM_VALUE 1 instr->len 0-u32max
BUF_SIZE 1 instr 24
DATA_SOURCE 1 instr r _kzalloc_noprof
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &c->alloc_sem
HALF_LOCKED2 &c->wbuf_sem
HALF_LOCKED2 &c->xattr_sem

drivers/mtd/nftlmount.c NFTL_formatblock() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 instr 4096-ptr_max
PARAM_VALUE 1 instr->addr 0-u32max
PARAM_VALUE 1 instr->len 0-u32max
BUF_SIZE 0 mtd (-1),2448,2984
BUF_SIZE 0 mtd (-1),2448,2984
BUF_SIZE 1 instr 24
CAPPED_DATA 0 mtd 1
STR_LEN 0 mtd->dev.driver_data (-1)
STR_LEN 0 mtd->name (-1)
MEM_ZERO 1 instr
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 mtd->erasesize
NO_OVERFLOW_SIMPLE 1 instr->len
HALF_LOCKED2 &mbd->lock
HALF_LOCKED2 global &mtd_table_mutex

drivers/mtd/rfd_ftl.c erase_block() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 1 instr 4096-ptr_max
PARAM_VALUE 1 instr->len 0-u32max
BUF_SIZE 1 instr 24
DATA_SOURCE 1 instr r _kmalloc_noprof
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->lock

drivers/mtd/inftlmount.c INFTL_formatblock() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 instr 4096-ptr_max
PARAM_VALUE 1 instr->fail_addr 0,u64max
PARAM_VALUE 1 instr->len 0-u32max
BUF_SIZE 0 mtd (-1),2448,2984
BUF_SIZE 0 mtd (-1),2448,2984
BUF_SIZE 1 instr 24
CAPPED_DATA 1 instr->len 1
FUZZY_MAX 1 instr->fail_addr 0
STR_LEN 0 mtd->dev.driver_data (-1)
STR_LEN 0 mtd->name (-1)
MEM_ZERO 1 instr
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 mtd->erasesize
NO_OVERFLOW_SIMPLE 1 instr->addr
NO_OVERFLOW_SIMPLE 1 instr->len
HALF_LOCKED2 &mbd->lock
HALF_LOCKED2 global &mtd_table_mutex

drivers/mtd/inftlmount.c find_boot_record() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 instr 4096-ptr_max
PARAM_VALUE 1 instr->addr 0-u32max
PARAM_VALUE 1 instr->len 0-u32max
BUF_SIZE 1 instr 24
CAPPED_DATA 0 mtd 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 mtd->erasesize
NO_OVERFLOW_SIMPLE 1 instr->len
LOCK2 global &mtd_table_mutex

drivers/mtd/mtdchar.c mtdchar_ioctl() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 instr 4096-ptr_max
BUF_SIZE 1 instr 24
DATA_SOURCE 1 instr r _kzalloc_noprof
USER_DATA 1 instr->addr 0-u64max
USER_DATA 1 instr->len 0-u64max
LOCK2 &master->master.chrdev_lock
TYPE_LOCK (struct mtd_master)->chrdev_lock

drivers/ptp/ptp_ocp.c ptp_ocp_devlink_flash() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 1 instr 5887287349803593728
PARAM_VALUE 1 instr->addr 0-s32max,18446744071562067968-u64max
PARAM_VALUE 1 instr->len 4096
BUF_SIZE 0 mtd s32min-(-2),1-s32max
BUF_SIZE 0 mtd s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 mtd unit_byte
HALF_LOCKED2 &devlink->lock

drivers/mtd/ubi/io.c do_sync_erase() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 instr 2769901439731793920
PARAM_VALUE 1 instr->fail_addr 0
PARAM_VALUE 1 instr->len 0-s32max,18446744071562067968-u64max
CAPPED_DATA 0 mtd 1
MEM_ZERO 1 instr
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 mtd->erasesize
NO_OVERFLOW_SIMPLE 1 instr->len
HALF_LOCKED2 &ubi->buf_mutex
HALF_LOCKED2 &ubi->device_mutex
HALF_LOCKED2 &ubi->fm_eba_sem
HALF_LOCKED2 &ubi->fm_protect
HALF_LOCKED2 &ubi->move_mutex
HALF_LOCKED2 &ubi->work_sem
HALF_LOCKED2 global &ubi_devices_mutex

drivers/firmware/microchip/mpfs-auto-update.c mpfs_auto_update_set_image_address() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 instr 3422752890013388800
PARAM_VALUE 1 instr->addr 0
PARAM_VALUE 1 instr->len 0-4000000
CAPPED_DATA 0 mtd 1
HALF_LOCKED2 &pool->lock

drivers/firmware/microchip/mpfs-auto-update.c mpfs_auto_update_write_bitstream() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 instr 3306419507158208512
PARAM_VALUE 1 instr->addr 0-u32max
PARAM_VALUE 1 instr->len 0-u32max
CAPPED_DATA 0 mtd 1
HALF_LOCKED2 &pool->lock

drivers/mtd/ftl.c erase_xfer() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 1 instr 4096-ptr_max
PARAM_VALUE 1 instr->addr 0-u32max
BUF_SIZE 1 instr 24
DATA_SOURCE 1 instr r _kmalloc_noprof
POWER_OF_TWO 1 *instr
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->lock
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mtd_blktrans_dev)->lock

drivers/mtd/tests/mtd_test.c mtdtest_erase_eraseblock() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 instr 4201247717333954560
PARAM_VALUE 1 instr->len 0-u32max
DATA_SOURCE 0 mtd $0
MEM_ZERO 1 instr

drivers/mtd/mtdpstore.c mtdpstore_erase_do() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 instr 2649773849759920128
PARAM_VALUE 1 instr->addr 0-9223372036854775807
PARAM_VALUE 1 instr->len 0-u32max
CAPPED_DATA 0 mtd 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &target->i_rwsem
HALF_LOCKED2 _T->lock

drivers/mtd/mtdpstore.c mtdpstore_flush_removed_do() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 instr 7662501837044531200
PARAM_VALUE 1 instr->addr 0-9223372036854775807
PARAM_VALUE 1 instr->len 0-u32max
CAPPED_DATA 0 mtd 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &mtd_table_mutex

drivers/mtd/mtdconcat.c concat_erase() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 instr 4096-ptr_max
PARAM_VALUE 1 instr->addr 0-18446744073709551614
PARAM_VALUE 1 instr->fail_addr u64max
BUF_SIZE 1 instr 24
CAPPED_DATA 1 instr->addr 1
CAPPED_DATA 1 instr->len 1
DATA_SOURCE 1 instr r _kmalloc_noprof
FUZZY_MAX 1 instr->addr 0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 instr->addr 0-s32max[c]
USER_DATA 1 instr->len 1-u64max[c]
NO_OVERFLOW_SIMPLE 1 instr->fail_addr
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &ftl->mutex
HALF_LOCKED2 &master->master.chrdev_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &mtd_table_mutex

drivers/mtd/sm_ftl.c sm_erase_block() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 1 instr 6568840191979847680
PARAM_VALUE 1 instr->addr 0-s32max,18446744071562067968-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ftl->mutex
HALF_LOCKED2 &dev->lock
TYPE_LOCK (struct sm_ftl)->mutex

drivers/mtd/tests/speedtest.c multiblock_erase() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 instr 7721456236141449216
PARAM_VALUE 1 instr->len 0-u32max
MEM_ZERO 1 instr

drivers/mtd/mtdoops.c mtdoops_erase_block() -> mtd_erase()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 instr 6300981978557952000
PARAM_VALUE 1 instr->addr 0-s32max,18446744071562067968-u64max
PARAM_VALUE 1 instr->len 0-u32max
STR_LEN 0 mtd (-1)
STR_LEN 0 mtd (-1)
STR_LEN 0 mtd->dev.driver_data (-1)
STR_LEN 0 mtd->name (-1)
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 mtd->erasesize
NO_OVERFLOW_SIMPLE 1 instr->len
HALF_LOCKED2 &pool->lock