Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 35 files:

Smatch caller information:

kernel/exit.c release_task() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 1 len 8
BUF_SIZE 0 buf 8
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte

kernel/fork.c add_latent_entropy() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 0
PARAM_VALUE 1 len 0
NOCHECK_CALL

drivers/virt/vmgenid.c setup_vmgenid_state() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 1 len 16
BUF_SIZE 0 buf 16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte

kernel/utsname_sysctl.c proc_do_uts_string() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 3908350430664646656
PARAM_VALUE 1 len 65
BUF_SIZE 0 buf 65
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte
HALF_LOCKED2 &pool->lock

drivers/mmc/core/mmc.c mmc_decode_cid() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 1 len 16
BUF_SIZE 0 buf 16
RX_PATH
NOCHECK_CALL
UNITS 1 len unit_byte
LOCK2 &pool->lock

drivers/net/wireless/ath/ath9k/common-spectral.c ath_cmn_process_fft() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 1 len 56,128
BUF_SIZE 0 buf 135
FUZZY_MAX 1 len 128
BIT_INFO 1 len 0x0,0xb8
HARD_MAX 1 len 128
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &priv->rx.rxbuflock
HALF_LOCKED2 bh
HALF_LOCKED2 flags

drivers/net/wireless/ath/ath9k/common-spectral.c ath_cmn_process_fft() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 1 len 56,128
BUF_SIZE 0 buf (-1),1-s32max
FUZZY_MAX 1 len 128
BIT_INFO 1 len 0x0,0xb8
HARD_MAX 1 len 128
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 buf unit_byte
USER_PTR 0 buf
HALF_LOCKED2 &priv->rx.rxbuflock
HALF_LOCKED2 bh
HALF_LOCKED2 flags

drivers/mtd/mtdcore.c mtd_otp_nvmem_add() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 0 buf->length 0-4294967295
PARAM_VALUE 0 buf->locked 0-1
PARAM_VALUE 0 buf->start 0-4294967295
PARAM_VALUE 0 *buf 0-255
PARAM_VALUE 1 len 0-s32max
BUF_SIZE 0 buf 1-9223372036854775807
BUF_SIZE 0 buf 1-9223372036854775807
DATA_SOURCE 0 buf r _kmalloc_noprof
DATA_SOURCE 1 len r mtd_nvmem_fact_otp_reg_read
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 *buf 0-255
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &rtnl_mutex

drivers/iio/magnetometer/yamaha-yas530.c yas530_get_calibration_data() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 1032124182974943232
PARAM_VALUE 0 *buf 0-255
PARAM_VALUE 1 len 16
BUF_SIZE 0 buf 16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte

drivers/iio/magnetometer/yamaha-yas530.c yas532_get_calibration_data() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 37925053662056448
PARAM_VALUE 0 *buf 0-255
PARAM_VALUE 1 len 14
BUF_SIZE 0 buf 14
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte

drivers/iio/magnetometer/yamaha-yas530.c yas537_get_calibration_data() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 2935671546276413440
PARAM_VALUE 0 *buf 0-255
PARAM_VALUE 1 len 17
BUF_SIZE 0 buf 17
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte

init/main.c add_latent_entropy() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 0
PARAM_VALUE 1 len 0
NOCHECK_CALL

drivers/usb/core/hub.c usb_new_device() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 1-u64max
PARAM_VALUE 1 len 0-1010101
STR_LEN 0 buf 0-1010101
NOCHECK_CALL
HALF_LOCKED2 &hdev->dev.mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &port_dev->status_lock
HALF_LOCKED2 global &usb_bus_idr_lock

drivers/usb/core/hub.c usb_new_device() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 1-u64max
PARAM_VALUE 1 len 0-1010101
STR_LEN 0 buf 0-1010101
NOCHECK_CALL
HALF_LOCKED2 &hdev->dev.mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &port_dev->status_lock
HALF_LOCKED2 global &usb_bus_idr_lock

drivers/usb/core/hub.c usb_new_device() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 1-u64max
PARAM_VALUE 1 len 0-1010101
STR_LEN 0 buf 0-1010101
NOCHECK_CALL
HALF_LOCKED2 &hdev->dev.mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &port_dev->status_lock
HALF_LOCKED2 global &usb_bus_idr_lock

arch/x86/coco/core.c cc_random_init() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 1 len 32
BUF_SIZE 0 buf 32
NOCHECK_CALL
UNITS 1 len unit_byte
LOCK2 irq

drivers/rtc/rtc-wm831x.c wm831x_rtc_add_randomness() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 3306342590822760448
PARAM_VALUE 0 *buf 0-u16max
PARAM_VALUE 1 len 2
BUF_SIZE 0 buf 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte

kernel/time/timekeeping.c __do_adjtimex() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 1350254909974437888,2443158563062341632,3336278660045197312,7995398462044033024
PARAM_VALUE 1 len 208
DATA_SOURCE 0 buf $1
NOCHECK_CALL
UNITS 1 len unit_byte

kernel/time/timekeeping.c __do_adjtimex() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 9045757357557833728
PARAM_VALUE 1 len 16
BUF_SIZE 0 buf 16
NOCHECK_CALL
UNITS 1 len unit_byte

kernel/time/timekeeping.c do_settimeofday64() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 1 len 16
BUF_SIZE 0 buf (-1)-0,16
DATA_SOURCE 0 buf $0
NOCHECK_CALL
UNITS 1 len unit_byte

drivers/iio/pressure/bmp280-core.c bmp180_read_calib() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 0 *buf 0-u16max
PARAM_VALUE 1 len 22
BUF_SIZE 0 buf 22
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte

drivers/iio/pressure/bmp280-core.c bmp280_read_calib() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 *buf 0-u16max
PARAM_VALUE 1 len 24
BUF_SIZE 0 buf 24
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte

drivers/iio/pressure/bmp280-core.c bmp380_read_calib() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 *buf 0-255
PARAM_VALUE 1 len 21
BUF_SIZE 0 buf 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte

drivers/firewire/core-device.c fw_device_init() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 1 len 8
NOCHECK_CALL
LOCK2 _T->lock
HALF_LOCKED2 &pool->lock

drivers/char/random.c add_latent_entropy() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 0
PARAM_VALUE 1 len 0
NOCHECK_CALL

drivers/char/random.c add_vmfork_randomness() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 1 len 16
BUF_SIZE 0 buf 16
BUF_SIZE 0 buf 16
DATA_SOURCE 0 buf $0
DATA_SOURCE 1 len $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte
HALF_LOCKED2 &pool->lock

drivers/net/wireless/ath/wcn36xx/txrx.c wcn36xx_update_survey() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 172861044192194560
PARAM_VALUE 0 *buf 0-255
PARAM_VALUE 1 len 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte
LOCK2 &ch->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct wcn36xx_dxe_ch)->lock

drivers/mmc/core/sd.c mmc_decode_cid() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 1 len 16
BUF_SIZE 0 buf 16
RX_PATH
NOCHECK_CALL
UNITS 1 len unit_byte
LOCK2 &pool->lock

drivers/firmware/dmi_scan.c dmi_walk_early() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 18446744073694871552-18446744073696710655
PARAM_VALUE 1 len 1-2147483642
DATA_SOURCE 0 buf r early_memremap
NOCHECK_CALL
LOCK2 irq

drivers/soc/qcom/socinfo.c qcom_socinfo_probe() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
CAPPED_DATA 1 len 1
CAPPED_DATA 1 len 1
DATA_SOURCE 0 buf r qcom_smem_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte

drivers/iio/magnetometer/ak8974.c ak8974_detect() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 6446200917194883072
PARAM_VALUE 1 len 2
BUF_SIZE 0 buf 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte

drivers/iio/magnetometer/ak8974.c ak8974_read_calib_data() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 4704242953849466880,7285299613939826688
PARAM_VALUE 0 *buf 0-u16max
PARAM_VALUE 1 len 6,18
BUF_SIZE 0 buf 6,18
CAPPED_DATA 1 len 1
CAPPED_DATA 1 len 1
DATA_SOURCE 0 buf $2
DATA_SOURCE 1 len $3
HARD_MAX 1 len 18
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte

kernel/sys.c __do_sys_setdomainname() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 3715765236098383872
PARAM_VALUE 1 len 0-64
BUF_SIZE 0 buf 64
CAPPED_DATA 1 len 1
DATA_SOURCE 1 len $1
NS_CAPABLE 0 21
NOCHECK_CALL
USER_DATA 1 len 0-64[c]
USER_PTR 0 buf

kernel/sys.c __do_sys_setdomainname() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 3715765236098383872
PARAM_VALUE 1 len 0-64
BUF_SIZE 0 buf 64
CAPPED_DATA 1 len 1
DATA_SOURCE 1 len $1
NS_CAPABLE 0 21
NOCHECK_CALL
USER_DATA 1 len 0-64[c]
USER_PTR 0 buf

kernel/sys.c __do_sys_sethostname() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 4187437385200418816
PARAM_VALUE 1 len 0-64
BUF_SIZE 0 buf 64
CAPPED_DATA 1 len 1
DATA_SOURCE 1 len $1
NS_CAPABLE 0 21
NOCHECK_CALL
USER_DATA 1 len 0-64[c]
USER_PTR 0 buf

kernel/sys.c __do_sys_sethostname() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 4187437385200418816
PARAM_VALUE 1 len 0-64
BUF_SIZE 0 buf 64
CAPPED_DATA 1 len 1
DATA_SOURCE 1 len $1
NS_CAPABLE 0 21
NOCHECK_CALL
USER_DATA 1 len 0-64[c]
USER_PTR 0 buf

drivers/mfd/wm831x-otp.c wm831x_otp_init() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 5293543683650076672
PARAM_VALUE 1 len 16
BUF_SIZE 0 buf 16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte

net/core/dev.c __dev_open() -> add_device_randomness()

Type Parameter Key Value
BUF_SIZE 0 buf 32
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte

net/core/dev.c netif_set_mac_address() -> add_device_randomness()

Type Parameter Key Value
BUF_SIZE 0 buf 32
CAPPED_DATA 1 len 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte
HALF_LOCKED2 global &dev_addr_sem
HALF_LOCKED2 global &rtnl_mutex

drivers/iio/gyro/mpu3050-core.c mpu3050_hw_init() -> add_device_randomness()

Type Parameter Key Value
PARAM_VALUE 0 buf 2892451490490531840
PARAM_VALUE 1 len 8
BUF_SIZE 0 buf 8
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte