Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/mtd/mtdswap.c mtdswap_badblocks() -> mtd_can_have_bb()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
BUF_SIZE 0 mtd (-1),2448,2984
BUF_SIZE 0 mtd (-1),2448,2984
CAPPED_DATA 0 mtd 1
DATA_SOURCE 0 mtd $0
STR_LEN 0 mtd (-1),18
STR_LEN 0 mtd (-1),18
STR_LEN 0 mtd->dev.driver_data (-1)
STR_LEN 0 mtd->name (-1)
STR_LEN 0 mtd->parent (-1)
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 mtd->erasesize
NO_OVERFLOW_SIMPLE 0 mtd->parent->erasesize
HALF_LOCKED2 &d->mbd_dev->lock
HALF_LOCKED2 &s->lock
HALF_LOCKED2 global &mtd_table_mutex

drivers/mtd/mtdswap.c mtdswap_handle_badblock() -> mtd_can_have_bb()

Type Parameter Key Value
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/mtdswap.c mtdswap_read_markers() -> mtd_can_have_bb()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &mtd_table_mutex

drivers/mtd/tests/mtd_test.c mtdtest_scan_for_bad_eraseblocks() -> mtd_can_have_bb()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
DATA_SOURCE 0 mtd $0

drivers/mtd/mtdconcat.c concat_block_isbad() -> mtd_can_have_bb()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &master->master.chrdev_lock

drivers/mtd/ubi/build.c io_init() -> mtd_can_have_bb()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
BUF_SIZE 0 mtd (-1),64,2448,2984
BUF_SIZE 0 mtd (-1),64,2448,2984
STR_LEN 0 mtd (-1),18
STR_LEN 0 mtd (-1),18
STR_LEN 0 mtd->dev.driver_data (-1)
STR_LEN 0 mtd->name (-1)
STR_LEN 0 mtd->parent (-1)
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 mtd->erasesize
LOCK2 global &ubi_devices_mutex
HALF_LOCKED2 global &mtd_table_mutex