diff options
author | Sergey Shtylyov <[email protected]> | 2022-03-31 00:09:07 +0300 |
---|---|---|
committer | Ulf Hansson <[email protected]> | 2022-04-26 14:05:19 +0200 |
commit | 103da0667d4b7cdbc667666bd0e64899f3801033 (patch) | |
tree | 7a430f2e522bd8d535eea133880929e7be0abe48 /tools/perf/scripts/python/syscall-counts.py | |
parent | 7792fdf626c20aa4e0d2b0daacf4e30df3ff9583 (diff) |
mmc: core: block: fix sloppy typing in mmc_blk_ioctl_multi_cmd()
Despite mmc_ioc_multi_cmd::num_of_cmds is a 64-bit field, its maximum
value is limited to MMC_IOC_MAX_CMDS (only 255); using a 64-bit local
variable to hold a copy of that field leads to gcc generating ineffective
loop code: despite the source code using an *int* variable for the loop
counters, the 32-bit object code uses 64-bit unsigned counters. Also,
gcc has to drop the most significant word of that 64-bit variable when
calling kcalloc() and assigning to mmc_queue_req::ioc_count anyway.
Using the *unsigned int* variable instead results in a better code.
Found by Linux Verification Center (linuxtesting.org) with the SVACE static
analysis tool.
Signed-off-by: Sergey Shtylyov <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Ulf Hansson <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/syscall-counts.py')
0 files changed, 0 insertions, 0 deletions