* drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:129:7: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
@ 2022-03-20 1:09 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2022-03-20 1:09 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 18630 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Kees Cook <keescook@chromium.org>
CC: Miguel Ojeda <ojeda@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 34e047aa16c0123bbae8e2f6df33e5ecc1f56601
commit: c80d92fbb67b2c80b8eeb8759ee79d676eb33520 compiler_types.h: Remove __compiletime_object_size()
date: 6 months ago
:::::: branch date: 29 hours ago
:::::: commit date: 6 months ago
config: riscv-randconfig-c006-20220316 (https://download.01.org/0day-ci/archive/20220320/202203200817.Ju87mbQ5-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project a6ec1e3d798f8eab43fb3a91028c6ab04e115fcb)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c80d92fbb67b2c80b8eeb8759ee79d676eb33520
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout c80d92fbb67b2c80b8eeb8759ee79d676eb33520
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
^
include/linux/dev_printk.h:218:2: note: expanded from macro 'dev_err_ratelimited'
dev_level_ratelimited(dev_err, dev, fmt, ##__VA_ARGS__)
^
include/linux/dev_printk.h:207:2: note: expanded from macro 'dev_level_ratelimited'
if (__ratelimit(&_rs)) \
^
drivers/spmi/spmi-pmic-arb.c:481:3: note: Loop condition is false. Exiting loop
dev_err_ratelimited(&pmic_arb->spmic->dev, "failed irqchip transaction on %x\n",
^
include/linux/dev_printk.h:218:2: note: expanded from macro 'dev_err_ratelimited'
dev_level_ratelimited(dev_err, dev, fmt, ##__VA_ARGS__)
^
include/linux/dev_printk.h:202:59: note: expanded from macro 'dev_level_ratelimited'
#define dev_level_ratelimited(dev_level, dev, fmt, ...) \
^
drivers/spmi/spmi-pmic-arb.c:483:1: note: Returning without writing to 'buf->type'
}
^
drivers/spmi/spmi-pmic-arb.c:607:2: note: Returning from 'qpnpint_spmi_read'
qpnpint_spmi_read(d, QPNPINT_REG_SET_TYPE, &type, sizeof(type));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/spmi/spmi-pmic-arb.c:609:6: note: Assuming the condition is false
if (flow_type & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/spmi/spmi-pmic-arb.c:609:2: note: Taking false branch
if (flow_type & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING)) {
^
drivers/spmi/spmi-pmic-arb.c:618:8: note: Assuming the condition is false
if ((flow_type & (IRQF_TRIGGER_HIGH)) &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/spmi/spmi-pmic-arb.c:618:41: note: Left side of '&&' is false
if ((flow_type & (IRQF_TRIGGER_HIGH)) &&
^
drivers/spmi/spmi-pmic-arb.c:622:13: note: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage
type.type &= ~BIT(irq); /* level trig */
~~~~~~~~~ ^
Suppressed 14 warnings (7 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
Suppressed 16 warnings (9 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (7 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
13 warnings generated.
Suppressed 13 warnings (6 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
17 warnings generated.
drivers/input/keyboard/lm8323.c:333:3: warning: Value stored to 'active' is never read [clang-analyzer-deadcode.DeadStores]
active = debounce + 3;
^ ~~~~~~~~~~~~
drivers/input/keyboard/lm8323.c:333:3: note: Value stored to 'active' is never read
active = debounce + 3;
^ ~~~~~~~~~~~~
Suppressed 16 warnings (9 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
Suppressed 16 warnings (9 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
Suppressed 16 warnings (9 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (7 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (7 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (7 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (7 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
Suppressed 16 warnings (9 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
Suppressed 16 warnings (9 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
18 warnings generated.
Suppressed 18 warnings (11 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
17 warnings generated.
Suppressed 17 warnings (10 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
17 warnings generated.
Suppressed 17 warnings (10 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (7 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:129:7: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
if (!elements[i].data && elements[i].size != 0)
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:601:18: note: Assuming 'vchiq_arm_log_level' is < 7
vchiq_log_trace(vchiq_arm_log_level,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h:60:11: note: expanded from macro 'vchiq_log_trace'
do { if (cat >= VCHIQ_LOG_TRACE) \
^~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:601:2: note: Taking false branch
vchiq_log_trace(vchiq_arm_log_level,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h:60:7: note: expanded from macro 'vchiq_log_trace'
do { if (cat >= VCHIQ_LOG_TRACE) \
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:601:2: note: Loop condition is false. Exiting loop
vchiq_log_trace(vchiq_arm_log_level,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h:60:2: note: expanded from macro 'vchiq_log_trace'
do { if (cat >= VCHIQ_LOG_TRACE) \
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:608:2: note: Control jumps to 'case 1074840580:' at line 738
switch (cmd) {
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:741:3: note: Taking false branch
if (copy_from_user(&args, (const void __user *)arg,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:7: note: Assuming 'service' is non-null
if (service && (args.count <= MAX_ELEMENTS)) {
^~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:7: note: Left side of '&&' is true
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:19: note: Assuming field 'count' is <= MAX_ELEMENTS
if (service && (args.count <= MAX_ELEMENTS)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:3: note: Taking true branch
if (service && (args.count <= MAX_ELEMENTS)) {
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:8: note: Calling 'copy_from_user'
if (copy_from_user(elements, args.elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/uaccess.h:191:2: note: Taking false branch
if (likely(check_copy_size(to, n, false)))
^
include/linux/uaccess.h:193:2: note: Returning without writing to 'to->data', which participates in a condition later
return n;
^
include/linux/uaccess.h:193:2: note: Returning without writing to 'to->data'
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:8: note: Returning from 'copy_from_user'
if (copy_from_user(elements, args.elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:8: note: Assuming the condition is true
if (copy_from_user(elements, args.elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:4: note: Taking true branch
if (copy_from_user(elements, args.elements,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:755:11: note: Calling 'vchiq_ioc_queue_message'
ret = vchiq_ioc_queue_message(args.handle, elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:128:14: note: Assuming 'i' is < 'count'
for (i = 0; i < count; i++) {
^~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:128:2: note: Loop condition is true. Entering loop body
for (i = 0; i < count; i++) {
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:129:7: note: Branch condition evaluates to a garbage value
if (!elements[i].data && elements[i].size != 0)
^~~~~~~~~~~~~~~~~
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
Suppressed 16 warnings (9 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
Suppressed 16 warnings (9 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
13 warnings generated.
Suppressed 13 warnings (6 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
Suppressed 16 warnings (9 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
Suppressed 16 warnings (9 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
Suppressed 12 warnings (5 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
18 warnings generated.
drivers/mmc/core/mmc_test.c:323:16: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
__free_pages(mem->arr[mem->cnt].page,
^
drivers/mmc/core/mmc_test.c:1644:9: note: Calling 'mmc_test_area_init'
return mmc_test_area_init(test, 1, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +129 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c
f05916281fd75d Ojaswin Mujoo 2021-07-21 114
f05916281fd75d Ojaswin Mujoo 2021-07-21 115 static int
f05916281fd75d Ojaswin Mujoo 2021-07-21 116 vchiq_ioc_queue_message(unsigned int handle, struct vchiq_element *elements,
f05916281fd75d Ojaswin Mujoo 2021-07-21 117 unsigned long count)
f05916281fd75d Ojaswin Mujoo 2021-07-21 118 {
f05916281fd75d Ojaswin Mujoo 2021-07-21 119 struct vchiq_io_copy_callback_context context;
f05916281fd75d Ojaswin Mujoo 2021-07-21 120 enum vchiq_status status = VCHIQ_SUCCESS;
f05916281fd75d Ojaswin Mujoo 2021-07-21 121 unsigned long i;
f05916281fd75d Ojaswin Mujoo 2021-07-21 122 size_t total_size = 0;
f05916281fd75d Ojaswin Mujoo 2021-07-21 123
f05916281fd75d Ojaswin Mujoo 2021-07-21 124 context.element = elements;
f05916281fd75d Ojaswin Mujoo 2021-07-21 125 context.element_offset = 0;
f05916281fd75d Ojaswin Mujoo 2021-07-21 126 context.elements_to_go = count;
f05916281fd75d Ojaswin Mujoo 2021-07-21 127
f05916281fd75d Ojaswin Mujoo 2021-07-21 128 for (i = 0; i < count; i++) {
f05916281fd75d Ojaswin Mujoo 2021-07-21 @129 if (!elements[i].data && elements[i].size != 0)
f05916281fd75d Ojaswin Mujoo 2021-07-21 130 return -EFAULT;
f05916281fd75d Ojaswin Mujoo 2021-07-21 131
f05916281fd75d Ojaswin Mujoo 2021-07-21 132 total_size += elements[i].size;
f05916281fd75d Ojaswin Mujoo 2021-07-21 133 }
f05916281fd75d Ojaswin Mujoo 2021-07-21 134
f05916281fd75d Ojaswin Mujoo 2021-07-21 135 status = vchiq_queue_message(handle, vchiq_ioc_copy_element_data,
f05916281fd75d Ojaswin Mujoo 2021-07-21 136 &context, total_size);
f05916281fd75d Ojaswin Mujoo 2021-07-21 137
f05916281fd75d Ojaswin Mujoo 2021-07-21 138 if (status == VCHIQ_ERROR)
f05916281fd75d Ojaswin Mujoo 2021-07-21 139 return -EIO;
f05916281fd75d Ojaswin Mujoo 2021-07-21 140 else if (status == VCHIQ_RETRY)
f05916281fd75d Ojaswin Mujoo 2021-07-21 141 return -EINTR;
f05916281fd75d Ojaswin Mujoo 2021-07-21 142 return 0;
f05916281fd75d Ojaswin Mujoo 2021-07-21 143 }
f05916281fd75d Ojaswin Mujoo 2021-07-21 144
:::::: The code@line 129 was first introduced by commit
:::::: f05916281fd75db2fe32294e26c04d666c762370 staging: vchiq: Move vchiq char driver to its own file
:::::: TO: Ojaswin Mujoo <ojaswin98@gmail.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] 4+ messages in thread
* drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:129:7: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
@ 2022-03-18 20:28 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2022-03-18 20:28 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 17804 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Kees Cook <keescook@chromium.org>
CC: Miguel Ojeda <ojeda@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 551acdc3c3d2b6bc97f11e31dcf960bc36343bfc
commit: c80d92fbb67b2c80b8eeb8759ee79d676eb33520 compiler_types.h: Remove __compiletime_object_size()
date: 6 months ago
:::::: branch date: 25 hours ago
:::::: commit date: 6 months ago
config: riscv-randconfig-c006-20220316 (https://download.01.org/0day-ci/archive/20220319/202203190429.HnwsQlRe-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project a6ec1e3d798f8eab43fb3a91028c6ab04e115fcb)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c80d92fbb67b2c80b8eeb8759ee79d676eb33520
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout c80d92fbb67b2c80b8eeb8759ee79d676eb33520
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
^
include/linux/printk.h:370:7: note: expanded from macro '__printk_index_emit'
if (__builtin_constant_p(_fmt) && __builtin_constant_p(_level)) { \
^
include/linux/hid.h:1006:3: note: Taking true branch
pr_warn_ratelimited("%s: Invalid code %d type %d\n",
^
include/linux/printk.h:656:2: note: expanded from macro 'pr_warn_ratelimited'
printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
^
include/linux/printk.h:640:3: note: expanded from macro 'printk_ratelimited'
printk(fmt, ##__VA_ARGS__); \
^
include/linux/printk.h:446:26: note: expanded from macro 'printk'
#define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
^
include/linux/printk.h:417:3: note: expanded from macro 'printk_index_wrap'
__printk_index_emit(_fmt, NULL, NULL); \
^
include/linux/printk.h:370:3: note: expanded from macro '__printk_index_emit'
if (__builtin_constant_p(_fmt) && __builtin_constant_p(_level)) { \
^
include/linux/hid.h:1006:3: note: '?' condition is true
pr_warn_ratelimited("%s: Invalid code %d type %d\n",
^
include/linux/printk.h:656:2: note: expanded from macro 'pr_warn_ratelimited'
printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
^
include/linux/printk.h:640:3: note: expanded from macro 'printk_ratelimited'
printk(fmt, ##__VA_ARGS__); \
^
include/linux/printk.h:446:26: note: expanded from macro 'printk'
#define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
^
include/linux/printk.h:417:3: note: expanded from macro 'printk_index_wrap'
__printk_index_emit(_fmt, NULL, NULL); \
^
include/linux/printk.h:379:12: note: expanded from macro '__printk_index_emit'
.fmt = __builtin_constant_p(_fmt) ? (_fmt) : NULL, \
^
include/linux/hid.h:1006:3: note: '?' condition is true
pr_warn_ratelimited("%s: Invalid code %d type %d\n",
^
include/linux/printk.h:656:2: note: expanded from macro 'pr_warn_ratelimited'
printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
^
include/linux/printk.h:640:3: note: expanded from macro 'printk_ratelimited'
printk(fmt, ##__VA_ARGS__); \
^
include/linux/printk.h:446:26: note: expanded from macro 'printk'
#define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
^
include/linux/printk.h:417:3: note: expanded from macro 'printk_index_wrap'
__printk_index_emit(_fmt, NULL, NULL); \
^
include/linux/printk.h:383:14: note: expanded from macro '__printk_index_emit'
.level = __builtin_constant_p(_level) ? (_level) : NULL, \
^
include/linux/hid.h:1006:3: note: Loop condition is false. Exiting loop
pr_warn_ratelimited("%s: Invalid code %d type %d\n",
^
include/linux/printk.h:656:2: note: expanded from macro 'pr_warn_ratelimited'
printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
^
include/linux/printk.h:640:3: note: expanded from macro 'printk_ratelimited'
printk(fmt, ##__VA_ARGS__); \
^
include/linux/printk.h:446:26: note: expanded from macro 'printk'
#define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
^
include/linux/printk.h:417:3: note: expanded from macro 'printk_index_wrap'
__printk_index_emit(_fmt, NULL, NULL); \
^
include/linux/printk.h:369:2: note: expanded from macro '__printk_index_emit'
do { \
^
include/linux/hid.h:1007:9: note: Access to field 'name' results in a dereference of a null pointer (loaded from variable 'input')
input->name, c, type);
^
include/linux/printk.h:656:49: note: expanded from macro 'pr_warn_ratelimited'
printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:640:17: note: expanded from macro 'printk_ratelimited'
printk(fmt, ##__VA_ARGS__); \
^~~~~~~~~~~
include/linux/printk.h:446:60: note: expanded from macro 'printk'
#define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:418:19: note: expanded from macro 'printk_index_wrap'
_p_func(_fmt, ##__VA_ARGS__); \
^~~~~~~~~~~
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:129:7: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
if (!elements[i].data && elements[i].size != 0)
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:601:18: note: Assuming 'vchiq_arm_log_level' is < 7
vchiq_log_trace(vchiq_arm_log_level,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h:60:11: note: expanded from macro 'vchiq_log_trace'
do { if (cat >= VCHIQ_LOG_TRACE) \
^~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:601:2: note: Taking false branch
vchiq_log_trace(vchiq_arm_log_level,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h:60:7: note: expanded from macro 'vchiq_log_trace'
do { if (cat >= VCHIQ_LOG_TRACE) \
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:601:2: note: Loop condition is false. Exiting loop
vchiq_log_trace(vchiq_arm_log_level,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h:60:2: note: expanded from macro 'vchiq_log_trace'
do { if (cat >= VCHIQ_LOG_TRACE) \
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:608:2: note: Control jumps to 'case 1074840580:' at line 738
switch (cmd) {
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:741:3: note: Taking false branch
if (copy_from_user(&args, (const void __user *)arg,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:7: note: Assuming 'service' is non-null
if (service && (args.count <= MAX_ELEMENTS)) {
^~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:7: note: Left side of '&&' is true
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:19: note: Assuming field 'count' is <= MAX_ELEMENTS
if (service && (args.count <= MAX_ELEMENTS)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:3: note: Taking true branch
if (service && (args.count <= MAX_ELEMENTS)) {
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:8: note: Calling 'copy_from_user'
if (copy_from_user(elements, args.elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/uaccess.h:191:2: note: Taking false branch
if (likely(check_copy_size(to, n, false)))
^
include/linux/uaccess.h:193:2: note: Returning without writing to 'to->data', which participates in a condition later
return n;
^
include/linux/uaccess.h:193:2: note: Returning without writing to 'to->data'
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:8: note: Returning from 'copy_from_user'
if (copy_from_user(elements, args.elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:8: note: Assuming the condition is true
if (copy_from_user(elements, args.elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:4: note: Taking true branch
if (copy_from_user(elements, args.elements,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:755:11: note: Calling 'vchiq_ioc_queue_message'
ret = vchiq_ioc_queue_message(args.handle, elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:128:14: note: Assuming 'i' is < 'count'
for (i = 0; i < count; i++) {
^~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:128:2: note: Loop condition is true. Entering loop body
for (i = 0; i < count; i++) {
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:129:7: note: Branch condition evaluates to a garbage value
if (!elements[i].data && elements[i].size != 0)
^~~~~~~~~~~~~~~~~
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
17 warnings generated.
Suppressed 17 warnings (10 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (7 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
17 warnings generated.
Suppressed 17 warnings (10 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
15 warnings generated.
Suppressed 15 warnings (8 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
Suppressed 16 warnings (9 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
Suppressed 16 warnings (9 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
15 warnings generated.
Suppressed 15 warnings (8 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (7 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
15 warnings generated.
Suppressed 15 warnings (8 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
vim +129 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c
f05916281fd75d Ojaswin Mujoo 2021-07-21 114
f05916281fd75d Ojaswin Mujoo 2021-07-21 115 static int
f05916281fd75d Ojaswin Mujoo 2021-07-21 116 vchiq_ioc_queue_message(unsigned int handle, struct vchiq_element *elements,
f05916281fd75d Ojaswin Mujoo 2021-07-21 117 unsigned long count)
f05916281fd75d Ojaswin Mujoo 2021-07-21 118 {
f05916281fd75d Ojaswin Mujoo 2021-07-21 119 struct vchiq_io_copy_callback_context context;
f05916281fd75d Ojaswin Mujoo 2021-07-21 120 enum vchiq_status status = VCHIQ_SUCCESS;
f05916281fd75d Ojaswin Mujoo 2021-07-21 121 unsigned long i;
f05916281fd75d Ojaswin Mujoo 2021-07-21 122 size_t total_size = 0;
f05916281fd75d Ojaswin Mujoo 2021-07-21 123
f05916281fd75d Ojaswin Mujoo 2021-07-21 124 context.element = elements;
f05916281fd75d Ojaswin Mujoo 2021-07-21 125 context.element_offset = 0;
f05916281fd75d Ojaswin Mujoo 2021-07-21 126 context.elements_to_go = count;
f05916281fd75d Ojaswin Mujoo 2021-07-21 127
f05916281fd75d Ojaswin Mujoo 2021-07-21 128 for (i = 0; i < count; i++) {
f05916281fd75d Ojaswin Mujoo 2021-07-21 @129 if (!elements[i].data && elements[i].size != 0)
f05916281fd75d Ojaswin Mujoo 2021-07-21 130 return -EFAULT;
f05916281fd75d Ojaswin Mujoo 2021-07-21 131
f05916281fd75d Ojaswin Mujoo 2021-07-21 132 total_size += elements[i].size;
f05916281fd75d Ojaswin Mujoo 2021-07-21 133 }
f05916281fd75d Ojaswin Mujoo 2021-07-21 134
f05916281fd75d Ojaswin Mujoo 2021-07-21 135 status = vchiq_queue_message(handle, vchiq_ioc_copy_element_data,
f05916281fd75d Ojaswin Mujoo 2021-07-21 136 &context, total_size);
f05916281fd75d Ojaswin Mujoo 2021-07-21 137
f05916281fd75d Ojaswin Mujoo 2021-07-21 138 if (status == VCHIQ_ERROR)
f05916281fd75d Ojaswin Mujoo 2021-07-21 139 return -EIO;
f05916281fd75d Ojaswin Mujoo 2021-07-21 140 else if (status == VCHIQ_RETRY)
f05916281fd75d Ojaswin Mujoo 2021-07-21 141 return -EINTR;
f05916281fd75d Ojaswin Mujoo 2021-07-21 142 return 0;
f05916281fd75d Ojaswin Mujoo 2021-07-21 143 }
f05916281fd75d Ojaswin Mujoo 2021-07-21 144
:::::: The code@line 129 was first introduced by commit
:::::: f05916281fd75db2fe32294e26c04d666c762370 staging: vchiq: Move vchiq char driver to its own file
:::::: TO: Ojaswin Mujoo <ojaswin98@gmail.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 4+ messages in thread
* drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:129:7: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
@ 2022-01-26 18:21 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2022-01-26 18:21 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 18085 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Kees Cook <keescook@chromium.org>
CC: Miguel Ojeda <ojeda@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0280e3c58f92b2fe0e8fbbdf8d386449168de4a8
commit: c80d92fbb67b2c80b8eeb8759ee79d676eb33520 compiler_types.h: Remove __compiletime_object_size()
date: 4 months ago
:::::: branch date: 24 hours ago
:::::: commit date: 4 months ago
config: riscv-randconfig-c006-20220125 (https://download.01.org/0day-ci/archive/20220127/202201270239.Y4uWKZBp-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 997e128e2a78f5a5434fc75997441ae1ee76f8a4)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c80d92fbb67b2c80b8eeb8759ee79d676eb33520
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout c80d92fbb67b2c80b8eeb8759ee79d676eb33520
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
5 warnings generated.
drivers/iio/dac/ad5755.c:88:8: warning: Excessive padding in 'struct ad5755_state' (100 padding bytes, where 36 is optimal).
Optimal fields order:
data,
spi,
chip_info,
pwr_down,
ctrl,
lock,
channels,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct ad5755_state {
~~~~~~~^~~~~~~~~~~~~~
drivers/iio/dac/ad5755.c:88:8: note: Excessive padding in 'struct ad5755_state' (100 padding bytes, where 36 is optimal). Optimal fields order: data, spi, chip_info, pwr_down, ctrl, lock, channels, consider reordering the fields or adding explicit padding members
struct ad5755_state {
~~~~~~~^~~~~~~~~~~~~~
drivers/iio/dac/ad5755.c:729:37: warning: Value stored to 'pdata' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
const struct ad5755_platform_data *pdata = dev_get_platdata(&spi->dev);
^~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/dac/ad5755.c:729:37: note: Value stored to 'pdata' during its initialization is never read
const struct ad5755_platform_data *pdata = dev_get_platdata(&spi->dev);
^~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 3 warnings (2 in non-user code, 1 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
drivers/iio/dac/ad5761.c:63:8: warning: Excessive padding in 'struct ad5761_state' (75 padding bytes, where 11 is optimal).
Optimal fields order:
data,
spi,
vref_reg,
vref,
range,
lock,
use_intref,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct ad5761_state {
~~~~~~~^~~~~~~~~~~~~~
drivers/iio/dac/ad5761.c:63:8: note: Excessive padding in 'struct ad5761_state' (75 padding bytes, where 11 is optimal). Optimal fields order: data, spi, vref_reg, vref, range, lock, use_intref, consider reordering the fields or adding explicit padding members
struct ad5761_state {
~~~~~~~^~~~~~~~~~~~~~
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
drivers/input/keyboard/lm8323.c:333:3: warning: Value stored to 'active' is never read [clang-analyzer-deadcode.DeadStores]
active = debounce + 3;
^ ~~~~~~~~~~~~
drivers/input/keyboard/lm8323.c:333:3: note: Value stored to 'active' is never read
active = debounce + 3;
^ ~~~~~~~~~~~~
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:129:7: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
if (!elements[i].data && elements[i].size != 0)
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:601:18: note: Assuming 'vchiq_arm_log_level' is < 7
vchiq_log_trace(vchiq_arm_log_level,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h:60:11: note: expanded from macro 'vchiq_log_trace'
do { if (cat >= VCHIQ_LOG_TRACE) \
^~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:601:2: note: Taking false branch
vchiq_log_trace(vchiq_arm_log_level,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h:60:7: note: expanded from macro 'vchiq_log_trace'
do { if (cat >= VCHIQ_LOG_TRACE) \
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:601:2: note: Loop condition is false. Exiting loop
vchiq_log_trace(vchiq_arm_log_level,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h:60:2: note: expanded from macro 'vchiq_log_trace'
do { if (cat >= VCHIQ_LOG_TRACE) \
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:608:2: note: Control jumps to 'case 1074578436:' at line 738
switch (cmd) {
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:741:7: note: Assuming the condition is false
if (copy_from_user(&args, (const void __user *)arg,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:741:3: note: Taking false branch
if (copy_from_user(&args, (const void __user *)arg,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:7: note: Assuming 'service' is non-null
if (service && (args.count <= MAX_ELEMENTS)) {
^~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:7: note: Left side of '&&' is true
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:19: note: Assuming field 'count' is <= MAX_ELEMENTS
if (service && (args.count <= MAX_ELEMENTS)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:3: note: Taking true branch
if (service && (args.count <= MAX_ELEMENTS)) {
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:8: note: Calling 'copy_from_user'
if (copy_from_user(elements, args.elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/uaccess.h:191:2: note: Taking false branch
if (likely(check_copy_size(to, n, false)))
^
include/linux/uaccess.h:193:2: note: Returning without writing to 'to->data', which participates in a condition later
return n;
^
include/linux/uaccess.h:193:2: note: Returning without writing to 'to->data'
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:8: note: Returning from 'copy_from_user'
if (copy_from_user(elements, args.elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:8: note: Assuming the condition is true
if (copy_from_user(elements, args.elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:4: note: Taking true branch
if (copy_from_user(elements, args.elements,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:755:11: note: Calling 'vchiq_ioc_queue_message'
ret = vchiq_ioc_queue_message(args.handle, elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:128:14: note: Assuming 'i' is < 'count'
for (i = 0; i < count; i++) {
^~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:128:2: note: Loop condition is true. Entering loop body
for (i = 0; i < count; i++) {
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:129:7: note: Branch condition evaluates to a garbage value
if (!elements[i].data && elements[i].size != 0)
^~~~~~~~~~~~~~~~~
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
drivers/spi/spi-tegra20-slink.c:952:3: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
err = tegra_slink_start_dma_based_transfer(tspi, t);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/spi/spi-tegra20-slink.c:952:3: note: Value stored to 'err' is never read
err = tegra_slink_start_dma_based_transfer(tspi, t);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/spi/spi-tegra20-slink.c:954:3: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
err = tegra_slink_start_cpu_based_transfer(tspi, t);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/spi/spi-tegra20-slink.c:954:3: note: Value stored to 'err' is never read
err = tegra_slink_start_cpu_based_transfer(tspi, t);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
vim +129 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c
f05916281fd75d Ojaswin Mujoo 2021-07-21 114
f05916281fd75d Ojaswin Mujoo 2021-07-21 115 static int
f05916281fd75d Ojaswin Mujoo 2021-07-21 116 vchiq_ioc_queue_message(unsigned int handle, struct vchiq_element *elements,
f05916281fd75d Ojaswin Mujoo 2021-07-21 117 unsigned long count)
f05916281fd75d Ojaswin Mujoo 2021-07-21 118 {
f05916281fd75d Ojaswin Mujoo 2021-07-21 119 struct vchiq_io_copy_callback_context context;
f05916281fd75d Ojaswin Mujoo 2021-07-21 120 enum vchiq_status status = VCHIQ_SUCCESS;
f05916281fd75d Ojaswin Mujoo 2021-07-21 121 unsigned long i;
f05916281fd75d Ojaswin Mujoo 2021-07-21 122 size_t total_size = 0;
f05916281fd75d Ojaswin Mujoo 2021-07-21 123
f05916281fd75d Ojaswin Mujoo 2021-07-21 124 context.element = elements;
f05916281fd75d Ojaswin Mujoo 2021-07-21 125 context.element_offset = 0;
f05916281fd75d Ojaswin Mujoo 2021-07-21 126 context.elements_to_go = count;
f05916281fd75d Ojaswin Mujoo 2021-07-21 127
f05916281fd75d Ojaswin Mujoo 2021-07-21 128 for (i = 0; i < count; i++) {
f05916281fd75d Ojaswin Mujoo 2021-07-21 @129 if (!elements[i].data && elements[i].size != 0)
f05916281fd75d Ojaswin Mujoo 2021-07-21 130 return -EFAULT;
f05916281fd75d Ojaswin Mujoo 2021-07-21 131
f05916281fd75d Ojaswin Mujoo 2021-07-21 132 total_size += elements[i].size;
f05916281fd75d Ojaswin Mujoo 2021-07-21 133 }
f05916281fd75d Ojaswin Mujoo 2021-07-21 134
f05916281fd75d Ojaswin Mujoo 2021-07-21 135 status = vchiq_queue_message(handle, vchiq_ioc_copy_element_data,
f05916281fd75d Ojaswin Mujoo 2021-07-21 136 &context, total_size);
f05916281fd75d Ojaswin Mujoo 2021-07-21 137
f05916281fd75d Ojaswin Mujoo 2021-07-21 138 if (status == VCHIQ_ERROR)
f05916281fd75d Ojaswin Mujoo 2021-07-21 139 return -EIO;
f05916281fd75d Ojaswin Mujoo 2021-07-21 140 else if (status == VCHIQ_RETRY)
f05916281fd75d Ojaswin Mujoo 2021-07-21 141 return -EINTR;
f05916281fd75d Ojaswin Mujoo 2021-07-21 142 return 0;
f05916281fd75d Ojaswin Mujoo 2021-07-21 143 }
f05916281fd75d Ojaswin Mujoo 2021-07-21 144
:::::: The code@line 129 was first introduced by commit
:::::: f05916281fd75db2fe32294e26c04d666c762370 staging: vchiq: Move vchiq char driver to its own file
:::::: TO: Ojaswin Mujoo <ojaswin98@gmail.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 4+ messages in thread
* drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:129:7: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
@ 2021-12-05 15:46 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2021-12-05 15:46 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 16937 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Kees Cook <keescook@chromium.org>
CC: Miguel Ojeda <ojeda@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 79a72162048e42a677bc7336a9f5d86fc3ff9558
commit: c80d92fbb67b2c80b8eeb8759ee79d676eb33520 compiler_types.h: Remove __compiletime_object_size()
date: 2 months ago
:::::: branch date: 14 hours ago
:::::: commit date: 2 months ago
config: riscv-randconfig-c006-20211202 (https://download.01.org/0day-ci/archive/20211205/202112052344.ekxjMEt6-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 4b553297ef3ee4dc2119d5429adf3072e90fac38)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c80d92fbb67b2c80b8eeb8759ee79d676eb33520
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout c80d92fbb67b2c80b8eeb8759ee79d676eb33520
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
drivers/iio/adc/vf610_adc.c:868:2: note: Taking false branch
if (ret) {
^
drivers/iio/adc/vf610_adc.c:874:2: note: Calling 'vf610_adc_cfg_init'
vf610_adc_cfg_init(info);
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/adc/vf610_adc.c:246:2: note: Calling 'vf610_adc_calculate_rates'
vf610_adc_calculate_rates(info);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/adc/vf610_adc.c:189:6: note: Assuming 'adck_rate' is not equal to 0
if (adck_rate) {
^~~~~~~~~
drivers/iio/adc/vf610_adc.c:189:2: note: Taking true branch
if (adck_rate) {
^
drivers/iio/adc/vf610_adc.c:192:31: note: Calling 'fls'
adc_feature->clk_div = 1 << fls(divisor + 1);
^~~~~~~~~~~~~~~~
include/asm-generic/bitops/fls.h:15:2: note: 'r' initialized to 32
int r = 32;
^~~~~
include/asm-generic/bitops/fls.h:17:6: note: Assuming 'x' is not equal to 0, which participates in a condition later
if (!x)
^~
include/asm-generic/bitops/fls.h:17:2: note: Taking false branch
if (!x)
^
include/asm-generic/bitops/fls.h:19:6: note: Assuming the condition is false
if (!(x & 0xffff0000u)) {
^~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/fls.h:19:2: note: Taking false branch
if (!(x & 0xffff0000u)) {
^
include/asm-generic/bitops/fls.h:23:6: note: Assuming the condition is false
if (!(x & 0xff000000u)) {
^~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/fls.h:23:2: note: Taking false branch
if (!(x & 0xff000000u)) {
^
include/asm-generic/bitops/fls.h:27:6: note: Assuming the condition is false
if (!(x & 0xf0000000u)) {
^~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/fls.h:27:2: note: Taking false branch
if (!(x & 0xf0000000u)) {
^
include/asm-generic/bitops/fls.h:31:6: note: Assuming the condition is false
if (!(x & 0xc0000000u)) {
^~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/fls.h:31:2: note: Taking false branch
if (!(x & 0xc0000000u)) {
^
include/asm-generic/bitops/fls.h:35:6: note: Assuming the condition is false
if (!(x & 0x80000000u)) {
^~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/fls.h:35:2: note: Taking false branch
if (!(x & 0x80000000u)) {
^
include/asm-generic/bitops/fls.h:39:2: note: Returning the value 32 (loaded from 'r')
return r;
^~~~~~~~
drivers/iio/adc/vf610_adc.c:192:31: note: Returning from 'fls'
adc_feature->clk_div = 1 << fls(divisor + 1);
^~~~~~~~~~~~~~~~
drivers/iio/adc/vf610_adc.c:192:28: note: The result of the left shift is undefined due to shifting by '32', which is greater or equal to the width of type 'int'
adc_feature->clk_div = 1 << fls(divisor + 1);
^ ~~~~~~~~~~~~~~~~
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
drivers/staging/greybus/uart.c:273:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = kfifo_out(&gb_tty->write_fifo, &request->data[0],
^
drivers/staging/greybus/uart.c:273:3: note: Value stored to 'ret' is never read
drivers/staging/greybus/uart.c:571:3: warning: Value stored to 'retval' is never read [clang-analyzer-deadcode.DeadStores]
retval = send_control(gb_tty, gb_tty->ctrlout);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/greybus/uart.c:571:3: note: Value stored to 'retval' is never read
retval = send_control(gb_tty, gb_tty->ctrlout);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/greybus/uart.c:590:3: warning: Value stored to 'retval' is never read [clang-analyzer-deadcode.DeadStores]
retval = send_control(gb_tty, gb_tty->ctrlout);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/greybus/uart.c:590:3: note: Value stored to 'retval' is never read
retval = send_control(gb_tty, gb_tty->ctrlout);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:129:7: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
if (!elements[i].data && elements[i].size != 0)
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:601:18: note: Assuming 'vchiq_arm_log_level' is < 7
vchiq_log_trace(vchiq_arm_log_level,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h:60:11: note: expanded from macro 'vchiq_log_trace'
do { if (cat >= VCHIQ_LOG_TRACE) \
^~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:601:2: note: Taking false branch
vchiq_log_trace(vchiq_arm_log_level,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h:60:7: note: expanded from macro 'vchiq_log_trace'
do { if (cat >= VCHIQ_LOG_TRACE) \
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:601:2: note: Loop condition is false. Exiting loop
vchiq_log_trace(vchiq_arm_log_level,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h:60:2: note: expanded from macro 'vchiq_log_trace'
do { if (cat >= VCHIQ_LOG_TRACE) \
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:608:2: note: Control jumps to 'case 1074578436:' at line 738
switch (cmd) {
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:741:7: note: Assuming the condition is false
if (copy_from_user(&args, (const void __user *)arg,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:741:3: note: Taking false branch
if (copy_from_user(&args, (const void __user *)arg,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:7: note: Assuming 'service' is non-null
if (service && (args.count <= MAX_ELEMENTS)) {
^~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:7: note: Left side of '&&' is true
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:19: note: Assuming field 'count' is <= MAX_ELEMENTS
if (service && (args.count <= MAX_ELEMENTS)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:749:3: note: Taking true branch
if (service && (args.count <= MAX_ELEMENTS)) {
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:8: note: Calling 'copy_from_user'
if (copy_from_user(elements, args.elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/uaccess.h:191:2: note: Taking false branch
if (likely(check_copy_size(to, n, false)))
^
include/linux/uaccess.h:193:2: note: Returning without writing to 'to->data', which participates in a condition later
return n;
^
include/linux/uaccess.h:193:2: note: Returning without writing to 'to->data'
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:8: note: Returning from 'copy_from_user'
if (copy_from_user(elements, args.elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:8: note: Assuming the condition is true
if (copy_from_user(elements, args.elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:753:4: note: Taking true branch
if (copy_from_user(elements, args.elements,
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:755:11: note: Calling 'vchiq_ioc_queue_message'
ret = vchiq_ioc_queue_message(args.handle, elements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:128:14: note: Assuming 'i' is < 'count'
for (i = 0; i < count; i++) {
^~~~~~~~~
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:128:2: note: Loop condition is true. Entering loop body
for (i = 0; i < count; i++) {
^
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:129:7: note: Branch condition evaluates to a garbage value
if (!elements[i].data && elements[i].size != 0)
^~~~~~~~~~~~~~~~~
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
drivers/mmc/host/sdhci.c:896:26: warning: Access to field 'data' results in a dereference of a null pointer (loaded from variable 'cmd') [clang-analyzer-core.NullDereference]
struct mmc_data *data = cmd->data;
^
drivers/mmc/host/sdhci.c:3804:2: note: Loop condition is false. Exiting loop
spin_lock_irqsave(&host->lock, flags);
^
include/linux/spinlock.h:393:2: note: expanded from macro 'spin_lock_irqsave'
raw_spin_lock_irqsave(spinlock_check(lock), flags); \
^
include/linux/spinlock.h:254:2: note: expanded from macro 'raw_spin_lock_irqsave'
do { \
^
drivers/mmc/host/sdhci.c:3804:2: note: Loop condition is false. Exiting loop
spin_lock_irqsave(&host->lock, flags);
^
include/linux/spinlock.h:391:43: note: expanded from macro 'spin_lock_irqsave'
#define spin_lock_irqsave(lock, flags) \
^
drivers/mmc/host/sdhci.c:3813:6: note: Assuming field 'v4_mode' is false
if (host->v4_mode && (host->caps1 & SDHCI_CAN_DO_ADMA3))
^~~~~~~~~~~~~
drivers/mmc/host/sdhci.c:3813:20: note: Left side of '&&' is false
if (host->v4_mode && (host->caps1 & SDHCI_CAN_DO_ADMA3))
^
vim +129 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c
f05916281fd75d Ojaswin Mujoo 2021-07-21 114
f05916281fd75d Ojaswin Mujoo 2021-07-21 115 static int
f05916281fd75d Ojaswin Mujoo 2021-07-21 116 vchiq_ioc_queue_message(unsigned int handle, struct vchiq_element *elements,
f05916281fd75d Ojaswin Mujoo 2021-07-21 117 unsigned long count)
f05916281fd75d Ojaswin Mujoo 2021-07-21 118 {
f05916281fd75d Ojaswin Mujoo 2021-07-21 119 struct vchiq_io_copy_callback_context context;
f05916281fd75d Ojaswin Mujoo 2021-07-21 120 enum vchiq_status status = VCHIQ_SUCCESS;
f05916281fd75d Ojaswin Mujoo 2021-07-21 121 unsigned long i;
f05916281fd75d Ojaswin Mujoo 2021-07-21 122 size_t total_size = 0;
f05916281fd75d Ojaswin Mujoo 2021-07-21 123
f05916281fd75d Ojaswin Mujoo 2021-07-21 124 context.element = elements;
f05916281fd75d Ojaswin Mujoo 2021-07-21 125 context.element_offset = 0;
f05916281fd75d Ojaswin Mujoo 2021-07-21 126 context.elements_to_go = count;
f05916281fd75d Ojaswin Mujoo 2021-07-21 127
f05916281fd75d Ojaswin Mujoo 2021-07-21 128 for (i = 0; i < count; i++) {
f05916281fd75d Ojaswin Mujoo 2021-07-21 @129 if (!elements[i].data && elements[i].size != 0)
f05916281fd75d Ojaswin Mujoo 2021-07-21 130 return -EFAULT;
f05916281fd75d Ojaswin Mujoo 2021-07-21 131
f05916281fd75d Ojaswin Mujoo 2021-07-21 132 total_size += elements[i].size;
f05916281fd75d Ojaswin Mujoo 2021-07-21 133 }
f05916281fd75d Ojaswin Mujoo 2021-07-21 134
f05916281fd75d Ojaswin Mujoo 2021-07-21 135 status = vchiq_queue_message(handle, vchiq_ioc_copy_element_data,
f05916281fd75d Ojaswin Mujoo 2021-07-21 136 &context, total_size);
f05916281fd75d Ojaswin Mujoo 2021-07-21 137
f05916281fd75d Ojaswin Mujoo 2021-07-21 138 if (status == VCHIQ_ERROR)
f05916281fd75d Ojaswin Mujoo 2021-07-21 139 return -EIO;
f05916281fd75d Ojaswin Mujoo 2021-07-21 140 else if (status == VCHIQ_RETRY)
f05916281fd75d Ojaswin Mujoo 2021-07-21 141 return -EINTR;
f05916281fd75d Ojaswin Mujoo 2021-07-21 142 return 0;
f05916281fd75d Ojaswin Mujoo 2021-07-21 143 }
f05916281fd75d Ojaswin Mujoo 2021-07-21 144
:::::: The code@line 129 was first introduced by commit
:::::: f05916281fd75db2fe32294e26c04d666c762370 staging: vchiq: Move vchiq char driver to its own file
:::::: TO: Ojaswin Mujoo <ojaswin98@gmail.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-03-20 1:09 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-20 1:09 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c:129:7: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch] kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2022-03-18 20:28 kernel test robot
2022-01-26 18:21 kernel test robot
2021-12-05 15:46 kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.