Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 42 files:

Smatch caller information:

lib/iov_iter.c dup_iter() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 2 element_size 16
PARAM_VALUE 3 gfp 3264
DATA_SOURCE 3 gfp $2
RX_PATH
TASK_NOT_RUNNING
UNITS 0 src unit_byte
UNITS 1 count unit_byte
UNITS 2 element_size unit_byte
HALF_LOCKED2 &epdata->lock
HALF_LOCKED2 &vq->mutex

lib/iov_iter.c dup_iter() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 2 element_size 16
PARAM_VALUE 3 gfp 3264
DATA_SOURCE 3 gfp $2
RX_PATH
TASK_NOT_RUNNING
UNITS 0 src unit_byte
UNITS 1 count unit_byte
UNITS 2 element_size unit_byte
HALF_LOCKED2 &epdata->lock
HALF_LOCKED2 &vq->mutex

drivers/pinctrl/pinconf-generic.c pinconf_generic_parse_dt_config() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 16,4096-ptr_max
PARAM_VALUE 1 count 1-u32max
PARAM_VALUE 2 element_size 8
PARAM_VALUE 3 gfp 3264
BUF_SIZE 0 src 8
DATA_SOURCE 0 src r _kmalloc_array_noprof
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte
HALF_LOCKED2 &sfp->mutex
HALF_LOCKED2 _T->lock

drivers/base/regmap/regcache.c regcache_init() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 1-u64max
PARAM_VALUE 1 count 0-s32max
PARAM_VALUE 2 element_size 8
PARAM_VALUE 3 gfp 3264
CAPPED_DATA 1 count 1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 count unit_array_size
UNITS 2 element_size unit_byte
HALF_LOCKED2 &card->mutex
HALF_LOCKED2 &data->mutex
HALF_LOCKED2 _T->lock

net/bridge/netfilter/ebtables.c ebt_register_table() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 1288993603275071488,2109046207939891200,6085377685878145024
PARAM_VALUE 1 count 1-32
PARAM_VALUE 2 element_size 72
PARAM_VALUE 3 gfp 3264
BUF_SIZE 0 src (-1),216
DATA_SOURCE 0 src $2
DATA_SOURCE 1 count r __arch_hweight32
NS_CAPABLE 0 12
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte
LOCK2 global &ebt_mutex

drivers/pinctrl/renesas/pinctrl-rzg2l.c rzg2l_map_add_config() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 1 count 1-u32max
PARAM_VALUE 2 element_size 8
PARAM_VALUE 3 gfp 3264
DATA_SOURCE 0 src $3
DATA_SOURCE 1 count $4
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte

net/core/filter.c bpf_migrate_filter() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 1 count 1-4096
PARAM_VALUE 2 element_size 8
PARAM_VALUE 3 gfp 11456
CAPPED_DATA 1 count 1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 count 2-4096[c]
NO_OVERFLOW_SIMPLE 1 count
UNITS 1 count unit_array_size
UNITS 2 element_size unit_byte
USER_PTR 0 src

drivers/pinctrl/renesas/pinctrl.c sh_pfc_map_add_config() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 1-u64max
PARAM_VALUE 2 element_size 8
PARAM_VALUE 3 gfp 3264
DATA_SOURCE 0 src $3
DATA_SOURCE 1 count $4
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte

drivers/platform/chrome/chromeos_laptop.c chromeos_laptop_prepare_i2c_peripherals() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 1 count 1-u32max
PARAM_VALUE 2 element_size 184
PARAM_VALUE 3 gfp 3264
UNITS 2 element_size unit_byte

drivers/pinctrl/pinctrl-utils.c pinctrl_utils_add_map_configs() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 1 count 1-u32max
PARAM_VALUE 2 element_size 8
PARAM_VALUE 3 gfp 3264
DATA_SOURCE 0 src $5
DATA_SOURCE 1 count $6
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte

drivers/pinctrl/samsung/pinctrl-samsung.c add_map_configs() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 4096-ptr_max
PARAM_VALUE 1 count 1-2
PARAM_VALUE 2 element_size 8
PARAM_VALUE 3 gfp 3264
DATA_SOURCE 0 src $5
DATA_SOURCE 1 count $6
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte

net/netfilter/nf_nat_core.c nf_nat_register_fn() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 1638554590928121856,3696337530433552384
PARAM_VALUE 1 count 4
PARAM_VALUE 2 element_size 72
PARAM_VALUE 3 gfp 3264
BUF_SIZE 0 src 288
DATA_SOURCE 0 src $3
DATA_SOURCE 1 count $4
RX_PATH
TASK_NOT_RUNNING
UNITS 1 count unit_array_size
UNITS 2 element_size unit_byte
LOCK2 global &nf_nat_proto_mutex

drivers/base/regmap/regmap.c regmap_bulk_write() -> kmemdup_array()

Type Parameter Key Value
DATA_SOURCE 0 src $2
DATA_SOURCE 1 count $3
UNITS 2 element_size unit_byte

drivers/pinctrl/freescale/pinctrl-imx-scmi.c pinctrl_scmi_imx_dt_node_to_map() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 4096-ptr_max
PARAM_VALUE 1 count 0-5,4294967294-u32max
PARAM_VALUE 2 element_size 8
PARAM_VALUE 3 gfp 3264
BUF_SIZE 0 src 40
FUZZY_MAX 1 count 5
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte

drivers/base/platform.c platform_device_add_resources() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 1-u64max
PARAM_VALUE 2 element_size 64
PARAM_VALUE 3 gfp 3264
BUF_SIZE 0 src (-1),9,64,128,192,256
DATA_SOURCE 0 src $1
DATA_SOURCE 1 count $2
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 count
UNITS 1 count unit_array_size
UNITS 2 element_size unit_byte
ELEM_COUNT 0 ==src1 8051
HALF_LOCKED2 &cdns->mutex
HALF_LOCKED2 global &disable_lock

sound/usb/quirks.c create_fixed_stream_quirk() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 1 count 1-1024
PARAM_VALUE 2 element_size 4
PARAM_VALUE 3 gfp 3264
BUF_SIZE 0 src 4
FUZZY_MAX 1 count 1
HARD_MAX 1 count 1024
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte
HALF_LOCKED2 _T->lock

sound/soc/sof/topology.c sof_parse_pin_binding() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 2443703741442609152
PARAM_VALUE 1 count 2-8
PARAM_VALUE 2 element_size 8
PARAM_VALUE 3 gfp 3264
BUF_SIZE 0 src 64
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte
LOCK2 &card->mutex
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct snd_soc_card)->mutex

drivers/base/regmap/regcache-maple.c regcache_maple_drop() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 1-u64max
PARAM_VALUE 1 count 1-u32max
PARAM_VALUE 2 element_size 8
CAPPED_DATA 1 count 1
DATA_SOURCE 0 src r mas_find
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 count 1-2147487741
UNITS 2 element_size unit_byte
HALF_LOCKED2 map->lock_arg

drivers/base/regmap/regcache-maple.c regcache_maple_drop() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 1 count 1-9223372036854775806
PARAM_VALUE 2 element_size 8
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 count 1-9223372036854775806
UNITS 2 element_size unit_byte
HALF_LOCKED2 map->lock_arg

drivers/net/ethernet/netronome/nfp/bpf/jit.c nfp_bpf_relo_for_vnic() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 1 count 0-u16max
PARAM_VALUE 2 element_size 8
PARAM_VALUE 3 gfp 3264
BUF_SIZE 0 src 1-524280
CAPPED_DATA 1 count 1
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte
HALF_LOCKED2 &block->cb_lock
HALF_LOCKED2 global &rtnl_mutex

kernel/irq/msi.c msi_alloc_desc() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 1-u64max
PARAM_VALUE 1 count 1-s32max
PARAM_VALUE 2 element_size 1032
PARAM_VALUE 3 gfp 3264
BUF_SIZE 0 src (-1)-0,1032-s32max
CAPPED_DATA 1 count 1
DATA_SOURCE 0 src $2
DATA_SOURCE 1 count $1
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 count 2-s32max[c]
NO_OVERFLOW_SIMPLE 1 count
UNITS 1 count unit_array_size
UNITS 2 element_size unit_byte
LOCK2 &_T->lock->msi.data->mutex

drivers/media/usb/pvrusb2/pvrusb2-io.c pvr2_stream_buffer_count() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 1 count 32-4294967294
PARAM_VALUE 2 element_size 8
PARAM_VALUE 3 gfp 3264
BUF_SIZE 0 src 8,256-s32max
CAPPED_DATA 1 count 1
CONSTRAINT 1 count <3700
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 count
UNITS 1 count unit_array_size
UNITS 2 element_size unit_byte
LOCK2 &sp->mutex
TYPE_LOCK (struct pvr2_stream)->mutex

drivers/clk/rockchip/clk-pll.c rockchip_clk_register_pll() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 4096-ptr_max
PARAM_VALUE 1 count 0-s32max
PARAM_VALUE 2 element_size 32
PARAM_VALUE 3 gfp 3264
DATA_SOURCE 0 src $10
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte

drivers/pinctrl/renesas/pinctrl-rzt2h.c rzt2h_map_add_config() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 1 count 1-u32max
PARAM_VALUE 2 element_size 8
PARAM_VALUE 3 gfp 3264
DATA_SOURCE 0 src $3
DATA_SOURCE 1 count $4
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte

net/wireless/util.c cfg80211_iter_combinations() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 2 element_size 4
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
UNITS 1 count unit_array_size
UNITS 2 element_size unit_byte

kernel/user_namespace.c sort_idmaps() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 0,4096-ptr_max
PARAM_VALUE 1 count 6-16
PARAM_VALUE 2 element_size 12
PARAM_VALUE 3 gfp 3264
FUZZY_MAX 1 count 6
UNITS 2 element_size unit_byte
LOCK2 global &userns_state_mutex

fs/ceph/debugfs.c subvolume_metrics_show() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 1-u64max
PARAM_VALUE 1 count 1-u32max
PARAM_VALUE 2 element_size 56
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte
LOCK2 &mdsc->subvol_metrics_last_mutex
LOCK2 &s->lock
TYPE_LOCK (struct ceph_mds_client)->subvol_metrics_last_mutex
TYPE_LOCK (struct seq_file)->lock

drivers/clk/rockchip/clk-cpu.c rockchip_clk_register_cpuclk() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 4096-ptr_max
PARAM_VALUE 1 count 3,7-8,10,14-15,17-20,22,28-30,37,39-40
PARAM_VALUE 2 element_size 152
PARAM_VALUE 3 gfp 3264
BUF_SIZE 0 src 456,1064,1216,1520,2128,2280,2584,2736,2888,3040,3344,4256,4408,4560,5624,5928,6080
DATA_SOURCE 0 src $4
DATA_SOURCE 1 count $5
RX_PATH
TASK_NOT_RUNNING
UNITS 1 count unit_array_size
UNITS 2 element_size unit_byte

drivers/pinctrl/nomadik/pinctrl-nomadik.c nmk_dt_add_map_configs() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 2749260803996340224
PARAM_VALUE 1 count 1
PARAM_VALUE 2 element_size 8
PARAM_VALUE 3 gfp 3264
DATA_SOURCE 0 src $4
DATA_SOURCE 1 count $5
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte

drivers/pinctrl/renesas/pinctrl-rzv2m.c rzv2m_map_add_config() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 1 count 1-u32max
PARAM_VALUE 2 element_size 8
PARAM_VALUE 3 gfp 3264
DATA_SOURCE 0 src $3
DATA_SOURCE 1 count $4
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte

drivers/mtd/mtdconcat.c concat_writev() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 4096-ptr_max
PARAM_VALUE 1 count 0-s32max
PARAM_VALUE 2 element_size 16
PARAM_VALUE 3 gfp 3264
BUF_SIZE 0 src (-1),32
CAPPED_DATA 1 count 1
CAPPED_DATA 1 count 1
DATA_SOURCE 0 src $1
DATA_SOURCE 1 count $2
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte

lib/tests/fortify_kunit.c fortify_test_realloc_size() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 *src 0-255
PARAM_VALUE 1 count 1
PARAM_VALUE 2 element_size 0-1010101
PARAM_VALUE 3 gfp 3264
CAPPED_DATA 2 element_size 1
CAPPED_DATA 2 element_size 1
DATA_SOURCE 2 element_size r __fortify_strlen
NO_OVERFLOW_SIMPLE 2 element_size

drivers/opp/core.c _opp_set_supported_hw() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 4096-ptr_max
PARAM_VALUE 1 count 0-3
PARAM_VALUE 2 element_size 4
PARAM_VALUE 3 gfp 3264
BUF_SIZE 0 src (-1),4
DATA_SOURCE 0 src $1
DATA_SOURCE 1 count $2
HARD_MAX 1 count 3
RX_PATH
TASK_NOT_RUNNING
UNITS 1 count unit_array_size
UNITS 2 element_size unit_byte

fs/mnt_idmapping.c copy_mnt_idmap() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 1 count 6-u32max
PARAM_VALUE 2 element_size 12
PARAM_VALUE 3 gfp 4197568
UNITS 2 element_size unit_byte

fs/mnt_idmapping.c copy_mnt_idmap() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 1 count 6-u32max
PARAM_VALUE 2 element_size 12
PARAM_VALUE 3 gfp 4197568
UNITS 2 element_size unit_byte

kernel/bpf/verifier.c bpf_prog_ctx_arg_info_init() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 2 element_size 32
PARAM_VALUE 3 gfp 4197568
BUF_SIZE 0 src (-1),64
DATA_SOURCE 0 src $1
DATA_SOURCE 1 count $2
UNITS 2 element_size unit_byte

net/netfilter/x_tables.c xt_register_table() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 0 src 1-u64max
PARAM_VALUE 1 count 1-32
PARAM_VALUE 2 element_size 72
PARAM_VALUE 3 gfp 3264
DATA_SOURCE 0 src $2
DATA_SOURCE 1 count r __arch_hweight32
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte

drivers/gpu/drm/i915/gt/intel_workarounds.c wa_init_finish() -> kmemdup_array()

Type Parameter Key Value
PARAM_VALUE 1 count 1-u32max
PARAM_VALUE 2 element_size 20
PARAM_VALUE 3 gfp 3264
RX_PATH
TASK_NOT_RUNNING
UNITS 2 element_size unit_byte