Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 12 files:

Smatch caller information:

drivers/mtd/mtdswap.c mtdswap_eblk_passes() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 ops 6988898649718255616
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_write_marker() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 ops 7364694672610312192
PARAM_VALUE 2 ops->datbuf 0
PARAM_VALUE 2 ops->len 0
PARAM_VALUE 2 ops->mode 1
PARAM_VALUE 2 ops->oobbuf 8740397114631397376
PARAM_VALUE 2 ops->ooblen 2,6
PARAM_VALUE 2 ops->ooboffs 0
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0
RX_PATH
TASK_NOT_RUNNING
UNITS 1 to unit_byte
LOCK2 &dev->lock
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mtd_blktrans_dev)->lock

drivers/mtd/nftlcore.c nftl_write() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 to 0-s64max
PARAM_VALUE 2 ops 330507277571227648
PARAM_VALUE 2 ops->len 512
PARAM_VALUE 2 ops->mode 0
PARAM_VALUE 2 ops->oobbuf 7412551989898932224,7943603224610799616
PARAM_VALUE 2 ops->ooblen 0-u32max
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0
CAPPED_DATA 0 mtd 1
CAPPED_DATA 1 to 1
DATA_SOURCE 0 mtd $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mbd->lock
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mtd_blktrans_dev)->lock

drivers/mtd/nftlcore.c nftl_write_oob() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 to 0-4294967295
PARAM_VALUE 2 ops 5962287003664367616
PARAM_VALUE 2 ops->datbuf 0
PARAM_VALUE 2 ops->len 0
PARAM_VALUE 2 ops->mode 0
PARAM_VALUE 2 ops->oobbuf 3075301443861983240,5374793511726010368,7083049421680574472,8162474367002431488,8514326127394230272
PARAM_VALUE 2 ops->ooblen 8
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0
BUF_SIZE 0 mtd (-1),2448,2984
BUF_SIZE 0 mtd (-1),2448,2984
CAPPED_DATA 1 to 1
DATA_SOURCE 0 mtd $0
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
HALF_LOCKED2 &mbd->lock
HALF_LOCKED2 global &mtd_table_mutex

fs/jffs2/wbuf.c jffs2_write_nand_cleanmarker() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 0 mtd->type 4
PARAM_VALUE 2 ops 3193222703061843968
PARAM_VALUE 2 ops->datbuf 0
PARAM_VALUE 2 ops->len 0
PARAM_VALUE 2 ops->mode 1
PARAM_VALUE 2 ops->oobbuf 7016714317580832768
PARAM_VALUE 2 ops->ooblen 0-8,18446744071562067968-u64max
PARAM_VALUE 2 ops->ooboffs 0
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0
CAPPED_DATA 0 mtd 1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 to unit_byte
HALF_LOCKED2 &c->alloc_sem
HALF_LOCKED2 &c->wbuf_sem
HALF_LOCKED2 &c->xattr_sem

drivers/mtd/mtdcore.c mtd_write() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 2 ops 7783575899813445632
PARAM_VALUE 2 ops->mode 0
PARAM_VALUE 2 ops->oobbuf 0
PARAM_VALUE 2 ops->ooblen 0
PARAM_VALUE 2 ops->ooboffs 0
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0
BUF_SIZE 0 mtd s32min-s32max
DATA_SOURCE 0 mtd $0
DATA_SOURCE 1 to $1
STR_LEN 0 mtd (-1),27
STR_LEN 0 mtd (-1),27
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 to 1-5294967294[c]
HOST_DATA 2 ops->len 0-u64max[c]
USER_DATA 1 to (-4611686016279904256)-s64max[c]
USER_DATA 2 ops->len 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 mtd->erasesize
UNITS 0 mtd unit_byte
UNITS 1 to unit_byte
USER_PTR 2 ops->datbuf
HALF_LOCKED2 &c->alloc_sem
HALF_LOCKED2 &c->wbuf_sem
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &mtd_table_mutex

drivers/mtd/mtdchar.c mtdchar_write() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 ops 1948428078752776192
PARAM_VALUE 2 ops->datbuf 16,4096-ptr_max
PARAM_VALUE 2 ops->len 0-4000000
PARAM_VALUE 2 ops->mode 2
PARAM_VALUE 2 ops->oobbuf 0
PARAM_VALUE 2 ops->ooblen 0
PARAM_VALUE 2 ops->ooboffs 0
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0
USER_DATA 1 to 1-1000000000[c]
USER_DATA 2 ops->len 2-3999999[c]
UNITS 1 to unit_byte
USER_PTR 2 ops->datbuf

drivers/mtd/mtdchar.c mtdchar_write_ioctl() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 ops 1830130719394844672
PARAM_VALUE 2 ops->datbuf 0-18446744073709551614
PARAM_VALUE 2 ops->len 0-s32max
PARAM_VALUE 2 ops->mode 0-255
PARAM_VALUE 2 ops->oobbuf 0-18446744073709551614
PARAM_VALUE 2 ops->ooblen 0-s32max
PARAM_VALUE 2 ops->ooboffs 0
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0
DATA_SOURCE 0 mtd $0
USER_DATA 1 to s64min-s64max
USER_DATA 2 ops->len 0-s32max[c]
USER_DATA 2 ops->mode 0-255
USER_DATA 2 ops->ooblen 0-s32max[c]
UNITS 1 to unit_byte
USER_PTR 2 ops->datbuf
USER_PTR 2 ops->oobbuf
LOCK2 &master->master.chrdev_lock
TYPE_LOCK (struct mtd_master)->chrdev_lock

drivers/mtd/mtdchar.c mtdchar_writeoob() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 ops 4225741490357161984
PARAM_VALUE 2 ops->datbuf 0
PARAM_VALUE 2 ops->len 0
PARAM_VALUE 2 ops->mode 0,2
PARAM_VALUE 2 ops->oobbuf 1-ptr_max
PARAM_VALUE 2 ops->ooblen 0-4096
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0
DATA_SOURCE 0 mtd $1
DATA_SOURCE 1 to $2 [m]
USER_DATA 1 to 0-s64max[c]
USER_DATA 2 ops->ooblen 0-4096[c]
USER_DATA 2 ops->ooboffs 0-u32max[c]
USER_PTR 2 ops->oobbuf
LOCK2 &master->master.chrdev_lock
TYPE_LOCK (struct mtd_master)->chrdev_lock

drivers/mtd/mtdconcat.c concat_write_oob() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 0 mtd->size 1-u64max
PARAM_VALUE 1 to s64min-(-2),0-s64max
PARAM_VALUE 2 ops 8490214927560663040
PARAM_VALUE 2 ops->mode 0-255
CAPPED_DATA 0 mtd->size 1
CAPPED_DATA 1 to 1
CAPPED_DATA 1 to 1
DATA_SOURCE 1 to $1 [m]
PARAM_COMPARE 0 mtd->size > $1
PARAM_COMPARE 1 to < $0->size
NOSPEC 2 ops->ooblen
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 to 1-5294967294[c]
HOST_DATA 2 ops->len 0-u64max[c]
HOST_DATA 2 ops->oobretlen 1-35184372056064,18446744071562067968-u64max[c]
HOST_DATA 2 ops->retlen 0-314243001679872,18446744071562067968-u64max[c]
USER_DATA 1 to 1-s64max[c]
USER_DATA 2 ops->len 0-u64max[c]
USER_DATA 2 ops->mode 0-255
USER_DATA 2 ops->ooblen 0-8628589293650,18446321861244682240-u64max
USER_DATA 2 ops->ooboffs 0-u32max[c]
USER_DATA 2 ops->oobretlen 0-422212464869376,18446740775174669824-u64max
USER_DATA 2 ops->retlen 0-u64max
UNITS 1 to unit_byte
USER_PTR 2 ops->datbuf
USER_PTR 2 ops->oobbuf
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &ftl->mutex
HALF_LOCKED2 &master->master.chrdev_lock
HALF_LOCKED2 &mbd->lock

drivers/mtd/inftlcore.c inftl_write() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 to 0-4294967295
PARAM_VALUE 2 ops 5488648248799936512
PARAM_VALUE 2 ops->len 512
PARAM_VALUE 2 ops->mode 0
PARAM_VALUE 2 ops->oobbuf 1533327971731832832,3445685997104369664
PARAM_VALUE 2 ops->ooblen 0-u32max
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0
CAPPED_DATA 1 to 1
DATA_SOURCE 0 mtd $0
BIT_INFO 1 to 0x0,0xffffffff
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mbd->lock
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mtd_blktrans_dev)->lock

drivers/mtd/inftlcore.c inftl_write_oob() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 to 0-4294967295
PARAM_VALUE 2 ops 6361648533475635200
PARAM_VALUE 2 ops->datbuf 0
PARAM_VALUE 2 ops->len 0
PARAM_VALUE 2 ops->mode 0
PARAM_VALUE 2 ops->oobbuf 1548298580768071680,4447716077781471240,7297681592522403840
PARAM_VALUE 2 ops->ooblen 8
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0
BUF_SIZE 0 mtd (-1),2448,2984
BUF_SIZE 0 mtd (-1),2448,2984
CAPPED_DATA 1 to 1
DATA_SOURCE 0 mtd $0
STR_LEN 0 mtd->dev.driver_data (-1)
STR_LEN 0 mtd->name (-1)
BIT_INFO 1 to 0x0,0xffffffff
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 mtd->erasesize
HALF_LOCKED2 &mbd->lock

drivers/mtd/sm_ftl.c sm_write_sector() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 1 to s32min-s32max
PARAM_VALUE 2 ops 8000409106521382912
PARAM_VALUE 2 ops->len 512
PARAM_VALUE 2 ops->mode 0,2
PARAM_VALUE 2 ops->oobbuf 304169322839322624,1075363059584933888
PARAM_VALUE 2 ops->ooblen 16
PARAM_VALUE 2 ops->ooboffs 0
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ftl->mutex
HALF_LOCKED2 &dev->lock
TYPE_LOCK (struct sm_ftl)->mutex

drivers/mtd/nand/raw/sm_common.c sm_block_markbad() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 ops 7051967433032024064
PARAM_VALUE 2 ops->datbuf 0
PARAM_VALUE 2 ops->len 0
PARAM_VALUE 2 ops->mode 0
PARAM_VALUE 2 ops->oobbuf 5718595531460698112
PARAM_VALUE 2 ops->ooblen 0-u32max
PARAM_VALUE 2 ops->ooboffs 0
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0
BUF_SIZE 0 mtd 2448
DATA_SOURCE 0 mtd r nand_to_mtd
DATA_SOURCE 1 to $1
RX_PATH
TASK_NOT_RUNNING

drivers/mtd/tests/nandbiterrs.c rewrite_page() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 ops 5882138577914990592
PARAM_VALUE 2 ops->datbuf 0,16,4096-ptr_max
PARAM_VALUE 2 ops->len 0-u32max
PARAM_VALUE 2 ops->mode 2
PARAM_VALUE 2 ops->oobbuf 0
PARAM_VALUE 2 ops->ooblen 0
PARAM_VALUE 2 ops->ooboffs 0
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0

drivers/mtd/tests/oobtest.c mtd_oobtest_init() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 ops 2261114623674265600
PARAM_VALUE 2 ops->datbuf 0
PARAM_VALUE 2 ops->len 0
PARAM_VALUE 2 ops->mode 1
PARAM_VALUE 2 ops->oobbuf 16,4096-ptr_max
PARAM_VALUE 2 ops->ooblen 1
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0
DATA_SOURCE 0 mtd r get_mtd_device

drivers/mtd/tests/oobtest.c mtd_oobtest_init() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 ops 2261114623674265600
PARAM_VALUE 2 ops->datbuf 0
PARAM_VALUE 2 ops->len 0
PARAM_VALUE 2 ops->mode 1
PARAM_VALUE 2 ops->oobbuf 16,4096-ptr_max
PARAM_VALUE 2 ops->ooblen 0-u32max
PARAM_VALUE 2 ops->ooboffs 0
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
DATA_SOURCE 0 mtd r get_mtd_device
UNITS 1 to unit_byte

drivers/mtd/tests/oobtest.c mtd_oobtest_init() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 ops 2261114623674265600
PARAM_VALUE 2 ops->datbuf 0
PARAM_VALUE 2 ops->len 0
PARAM_VALUE 2 ops->mode 1
PARAM_VALUE 2 ops->oobbuf 16,4096-ptr_max
PARAM_VALUE 2 ops->ooblen 0-u32max
PARAM_VALUE 2 ops->ooboffs 1
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
DATA_SOURCE 0 mtd r get_mtd_device
UNITS 1 to unit_byte

drivers/mtd/tests/oobtest.c mtd_oobtest_init() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 ops 2261114623674265600
PARAM_VALUE 2 ops->datbuf 0
PARAM_VALUE 2 ops->len 0
PARAM_VALUE 2 ops->mode 1
PARAM_VALUE 2 ops->oobbuf 4096-ptr_max
PARAM_VALUE 2 ops->ooblen 0-u32max
PARAM_VALUE 2 ops->ooboffs 0
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
DATA_SOURCE 0 mtd r get_mtd_device
UNITS 1 to unit_byte

drivers/mtd/tests/oobtest.c write_eraseblock() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 ops 3087224048465195008
PARAM_VALUE 2 ops->datbuf 0
PARAM_VALUE 2 ops->len 0
PARAM_VALUE 2 ops->mode 1
PARAM_VALUE 2 ops->oobbuf 4096-ptr_max
PARAM_VALUE 2 ops->ooblen 0-s32max,18446744071562067968-u64max
PARAM_VALUE 2 ops->ooboffs 0-39
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0

drivers/mtd/nand/raw/nand_bbt.c scan_write_bbt() -> mtd_write_oob()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 ops 6698633963214270464
PARAM_VALUE 2 ops->datbuf 1-u64max
PARAM_VALUE 2 ops->mode 0
PARAM_VALUE 2 ops->oobbuf 0,4096-ptr_max
PARAM_VALUE 2 ops->ooblen 0-u32max
PARAM_VALUE 2 ops->ooboffs 0
PARAM_VALUE 2 ops->oobretlen 0
PARAM_VALUE 2 ops->retlen 0
PARAM_VALUE 2 ops->stats 0
BUF_SIZE 0 mtd 2448
DATA_SOURCE 0 mtd r nand_to_mtd
DATA_SOURCE 1 to $1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 to unit_byte