Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/mtd/nand/ecc-sw-hamming.c nand_ecc_sw_hamming_calculate() -> ecc_sw_hamming_calculate()

Type Parameter Key Value
BUF_SIZE 0 buf s32min-s32max
DATA_SOURCE 0 buf $1
DATA_SOURCE 2 code $2
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 *buf 0-255
HOST_DATA 2 *code 0-255
USER_DATA 0 *buf 0-255
UNITS 0 buf unit_byte
UNITS 1 step_size unit_byte
USER_PTR 0 buf

drivers/mtd/tests/mtd_nandecctest.c double_bit_error_detect() -> ecc_sw_hamming_calculate()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 1 step_size 256,512
PARAM_VALUE 2 code 7858462868548767744
PARAM_VALUE 3 sm_order 1
BUF_SIZE 0 buf 256,512
BUF_SIZE 2 code 3
DATA_SOURCE 0 buf $0
DATA_SOURCE 1 step_size $3
NOCHECK_CALL

drivers/mtd/tests/mtd_nandecctest.c nand_ecc_test_run() -> ecc_sw_hamming_calculate()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 1 step_size 256,512
PARAM_VALUE 2 code 4096-ptr_max
PARAM_VALUE 3 sm_order 1
BUF_SIZE 0 buf 256,512
BUF_SIZE 2 code 3
DATA_SOURCE 0 buf r _kmalloc_noprof
DATA_SOURCE 1 step_size $0
DATA_SOURCE 2 code r _kmalloc_noprof
NOCHECK_CALL
BYTE_COUNT 0 ==buf1 8050

drivers/mtd/tests/mtd_nandecctest.c no_bit_error_verify() -> ecc_sw_hamming_calculate()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 1 step_size 256,512
PARAM_VALUE 2 code 2190740666668490752
PARAM_VALUE 3 sm_order 1
BUF_SIZE 0 buf 256,512
BUF_SIZE 2 code 3
DATA_SOURCE 0 buf $0
DATA_SOURCE 1 step_size $3
NOCHECK_CALL

drivers/mtd/tests/mtd_nandecctest.c single_bit_error_correct() -> ecc_sw_hamming_calculate()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 1 step_size 256,512
PARAM_VALUE 2 code 9107352611636436992
PARAM_VALUE 3 sm_order 1
BUF_SIZE 0 buf 256,512
BUF_SIZE 2 code 3
DATA_SOURCE 0 buf $0
DATA_SOURCE 1 step_size $3
NOCHECK_CALL

drivers/mtd/sm_ftl.c sm_correct_sector() -> ecc_sw_hamming_calculate()

Type Parameter Key Value
PARAM_VALUE 0 buf 1-u64max
PARAM_VALUE 1 step_size 256
PARAM_VALUE 2 code 7835807046883069952
PARAM_VALUE 3 sm_order 1
BUF_SIZE 2 code 3
DATA_SOURCE 0 buf $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &ftl->mutex
HALF_LOCKED2 global &mtd_table_mutex

drivers/mtd/sm_ftl.c sm_correct_sector() -> ecc_sw_hamming_calculate()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 1 step_size 256
PARAM_VALUE 2 code 7835807046883069952
PARAM_VALUE 3 sm_order 1
BUF_SIZE 2 code 3
DATA_SOURCE 0 buf $0 [m]
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &ftl->mutex
HALF_LOCKED2 global &mtd_table_mutex

drivers/mtd/sm_ftl.c sm_write_block() -> ecc_sw_hamming_calculate()

Type Parameter Key Value
PARAM_VALUE 1 step_size 256
PARAM_VALUE 3 sm_order 1
BUF_SIZE 2 code 3
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 buf unit_byte
LOCK2 &ftl->mutex
HALF_LOCKED2 &dev->lock
TYPE_LOCK (struct sm_ftl)->mutex

drivers/mtd/sm_ftl.c sm_write_block() -> ecc_sw_hamming_calculate()

Type Parameter Key Value
PARAM_VALUE 0 buf 4096-ptr_max
PARAM_VALUE 1 step_size 256
PARAM_VALUE 3 sm_order 1
BUF_SIZE 2 code 3
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 buf unit_byte
LOCK2 &ftl->mutex
HALF_LOCKED2 &dev->lock
TYPE_LOCK (struct sm_ftl)->mutex