Defined in 1 files as a prototype:

Defined in 3 files as a member:

Defined in 1 files as a function:

Referenced in 25 files:

Smatch caller information:

drivers/mtd/mtdswap.c mtdswap_write_block() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 1 to 0,4096-17592186040320
PARAM_VALUE 2 len 4096
PARAM_VALUE 3 retlen 2871724178303029248
BUF_SIZE 4 buf (-1),4096
BUF_SIZE 4 buf (-1),4096
DATA_SOURCE 4 buf $1
BIT_INFO 1 to 0x0,0x7ffffffffffff000
BIT_INFO 1 to 0x0,0xfffffffffffff000
RX_PATH
TASK_NOT_RUNNING
UNITS 1 to unit_byte
UNITS 2 len unit_byte
LOCK2 &dev->lock
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mtd_blktrans_dev)->lock

drivers/mtd/mtdblock.c do_cached_write() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 1 to s64min-(-512),0,512-s64max
PARAM_VALUE 2 len 512
PARAM_VALUE 3 retlen 5124568471767445504
DATA_SOURCE 1 to $1
DATA_SOURCE 2 len $2
DATA_SOURCE 4 buf $3
BIT_INFO 1 to 0x0,0xfffffffffffffe00
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_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 to s64min-(-2),0-s64max
PARAM_VALUE 3 retlen 8769934311311196160
BUF_SIZE 4 buf (-1)-s32max
BUF_SIZE 4 buf (-1)-s32max
DATA_SOURCE 0 mtd $0
DATA_SOURCE 1 to $1
DATA_SOURCE 2 len $2
DATA_SOURCE 4 buf $3
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte
HALF_LOCKED2 &dev->lock
TYPE_LOCK (struct mtd_blktrans_dev)->lock

fs/jffs2/wbuf.c __jffs2_flush_wbuf() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 3 retlen 8982320556983230464
PARAM_VALUE 4 buf 1-u64max
BUF_SIZE 4 buf 1-s32max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 to unit_byte
UNITS 2 len unit_byte
LOCK2 &c->wbuf_sem
HALF_LOCKED2 &c->alloc_sem
TYPE_LOCK (struct jffs2_sb_info)->wbuf_sem

fs/jffs2/wbuf.c jffs2_wbuf_recover() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 3 retlen 2489296773502648320
BUF_SIZE 4 buf 0-u32max
BUF_SIZE 4 buf 0-u32max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 to unit_byte
UNITS 2 len unit_byte
LOCK2 &c->wbuf_sem
HALF_LOCKED2 &c->alloc_sem
HALF_LOCKED2 &c->xattr_sem
TYPE_LOCK (struct jffs2_sb_info)->wbuf_sem

drivers/mtd/rfd_ftl.c do_writesect() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 2 len 512
PARAM_VALUE 3 retlen 7311136963986886656
PARAM_VALUE 4 buf 4096-ptr_max
BUF_SIZE 4 buf (-1),512
BUF_SIZE 4 buf (-1),512
DATA_SOURCE 4 buf $2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->lock

drivers/mtd/rfd_ftl.c do_writesect() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 len 2
PARAM_VALUE 3 retlen 7311136963986886656
PARAM_VALUE 3 *retlen 512
PARAM_VALUE 4 buf 1876861269894840320
BUF_SIZE 4 buf 2
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte
HALF_LOCKED2 &dev->lock

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

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 len 2
PARAM_VALUE 3 retlen 8892986255988965376
PARAM_VALUE 4 buf 4159307568734851072
PARAM_VALUE 4 *buf 147
BUF_SIZE 4 buf 2
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte
HALF_LOCKED2 &dev->lock

drivers/mtd/rfd_ftl.c mark_sector_deleted() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 2 len 2
PARAM_VALUE 3 retlen 7483327929648824320
PARAM_VALUE 4 buf 2233668024238149632
PARAM_VALUE 4 *buf 0
BUF_SIZE 4 buf 2
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte
HALF_LOCKED2 &dev->lock

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

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 len 1-u64max
PARAM_VALUE 3 retlen 6616399280339648512
BUF_SIZE 4 buf s32min-(-2),1-s32max
DATA_SOURCE 0 mtd $0
DATA_SOURCE 1 to $3 [m]
RX_PATH
TASK_NOT_RUNNING
UNITS 1 to unit_byte
UNITS 2 len unit_byte
UNITS 4 buf unit_byte

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

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 len 0-4000000
PARAM_VALUE 3 retlen 2800019977808556032
PARAM_VALUE 4 buf 16,4096-ptr_max
BUF_SIZE 4 buf 0-s32max
BUF_SIZE 4 buf 0-s32max
CAPPED_DATA 2 len 1
DATA_SOURCE 4 buf r mtd_kmalloc_up_to
USER_DATA 1 to 1-1000000000[c]
USER_DATA 2 len 2-3999999[c]
USER_DATA 3 *retlen 0-u64max
USER_DATA 4 *buf 0-255
UNITS 1 to unit_byte
UNITS 2 len unit_byte
USER_PTR 3 retlen
USER_PTR 4 buf

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

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 to s32min-s32max
PARAM_VALUE 2 len 1-4096
PARAM_VALUE 3 retlen 2061510449855348736
BUF_SIZE 0 mtd s32min-(-2),1-s32max
BUF_SIZE 0 mtd s32min-(-2),1-s32max
CAPPED_DATA 2 len 1
CAPPED_DATA 2 len 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 mtd unit_byte
HALF_LOCKED2 &devlink->lock

drivers/mtd/tests/subpagetest.c write_eraseblock() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 len 0-s32max,18446744071562067968-u64max
PARAM_VALUE 3 retlen 4110747165490622464
PARAM_VALUE 4 buf 0,16,4096-ptr_max

drivers/mtd/tests/subpagetest.c write_eraseblock() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 len 0-s32max,18446744071562067968-u64max
PARAM_VALUE 3 retlen 4110747165490622464
PARAM_VALUE 3 *retlen 0-s32max,18446744071562067968-u64max
PARAM_VALUE 4 buf 0,16,4096-ptr_max
CAPPED_DATA 2 len 1

drivers/mtd/tests/subpagetest.c write_eraseblock2() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 len 0-s32max,18446744071562067968-u64max
PARAM_VALUE 3 retlen 111545659907301376
PARAM_VALUE 4 buf 0,16,4096-ptr_max

drivers/mtd/ubi/io.c nor_erase_prepare() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 len 4
PARAM_VALUE 3 retlen 1167461682572763136
PARAM_VALUE 4 buf 3448146260775358464
PARAM_VALUE 4 *buf 0
BUF_SIZE 4 buf 4
CAPPED_DATA 0 mtd 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 mtd->erasesize
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/mtd/ubi/io.c nor_erase_prepare() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 len 4
PARAM_VALUE 3 retlen 1167461682572763136
PARAM_VALUE 4 buf 3448146260775358464
PARAM_VALUE 4 *buf 0
BUF_SIZE 4 buf 4
CAPPED_DATA 0 mtd 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 to (-4611686016279904256)-4611686020574871551[c][u]
USER_DATA 3 *retlen 0-u64max
NO_OVERFLOW_SIMPLE 0 mtd->erasesize
USER_PTR 3 retlen
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/mtd/ubi/io.c ubi_io_write() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 2 len 0-s32max,18446744071562067968-u64max
PARAM_VALUE 3 retlen 5304046085754208256
DATA_SOURCE 2 len $4
DATA_SOURCE 4 buf $1
NOSPEC 2 len
NOSPEC 2 len
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 len 3-s32max[c]
USER_DATA 1 to (-4611686016279904256)-4611686020574871551[c]
USER_DATA 2 len 0-s32max,18446744071562067968-u64max[c]
USER_DATA 4 *buf 0-255
NO_OVERFLOW_SIMPLE 0 mtd->erasesize
NO_OVERFLOW_SIMPLE 2 len
UNITS 1 to unit_byte
UNITS 2 len unit_byte
UNITS 4 buf unit_byte
USER_PTR 4 buf
HALF_LOCKED2 &le->mutex
HALF_LOCKED2 &ubi->buf_mutex
HALF_LOCKED2 &ubi->fm_eba_sem
HALF_LOCKED2 &ubi->fm_protect
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_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 to 0
PARAM_VALUE 2 len 0-4000000
PARAM_VALUE 3 retlen 976239205165113344
PARAM_VALUE 3 *retlen 0
PARAM_VALUE 4 buf 4096-ptr_max
BUF_SIZE 4 buf 0-s32max,18446744071562067968-u64max
BUF_SIZE 4 buf 0-s32max,18446744071562067968-u64max
CAPPED_DATA 0 mtd 1
CAPPED_DATA 2 len 1
CAPPED_DATA 2 len 1
DATA_SOURCE 4 buf r _kzalloc_noprof
BIT_INFO 2 len 0x0,0xffffffff
HALF_LOCKED2 &pool->lock

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

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 to 0-4294967295
PARAM_VALUE 2 len 1-u32max
PARAM_VALUE 3 retlen 1790057714839220224
PARAM_VALUE 3 *retlen 0
BUF_SIZE 4 buf 1-s32max
BUF_SIZE 4 buf 1-s32max
CAPPED_DATA 0 mtd 1
DATA_SOURCE 2 len $3
DATA_SOURCE 4 buf $1
HALF_LOCKED2 &pool->lock

drivers/mtd/ftl.c copy_erase_unit() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 1 to 0-4294967295
PARAM_VALUE 2 len 2
PARAM_VALUE 3 retlen 3905711913568329728
PARAM_VALUE 4 buf 6476336922243964928
PARAM_VALUE 4 *buf 255
BUF_SIZE 4 buf 2
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte
LOCK2 &dev->lock
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mtd_blktrans_dev)->lock

drivers/mtd/ftl.c copy_erase_unit() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 len 512
PARAM_VALUE 3 retlen 3905711913568329728
PARAM_VALUE 4 buf 6973396931506065408
BUF_SIZE 4 buf 512
CAPPED_DATA 0 mtd 1
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/ftl.c copy_erase_unit() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 to 0-4294967295
PARAM_VALUE 2 len 0-17179869180
PARAM_VALUE 3 retlen 3905711913568329728
BUF_SIZE 4 buf 4
CAPPED_DATA 2 len 1
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/ftl.c copy_erase_unit() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 to 0-4294967295
PARAM_VALUE 2 len 2
PARAM_VALUE 3 retlen 3905711913568329728
PARAM_VALUE 4 buf 7245510138989330432
BUF_SIZE 4 buf 2
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte
LOCK2 &dev->lock
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mtd_blktrans_dev)->lock

drivers/mtd/ftl.c ftl_write() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 to 0-4294967295
PARAM_VALUE 2 len 512
PARAM_VALUE 3 retlen 4547810225204977664
DATA_SOURCE 4 buf $1 [m]
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/ftl.c prepare_xfer() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 2 len 68
PARAM_VALUE 3 retlen 4535162026086514688
PARAM_VALUE 4 buf 9173444980906663936
BUF_SIZE 4 buf 68
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte
LOCK2 &dev->lock
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mtd_blktrans_dev)->lock

drivers/mtd/ftl.c prepare_xfer() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 1 to 0-s64max
PARAM_VALUE 2 len 4
PARAM_VALUE 3 retlen 4535162026086514688
PARAM_VALUE 4 buf 4404804234156072960
PARAM_VALUE 4 *buf 48
BUF_SIZE 4 buf 4
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte
LOCK2 &dev->lock
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct mtd_blktrans_dev)->lock

drivers/mtd/ftl.c set_bam_entry() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 2 len 4
PARAM_VALUE 3 retlen 3949983350470041600
PARAM_VALUE 4 buf 6605104475686006784
BUF_SIZE 4 buf 4
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte
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_write() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 3 retlen 6301059780449943552
CAPPED_DATA 0 mtd 1
DATA_SOURCE 0 mtd $0
DATA_SOURCE 1 to $1
DATA_SOURCE 2 len $2
DATA_SOURCE 4 buf $3
STR_LEN 0 mtd (-1),27
STR_LEN 0 mtd (-1),27
UNITS 1 to unit_byte
UNITS 2 len unit_byte

drivers/mtd/tests/torturetest.c write_pattern() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 2 len 0-u32max,18446744071562067968-u64max
PARAM_VALUE 3 retlen 5464034161542590464
PARAM_VALUE 4 buf 16,4096-ptr_max
BUF_SIZE 4 buf 0-s32max
DATA_SOURCE 4 buf $1
BIT_INFO 2 len 0x0,0xffffffff
BIT_INFO 2 len 0x0,0xffffffff
UNITS 2 len unit_byte

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

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 3 retlen 4084055224140554240
PARAM_VALUE 4 buf 16,4096-ptr_max
BUF_SIZE 4 buf 0-u32max
BUF_SIZE 4 buf 0-u32max
CAPPED_DATA 0 mtd 1
DATA_SOURCE 1 to $1
DATA_SOURCE 4 buf r _kmalloc_noprof
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte
LOCK2 global &mtd_table_mutex

drivers/mtd/mtdpstore.c mtdpstore_write() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 3 retlen 961422139140898816
BUF_SIZE 4 buf (-1)-s32max
BUF_SIZE 4 buf (-1)-s32max
CAPPED_DATA 1 to 1
CAPPED_DATA 1 to 1
DATA_SOURCE 1 to $2
DATA_SOURCE 2 len $1
DATA_SOURCE 4 buf $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 len 0-s32max[c]
UNITS 1 to unit_byte
UNITS 2 len unit_byte
UNITS 4 buf unit_byte

drivers/mtd/chips/cfi_cmdset_0020.c cfi_staa_writev() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 0 mtd->parent->parent 0
PARAM_VALUE 2 len 0-u32max
PARAM_VALUE 3 retlen 7596853645013348352
PARAM_VALUE 4 buf 4096-ptr_max
BUF_SIZE 4 buf 1-u32max
BUF_SIZE 4 buf 1-u32max
CAPPED_DATA 0 mtd->writesize 1
CAPPED_DATA 2 len 1
DATA_SOURCE 0 mtd $0
DATA_SOURCE 1 to $3
DATA_SOURCE 4 buf r _kmalloc_noprof
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte

drivers/mtd/chips/cfi_cmdset_0020.c cfi_staa_writev() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 0 mtd->parent->parent 0
PARAM_VALUE 3 retlen 7596853645013348352
BUF_SIZE 4 buf s32min-(-1),1-s32max
CAPPED_DATA 2 len 1
DATA_SOURCE 0 mtd $0
DATA_SOURCE 1 to $3
BIT_INFO 2 len 0x0,0xffffffff
RX_PATH
TASK_NOT_RUNNING
UNITS 4 buf unit_byte

drivers/mtd/chips/cfi_cmdset_0020.c cfi_staa_writev() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 0 mtd 4096-ptr_max
PARAM_VALUE 0 mtd->parent->parent 0
PARAM_VALUE 2 len 1-u64max
PARAM_VALUE 3 retlen 7596853645013348352
PARAM_VALUE 4 buf 4096-ptr_max
BUF_SIZE 4 buf 1-u32max
BUF_SIZE 4 buf 1-u32max
DATA_SOURCE 0 mtd $0
DATA_SOURCE 1 to $3
DATA_SOURCE 4 buf r _kmalloc_noprof
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte

drivers/mtd/mtdconcat.c concat_write() -> mtd_write()

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 3 retlen 3101558767969767424
BUF_SIZE 4 buf (-1)-s32max
BUF_SIZE 4 buf (-1)-s32max
CAPPED_DATA 0 mtd->size 1
CAPPED_DATA 1 to 1
CAPPED_DATA 1 to 1
DATA_SOURCE 1 to $1 [m]
DATA_SOURCE 4 buf $4
PARAM_COMPARE 0 mtd->size > $1
PARAM_COMPARE 1 to < $0->size
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 to 1-5294967294[c]
HOST_DATA 2 len 0-u64max[c]
HOST_DATA 4 buf 4096-ptr_max[c]
USER_DATA 1 to 1-s64max[c]
USER_DATA 2 len 0-u64max[c]
USER_DATA 4 buf 4096-ptr_max[c][u]
UNITS 1 to unit_byte
UNITS 2 len unit_byte
USER_PTR 4 buf
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &ftl->mutex
HALF_LOCKED2 &master->master.chrdev_lock
HALF_LOCKED2 &mbd->lock

fs/jffs2/writev.c jffs2_flash_direct_write() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 2 len 0-4000000
PARAM_VALUE 3 retlen 7000331881820454912,7768099563753406464
PARAM_VALUE 4 buf 4096-ptr_max
BUF_SIZE 4 buf 0-s32max
BUF_SIZE 4 buf 0-s32max
CAPPED_DATA 2 len 1
CAPPED_DATA 2 len 1
DATA_SOURCE 1 to $1
DATA_SOURCE 2 len $2
DATA_SOURCE 3 retlen $3
DATA_SOURCE 4 buf $4
RX_PATH
TASK_NOT_RUNNING
UNITS 1 to unit_byte
UNITS 2 len unit_byte
LOCK2 &c->alloc_sem
HALF_LOCKED2 &c->wbuf_sem
HALF_LOCKED2 &c->xattr_sem
TYPE_LOCK (struct jffs2_sb_info)->alloc_sem

drivers/mtd/mtdoops.c mtdoops_write() -> mtd_write()

Type Parameter Key Value
PARAM_VALUE 3 retlen 7782060706808922112
PARAM_VALUE 4 buf 4096-ptr_max
BUF_SIZE 4 buf 4096-s32max
RX_PATH
HALF_LOCKED2 &pool->lock