* arch/arm/mach-omap2/id.c:158:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
@ 2022-01-04 2:46 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2022-01-04 2:46 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 525753 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Randy Dunlap <rdunlap@infradead.org>
CC: Russell King <rmk+kernel@armlinux.org.uk>
Hi Randy,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c9e6606c7fe92b50a02ce51dda82586ebdf99b48
commit: fd749fe4bcb00ad80d9eece709f804bb4ac6bf1e ARM: 9065/1: OABI compat: fix build when EPOLL is not enabled
date: 11 months ago
:::::: branch date: 28 hours ago
:::::: commit date: 11 months ago
config: arm-randconfig-c002-20220103 (https://download.01.org/0day-ci/archive/20220104/202201041044.vbmB2v4W-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b50fea47b6c454581fce89af359f3afe5154986c)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fd749fe4bcb00ad80d9eece709f804bb4ac6bf1e
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout fd749fe4bcb00ad80d9eece709f804bb4ac6bf1e
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm 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 >>)
^
fs/jfs/jfs_dmap.c:4008:4: note: Execution continues on line 4011
break;
^
fs/jfs/jfs_dmap.c:4012:6: note: 'sz' is < 'nblocks'
if (sz < nblocks)
^~
fs/jfs/jfs_dmap.c:4012:2: note: Taking true branch
if (sz < nblocks)
^
fs/jfs/jfs_dmap.c:4016:2: note: Returning the value 57
return (l2sz - L2MAXAG);
^~~~~~~~~~~~~~~~~~~~~~~
fs/jfs/jfs_dmap.c:3407:13: note: Returning from 'dbGetL2AGSize'
l2agsize = dbGetL2AGSize(newsize);
^~~~~~~~~~~~~~~~~~~~~~
fs/jfs/jfs_dmap.c:3407:2: note: The value 57 is assigned to 'l2agsize'
l2agsize = dbGetL2AGSize(newsize);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/jfs/jfs_dmap.c:3411:21: note: The result of the left shift is undefined due to shifting by '57', which is greater or equal to the width of type 'int'
bmp->db_agsize = 1 << l2agsize;
^ ~~~~~~~~
fs/jfs/jfs_dmap.c:4011:15: warning: The result of the left shift is undefined due to shifting by '64', which is greater or equal to the width of type 's64' [clang-analyzer-core.UndefinedBinaryOperatorResult]
sz = (s64) 1 << l2sz;
^
fs/jfs/jfs_dmap.c:3392:2: note: Assuming 'jfsloglevel' is < 4
jfs_info("dbExtendFS: blkno:%Ld nblocks:%Ld newsize:%Ld",
^
fs/jfs/jfs_debug.h:56:6: note: expanded from macro 'jfs_info'
if (jfsloglevel >= JFS_LOGLEVEL_INFO) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/jfs/jfs_dmap.c:3392:2: note: Taking false branch
jfs_info("dbExtendFS: blkno:%Ld nblocks:%Ld newsize:%Ld",
^
fs/jfs/jfs_debug.h:56:2: note: expanded from macro 'jfs_info'
if (jfsloglevel >= JFS_LOGLEVEL_INFO) \
^
fs/jfs/jfs_dmap.c:3392:2: note: Loop condition is false. Exiting loop
jfs_info("dbExtendFS: blkno:%Ld nblocks:%Ld newsize:%Ld",
^
fs/jfs/jfs_debug.h:55:31: note: expanded from macro 'jfs_info'
#define jfs_info(fmt, arg...) do { \
^
fs/jfs/jfs_dmap.c:3404:21: note: Assuming the condition is true
bmp->db_maxlevel = BMAPSZTOLEV(bmp->db_mapsize);
^
fs/jfs/jfs_dmap.h:117:4: note: expanded from macro 'BMAPSZTOLEV'
(((size) <= MAXL0SIZE) ? 0 : ((size) <= MAXL1SIZE) ? 1 : 2)
^~~~~~~~~~~~~~~~~~~
fs/jfs/jfs_dmap.c:3404:21: note: '?' condition is true
bmp->db_maxlevel = BMAPSZTOLEV(bmp->db_mapsize);
^
fs/jfs/jfs_dmap.h:117:3: note: expanded from macro 'BMAPSZTOLEV'
(((size) <= MAXL0SIZE) ? 0 : ((size) <= MAXL1SIZE) ? 1 : 2)
^
fs/jfs/jfs_dmap.c:3407:13: note: Calling 'dbGetL2AGSize'
l2agsize = dbGetL2AGSize(newsize);
^~~~~~~~~~~~~~~~~~~~~~
fs/jfs/jfs_dmap.c:4001:6: note: Assuming the condition is false
if (nblocks < BPERDMAP * MAXAG)
^~~~~~~~~~~~~~~~~~~~~~~~~~
fs/jfs/jfs_dmap.c:4001:2: note: Taking false branch
if (nblocks < BPERDMAP * MAXAG)
^
fs/jfs/jfs_dmap.c:4006:7: note: The value 64 is assigned to 'l2sz'
for (l2sz = 64; l2sz >= 0; l2sz--, m >>= 1) {
^~~~~~~~~
fs/jfs/jfs_dmap.c:4006:2: note: Loop condition is true. Entering loop body
for (l2sz = 64; l2sz >= 0; l2sz--, m >>= 1) {
^
fs/jfs/jfs_dmap.c:4007:7: note: Assuming the condition is true
if (m & nblocks)
^~~~~~~~~~~
fs/jfs/jfs_dmap.c:4007:3: note: Taking true branch
if (m & nblocks)
^
fs/jfs/jfs_dmap.c:4008:4: note: Execution continues on line 4011
break;
^
fs/jfs/jfs_dmap.c:4011:15: note: The result of the left shift is undefined due to shifting by '64', which is greater or equal to the width of type 's64'
sz = (s64) 1 << l2sz;
^ ~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
>> arch/arm/mach-omap2/id.c:158:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
rev = (idcode >> 28) & 0x0f;
^ ~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:158:2: note: Value stored to 'rev' is never read
rev = (idcode >> 28) & 0x0f;
^ ~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:191:3: warning: Value stored to 'j' is never read [clang-analyzer-deadcode.DeadStores]
j = i;
^ ~
arch/arm/mach-omap2/id.c:191:3: note: Value stored to 'j' is never read
j = i;
^ ~
arch/arm/mach-omap2/id.c:266:2: warning: Value stored to 'n' is never read [clang-analyzer-deadcode.DeadStores]
n += scnprintf(buf + n, sizeof(buf) - n, ")\n");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:266:2: note: Value stored to 'n' is never read
n += scnprintf(buf + n, sizeof(buf) - n, ")\n");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:363:3: warning: Value stored to 'cpu_rev' is never read [clang-analyzer-deadcode.DeadStores]
cpu_rev = "1.0";
^ ~~~~~
arch/arm/mach-omap2/id.c:363:3: note: Value stored to 'cpu_rev' is never read
cpu_rev = "1.0";
^ ~~~~~
arch/arm/mach-omap2/id.c:773:9: warning: 3rd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^ ~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:773:41: note: Calling 'omap_type'
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^~~~~~~~~~~
arch/arm/mach-omap2/id.c:52:2: note: 'val' initialized to 1792
static u32 val = OMAP2_DEVICETYPE_MASK;
^~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:54:2: note: Taking false branch
if (val < OMAP2_DEVICETYPE_MASK)
^
arch/arm/mach-omap2/id.c:57:2: note: Taking false branch
if (soc_is_omap24xx()) {
^
arch/arm/mach-omap2/id.c:59:9: note: Taking false branch
} else if (soc_is_ti81xx()) {
^
arch/arm/mach-omap2/id.c:61:13: note: Left side of '||' is false
} else if (soc_is_am33xx() || soc_is_am43xx()) {
^
arch/arm/mach-omap2/soc.h:174:27: note: expanded from macro 'soc_is_am33xx'
#define soc_is_am33xx() 0
^
arch/arm/mach-omap2/id.c:61:9: note: Taking false branch
} else if (soc_is_am33xx() || soc_is_am43xx()) {
^
arch/arm/mach-omap2/id.c:63:9: note: Taking false branch
} else if (soc_is_omap34xx()) {
^
arch/arm/mach-omap2/id.c:65:9: note: Taking false branch
} else if (soc_is_omap44xx()) {
^
arch/arm/mach-omap2/id.c:67:13: note: Left side of '||' is false
} else if (soc_is_omap54xx() || soc_is_dra7xx()) {
^
arch/arm/mach-omap2/soc.h:309:29: note: expanded from macro 'soc_is_omap54xx'
# define soc_is_omap54xx() is_omap54xx()
^
arch/arm/mach-omap2/id.c:67:9: note: Taking false branch
} else if (soc_is_omap54xx() || soc_is_dra7xx()) {
^
arch/arm/mach-omap2/id.c:74:3: note: Control jumps to line 81
goto out;
^
arch/arm/mach-omap2/id.c:81:2: note: Returning the value 1792 (loaded from 'val')
return val;
^~~~~~~~~~
arch/arm/mach-omap2/id.c:773:41: note: Returning from 'omap_type'
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^~~~~~~~~~~
arch/arm/mach-omap2/id.c:773:9: note: 3rd function call argument is an uninitialized value
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^ ~~~~~~~~~~~~~~~~~~~~~~~
14 warnings generated.
mm/oom_kill.c:257:17: warning: Value stored to 'highest_zoneidx' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
enum zone_type highest_zoneidx = gfp_zone(oc->gfp_mask);
^~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
mm/oom_kill.c:257:17: note: Value stored to 'highest_zoneidx' during its initialization is never read
enum zone_type highest_zoneidx = gfp_zone(oc->gfp_mask);
^~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
mm/page-writeback.c:1408:14: warning: The result of the left shift is undefined because the right operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
return 1UL << (ilog2(thresh - dirty) >> 1);
^
mm/page-writeback.c:1885:6: note: Assuming the condition is false
if (!(bdi->capabilities & BDI_CAP_WRITEBACK))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/page-writeback.c:1885:2: note: Taking false branch
--
drivers/pinctrl/samsung/pinctrl-samsung.c:997:6: note: Assuming 'id' is < field 'num_ctrl'
if (id >= of_data->num_ctrl) {
^~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:997:2: note: Taking false branch
if (id >= of_data->num_ctrl) {
^
drivers/pinctrl/samsung/pinctrl-samsung.c:1002:2: note: Returning pointer, which participates in a condition later
return &(of_data->ctrl[id]);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1019:9: note: Returning from 'samsung_pinctrl_get_soc_data_for_of_alias'
ctrl = samsung_pinctrl_get_soc_data_for_of_alias(pdev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1020:6: note: Assuming 'ctrl' is non-null
if (!ctrl)
^~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1020:2: note: Taking false branch
if (!ctrl)
^
drivers/pinctrl/samsung/pinctrl-samsung.c:1026:17: note: Calling 'devm_kcalloc'
d->pin_banks = devm_kcalloc(&pdev->dev, d->nr_banks,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/device.h:232:9: note: Calling 'devm_kmalloc_array'
return devm_kmalloc_array(dev, n, size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/device.h:224:2: note: Taking false branch
if (unlikely(check_mul_overflow(n, size, &bytes)))
^
include/linux/device.h:227:2: note: Returning pointer, which participates in a condition later
return devm_kmalloc(dev, bytes, flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/device.h:232:9: note: Returning from 'devm_kmalloc_array'
return devm_kmalloc_array(dev, n, size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/device.h:232:2: note: Returning pointer, which participates in a condition later
return devm_kmalloc_array(dev, n, size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1026:17: note: Returning from 'devm_kcalloc'
d->pin_banks = devm_kcalloc(&pdev->dev, d->nr_banks,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1028:6: note: Assuming field 'pin_banks' is non-null
if (!d->pin_banks)
^~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1028:2: note: Taking false branch
if (!d->pin_banks)
^
drivers/pinctrl/samsung/pinctrl-samsung.c:1031:6: note: Assuming the condition is false
if (ctrl->nr_ext_resources + 1 > SAMSUNG_PINCTRL_NUM_RESOURCES)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1031:2: note: Taking false branch
if (ctrl->nr_ext_resources + 1 > SAMSUNG_PINCTRL_NUM_RESOURCES)
^
drivers/pinctrl/samsung/pinctrl-samsung.c:1034:14: note: Assuming the condition is false
for (i = 0; i < ctrl->nr_ext_resources + 1; i++) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1034:2: note: Loop condition is false. Execution continues on line 1048
for (i = 0; i < ctrl->nr_ext_resources + 1; i++) {
^
drivers/pinctrl/samsung/pinctrl-samsung.c:1050:14: note: Assuming 'i' is >= field 'nr_banks'
for (i = 0; i < ctrl->nr_banks; ++i, ++bdata, ++bank) {
^~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1050:2: note: Loop condition is false. Execution continues on line 1073
for (i = 0; i < ctrl->nr_banks; ++i, ++bdata, ++bank) {
^
drivers/pinctrl/samsung/pinctrl-samsung.c:1073:15: note: Assigned value is garbage or undefined
d->virt_base = virt_base[0];
^ ~~~~~~~~~~~~
1 warning generated.
arch/arm/mach-omap2/omap-wakeupgen.c:99:14: warning: Although the value stored to 'irq' is used in the enclosing expression, the value is never actually read from 'irq' [clang-analyzer-deadcode.DeadStores]
*bit_posn = irq %= 32;
^ ~~
arch/arm/mach-omap2/omap-wakeupgen.c:99:14: note: Although the value stored to 'irq' is used in the enclosing expression, the value is never actually read from 'irq'
*bit_posn = irq %= 32;
^ ~~
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (12 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 with check filters).
4 warnings generated.
>> drivers/bus/omap_l3_noc.c:96:3: warning: Value stored to 'err_description' is never read [clang-analyzer-deadcode.DeadStores]
err_description = "Standard";
^ ~~~~~~~~~~
drivers/bus/omap_l3_noc.c:96:3: note: Value stored to 'err_description' is never read
err_description = "Standard";
^ ~~~~~~~~~~
drivers/bus/omap_l3_noc.c:107:3: warning: Value stored to 'err_description' is never read [clang-analyzer-deadcode.DeadStores]
err_description = "Custom";
^ ~~~~~~~~
drivers/bus/omap_l3_noc.c:107:3: note: Value stored to 'err_description' is never read
err_description = "Custom";
^ ~~~~~~~~
>> drivers/bus/omap_l3_noc.c:127:4: warning: Value stored to 'master_name' is never read [clang-analyzer-deadcode.DeadStores]
master_name = master->name;
^ ~~~~~~~~~~~~
drivers/bus/omap_l3_noc.c:127:4: note: Value stored to 'master_name' is never read
master_name = master->name;
^ ~~~~~~~~~~~~
>> drivers/bus/omap_l3_noc.c:132:2: warning: Value stored to 'op_code' is never read [clang-analyzer-deadcode.DeadStores]
op_code = readl_relaxed(l3_targ_hdr) & 0x7;
^
drivers/bus/omap_l3_noc.c:132:2: note: Value stored to 'op_code' is never read
1 warning generated.
Suppressed 1 warnings (1 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.
25 warnings generated.
crypto/sm3_generic.c:121:2: warning: Value stored to 'a' is never read [clang-analyzer-deadcode.DeadStores]
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:2: note: Value stored to 'a' is never read
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:6: warning: Although the value stored to 'b' is used in the enclosing expression, the value is never actually read from 'b' [clang-analyzer-deadcode.DeadStores]
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:6: note: Although the value stored to 'b' is used in the enclosing expression, the value is never actually read from 'b'
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:10: warning: Although the value stored to 'c' is used in the enclosing expression, the value is never actually read from 'c' [clang-analyzer-deadcode.DeadStores]
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:10: note: Although the value stored to 'c' is used in the enclosing expression, the value is never actually read from 'c'
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:14: warning: Although the value stored to 'd' is used in the enclosing expression, the value is never actually read from 'd' [clang-analyzer-deadcode.DeadStores]
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:14: note: Although the value stored to 'd' is used in the enclosing expression, the value is never actually read from 'd'
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:18: warning: Although the value stored to 'e' is used in the enclosing expression, the value is never actually read from 'e' [clang-analyzer-deadcode.DeadStores]
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:18: note: Although the value stored to 'e' is used in the enclosing expression, the value is never actually read from 'e'
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:22: warning: Although the value stored to 'f' is used in the enclosing expression, the value is never actually read from 'f' [clang-analyzer-deadcode.DeadStores]
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:22: note: Although the value stored to 'f' is used in the enclosing expression, the value is never actually read from 'f'
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:26: warning: Although the value stored to 'g' is used in the enclosing expression, the value is never actually read from 'g' [clang-analyzer-deadcode.DeadStores]
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:26: note: Although the value stored to 'g' is used in the enclosing expression, the value is never actually read from 'g'
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:30: warning: Although the value stored to 'h' is used in the enclosing expression, the value is never actually read from 'h' [clang-analyzer-deadcode.DeadStores]
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:30: note: Although the value stored to 'h' is used in the enclosing expression, the value is never actually read from 'h'
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:34: warning: Although the value stored to 'ss1' is used in the enclosing expression, the value is never actually read from 'ss1' [clang-analyzer-deadcode.DeadStores]
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:34: note: Although the value stored to 'ss1' is used in the enclosing expression, the value is never actually read from 'ss1'
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~~~~~~~
crypto/sm3_generic.c:121:40: warning: Although the value stored to 'ss2' is used in the enclosing expression, the value is never actually read from 'ss2' [clang-analyzer-deadcode.DeadStores]
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~
crypto/sm3_generic.c:121:40: note: Although the value stored to 'ss2' is used in the enclosing expression, the value is never actually read from 'ss2'
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~~~~~~~
crypto/sm3_generic.c:121:46: warning: Although the value stored to 'tt1' is used in the enclosing expression, the value is never actually read from 'tt1' [clang-analyzer-deadcode.DeadStores]
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~
crypto/sm3_generic.c:121:46: note: Although the value stored to 'tt1' is used in the enclosing expression, the value is never actually read from 'tt1'
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~~~~~~~
crypto/sm3_generic.c:121:52: warning: Although the value stored to 'tt2' is used in the enclosing expression, the value is never actually read from 'tt2' [clang-analyzer-deadcode.DeadStores]
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~
crypto/sm3_generic.c:121:52: note: Although the value stored to 'tt2' is used in the enclosing expression, the value is never actually read from 'tt2'
a = b = c = d = e = f = g = h = ss1 = ss2 = tt1 = tt2 = 0;
^ ~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
>> drivers/pinctrl/pinctrl-st.c:582:4: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
ST_PINCONF_PACK_OE(*config);
^
drivers/pinctrl/pinctrl-st.c:138:34: note: expanded from macro 'ST_PINCONF_PACK_OE'
#define ST_PINCONF_PACK_OE(conf) ST_PINCONF_PACK(conf, 1, OE)
^
drivers/pinctrl/pinctrl-st.c:129:49: note: expanded from macro 'ST_PINCONF_PACK'
#define ST_PINCONF_PACK(conf, val, param) (conf |=\
^
drivers/pinctrl/pinctrl-st.c:1013:6: note: 'function' is 0
if (function)
^~~~~~~~
drivers/pinctrl/pinctrl-st.c:1013:2: note: Taking false branch
if (function)
^
drivers/pinctrl/pinctrl-st.c:1018:30: note: Left side of '&&' is false
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^
drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
container_of(pc, struct st_gpio_bank, pc)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/pinctrl/pinctrl-st.c:1018:30: note: Taking false branch
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^
drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
container_of(pc, struct st_gpio_bank, pc)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/pinctrl/pinctrl-st.c:1018:30: note: Loop condition is false. Exiting loop
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^
drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
container_of(pc, struct st_gpio_bank, pc)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/pinctrl/pinctrl-st.c:1018:7: note: Calling 'st_gpio_get_direction'
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:739:2: note: 'config' declared without an initial value
unsigned long config;
^~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:746:13: note: Calling 'st_pctl_get_pin_function'
function = st_pctl_get_pin_function(&pc, offset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:440:6: note: Assuming 'alt' is non-null
if (!alt)
^~~~
drivers/pinctrl/pinctrl-st.c:440:2: note: Taking false branch
if (!alt)
^
drivers/pinctrl/pinctrl-st.c:445:2: note: Returning without writing to 'pc->oe', which participates in a condition later
return (val >> offset) & 0xf;
^
drivers/pinctrl/pinctrl-st.c:746:13: note: Returning from 'st_pctl_get_pin_function'
function = st_pctl_get_pin_function(&pc, offset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:747:6: note: Assuming 'function' is not equal to 0
if (function) {
^~~~~~~~
drivers/pinctrl/pinctrl-st.c:747:2: note: Taking true branch
if (function) {
^
drivers/pinctrl/pinctrl-st.c:748:3: note: Calling 'st_pinconf_get_direction'
st_pinconf_get_direction(&pc, offset, &config);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:579:6: note: Assuming field 'oe' is non-null
if (pc->oe) {
^~~~~~
drivers/pinctrl/pinctrl-st.c:579:2: note: Taking true branch
if (pc->oe) {
--
^
include/linux/minmax.h:51:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
mm/page_alloc.c:8285:6: note: Assuming 'numentries' is >= 'low_limit'
if (numentries < low_limit)
^~~~~~~~~~~~~~~~~~~~~~
mm/page_alloc.c:8285:2: note: Taking false branch
if (numentries < low_limit)
^
mm/page_alloc.c:8287:6: note: Assuming 'numentries' is <= 'max'
if (numentries > max)
^~~~~~~~~~~~~~~~
mm/page_alloc.c:8287:2: note: Taking false branch
if (numentries > max)
^
mm/page_alloc.c:8290:12: note: '?' condition is false
log2qty = ilog2(numentries);
^
include/linux/log2.h:158:2: note: expanded from macro 'ilog2'
__builtin_constant_p(n) ? \
^
mm/page_alloc.c:8290:12: note: '?' condition is true
log2qty = ilog2(numentries);
^
include/linux/log2.h:161:2: note: expanded from macro 'ilog2'
(sizeof(n) <= 4) ? \
^
mm/page_alloc.c:8290:12: note: Calling '__ilog2_u32'
log2qty = ilog2(numentries);
^
include/linux/log2.h:162:2: note: expanded from macro 'ilog2'
__ilog2_u32(n) : \
^~~~~~~~~~~~~~
include/linux/log2.h:24:2: note: Returning the value -1
return fls(n) - 1;
^~~~~~~~~~~~~~~~~
mm/page_alloc.c:8290:12: note: Returning from '__ilog2_u32'
log2qty = ilog2(numentries);
^
include/linux/log2.h:162:2: note: expanded from macro 'ilog2'
__ilog2_u32(n) : \
^~~~~~~~~~~~~~
mm/page_alloc.c:8290:2: note: The value 4294967295 is assigned to 'log2qty'
log2qty = ilog2(numentries);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/page_alloc.c:8292:15: note: Assuming the condition is false
gfp_flags = (flags & HASH_ZERO) ? GFP_ATOMIC | __GFP_ZERO : GFP_ATOMIC;
^~~~~~~~~~~~~~~~~
mm/page_alloc.c:8292:14: note: '?' condition is false
gfp_flags = (flags & HASH_ZERO) ? GFP_ATOMIC | __GFP_ZERO : GFP_ATOMIC;
^
mm/page_alloc.c:8296:7: note: Assuming the condition is true
if (flags & HASH_EARLY) {
^~~~~~~~~~~~~~~~~~
mm/page_alloc.c:8296:3: note: Taking true branch
if (flags & HASH_EARLY) {
^
mm/page_alloc.c:8297:4: note: Taking false branch
if (flags & HASH_ZERO)
^
mm/page_alloc.c:8314:11: note: Assuming 'table' is non-null
} while (!table && size > PAGE_SIZE && --log2qty);
^~~~~~
mm/page_alloc.c:8314:18: note: Left side of '&&' is false
} while (!table && size > PAGE_SIZE && --log2qty);
^
mm/page_alloc.c:8293:2: note: Loop condition is false. Exiting loop
do {
^
mm/page_alloc.c:8316:7: note: 'table' is non-null
if (!table)
^~~~~
mm/page_alloc.c:8316:2: note: Taking false branch
if (!table)
^
mm/page_alloc.c:8320:18: note: The result of the left shift is undefined due to shifting by '4294967295', which is greater or equal to the width of type 'unsigned long'
tablename, 1UL << log2qty, ilog2(size) - PAGE_SHIFT, size,
^
include/linux/printk.h:373:34: note: expanded from macro 'pr_info'
printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~
Suppressed 16 warnings (14 in non-user code, 2 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 (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
>> arch/arm/mach-imx/tzic.c:160:2: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores]
i = imx_readl(tzic_base + TZIC_INTCNTL);
^
arch/arm/mach-imx/tzic.c:160:2: note: Value stored to 'i' is never read
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
12 warnings generated.
Suppressed 12 warnings (12 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 with check filters).
1 warning generated.
lib/glob.c:48:32: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
char const *back_pat = NULL, *back_str = back_str;
^ ~~~~~~~~
lib/glob.c:48:32: note: Assigned value is garbage or undefined
char const *back_pat = NULL, *back_str = back_str;
^ ~~~~~~~~
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
include/linux/math64.h:91:15: warning: Division by zero [clang-analyzer-core.DivideZero]
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:240:25: note: expanded from macro 'do_div'
__rem = (uint32_t)(n) % __base; \
^
drivers/clk/analogbits/wrpll-cln28hpc.c:230:6: note: Assuming field 'flags' is not equal to 0
if (c->flags == 0) {
^~~~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:230:2: note: Taking false branch
if (c->flags == 0) {
^
drivers/clk/analogbits/wrpll-cln28hpc.c:236:6: note: Assuming 'parent_rate' is equal to field 'parent_rate'
if (parent_rate != c->parent_rate) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:236:2: note: Taking false branch
if (parent_rate != c->parent_rate) {
^
drivers/clk/analogbits/wrpll-cln28hpc.c:247:6: note: Assuming 'target_rate' is not equal to 'parent_rate'
if (target_rate == parent_rate) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:247:2: note: Taking false branch
if (target_rate == parent_rate) {
^
drivers/clk/analogbits/wrpll-cln28hpc.c:255:9: note: Calling '__wrpll_calc_divq'
divq = __wrpll_calc_divq(target_rate, &target_vco_rate);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:149:7: note: 'vco_rate' is non-null
if (!vco_rate) {
^~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:149:2: note: Taking false branch
if (!vco_rate) {
^
drivers/clk/analogbits/wrpll-cln28hpc.c:155:6: note: Assuming 's' is <= 1
if (s <= 1) {
^~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:155:2: note: Taking true branch
if (s <= 1) {
^
drivers/clk/analogbits/wrpll-cln28hpc.c:167:2: note: Returning the value 1 (loaded from 'divq'), which participates in a condition later
return divq;
^~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:255:9: note: Returning from '__wrpll_calc_divq'
divq = __wrpll_calc_divq(target_rate, &target_vco_rate);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:256:7: note: 'divq' is 1
if (!divq)
^~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:256:2: note: Taking false branch
--
^
mm/memblock.c:1176:8: note: Assuming 'm_end' is <= 'r_start'
if (m_end > r_start) {
^~~~~~~~~~~~~~~
mm/memblock.c:1176:4: note: Taking false branch
if (m_end > r_start) {
^
mm/memblock.c:1159:10: note: Assuming 'idx_b' is >= 0
for (; idx_b >= 0; idx_b--) {
^~~~~~~~~~
mm/memblock.c:1159:3: note: Loop condition is true. Entering loop body
for (; idx_b >= 0; idx_b--) {
^
mm/memblock.c:1165:14: note: Assuming 'idx_b' is 0
r_start = idx_b ? r[-1].base + r[-1].size : 0;
^~~~~
mm/memblock.c:1165:14: note: '?' condition is false
mm/memblock.c:1166:12: note: Assuming 'idx_b' is >= field 'cnt'
r_end = idx_b < type_b->cnt ?
^~~~~~~~~~~~~~~~~~~
mm/memblock.c:1166:12: note: '?' condition is false
mm/memblock.c:1173:8: note: 'r_end' is > 'm_start'
if (r_end <= m_start)
^~~~~
mm/memblock.c:1173:4: note: Taking false branch
if (r_end <= m_start)
^
mm/memblock.c:1176:8: note: Assuming 'm_end' is > 'r_start'
if (m_end > r_start) {
^~~~~~~~~~~~~~~
mm/memblock.c:1176:4: note: Taking true branch
if (m_end > r_start) {
^
mm/memblock.c:1177:9: note: Assuming 'out_start' is null
if (out_start)
^~~~~~~~~
mm/memblock.c:1177:5: note: Taking false branch
if (out_start)
^
mm/memblock.c:1179:9: note: Assuming 'out_end' is null
if (out_end)
^~~~~~~
mm/memblock.c:1179:5: note: Taking false branch
if (out_end)
^
mm/memblock.c:1181:9: note: Assuming 'out_nid' is null
if (out_nid)
^~~~~~~
mm/memblock.c:1181:5: note: Taking false branch
if (out_nid)
^
mm/memblock.c:1183:9: note: 'm_start' is >= 'r_start'
if (m_start >= r_start)
^~~~~~~
mm/memblock.c:1183:5: note: Taking true branch
if (m_start >= r_start)
^
mm/memblock.c:1187:36: note: The result of the '<<' expression is undefined
*idx = (u32)idx_a | (u64)idx_b << 32;
~~~~~~~~~~~^~~~~
Suppressed 12 warnings (12 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.
1 warning generated.
drivers/gpio/gpio-tegra186.c:602:5: warning: Value stored to 'value' is never read [clang-analyzer-deadcode.DeadStores]
value = readl(base + offset);
^
drivers/gpio/gpio-tegra186.c:602:5: note: Value stored to 'value' is never read
2 warnings generated.
drivers/clk/tegra/clk-tegra-super-gen4.c:141:3: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_divider(NULL, "hclk_div", "sclk", 0,
^
drivers/clk/tegra/clk-tegra-super-gen4.c:141:3: note: Value stored to 'clk' is never read
drivers/clk/tegra/clk-tegra-super-gen4.c:156:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_divider(NULL, "pclk_div", "hclk", 0,
^
drivers/clk/tegra/clk-tegra-super-gen4.c:156:2: note: Value stored to 'clk' is never read
4 warnings generated.
drivers/clk/tegra/clk-tegra114.c:910:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:910:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:934:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:934:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:943:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_factor(NULL, "pll_m_ud", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:943:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_factor(NULL, "pll_m_ud", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:1049:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_mux(NULL, "emc_mux", mux_pllmcp_clkm,
^
drivers/clk/tegra/clk-tegra114.c:1049:2: note: Value stored to 'clk' is never read
2 warnings generated.
>> drivers/clk/tegra/clk-tegra124.c:1098:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra124.c:1098:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra124.c:1132:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra124.c:1132:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
fs/configfs/symlink.c:72:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(s,"../");
^~~~~~
fs/configfs/symlink.c:72:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(s,"../");
^~~~~~
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
fs/reiserfs/bitmap.c:1198:14: warning: Value stored to 'start' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
b_blocknr_t start = hint->search_start;
^~~~~ ~~~~~~~~~~~~~~~~~~
fs/reiserfs/bitmap.c:1198:14: note: Value stored to 'start' during its initialization is never read
b_blocknr_t start = hint->search_start;
^~~~~ ~~~~~~~~~~~~~~~~~~
fs/reiserfs/bitmap.c:1199:14: warning: Value stored to 'finish' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
b_blocknr_t finish = SB_BLOCK_COUNT(s) - 1;
^~~~~~
fs/reiserfs/bitmap.c:1199:14: note: Value stored to 'finish' during its initialization is never read
b_blocknr_t finish = SB_BLOCK_COUNT(s) - 1;
^~~~~~
Suppressed 12 warnings (12 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.
14 warnings generated.
fs/reiserfs/do_balan.c:1162:2: warning: Value stored to 'leaf_mi' is never read [clang-analyzer-deadcode.DeadStores]
leaf_mi = leaf_move_items(LEAF_FROM_S_TO_SNEW, tb, tb->snum[i],
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/reiserfs/do_balan.c:1162:2: note: Value stored to 'leaf_mi' is never read
leaf_mi = leaf_move_items(LEAF_FROM_S_TO_SNEW, tb, tb->snum[i],
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (12 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.
15 warnings generated.
fs/reiserfs/namei.c:1445:8: warning: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval' [clang-analyzer-deadcode.DeadStores]
if ((retval =
^
fs/reiserfs/namei.c:1445:8: note: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval'
if ((retval =
^
fs/reiserfs/namei.c:1484:9: warning: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval' [clang-analyzer-deadcode.DeadStores]
if ((retval =
^
fs/reiserfs/namei.c:1484:9: note: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval'
if ((retval =
^
fs/reiserfs/reiserfs.h:1586:2: warning: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn]
return key->on_disk_key.k_offset;
^
fs/reiserfs/namei.c:1324:6: note: Assuming the condition is false
if (flags & ~RENAME_NOREPLACE)
^~~~~~~~~~~~~~~~~~~~~~~~~
fs/reiserfs/namei.c:1324:2: note: Taking false branch
if (flags & ~RENAME_NOREPLACE)
^
fs/reiserfs/namei.c:1342:6: note: 'retval' is 0
if (retval)
^~~~~~
fs/reiserfs/namei.c:1342:2: note: Taking false branch
if (retval)
^
fs/reiserfs/namei.c:1345:6: note: 'retval' is 0
if (retval)
^~~~~~
fs/reiserfs/namei.c:1345:2: note: Taking false branch
if (retval)
^
fs/reiserfs/namei.c:1362:2: note: Taking false branch
if (retval == IO_ERROR) {
^
fs/reiserfs/namei.c:1367:6: note: 'retval' is equal to NAME_FOUND
if (retval != NAME_FOUND || old_de.de_objectid != old_inode->i_ino) {
^~~~~~
fs/reiserfs/namei.c:1367:6: note: Left side of '||' is false
fs/reiserfs/namei.c:1367:30: note: Assuming field 'de_objectid' is equal to field 'i_ino'
if (retval != NAME_FOUND || old_de.de_objectid != old_inode->i_ino) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/reiserfs/namei.c:1367:2: note: Taking false branch
if (retval != NAME_FOUND || old_de.de_objectid != old_inode->i_ino) {
^
fs/reiserfs/namei.c:1373:6: note: Assuming the condition is false
if (S_ISDIR(old_inode_mode)) {
--
include/linux/math.h:14:46: note: expanded from macro '__round_mask'
#define __round_mask(x, y) ((__typeof__(x))((y)-1))
^
mm/shmem.c:1542:29: note: Taking true branch
hindex = round_down(index, HPAGE_PMD_NR);
^
include/linux/huge_mm.h:107:26: note: expanded from macro 'HPAGE_PMD_NR'
#define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER)
^
include/linux/huge_mm.h:106:26: note: expanded from macro 'HPAGE_PMD_ORDER'
#define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT)
^
include/linux/huge_mm.h:325:28: note: expanded from macro 'HPAGE_PMD_SHIFT'
#define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; })
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
mm/shmem.c:1542:29: note: Loop condition is false. Exiting loop
hindex = round_down(index, HPAGE_PMD_NR);
^
include/linux/huge_mm.h:107:26: note: expanded from macro 'HPAGE_PMD_NR'
#define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER)
^
include/linux/huge_mm.h:106:26: note: expanded from macro 'HPAGE_PMD_ORDER'
#define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT)
^
include/linux/huge_mm.h:325:28: note: expanded from macro 'HPAGE_PMD_SHIFT'
#define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; })
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
mm/shmem.c:1542:29: note: The result of the left shift is undefined because the right operand is negative
hindex = round_down(index, HPAGE_PMD_NR);
^
include/linux/huge_mm.h:107:24: note: expanded from macro 'HPAGE_PMD_NR'
#define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER)
^
include/linux/math.h:34:50: note: expanded from macro 'round_down'
#define round_down(x, y) ((x) & ~__round_mask(x, y))
~~~~~~~~~~~~~~~~^~
include/linux/math.h:14:46: note: expanded from macro '__round_mask'
#define __round_mask(x, y) ((__typeof__(x))((y)-1))
^
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
fs/sysv/dir.c:339:2: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
err = dir_commit_chunk(page, pos, SYSV_DIRSIZE);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/sysv/dir.c:339:2: note: Value stored to 'err' is never read
err = dir_commit_chunk(page, pos, SYSV_DIRSIZE);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
>> drivers/clk/imx/clk-imx6q.c:251:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = of_parse_phandle_with_args(node, "assigned-clock-parents",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/imx/clk-imx6q.c:251:2: note: Value stored to 'ret' is never read
ret = of_parse_phandle_with_args(node, "assigned-clock-parents",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
Suppressed 1 warnings (1 with check filters).
1 warning generated.
drivers/clk/ingenic/cgu.c:484:10: warning: Division by zero [clang-analyzer-core.DivideZero]
rate = DIV_ROUND_UP(parent_rate, div);
^
include/linux/math.h:36:22: note: expanded from macro 'DIV_ROUND_UP'
#define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP
^
include/uapi/linux/const.h:34:54: note: expanded from macro '__KERNEL_DIV_ROUND_UP'
#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
~~~~~~~~~~~~~~~~^~~~~
drivers/clk/ingenic/cgu.c:474:36: note: Left side of '&&' is false
struct ingenic_clk *ingenic_clk = to_ingenic_clk(hw);
^
drivers/clk/ingenic/cgu.h:206:29: note: expanded from macro 'to_ingenic_clk'
#define to_ingenic_clk(_hw) container_of(_hw, struct ingenic_clk, hw)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/clk/ingenic/cgu.c:474:36: note: Taking false branch
struct ingenic_clk *ingenic_clk = to_ingenic_clk(hw);
^
drivers/clk/ingenic/cgu.h:206:29: note: expanded from macro 'to_ingenic_clk'
#define to_ingenic_clk(_hw) container_of(_hw, struct ingenic_clk, hw)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/clk/ingenic/cgu.c:474:36: note: Loop condition is false. Exiting loop
struct ingenic_clk *ingenic_clk = to_ingenic_clk(hw);
^
drivers/clk/ingenic/cgu.h:206:29: note: expanded from macro 'to_ingenic_clk'
#define to_ingenic_clk(_hw) container_of(_hw, struct ingenic_clk, hw)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/clk/ingenic/cgu.c:482:6: note: Assuming the condition is true
if (clk_info->type & CGU_CLK_DIV) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ingenic/cgu.c:482:2: note: Taking true branch
if (clk_info->type & CGU_CLK_DIV) {
^
drivers/clk/ingenic/cgu.c:483:9: note: Calling 'ingenic_clk_calc_div'
div = ingenic_clk_calc_div(clk_info, parent_rate, req_rate);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ingenic/cgu.c:421:6: note: Assuming field 'div_table' is non-null
if (clk_info->div.div_table) {
^~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ingenic/cgu.c:421:2: note: Taking true branch
if (clk_info->div.div_table) {
^
drivers/clk/ingenic/cgu.c:422:12: note: Calling 'ingenic_clk_calc_hw_div'
hw_div = ingenic_clk_calc_hw_div(clk_info, div);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ingenic/cgu.c:395:18: note: 'best_i' initialized to 0
unsigned int i, best_i = 0, best = (unsigned int)-1;
^~~~~~
drivers/clk/ingenic/cgu.c:397:14: note: Assuming the condition is true
for (i = 0; i < (1 << clk_info->div.bits)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ingenic/cgu.c:397:14: note: Left side of '&&' is true
drivers/clk/ingenic/cgu.c:397:2: note: Loop condition is false. Execution continues on line 409
for (i = 0; i < (1 << clk_info->div.bits)
^
drivers/clk/ingenic/cgu.c:409:2: note: Returning zero (loaded from 'best_i')
return best_i;
^~~~~~~~~~~~~
drivers/clk/ingenic/cgu.c:422:12: note: Returning from 'ingenic_clk_calc_hw_div'
--
drivers/gpu/drm/ttm/ttm_bo_util.c:57:3: note: Returning zero, which participates in a condition later
return 0;
^~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:83:8: note: Returning from 'ttm_mem_io_reserve'
ret = ttm_mem_io_reserve(bdev, mem);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:84:6: note: 'ret' is 0
if (ret || !mem->bus.is_iomem)
^~~
drivers/gpu/drm/ttm/ttm_bo_util.c:84:6: note: Left side of '||' is false
drivers/gpu/drm/ttm/ttm_bo_util.c:84:23: note: Field 'is_iomem' is false
if (ret || !mem->bus.is_iomem)
^
drivers/gpu/drm/ttm/ttm_bo_util.c:84:2: note: Taking true branch
if (ret || !mem->bus.is_iomem)
^
drivers/gpu/drm/ttm/ttm_bo_util.c:85:3: note: Returning zero (loaded from 'ret'), which participates in a condition later
return ret;
^~~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:192:8: note: Returning from 'ttm_resource_ioremap'
ret = ttm_resource_ioremap(bdev, new_mem, &new_iomap);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:193:6: note: 'ret' is 0
if (ret)
^~~
drivers/gpu/drm/ttm/ttm_bo_util.c:193:2: note: Taking false branch
if (ret)
^
drivers/gpu/drm/ttm/ttm_bo_util.c:199:6: note: 'old_iomap' is not equal to NULL
if (old_iomap == NULL && new_iomap == NULL)
^~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:199:24: note: Left side of '&&' is false
if (old_iomap == NULL && new_iomap == NULL)
^
drivers/gpu/drm/ttm/ttm_bo_util.c:205:6: note: 'old_iomap' is not equal to NULL
if (old_iomap == NULL &&
^~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:205:24: note: Left side of '&&' is false
if (old_iomap == NULL &&
^
drivers/gpu/drm/ttm/ttm_bo_util.c:215:6: note: Assuming 'ttm' is null
if (ttm) {
^~~
drivers/gpu/drm/ttm/ttm_bo_util.c:215:2: note: Taking false branch
if (ttm) {
^
drivers/gpu/drm/ttm/ttm_bo_util.c:221:14: note: Assuming 'i' is < field 'num_pages'
for (i = 0; i < new_mem->num_pages; ++i) {
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:221:2: note: Loop condition is true. Entering loop body
for (i = 0; i < new_mem->num_pages; ++i) {
^
drivers/gpu/drm/ttm/ttm_bo_util.c:222:7: note: 'old_iomap' is not equal to NULL
if (old_iomap == NULL) {
^~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:222:3: note: Taking false branch
if (old_iomap == NULL) {
^
drivers/gpu/drm/ttm/ttm_bo_util.c:226:14: note: 'new_iomap' is equal to NULL
} else if (new_iomap == NULL) {
^~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:226:10: note: Taking true branch
} else if (new_iomap == NULL) {
^
drivers/gpu/drm/ttm/ttm_bo_util.c:228:31: note: Passing null pointer value via 1st parameter 'ttm'
ret = ttm_copy_io_ttm_page(ttm, old_iomap, i,
^~~
drivers/gpu/drm/ttm/ttm_bo_util.c:228:10: note: Calling 'ttm_copy_io_ttm_page'
ret = ttm_copy_io_ttm_page(ttm, old_iomap, i,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:131:19: note: Access to field 'pages' results in a dereference of a null pointer (loaded from variable 'ttm')
struct page *d = ttm->pages[page];
^~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/pci/controller/pci-v3-semi.c:604:6: warning: Value stored to 'pci_end' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u64 pci_end = cpu_end - entry->offset;
^~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pci-v3-semi.c:604:6: note: Value stored to 'pci_end' during its initialization is never read
u64 pci_end = cpu_end - entry->offset;
^~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/pci/controller/pci-versatile.c:37:10: warning: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval' [clang-analyzer-deadcode.DeadStores]
while ((retval = get_option(&str, &slot))) {
^ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pci-versatile.c:37:10: note: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval'
while ((retval = get_option(&str, &slot))) {
^ ~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
>> drivers/pci/controller/pcie-iproc.c:861:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
drivers/pci/controller/pcie-iproc.c:861:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
drivers/pci/controller/pcie-iproc.c:1065:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
drivers/pci/controller/pcie-iproc.c:1065:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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 (14 in non-user code, 2 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 (13 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
drivers/phy/cadence/phy-cadence-salvo.c:227:2: warning: Value stored to 'value' is never read [clang-analyzer-deadcode.DeadStores]
value |= RXDET_IN_P3_32KHZ;
^
drivers/phy/cadence/phy-cadence-salvo.c:227:2: note: Value stored to 'value' is never read
Suppressed 14 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
drivers/gpu/host1x/job.c:182:35: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
job->addr_phys[job->num_unpins] = phys_addr;
^
drivers/gpu/host1x/job.c:596:8: note: Calling 'pin_job'
err = pin_job(host, job);
^~~~~~~~~~~~~~~~~~
drivers/gpu/host1x/job.c:116:14: note: Assuming 'i' is < field 'num_relocs'
for (i = 0; i < job->num_relocs; i++) {
^~~~~~~~~~~~~~~~~~~
drivers/gpu/host1x/job.c:116:2: note: Loop condition is true. Entering loop body
for (i = 0; i < job->num_relocs; i++) {
^
drivers/gpu/host1x/job.c:118:14: note: 'phys_addr' declared without an initial value
dma_addr_t phys_addr, *phys;
^~~~~~~~~
drivers/gpu/host1x/job.c:122:7: note: Assuming field 'bo' is non-null
if (!reloc->target.bo) {
^~~~~~~~~~~~~~~~~
drivers/gpu/host1x/job.c:122:3: note: Taking false branch
if (!reloc->target.bo) {
^
drivers/gpu/host1x/job.c:139:7: note: Assuming 'domain' is non-null
if (!domain || client->group)
^~~~~~~
drivers/gpu/host1x/job.c:139:7: note: Left side of '||' is false
drivers/gpu/host1x/job.c:139:18: note: Assuming field 'group' is null
if (!domain || client->group)
^~~~~~~~~~~~~
--
if (subcap_id == TPM_CAP_VERSION_1_1 ||
^~~~~~~~~
drivers/char/tpm/tpm1-cmd.c:492:6: note: Left side of '||' is false
drivers/char/tpm/tpm1-cmd.c:493:6: note: 'subcap_id' is not equal to TPM_CAP_VERSION_1_2
subcap_id == TPM_CAP_VERSION_1_2) {
^~~~~~~~~
drivers/char/tpm/tpm1-cmd.c:492:2: note: Taking false branch
if (subcap_id == TPM_CAP_VERSION_1_1 ||
^
drivers/char/tpm/tpm1-cmd.c:497:7: note: 'subcap_id' is not equal to TPM_CAP_FLAG_PERM
if (subcap_id == TPM_CAP_FLAG_PERM ||
^~~~~~~~~
drivers/char/tpm/tpm1-cmd.c:497:7: note: Left side of '||' is false
drivers/char/tpm/tpm1-cmd.c:498:7: note: 'subcap_id' is not equal to TPM_CAP_FLAG_VOL
subcap_id == TPM_CAP_FLAG_VOL)
^~~~~~~~~
drivers/char/tpm/tpm1-cmd.c:497:3: note: Taking false branch
if (subcap_id == TPM_CAP_FLAG_PERM ||
^
drivers/char/tpm/tpm1-cmd.c:506:7: note: Value assigned to field 'duration_adjusted', which participates in a condition later
rc = tpm_transmit_cmd(chip, &buf, min_cap_length, desc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/char/tpm/tpm1-cmd.c:507:6: note: Assuming 'rc' is 0, which participates in a condition later
if (!rc)
^~~
drivers/char/tpm/tpm1-cmd.c:507:2: note: Taking true branch
if (!rc)
^
drivers/char/tpm/tpm1-cmd.c:510:2: note: Returning zero (loaded from 'rc'), which participates in a condition later
return rc;
^~~~~~~~~
drivers/char/tpm/tpm1-cmd.c:417:7: note: Returning from 'tpm1_getcap'
rc = tpm1_getcap(chip, TPM_CAP_PROP_TIS_DURATION, &cap,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/char/tpm/tpm1-cmd.c:420:6: note: 'rc' is 0
if (rc)
^~
drivers/char/tpm/tpm1-cmd.c:420:2: note: Taking false branch
if (rc)
^
drivers/char/tpm/tpm1-cmd.c:424:20: note: '?' condition is false
usecs_to_jiffies(be32_to_cpu(cap.duration.tpm_short));
^
include/linux/byteorder/generic.h:95:21: note: expanded from macro 'be32_to_cpu'
#define be32_to_cpu __be32_to_cpu
^
include/uapi/linux/byteorder/little_endian.h:40:26: note: expanded from macro '__be32_to_cpu'
#define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x))
^
include/uapi/linux/swab.h:118:3: note: expanded from macro '__swab32'
(__builtin_constant_p((__u32)(x)) ? \
^
drivers/char/tpm/tpm1-cmd.c:426:20: note: '?' condition is false
usecs_to_jiffies(be32_to_cpu(cap.duration.tpm_medium));
^
include/linux/byteorder/generic.h:95:21: note: expanded from macro 'be32_to_cpu'
#define be32_to_cpu __be32_to_cpu
^
include/uapi/linux/byteorder/little_endian.h:40:26: note: expanded from macro '__be32_to_cpu'
#define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x))
^
include/uapi/linux/swab.h:118:3: note: expanded from macro '__swab32'
(__builtin_constant_p((__u32)(x)) ? \
^
drivers/char/tpm/tpm1-cmd.c:428:20: note: '?' condition is false
usecs_to_jiffies(be32_to_cpu(cap.duration.tpm_long));
^
include/linux/byteorder/generic.h:95:21: note: expanded from macro 'be32_to_cpu'
#define be32_to_cpu __be32_to_cpu
^
include/uapi/linux/byteorder/little_endian.h:40:26: note: expanded from macro '__be32_to_cpu'
#define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x))
^
include/uapi/linux/swab.h:118:3: note: expanded from macro '__swab32'
(__builtin_constant_p((__u32)(x)) ? \
^
drivers/char/tpm/tpm1-cmd.c:435:6: note: Assuming field 'update_durations' is null
if (chip->ops->update_durations)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/char/tpm/tpm1-cmd.c:435:2: note: Taking false branch
if (chip->ops->update_durations)
^
drivers/char/tpm/tpm1-cmd.c:438:6: note: Assuming field 'duration_adjusted' is true
if (chip->duration_adjusted) {
^~~~~~~~~~~~~~~~~~~~~~~
drivers/char/tpm/tpm1-cmd.c:438:2: note: Taking true branch
if (chip->duration_adjusted) {
^
drivers/char/tpm/tpm1-cmd.c:440:29: note: Assigned value is garbage or undefined
chip->duration[TPM_SHORT] = durations[0];
^ ~~~~~~~~~~~~
drivers/char/tpm/tpm1-cmd.c:747:3: warning: Value stored to 'rc' is never read [clang-analyzer-deadcode.DeadStores]
rc = tpm1_pcr_extend(chip, tpm_suspend_pcr, dummy_hash,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/char/tpm/tpm1-cmd.c:747:3: note: Value stored to 'rc' is never read
rc = tpm1_pcr_extend(chip, tpm_suspend_pcr, dummy_hash,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 14 warnings (13 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.
1 warning generated.
>> drivers/clk/ti/clockdomain.c:115:2: warning: Value stored to 'clk_name' is never read [clang-analyzer-deadcode.DeadStores]
clk_name = __clk_get_name(hw->clk);
^ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/clockdomain.c:115:2: note: Value stored to 'clk_name' is never read
clk_name = __clk_get_name(hw->clk);
^ ~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
drivers/clk/ti/divider.c:240:9: warning: Division by zero [clang-analyzer-core.DivideZero]
return DIV_ROUND_UP(*prate, div);
^
include/linux/math.h:36:22: note: expanded from macro 'DIV_ROUND_UP'
#define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP
^
include/uapi/linux/const.h:34:54: note: expanded from macro '__KERNEL_DIV_ROUND_UP'
#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
~~~~~~~~~~~~~~~~^~~~~
drivers/clk/ti/divider.c:238:8: note: Calling 'ti_clk_divider_bestdiv'
div = ti_clk_divider_bestdiv(hw, rate, prate);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/divider.c:179:37: note: Left side of '&&' is false
struct clk_omap_divider *divider = to_clk_omap_divider(hw);
^
drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
#define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/clk/ti/divider.c:179:37: note: Taking false branch
struct clk_omap_divider *divider = to_clk_omap_divider(hw);
^
drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
#define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/clk/ti/divider.c:179:37: note: Loop condition is false. Exiting loop
struct clk_omap_divider *divider = to_clk_omap_divider(hw);
^
drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
#define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/clk/ti/divider.c:184:6: note: Assuming 'rate' is not equal to 0
if (!rate)
^~~~~
drivers/clk/ti/divider.c:184:2: note: Taking false branch
if (!rate)
^
drivers/clk/ti/divider.c:189:6: note: Assuming the condition is false
if (!(clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/divider.c:189:2: note: Taking false branch
if (!(clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)) {
^
drivers/clk/ti/divider.c:201:11: note: Assuming '__UNIQUE_ID___x112' is >= '__UNIQUE_ID___y113'
maxdiv = min(ULONG_MAX / rate, maxdiv);
^
include/linux/minmax.h:51:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^~~~~~~~~~
drivers/clk/ti/divider.c:201:11: note: '?' condition is false
maxdiv = min(ULONG_MAX / rate, maxdiv);
^
include/linux/minmax.h:51:19: note: expanded from macro 'min'
--
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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 (15 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
drivers/gpu/drm/rcar-du/rcar_du_plane.c:386:2: warning: 4th function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
rcar_du_plane_write(rgrp, index, PnDSA0R, dma[0]);
^
drivers/gpu/drm/rcar-du/rcar_du_plane.c:624:6: note: Assuming field 'visible' is true
if (!plane->state->visible)
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/rcar-du/rcar_du_plane.c:624:2: note: Taking false branch
if (!plane->state->visible)
^
drivers/gpu/drm/rcar-du/rcar_du_plane.c:627:2: note: Calling 'rcar_du_plane_setup'
rcar_du_plane_setup(rplane);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/rcar-du/rcar_du_plane.h:83:9: note: Calling '__rcar_du_plane_setup'
return __rcar_du_plane_setup(plane->group, state);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/rcar-du/rcar_du_plane.c:548:21: note: Field 'planes' is not equal to 2
if (state->format->planes == 2)
^
drivers/gpu/drm/rcar-du/rcar_du_plane.c:548:2: note: Taking false branch
if (state->format->planes == 2)
^
drivers/gpu/drm/rcar-du/rcar_du_plane.c:552:18: note: Field 'gen' is < 3
if (rcdu->info->gen < 3)
^
drivers/gpu/drm/rcar-du/rcar_du_plane.c:552:2: note: Taking true branch
if (rcdu->info->gen < 3)
^
drivers/gpu/drm/rcar-du/rcar_du_plane.c:553:3: note: Calling 'rcar_du_plane_setup_scanout'
rcar_du_plane_setup_scanout(rgrp, state);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/rcar-du/rcar_du_plane.c:341:13: note: Field 'source' is equal to RCAR_DU_PLANE_MEMORY
if (state->source == RCAR_DU_PLANE_MEMORY) {
^
drivers/gpu/drm/rcar-du/rcar_du_plane.c:341:2: note: Taking true branch
if (state->source == RCAR_DU_PLANE_MEMORY) {
^
drivers/gpu/drm/rcar-du/rcar_du_plane.c:346:22: note: Field 'planes' is not equal to 2
if (state->format->planes == 2)
^
drivers/gpu/drm/rcar-du/rcar_du_plane.c:346:3: note: Taking false branch
if (state->format->planes == 2)
^
drivers/gpu/drm/rcar-du/rcar_du_plane.c:351:15: note: Assuming 'i' is >= field 'planes'
for (i = 0; i < state->format->planes; ++i) {
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/rcar-du/rcar_du_plane.c:351:3: note: Loop condition is false. Execution continues on line 365
for (i = 0; i < state->format->planes; ++i) {
^
drivers/gpu/drm/rcar-du/rcar_du_plane.c:366:9: note: Assuming 'interlaced' is false
(interlaced && state->format->bpp == 32) ?
^~~~~~~~~~
drivers/gpu/drm/rcar-du/rcar_du_plane.c:366:20: note: Left side of '&&' is false
(interlaced && state->format->bpp == 32) ?
^
drivers/gpu/drm/rcar-du/rcar_du_plane.c:384:10: note: 'interlaced' is false
(!interlaced && state->format->bpp == 32 ? 2 : 1));
^~~~~~~~~~
drivers/gpu/drm/rcar-du/rcar_du_plane.c:384:9: note: Left side of '&&' is true
(!interlaced && state->format->bpp == 32 ? 2 : 1));
^
drivers/gpu/drm/rcar-du/rcar_du_plane.c:384:24: note: Assuming field 'bpp' is not equal to 32
(!interlaced && state->format->bpp == 32 ? 2 : 1));
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/rcar-du/rcar_du_plane.c:384:9: note: '?' condition is false
(!interlaced && state->format->bpp == 32 ? 2 : 1));
^
drivers/gpu/drm/rcar-du/rcar_du_plane.c:386:2: note: 4th function call argument is an uninitialized value
rcar_du_plane_write(rgrp, index, PnDSA0R, dma[0]);
^ ~~~~~~
drivers/gpu/drm/rcar-du/rcar_du_plane.c:569:21: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct drm_device *dev = plane->dev;
^~~ ~~~~~~~~~~
drivers/gpu/drm/rcar-du/rcar_du_plane.c:569:21: note: Value stored to 'dev' during its initialization is never read
struct drm_device *dev = plane->dev;
^~~ ~~~~~~~~~~
Suppressed 12 warnings (12 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.
>> drivers/clk/spear/spear1310_clock.c:872:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_30m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:872:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_30m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:879:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_48m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:879:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_48m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:896:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_plclk0_clk", NULL, 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:896:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_plclk0_clk", NULL, 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:899:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_tx50_clk", NULL, 0, 50000000);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:899:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_tx50_clk", NULL, 0, 50000000);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 with check filters).
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
32 warnings generated.
drivers/video/fbdev/sis/init301.c:1248:4: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = SiS_GetRegShort((acpibase + 0x3c));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/sis/init301.c:1248:4: note: Value stored to 'temp' is never read
temp = SiS_GetRegShort((acpibase + 0x3c));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/sis/init301.c:1253:4: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = SiS_GetRegShort((acpibase + 0x3a));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/sis/init301.c:1253:4: note: Value stored to 'temp' is never read
temp = SiS_GetRegShort((acpibase + 0x3a));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/sis/init301.c:1533:19: warning: Value stored to 'OutputSelect' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
unsigned char OutputSelect = *SiS_Pr->pSiS_OutputSelect;
^~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/sis/init301.c:1533:19: note: Value stored to 'OutputSelect' during its initialization is never read
unsigned char OutputSelect = *SiS_Pr->pSiS_OutputSelect;
^~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
--
fs/xfs/libxfs/xfs_da_btree.c:380:6: note: Left side of '||' is false
fs/xfs/libxfs/xfs_da_btree.c:380:21: note: Left side of '||' is true
if (error || !*bpp || !tp)
^
fs/xfs/libxfs/xfs_da_btree.c:381:3: note: Returning zero (loaded from 'error'), which participates in a condition later
return error;
^~~~~~~~~~~~
fs/xfs/libxfs/xfs_da_btree.c:2024:11: note: Returning from 'xfs_da3_node_read'
error = xfs_da3_node_read(args->trans, dp, blkno, &bp,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/libxfs/xfs_da_btree.c:2026:7: note: 'error' is 0
if (error)
^~~~~
fs/xfs/libxfs/xfs_da_btree.c:2026:3: note: Taking false branch
if (error)
^
fs/xfs/libxfs/xfs_da_btree.c:2035:7: note: 'release' is 1
if (release)
^~~~~~~
fs/xfs/libxfs/xfs_da_btree.c:2035:3: note: Taking true branch
if (release)
^
fs/xfs/libxfs/xfs_da_btree.c:2038:3: note: Null pointer value stored to field 'bp'
blk->bp = bp;
^~~~~~~~~~~~
fs/xfs/libxfs/xfs_da_btree.c:2040:10: note: Access to field 'b_addr' results in a dereference of a null pointer (loaded from field 'bp')
info = blk->bp->b_addr;
^ ~~
fs/xfs/libxfs/xfs_da_btree.c:2206:22: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
if (got != count || mapp[0].br_startoff != *bno ||
^
fs/xfs/libxfs/xfs_da_btree.c:497:17: note: Assuming 'i' is < 0
for (i = max; (i >= 0) && addblk; state->path.active--, i--) {
^~~~~~
fs/xfs/libxfs/xfs_da_btree.c:497:25: note: Left side of '&&' is false
for (i = max; (i >= 0) && addblk; state->path.active--, i--) {
^
fs/xfs/libxfs/xfs_da_btree.c:565:7: note: 'addblk' is non-null
if (!addblk)
^~~~~~
fs/xfs/libxfs/xfs_da_btree.c:565:2: note: Taking false branch
if (!addblk)
^
fs/xfs/libxfs/xfs_da_btree.c:581:10: note: Calling 'xfs_da3_root_split'
error = xfs_da3_root_split(state, oldblk, addblk);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/libxfs/xfs_da_btree.c:659:10: note: Calling 'xfs_da_grow_inode'
error = xfs_da_grow_inode(args, &blkno);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/libxfs/xfs_da_btree.c:2237:10: note: Calling 'xfs_da_grow_inode_int'
error = xfs_da_grow_inode_int(args, &bno, args->geo->fsbcount);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/libxfs/xfs_da_btree.c:2156:6: note: Assuming 'error' is 0
if (error)
^~~~~
fs/xfs/libxfs/xfs_da_btree.c:2156:2: note: Taking false branch
if (error)
^
fs/xfs/libxfs/xfs_da_btree.c:2166:6: note: Assuming 'error' is 0
if (error)
^~~~~
fs/xfs/libxfs/xfs_da_btree.c:2166:2: note: Taking false branch
if (error)
^
fs/xfs/libxfs/xfs_da_btree.c:2170:6: note: Assuming 'nmap' is not equal to 1
if (nmap == 1) {
^~~~~~~~~
fs/xfs/libxfs/xfs_da_btree.c:2170:2: note: Taking false branch
if (nmap == 1) {
^
fs/xfs/libxfs/xfs_da_btree.c:2173:13: note: Assuming 'nmap' is not equal to 0
} else if (nmap == 0 && count > 1) {
^~~~~~~~~
fs/xfs/libxfs/xfs_da_btree.c:2173:23: note: Left side of '&&' is false
} else if (nmap == 0 && count > 1) {
^
fs/xfs/libxfs/xfs_da_btree.c:2198:3: note: Null pointer value stored to 'mapp'
mapp = NULL;
^~~~~~~~~~~
fs/xfs/libxfs/xfs_da_btree.c:2204:2: note: Loop condition is false. Execution continues on line 2206
for (i = 0, got = 0; i < mapi; i++)
^
fs/xfs/libxfs/xfs_da_btree.c:2206:6: note: Assuming 'got' is equal to 'count'
if (got != count || mapp[0].br_startoff != *bno ||
^~~~~~~~~~~~
fs/xfs/libxfs/xfs_da_btree.c:2206:6: note: Left side of '||' is false
fs/xfs/libxfs/xfs_da_btree.c:2206:22: note: Dereference of null pointer
if (got != count || mapp[0].br_startoff != *bno ||
^~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
drivers/clk/ti/apll.c:100:2: warning: Value stored to 'state' is never read [clang-analyzer-deadcode.DeadStores]
state <<= __ffs(ad->idlest_mask);
^ ~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/apll.c:100:2: note: Value stored to 'state' is never read
state <<= __ffs(ad->idlest_mask);
^ ~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 with check filters).
1 warning generated.
>> drivers/clk/ti/clkt_dpll.c:305:2: warning: Value stored to 'clk_name' is never read [clang-analyzer-deadcode.DeadStores]
clk_name = clk_hw_get_name(hw);
^ ~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/clkt_dpll.c:305:2: note: Value stored to 'clk_name' is never read
clk_name = clk_hw_get_name(hw);
^ ~~~~~~~~~~~~~~~~~~~
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
include/drm/drm_atomic.h:991:9: warning: Access to field 'mode_changed' results in a dereference of a null pointer (loaded from variable 'state') [clang-analyzer-core.NullDereference]
return state->mode_changed || state->active_changed ||
^
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:956:27: note: Left side of '&&' is false
struct dpu_plane *pdpu = to_dpu_plane(plane);
^
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:134:25: note: expanded from macro 'to_dpu_plane'
#define to_dpu_plane(x) container_of(x, struct dpu_plane, base)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:956:27: note: Taking false branch
struct dpu_plane *pdpu = to_dpu_plane(plane);
^
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:134:25: note: expanded from macro 'to_dpu_plane'
#define to_dpu_plane(x) container_of(x, struct dpu_plane, base)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:956:27: note: Loop condition is false. Exiting loop
struct dpu_plane *pdpu = to_dpu_plane(plane);
^
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:134:25: note: expanded from macro 'to_dpu_plane'
#define to_dpu_plane(x) container_of(x, struct dpu_plane, base)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:957:35: note: Left side of '&&' is false
struct dpu_plane_state *pstate = to_dpu_plane_state(state);
^
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h:61:2: note: expanded from macro 'to_dpu_plane_state'
container_of(x, struct dpu_plane_state, base)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:957:35: note: Taking false branch
struct dpu_plane_state *pstate = to_dpu_plane_state(state);
^
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h:61:2: note: expanded from macro 'to_dpu_plane_state'
container_of(x, struct dpu_plane_state, base)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c:957:35: note: Loop condition is false. Exiting loop
struct dpu_plane_state *pstate = to_dpu_plane_state(state);
^
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h:61:2: note: expanded from macro 'to_dpu_plane_state'
container_of(x, struct dpu_plane_state, base)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
--
13 warnings generated.
drivers/video/fbdev/nvidia/nvidia.c:124:4: warning: Value stored to 'tmp' is never read [clang-analyzer-deadcode.DeadStores]
tmp = 0;
^ ~
drivers/video/fbdev/nvidia/nvidia.c:124:4: note: Value stored to 'tmp' is never read
tmp = 0;
^ ~
Suppressed 12 warnings (12 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.
drivers/video/fbdev/nvidia/nv_hw.c:261:2: warning: Value stored to 'clwm' is never read [clang-analyzer-deadcode.DeadStores]
clwm = 0;
^ ~
drivers/video/fbdev/nvidia/nv_hw.c:261:2: note: Value stored to 'clwm' is never read
clwm = 0;
^ ~
drivers/video/fbdev/nvidia/nv_hw.c:284:2: warning: Value stored to 'pclks' is never read [clang-analyzer-deadcode.DeadStores]
pclks += 0;
^ ~
drivers/video/fbdev/nvidia/nv_hw.c:284:2: note: Value stored to 'pclks' is never read
pclks += 0;
^ ~
drivers/video/fbdev/nvidia/nv_hw.c:439:2: warning: Value stored to 'clwm' is never read [clang-analyzer-deadcode.DeadStores]
clwm = 0;
^ ~
drivers/video/fbdev/nvidia/nv_hw.c:439:2: note: Value stored to 'clwm' is never read
clwm = 0;
^ ~
Suppressed 13 warnings (12 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.
14 warnings generated.
Suppressed 14 warnings (12 in non-user code, 2 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 (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
drivers/regulator/mc13xxx-regulator-core.c:115:6: warning: Value stored to 'id' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
int id = rdev_get_id(rdev);
^~ ~~~~~~~~~~~~~~~~~
drivers/regulator/mc13xxx-regulator-core.c:115:6: note: Value stored to 'id' during its initialization is never read
int id = rdev_get_id(rdev);
^~ ~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
>> drivers/pinctrl/aspeed/pinctrl-aspeed.c:183:4: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcat(found, str);
^~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed.c:183:4: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
strcat(found, str);
^~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed.c:184:4: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcat(found, ", ");
^~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed.c:184:4: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
strcat(found, ", ");
^~~~~~
1 warning generated.
>> drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c:2660:5: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = regmap_update_bits(ctx->maps[desc->ip],
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c:2660:5: note: Value stored to 'ret' is never read
ret = regmap_update_bits(ctx->maps[desc->ip],
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/hdmi4_cec.c:243:3: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = hdmi_read_reg(core->base, HDMI_CEC_INT_STATUS_1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/hdmi4_cec.c:243:3: note: Value stored to 'temp' is never read
temp = hdmi_read_reg(core->base, HDMI_CEC_INT_STATUS_1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
drivers/tty/serial/samsung_tty.c:2037:5: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = -EINVAL;
^ ~~~~~~~
drivers/tty/serial/samsung_tty.c:2037:5: note: Value stored to 'ret' is never read
ret = -EINVAL;
^ ~~~~~~~
Suppressed 12 warnings (12 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.
drivers/tty/serial/sh-sci.c:2218:2: warning: The result of the left shift is undefined due to shifting by '4294967295', which is greater or equal to the width of type 'unsigned long' [clang-analyzer-core.UndefinedBinaryOperatorResult]
for_each_sr(sr, s) {
^
drivers/tty/serial/sh-sci.c:100:37: note: expanded from macro 'for_each_sr'
if ((_port)->sampling_rate_mask & SCI_SR((_sr)))
^~~~~~~~~~~~~
drivers/tty/serial/sh-sci.c:87:20: note: expanded from macro 'SCI_SR'
#define SCI_SR(x) BIT((x) - 1)
^~~~~~~~~~~~
include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
#define BIT(nr) (UL(1) << (nr))
^ ~~~~
drivers/tty/serial/sh-sci.c:2215:6: note: Assuming field 'type' is equal to PORT_HSCIF
if (s->port.type != PORT_HSCIF)
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/sh-sci.c:2215:2: note: Taking false branch
if (s->port.type != PORT_HSCIF)
^
drivers/tty/serial/sh-sci.c:2218:2: note: Assuming the condition is true
for_each_sr(sr, s) {
^
drivers/tty/serial/sh-sci.c:99:30: note: expanded from macro 'for_each_sr'
for ((_sr) = max_sr(_port); (_sr) >= min_sr(_port); (_sr)--) \
^~~~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/sh-sci.c:2218:2: note: Loop condition is true. Entering loop body
for_each_sr(sr, s) {
^
drivers/tty/serial/sh-sci.c:99:2: note: expanded from macro 'for_each_sr'
for ((_sr) = max_sr(_port); (_sr) >= min_sr(_port); (_sr)--) \
^
drivers/tty/serial/sh-sci.c:2218:2: note: The result of the left shift is undefined due to shifting by '4294967295', which is greater or equal to the width of type 'unsigned long'
for_each_sr(sr, s) {
^
drivers/tty/serial/sh-sci.c:100:37: note: expanded from macro 'for_each_sr'
if ((_port)->sampling_rate_mask & SCI_SR((_sr)))
^~~~~~~~~~~~~
drivers/tty/serial/sh-sci.c:87:20: note: expanded from macro 'SCI_SR'
#define SCI_SR(x) BIT((x) - 1)
^~~~~~~~~~~~
include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
#define BIT(nr) (UL(1) << (nr))
^ ~~~~
drivers/tty/serial/sh-sci.c:2245:2: warning: The result of the left shift is undefined due to shifting by '4294967295', which is greater or equal to the width of type 'unsigned long' [clang-analyzer-core.UndefinedBinaryOperatorResult]
for_each_sr(sr, s) {
^
drivers/tty/serial/sh-sci.c:100:37: note: expanded from macro 'for_each_sr'
if ((_port)->sampling_rate_mask & SCI_SR((_sr)))
^~~~~~~~~~~~~
drivers/tty/serial/sh-sci.c:87:20: note: expanded from macro 'SCI_SR'
#define SCI_SR(x) BIT((x) - 1)
^~~~~~~~~~~~
include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
#define BIT(nr) (UL(1) << (nr))
^ ~~~~
drivers/tty/serial/sh-sci.c:2242:6: note: Assuming field 'type' is equal to PORT_HSCIF
if (s->port.type != PORT_HSCIF)
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/sh-sci.c:2242:2: note: Taking false branch
if (s->port.type != PORT_HSCIF)
^
drivers/tty/serial/sh-sci.c:2245:2: note: Assuming the condition is true
for_each_sr(sr, s) {
^
drivers/tty/serial/sh-sci.c:99:30: note: expanded from macro 'for_each_sr'
for ((_sr) = max_sr(_port); (_sr) >= min_sr(_port); (_sr)--) \
^~~~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/sh-sci.c:2245:2: note: Loop condition is true. Entering loop body
for_each_sr(sr, s) {
^
drivers/tty/serial/sh-sci.c:99:2: note: expanded from macro 'for_each_sr'
for ((_sr) = max_sr(_port); (_sr) >= min_sr(_port); (_sr)--) \
--
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
fs/xfs/libxfs/xfs_defer.c:492:9: note: Taking false branch
dfp = list_first_entry(&dop_pending, struct xfs_defer_pending,
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
fs/xfs/libxfs/xfs_defer.c:492:9: note: Loop condition is false. Exiting loop
dfp = list_first_entry(&dop_pending, struct xfs_defer_pending,
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
fs/xfs/libxfs/xfs_defer.c:494:11: note: Calling 'xfs_defer_finish_one'
error = xfs_defer_finish_one(*tp, dfp);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/libxfs/xfs_defer.c:413:2: note: 'error' declared without an initial value
int error;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/libxfs/xfs_defer.c:418:2: note: Loop condition is false. Execution continues on line 441
list_for_each_safe(li, n, &dfp->dfp_work) {
^
include/linux/list.h:598:2: note: expanded from macro 'list_for_each_safe'
for (pos = (head)->next, n = pos->next; pos != (head); \
^
fs/xfs/libxfs/xfs_defer.c:444:6: note: Assuming field 'finish_cleanup' is null
if (ops->finish_cleanup)
^~~~~~~~~~~~~~~~~~~
fs/xfs/libxfs/xfs_defer.c:444:2: note: Taking false branch
if (ops->finish_cleanup)
^
fs/xfs/libxfs/xfs_defer.c:446:2: note: Undefined or garbage value returned to caller
return error;
^ ~~~~~
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 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.
1 warning generated.
Suppressed 1 warnings (1 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.
1 warning generated.
Suppressed 1 warnings (1 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
>> drivers/gpu/drm/sti/sti_hqvdp.c:741:6: warning: Division by zero [clang-analyzer-core.DivideZero]
lfw /= max(src_w, dst_w) * mode->clock / 1000;
^
drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Left side of '&&' is false
struct sti_plane *plane = to_sti_plane(drm_plane);
^
drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
#define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Taking false branch
struct sti_plane *plane = to_sti_plane(drm_plane);
^
drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
#define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Loop condition is false. Exiting loop
struct sti_plane *plane = to_sti_plane(drm_plane);
^
drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
#define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Left side of '&&' is false
struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
^
drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
#define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Taking false branch
struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
^
drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
#define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Loop condition is false. Exiting loop
struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
^
drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
#define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
--
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
drivers/gpu/drm/sti/sti_hqvdp.c:1040:10: note: Assuming '__UNIQUE_ID___x283' is >= '__UNIQUE_ID___y284'
dst_h = clamp_val(state->crtc_h, 0, mode->vdisplay - dst_y);
^
include/linux/minmax.h:143:32: note: expanded from macro 'clamp_val'
#define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:130:36: note: expanded from macro 'clamp_t'
#define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:110:27: note: expanded from macro 'min_t'
#define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^~~~~~~~~~
drivers/gpu/drm/sti/sti_hqvdp.c:1040:10: note: '?' condition is false
dst_h = clamp_val(state->crtc_h, 0, mode->vdisplay - dst_y);
^
include/linux/minmax.h:143:32: note: expanded from macro 'clamp_val'
#define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
^
include/linux/minmax.h:130:36: note: expanded from macro 'clamp_t'
#define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
^
include/linux/minmax.h:110:27: note: expanded from macro 'min_t'
#define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
^
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
drivers/gpu/drm/sti/sti_hqvdp.c:1040:2: note: The value 0 is assigned to 'dst_h'
dst_h = clamp_val(state->crtc_h, 0, mode->vdisplay - dst_y);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/sti/sti_hqvdp.c:1047:6: note: Assuming field 'clock' is not equal to 0
if (mode->clock && !sti_hqvdp_check_hw_scaling(hqvdp, mode,
^~~~~~~~~~~
drivers/gpu/drm/sti/sti_hqvdp.c:1047:6: note: Left side of '&&' is true
drivers/gpu/drm/sti/sti_hqvdp.c:1049:21: note: Passing the value 0 via 6th parameter 'dst_h'
dst_w, dst_h)) {
^~~~~
drivers/gpu/drm/sti/sti_hqvdp.c:1047:22: note: Calling 'sti_hqvdp_check_hw_scaling'
if (mode->clock && !sti_hqvdp_check_hw_scaling(hqvdp, mode,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/sti/sti_hqvdp.c:741:9: note: Assuming '__UNIQUE_ID___x272' is > '__UNIQUE_ID___y273'
lfw /= max(src_w, dst_w) * mode->clock / 1000;
^
include/linux/minmax.h:58:19: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^~~~~~~~~~
drivers/gpu/drm/sti/sti_hqvdp.c:741:9: note: '?' condition is true
lfw /= max(src_w, dst_w) * mode->clock / 1000;
^
include/linux/minmax.h:58:19: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
drivers/gpu/drm/sti/sti_hqvdp.c:743:11: note: Division by zero
inv_zy = DIV_ROUND_UP(src_h, dst_h);
^
include/linux/math.h:36:22: note: expanded from macro 'DIV_ROUND_UP'
#define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP
^
include/uapi/linux/const.h:34:54: note: expanded from macro '__KERNEL_DIV_ROUND_UP'
#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
~~~~~~~~~~~~~~~~^~~~~
Suppressed 12 warnings (12 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.
14 warnings generated.
>> drivers/gpu/drm/omapdrm/omap_crtc.c:234:21: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_crtc.c:234:21: note: Value stored to 'dev' during its initialization is never read
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_crtc.c:253:21: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_crtc.c:253:21: note: Value stored to 'dev' during its initialization is never read
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/gpu/drm/omapdrm/omap_encoder.c:104:16: warning: Access to field 'bridge' results in a dereference of a null pointer (loaded from variable 'output') [clang-analyzer-core.NullDereference]
for (bridge = output->bridge; bridge;
^~~~~~
drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Left side of '&&' is false
struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
^
drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
#define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Taking false branch
struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
^
drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
#define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Loop condition is false. Exiting loop
struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
^
drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
#define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:77:2: note: 'output' initialized here
struct omap_dss_device *output = omap_encoder->output;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_encoder.c:85:2: note: Left side of '&&' is false
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:85:2: note: Taking false branch
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
--
glops->go_inval(gl, target == LM_ST_DEFERRED ? 0 : DIO_METADATA);
^~~~~~
fs/gfs2/glock.c:643:23: note: '?' condition is true
fs/gfs2/glock.c:643:3: note: Called function pointer is null (null dereference)
glops->go_inval(gl, target == LM_ST_DEFERRED ? 0 : DIO_METADATA);
^~~~~~~~~~~~~~~
include/linux/jhash.h:127:5: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
b += k[1];
^
fs/gfs2/glock.c:1523:10: note: Calling 'gfs2_glock_get'
error = gfs2_glock_get(sdp, number, glops, CREATE, &gl);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/gfs2/glock.c:1002:7: note: Calling 'find_insert_glock'
gl = find_insert_glock(&name, NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/gfs2/glock.c:946:26: note: Calling 'glock_waitqueue'
wait_queue_head_t *wq = glock_waitqueue(name);
^~~~~~~~~~~~~~~~~~~~~
fs/gfs2/glock.c:107:13: note: Calling 'jhash2'
u32 hash = jhash2((u32 *)name, ht_parms.key_len / 4, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/jhash.h:125:2: note: Loop condition is true. Entering loop body
while (length > 3) {
^
include/linux/jhash.h:127:5: note: Assigned value is garbage or undefined
b += k[1];
^ ~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c:366:3: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
err = PTR_ERR(kingdisplay->enable_gpio);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c:366:3: note: Value stored to 'err' is never read
err = PTR_ERR(kingdisplay->enable_gpio);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c:54:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = ctx->dev;
^~~ ~~~~~~~~
drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c:54:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = ctx->dev;
^~~ ~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:68:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(dst, prefix);
^~~~~~
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:68:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(dst, prefix);
^~~~~~
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:71:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(dst, src);
^~~~~~
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:71:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(dst, src);
^~~~~~
13 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/base.c:213:21: warning: Value stored to 'dss' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct dss_device *dss = src ? src->dss : dst->dss;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/base.c:213:21: note: Value stored to 'dss' during its initialization is never read
struct dss_device *dss = src ? src->dss : dst->dss;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/gpu/drm/omapdrm/dss/dispc.c:871:56: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->gcb, ct->gcr));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:867:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:6: note: Assuming the condition is true
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:51:2: note: expanded from macro 'REG_GET'
FLD_GET(dispc_read_reg(dispc, idx), start, end)
^
drivers/gpu/drm/omapdrm/dss/dss.h:66:34: note: expanded from macro 'FLD_GET'
#define FLD_GET(val, start, end) (((val) & FLD_MASK(start, end)) >> (end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:2: note: Taking true branch
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4902:3: note: Calling '_omap_dispc_initial_config'
_omap_dispc_initial_config(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3911:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_CORE_CLK_DIV)) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:6: note: Assuming field 'has_gamma_table' is false
if (dispc->feat->has_gamma_table)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:2: note: Taking false branch
if (dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:6: note: Left side of '||' is false
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3930:19: note: Field 'has_gamma_table' is false
dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3933:2: note: Calling 'dispc_setup_color_conv_coef'
dispc_setup_color_conv_coef(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:14: note: Assuming 'i' is < 'num_ovl'
for (i = 1; i < num_ovl; i++)
^~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:2: note: Loop condition is true. Entering loop body
for (i = 1; i < num_ovl; i++)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:920:3: note: Calling 'dispc_ovl_write_color_conv_coef'
dispc_ovl_write_color_conv_coef(dispc, i, &coefs_yuv2rgb_bt601_lim);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:871:56: note: The result of the left shift is undefined because the left operand is negative
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->gcb, ct->gcr));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:867:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
~~~~~ ^
drivers/gpu/drm/omapdrm/dss/dispc.c:889:56: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->crb, ct->crg));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:885:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:6: note: Assuming the condition is true
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:51:2: note: expanded from macro 'REG_GET'
FLD_GET(dispc_read_reg(dispc, idx), start, end)
^
drivers/gpu/drm/omapdrm/dss/dss.h:66:34: note: expanded from macro 'FLD_GET'
#define FLD_GET(val, start, end) (((val) & FLD_MASK(start, end)) >> (end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:2: note: Taking true branch
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4902:3: note: Calling '_omap_dispc_initial_config'
_omap_dispc_initial_config(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3911:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_CORE_CLK_DIV)) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:6: note: Assuming field 'has_gamma_table' is false
if (dispc->feat->has_gamma_table)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:2: note: Taking false branch
if (dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:6: note: Left side of '||' is false
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3930:19: note: Field 'has_gamma_table' is false
dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3933:2: note: Calling 'dispc_setup_color_conv_coef'
dispc_setup_color_conv_coef(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:14: note: Assuming 'i' is >= 'num_ovl'
for (i = 1; i < num_ovl; i++)
^~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:2: note: Loop condition is false. Execution continues on line 922
for (i = 1; i < num_ovl; i++)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:922:6: note: Assuming field 'has_writeback' is true
if (dispc->feat->has_writeback)
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:922:2: note: Taking true branch
if (dispc->feat->has_writeback)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:923:3: note: Calling 'dispc_wb_write_color_conv_coef'
dispc_wb_write_color_conv_coef(dispc, &coefs_rgb2yuv_bt601_lim);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:889:56: note: The result of the left shift is undefined because the left operand is negative
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->crb, ct->crg));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:885:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
~~~~~ ^
>> drivers/gpu/drm/omapdrm/dss/dispc.c:3215:3: warning: Value stored to 'ht' is never read [clang-analyzer-deadcode.DeadStores]
ht = vm->pixelclock / xtot;
^ ~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3215:3: note: Value stored to 'ht' is never read
ht = vm->pixelclock / xtot;
^ ~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/omapdrm/dss/dispc.c:3216:3: warning: Value stored to 'vt' is never read [clang-analyzer-deadcode.DeadStores]
vt = vm->pixelclock / xtot / ytot;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3216:3: note: Value stored to 'vt' is never read
vt = vm->pixelclock / xtot / ytot;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/omapdrm/dss/dispc.c:4822:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
rev = dispc_read_reg(dispc, DISPC_REVISION);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:4822:2: note: Value stored to 'rev' is never read
rev = dispc_read_reg(dispc, DISPC_REVISION);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
block/blk-mq-cpumap.c:21:33: warning: Division by zero [clang-analyzer-core.DivideZero]
return qmap->queue_offset + (q % nr_queues);
^
block/blk-mq-cpumap.c:38:2: note: 'nr_queues' initialized here
unsigned int nr_queues = qmap->nr_queues;
^~~~~~~~~~~~~~~~~~~~~~
block/blk-mq-cpumap.c:41:2: note: Loop condition is true. Entering loop body
for_each_possible_cpu(cpu)
^
include/linux/cpumask.h:817:36: note: expanded from macro 'for_each_possible_cpu'
#define for_each_possible_cpu(cpu) for_each_cpu((cpu), cpu_possible_mask)
^
include/linux/cpumask.h:208:2: note: expanded from macro 'for_each_cpu'
for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask)
^
block/blk-mq-cpumap.c:41:2: note: Loop condition is false. Execution continues on line 48
for_each_possible_cpu(cpu)
^
include/linux/cpumask.h:817:36: note: expanded from macro 'for_each_possible_cpu'
#define for_each_possible_cpu(cpu) for_each_cpu((cpu), cpu_possible_mask)
^
include/linux/cpumask.h:208:2: note: expanded from macro 'for_each_cpu'
for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask)
^
block/blk-mq-cpumap.c:48:2: note: Loop condition is true. Entering loop body
for_each_present_cpu(cpu) {
^
include/linux/cpumask.h:819:36: note: expanded from macro 'for_each_present_cpu'
#define for_each_present_cpu(cpu) for_each_cpu((cpu), cpu_present_mask)
^
include/linux/cpumask.h:208:2: note: expanded from macro 'for_each_cpu'
for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask)
^
block/blk-mq-cpumap.c:49:7: note: Assuming 'q' is >= 'nr_queues'
if (q >= nr_queues)
^~~~~~~~~~~~~~
block/blk-mq-cpumap.c:49:3: note: Taking true branch
if (q >= nr_queues)
^
block/blk-mq-cpumap.c:50:4: note: Execution continues on line 54
break;
^
block/blk-mq-cpumap.c:54:2: note: Loop condition is true. Entering loop body
for_each_possible_cpu(cpu) {
^
include/linux/cpumask.h:817:36: note: expanded from macro 'for_each_possible_cpu'
#define for_each_possible_cpu(cpu) for_each_cpu((cpu), cpu_possible_mask)
^
include/linux/cpumask.h:208:2: note: expanded from macro 'for_each_cpu'
for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask)
^
block/blk-mq-cpumap.c:55:3: note: Taking false branch
if (map[cpu] != -1)
^
block/blk-mq-cpumap.c:63:7: note: 'q' is >= 'nr_queues'
if (q < nr_queues) {
^
block/blk-mq-cpumap.c:63:3: note: Taking false branch
if (q < nr_queues) {
^
block/blk-mq-cpumap.c:67:8: note: 'first_sibling' is equal to 'cpu'
if (first_sibling == cpu)
^~~~~~~~~~~~~
block/blk-mq-cpumap.c:67:4: note: Taking true branch
if (first_sibling == cpu)
^
block/blk-mq-cpumap.c:68:34: note: Passing the value 0 via 2nd parameter 'nr_queues'
map[cpu] = queue_index(qmap, nr_queues, q++);
^~~~~~~~~
block/blk-mq-cpumap.c:68:16: note: Calling 'queue_index'
map[cpu] = queue_index(qmap, nr_queues, q++);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
block/blk-mq-cpumap.c:21:33: note: Division by zero
return qmap->queue_offset + (q % nr_queues);
~~^~~~~~~~~~~
Suppressed 12 warnings (12 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.
fs/xfs/libxfs/xfs_dir2_data.c:256:27: warning: Access to field 'count' results in a dereference of a null pointer (loaded from variable 'btp') [clang-analyzer-core.NullDereference]
for (i = stale = 0; i < be32_to_cpu(btp->count); i++) {
^
include/linux/byteorder/generic.h:95:21: note: expanded from macro 'be32_to_cpu'
#define be32_to_cpu __be32_to_cpu
--
uint16_t hi_sidd = smu_data->power_tune_table.BapmVddCBaseLeakageHiSidd;
^~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:590:11: warning: Value stored to 'lo_sidd' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
uint16_t lo_sidd = smu_data->power_tune_table.BapmVddCBaseLeakageLoSidd;
^~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:590:11: note: Value stored to 'lo_sidd' during its initialization is never read
uint16_t lo_sidd = smu_data->power_tune_table.BapmVddCBaseLeakageLoSidd;
^~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:967:2: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
result = polaris10_calculate_sclk_params(hwmgr, clock, &curr_sclk_setting);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:967:2: note: Value stored to 'result' is never read
result = polaris10_calculate_sclk_params(hwmgr, clock, &curr_sclk_setting);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:1592:3: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
result = 0;
^ ~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:1592:3: note: Value stored to 'result' is never read
result = 0;
^ ~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:1600:3: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
result = 0;
^ ~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:1600:3: note: Value stored to 'result' is never read
result = 0;
^ ~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:1868:3: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
result = smu7_read_smc_sram_dword(hwmgr,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.c:1868:3: note: Value stored to 'result' is never read
result = smu7_read_smc_sram_dword(hwmgr,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 14 warnings (14 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.
21 warnings generated.
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:374:11: warning: Value stored to 'HiSidd' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
uint16_t HiSidd = smu_data->power_tune_table.BapmVddCBaseLeakageHiSidd;
^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:374:11: note: Value stored to 'HiSidd' during its initialization is never read
uint16_t HiSidd = smu_data->power_tune_table.BapmVddCBaseLeakageHiSidd;
^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:375:11: warning: Value stored to 'LoSidd' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
uint16_t LoSidd = smu_data->power_tune_table.BapmVddCBaseLeakageLoSidd;
^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:375:11: note: Value stored to 'LoSidd' during its initialization is never read
uint16_t LoSidd = smu_data->power_tune_table.BapmVddCBaseLeakageLoSidd;
^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:827:2: warning: Value stored to 'spll_func_cntl' is never read [clang-analyzer-deadcode.DeadStores]
spll_func_cntl = PHM_SET_FIELD(spll_func_cntl,
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:827:2: note: Value stored to 'spll_func_cntl' is never read
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:898:2: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
result = iceland_calculate_sclk_params(hwmgr, engine_clock, graphic_level);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:898:2: note: Value stored to 'result' is never read
result = iceland_calculate_sclk_params(hwmgr, engine_clock, graphic_level);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:1664:3: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
result = 0;
^ ~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:1664:3: note: Value stored to 'result' is never read
result = 0;
^ ~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:2067:2: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
result = smu7_copy_bytes_to_smc(hwmgr,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:2067:2: note: Value stored to 'result' is never read
result = smu7_copy_bytes_to_smc(hwmgr,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:2190:3: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
result = smu7_copy_bytes_to_smc(
^ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.c:2190:3: note: Value stored to 'result' is never read
result = smu7_copy_bytes_to_smc(
^ ~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
drivers/mfd/tps65010.c:650:5: warning: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
status = 0;
^ ~
drivers/mfd/tps65010.c:650:5: note: Value stored to 'status' is never read
status = 0;
^ ~
14 warnings generated.
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 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/mfd/menelaus.c:453:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:453:21: note: Value stored to 'c' during its initialization is never read
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:525:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:525:21: note: Value stored to 'c' during its initialization is never read
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:734:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:734:21: note: Value stored to 'c' during its initialization is never read
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
16 warnings generated.
drivers/mfd/twl-core.c:574:15: warning: The left operand of '&' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
switch (ctrl & 0x3) {
~~~~ ^
drivers/mfd/twl-core.c:569:2: note: 'ctrl' declared without an initial value
u8 ctrl;
^~~~~~~
drivers/mfd/twl-core.c:572:2: note: Calling 'twl_i2c_read_u8'
twl_i2c_read_u8(TWL_MODULE_PM_MASTER, &ctrl, R_CFG_BOOT);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mfd/twl.h:180:9: note: Calling 'twl_i2c_read'
return twl_i2c_read(mod_no, val, reg, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:473:7: note: 'regmap' is null
if (!regmap)
^~~~~~
drivers/mfd/twl-core.c:473:2: note: Taking true branch
if (!regmap)
^
drivers/mfd/twl-core.c:474:3: note: Returning without writing to '*value'
return -EPERM;
^
include/linux/mfd/twl.h:180:9: note: Returning from 'twl_i2c_read'
return twl_i2c_read(mod_no, val, reg, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mfd/twl.h:180:2: note: Returning without writing to '*val'
return twl_i2c_read(mod_no, val, reg, 1);
^
drivers/mfd/twl-core.c:572:2: note: Returning from 'twl_i2c_read_u8'
twl_i2c_read_u8(TWL_MODULE_PM_MASTER, &ctrl, R_CFG_BOOT);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:574:15: note: The left operand of '&' is a garbage value
switch (ctrl & 0x3) {
~~~~ ^
drivers/mfd/twl-core.c:1205:8: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
temp &= ~(SR_I2C_SDA_CTRL_PU | SR_I2C_SCL_CTRL_PU | \
~~~~ ^
drivers/mfd/twl-core.c:1078:6: note: Assuming 'node' is non-null
if (!node && !pdata) {
^~~~~
drivers/mfd/twl-core.c:1078:12: note: Left side of '&&' is false
if (!node && !pdata) {
^
drivers/mfd/twl-core.c:1083:6: note: Assuming 'twl_priv' is null
if (twl_priv) {
^~~~~~~~
drivers/mfd/twl-core.c:1083:2: note: Taking false branch
if (twl_priv) {
^
drivers/mfd/twl-core.c:1090:6: note: Assuming 'pdev' is non-null
if (!pdev) {
^~~~~
drivers/mfd/twl-core.c:1090:2: note: Taking false branch
if (!pdev) {
^
drivers/mfd/twl-core.c:1096:6: note: Assuming 'status' is 0
if (status) {
^~~~~~
drivers/mfd/twl-core.c:1096:2: note: Taking false branch
if (status) {
^
drivers/mfd/twl-core.c:1101:2: note: Taking false branch
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C) == 0) {
^
drivers/mfd/twl-core.c:1109:6: note: Assuming 'twl_priv' is non-null
if (!twl_priv) {
^~~~~~~~~
drivers/mfd/twl-core.c:1109:2: note: Taking false branch
if (!twl_priv) {
^
drivers/mfd/twl-core.c:1114:6: note: Assuming the condition is true
if ((id->driver_data) & TWL6030_CLASS) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:1114:2: note: Taking true branch
if ((id->driver_data) & TWL6030_CLASS) {
^
drivers/mfd/twl-core.c:1118:7: note: Assuming the condition is false
if ((id->driver_data) & TWL6032_SUBCLASS)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:1118:3: note: Taking false branch
if ((id->driver_data) & TWL6032_SUBCLASS)
^
drivers/mfd/twl-core.c:1129:26: note: Calling 'devm_kcalloc'
--
^
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:48:2: note: Taking false branch
BUG_ON(HFI_HEADER_SIZE(hdr) > dwords);
^
include/asm-generic/bug.h:183:32: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
^
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:48:2: note: Loop condition is false. Exiting loop
BUG_ON(HFI_HEADER_SIZE(hdr) > dwords);
^
include/asm-generic/bug.h:183:27: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
^
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:50:14: note: Assuming the condition is true
for (i = 0; i < HFI_HEADER_SIZE(hdr); i++) {
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:50:2: note: Loop condition is true. Entering loop body
for (i = 0; i < HFI_HEADER_SIZE(hdr); i++) {
^
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:50:14: note: Assuming the condition is true
for (i = 0; i < HFI_HEADER_SIZE(hdr); i++) {
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:50:2: note: Loop condition is true. Entering loop body
for (i = 0; i < HFI_HEADER_SIZE(hdr); i++) {
^
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:50:14: note: Assuming the condition is false
for (i = 0; i < HFI_HEADER_SIZE(hdr); i++) {
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:50:2: note: Loop condition is false. Execution continues on line 55
for (i = 0; i < HFI_HEADER_SIZE(hdr); i++) {
^
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:55:6: note: Assuming field 'legacy' is true
if (!gmu->legacy)
^~~~~~~~~~~~
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:55:2: note: Taking false branch
if (!gmu->legacy)
^
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:59:2: note: Returning value, which participates in a condition later
return HFI_HEADER_SIZE(hdr);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:122:9: note: Returning from 'a6xx_hfi_queue_read'
ret = a6xx_hfi_queue_read(gmu, queue, (u32 *) &resp,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:126:8: note: 'ret' is not equal to 0
if (!ret) {
^~~
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:126:3: note: Taking false branch
if (!ret) {
^
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:133:7: note: Assuming the condition is false
if (HFI_HEADER_ID(resp.header) == HFI_F2H_MSG_ERROR) {
^
drivers/gpu/drm/msm/adreno/a6xx_hfi.h:44:28: note: expanded from macro 'HFI_HEADER_ID'
#define HFI_HEADER_ID(msg) ((msg) & 0xff)
^
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:133:3: note: Taking false branch
if (HFI_HEADER_ID(resp.header) == HFI_F2H_MSG_ERROR) {
^
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:142:7: note: Assuming the condition is false
if (seqnum != HFI_HEADER_SEQNUM(resp.ret_header)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:142:3: note: Taking false branch
if (seqnum != HFI_HEADER_SEQNUM(resp.ret_header)) {
^
drivers/gpu/drm/msm/adreno/a6xx_hfi.c:149:7: note: Branch condition evaluates to a garbage value
if (resp.error) {
^~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (12 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.
17 warnings generated.
drivers/hsi/controllers/omap_ssi_port.c:481:2: warning: Value stored to 'val' is never read [clang-analyzer-deadcode.DeadStores]
val = readl(ssr + SSI_SSR_MODE_REG);
^
drivers/hsi/controllers/omap_ssi_port.c:481:2: note: Value stored to 'val' is never read
drivers/hsi/controllers/omap_ssi_port.c:764:2: warning: Value stored to 'mode' is never read [clang-analyzer-deadcode.DeadStores]
mode = readl(omap_port->ssr_base + SSI_SSR_MODE_REG);
^
drivers/hsi/controllers/omap_ssi_port.c:764:2: note: Value stored to 'mode' is never read
drivers/hsi/controllers/omap_ssi_port.c:1332:2: warning: Value stored to 'mode' is never read [clang-analyzer-deadcode.DeadStores]
mode = readl(omap_port->ssr_base + SSI_SSR_MODE_REG);
^
drivers/hsi/controllers/omap_ssi_port.c:1332:2: note: Value stored to 'mode' is never read
Suppressed 14 warnings (12 in non-user code, 2 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.
>> drivers/hsi/clients/ssi_protocol.c:458:21: warning: Value stored to 'cl' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct hsi_client *cl = ssi->cl;
^~ ~~~~~~~
drivers/hsi/clients/ssi_protocol.c:458:21: note: Value stored to 'cl' during its initialization is never read
struct hsi_client *cl = ssi->cl;
^~ ~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/watchdog/pcwd_pci.c:169:2: warning: 1st function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
outb_p(*lsb, pcipcwd_private.io_addr + 4);
^
include/asm-generic/io.h:577:16: note: expanded from macro 'outb_p'
#define outb_p outb_p
^
drivers/watchdog/pcwd_pci.c:688:6: note: Assuming 'cards_found' is not equal to 1
if (cards_found == 1)
^~~~~~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:688:2: note: Taking false branch
if (cards_found == 1)
^
drivers/watchdog/pcwd_pci.c:691:6: note: Assuming 'cards_found' is <= 1
if (cards_found > 1) {
^~~~~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:691:2: note: Taking false branch
if (cards_found > 1) {
^
drivers/watchdog/pcwd_pci.c:696:6: note: Assuming the condition is false
if (pci_enable_device(pdev)) {
^~~~~~~~~~~~~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:696:2: note: Taking false branch
if (pci_enable_device(pdev)) {
^
drivers/watchdog/pcwd_pci.c:701:6: note: Assuming field 'start' is not equal to 0
if (pci_resource_start(pdev, 0) == 0x0000) {
^
include/linux/pci.h:1854:38: note: expanded from macro 'pci_resource_start'
#define pci_resource_start(dev, bar) ((dev)->resource[(bar)].start)
^
drivers/watchdog/pcwd_pci.c:701:2: note: Taking false branch
if (pci_resource_start(pdev, 0) == 0x0000) {
^
drivers/watchdog/pcwd_pci.c:707:2: note: Loop condition is false. Exiting loop
spin_lock_init(&pcipcwd_private.io_lock);
^
include/linux/spinlock.h:334:35: note: expanded from macro 'spin_lock_init'
# define spin_lock_init(lock) \
^
drivers/watchdog/pcwd_pci.c:711:6: note: Assuming the condition is false
if (pci_request_regions(pdev, WATCHDOG_NAME)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:711:2: note: Taking false branch
if (pci_request_regions(pdev, WATCHDOG_NAME)) {
^
drivers/watchdog/pcwd_pci.c:731:2: note: Calling 'pcipcwd_show_card_info'
pcipcwd_show_card_info();
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:226:32: note: 'fw_rev_minor' declared without an initial value
int got_fw_rev, fw_rev_major, fw_rev_minor;
^~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:230:15: note: Calling 'send_command'
got_fw_rev = send_command(CMD_GET_FIRMWARE_VERSION, &fw_rev_major,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:158:6: note: Assuming 'debug' is < DEBUG
if (debug >= DEBUG)
^~~~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:158:2: note: Taking false branch
if (debug >= DEBUG)
^
drivers/watchdog/pcwd_pci.c:169:2: note: 1st function call argument is an uninitialized value
outb_p(*lsb, pcipcwd_private.io_addr + 4);
^ ~~~~
include/asm-generic/io.h:577:16: note: expanded from macro 'outb_p'
#define outb_p outb_p
^
Suppressed 12 warnings (12 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
fs/locks.c:2375:3: warning: Value stored to 'cmd' is never read [clang-analyzer-deadcode.DeadStores]
cmd = F_GETLK;
--
BUILD_BUG_ON(((n) & ((n) - 1)) != 0)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/iio/proximity/sx9310.c:625:11: note: Loop condition is false. Exiting loop
regval = FIELD_GET(SX9310_REG_PROX_CTRL10_HYST_MASK, regval);
^
include/linux/bitfield.h:108:3: note: expanded from macro 'FIELD_GET'
__BF_FIELD_CHECK(_mask, _reg, 0U, "FIELD_GET: "); \
^
include/linux/bitfield.h:54:3: note: expanded from macro '__BF_FIELD_CHECK'
__BUILD_BUG_ON_NOT_POWER_OF_2((_mask) + \
^
include/linux/build_bug.h:21:2: note: expanded from macro '__BUILD_BUG_ON_NOT_POWER_OF_2'
BUILD_BUG_ON(((n) & ((n) - 1)) != 0)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/iio/proximity/sx9310.c:626:6: note: Assuming 'regval' is not equal to 0
if (!regval)
^~~~~~~
drivers/iio/proximity/sx9310.c:626:2: note: Taking false branch
if (!regval)
^
drivers/iio/proximity/sx9310.c:630:17: note: The left operand of '>>' is a garbage value
*val = pthresh >> (5 - regval);
~~~~~~~ ^
drivers/iio/proximity/sx9310.c:743:26: warning: The left operand of '>>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
else if (val == pthresh >> 2)
^
drivers/iio/proximity/sx9310.c:803:6: note: Assuming field 'type' is equal to IIO_PROXIMITY
if (chan->type != IIO_PROXIMITY)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/proximity/sx9310.c:803:2: note: Taking false branch
if (chan->type != IIO_PROXIMITY)
^
drivers/iio/proximity/sx9310.c:806:2: note: Control jumps to 'case IIO_EV_INFO_HYSTERESIS:' at line 818
switch (info) {
^
drivers/iio/proximity/sx9310.c:819:10: note: Calling 'sx9310_write_hysteresis'
return sx9310_write_hysteresis(data, chan, val);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/proximity/sx9310.c:735:11: note: 'pthresh' declared without an initial value
int ret, pthresh;
^~~~~~~
drivers/iio/proximity/sx9310.c:737:8: note: Calling 'sx9310_read_thresh'
ret = sx9310_read_thresh(data, chan, &pthresh);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/proximity/sx9310.c:596:6: note: 'ret' is >= 0
if (ret < 0)
^~~
drivers/iio/proximity/sx9310.c:596:2: note: Taking false branch
if (ret < 0)
^
drivers/iio/proximity/sx9310.c:600:6: note: Assuming 'ret' is not equal to 0
if (ret)
^~~
drivers/iio/proximity/sx9310.c:600:2: note: Taking true branch
if (ret)
^
drivers/iio/proximity/sx9310.c:601:3: note: Returning without writing to '*val'
return ret;
^
drivers/iio/proximity/sx9310.c:737:8: note: Returning from 'sx9310_read_thresh'
ret = sx9310_read_thresh(data, chan, &pthresh);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/proximity/sx9310.c:738:6: note: Assuming 'ret' is >= 0
if (ret < 0)
^~~~~~~
drivers/iio/proximity/sx9310.c:738:2: note: Taking false branch
if (ret < 0)
^
drivers/iio/proximity/sx9310.c:741:6: note: Assuming 'val' is not equal to 0
if (val == 0)
^~~~~~~~
drivers/iio/proximity/sx9310.c:741:2: note: Taking false branch
if (val == 0)
^
drivers/iio/proximity/sx9310.c:743:26: note: The left operand of '>>' is a garbage value
else if (val == pthresh >> 2)
~~~~~~~ ^
Suppressed 13 warnings (13 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.
>> drivers/mtd/devices/st_spi_fsm.c:275:8: warning: Excessive padding in 'struct seq_rw_config' (6 padding bytes, where 2 is optimal).
Optimal fields order:
flags,
write,
cmd,
addr_pads,
data_pads,
mode_data,
mode_cycles,
dummy_cycles,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct seq_rw_config {
~~~~~~~^~~~~~~~~~~~~~~
drivers/mtd/devices/st_spi_fsm.c:275:8: note: Excessive padding in 'struct seq_rw_config' (6 padding bytes, where 2 is optimal). Optimal fields order: flags, write, cmd, addr_pads, data_pads, mode_data, mode_cycles, dummy_cycles, consider reordering the fields or adding explicit padding members
struct seq_rw_config {
~~~~~~~^~~~~~~~~~~~~~~
>> drivers/mtd/devices/st_spi_fsm.c:287:8: warning: Excessive padding in 'struct flash_info' (4 padding bytes, where 0 is optimal).
Optimal fields order:
name,
jedec_id,
sector_size,
flags,
max_freq,
config,
ext_id,
n_sectors,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct flash_info {
~~~~~~~^~~~~~~~~~~~
drivers/mtd/devices/st_spi_fsm.c:287:8: note: Excessive padding in 'struct flash_info' (4 padding bytes, where 0 is optimal). Optimal fields order: name, jedec_id, sector_size, flags, max_freq, config, ext_id, n_sectors, consider reordering the fields or adding explicit padding members
struct flash_info {
~~~~~~~^~~~~~~~~~~~
>> drivers/mtd/devices/st_spi_fsm.c:1427:3: warning: Value stored to 'offs' is never read [clang-analyzer-deadcode.DeadStores]
offs = 0;
^ ~
drivers/mtd/devices/st_spi_fsm.c:1427:3: note: Value stored to 'offs' is never read
offs = 0;
^ ~
Suppressed 12 warnings (12 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.
1 warning generated.
include/linux/mtd/mtd.h:470:19: warning: The left operand of '==' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
return ops->mode == MTD_OPS_AUTO_OOB ? mtd->oobavail : mtd->oobsize;
^
drivers/mtd/nand/onenand/onenand_base.c:3187:28: note: Assuming the condition is false
u_char *buf = FLEXONENAND(this) ? this->page_buf : this->oob_buf;
^
include/linux/mtd/onenand.h:161:3: note: expanded from macro 'FLEXONENAND'
(this->device_id & DEVICE_IS_FLEXONENAND)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:3187:16: note: '?' condition is false
u_char *buf = FLEXONENAND(this) ? this->page_buf : this->oob_buf;
^
include/linux/mtd/onenand.h:161:2: note: expanded from macro 'FLEXONENAND'
(this->device_id & DEVICE_IS_FLEXONENAND)
^
drivers/mtd/nand/onenand/onenand_base.c:3192:20: note: '?' condition is false
memset(buf, 0xff, FLEXONENAND(this) ? this->writesize
^
include/linux/mtd/onenand.h:161:2: note: expanded from macro 'FLEXONENAND'
(this->device_id & DEVICE_IS_FLEXONENAND)
^
drivers/mtd/nand/onenand/onenand_base.c:3202:8: note: '?' condition is false
len = FLEXONENAND(this) ? mtd->writesize : 16;
^
include/linux/mtd/onenand.h:161:2: note: expanded from macro 'FLEXONENAND'
(this->device_id & DEVICE_IS_FLEXONENAND)
^
drivers/mtd/nand/onenand/onenand_base.c:3210:2: note: Taking false branch
if (FLEXONENAND(this))
^
drivers/mtd/nand/onenand/onenand_base.c:3214:6: note: Assuming 'otp' is equal to 1
if (otp == 1)
^~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:3214:2: note: Taking true branch
if (otp == 1)
^
drivers/mtd/nand/onenand/onenand_base.c:3223:8: note: Calling 'onenand_otp_walk'
ret = onenand_otp_walk(mtd, from, len, &retlen, buf, do_otp_lock, MTD_OTP_USER);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:3038:6: note: Assuming 'density' is >= ONENAND_DEVICE_DENSITY_512Mb
if (density < ONENAND_DEVICE_DENSITY_512Mb)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:3038:2: note: Taking false branch
if (density < ONENAND_DEVICE_DENSITY_512Mb)
^
drivers/mtd/nand/onenand/onenand_base.c:3043:6: note: 'mode' is not equal to MTD_OTP_FACTORY
if (mode == MTD_OTP_FACTORY) {
^~~~
drivers/mtd/nand/onenand/onenand_base.c:3043:2: note: Taking false branch
if (mode == MTD_OTP_FACTORY) {
^
drivers/mtd/nand/onenand/onenand_base.c:3049:6: note: 'mode' is equal to MTD_OTP_USER
if (mode == MTD_OTP_USER) {
^~~~
drivers/mtd/nand/onenand/onenand_base.c:3049:2: note: Taking true branch
if (mode == MTD_OTP_USER) {
^
drivers/mtd/nand/onenand/onenand_base.c:3050:7: note: Assuming the condition is false
if (mtd->writesize * otp_pages < from + len)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:3050:3: note: Taking false branch
if (mtd->writesize * otp_pages < from + len)
^
drivers/mtd/nand/onenand/onenand_base.c:3058:9: note: 'len' is > 0
while (len > 0 && otp_pages > 0) {
^~~
drivers/mtd/nand/onenand/onenand_base.c:3058:9: note: Left side of '&&' is true
drivers/mtd/nand/onenand/onenand_base.c:3058:2: note: Loop condition is true. Entering loop body
while (len > 0 && otp_pages > 0) {
^
drivers/mtd/nand/onenand/onenand_base.c:3059:8: note: 'action' is non-null
if (!action) { /* OTP Info functions */
^~~~~~
drivers/mtd/nand/onenand/onenand_base.c:3059:3: note: Taking false branch
if (!action) { /* OTP Info functions */
^
drivers/mtd/nand/onenand/onenand_base.c:3079:10: note: Calling 'do_otp_lock'
ret = action(mtd, from, len, &tmp_retlen, buf);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:2983:18: note: Assuming the condition is true
if (FLEXONENAND(this)) {
^
include/linux/mtd/onenand.h:161:3: note: expanded from macro 'FLEXONENAND'
(this->device_id & DEVICE_IS_FLEXONENAND)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:2983:2: note: Taking true branch
if (FLEXONENAND(this)) {
^
drivers/mtd/nand/onenand/onenand_base.c:2996:9: note: Calling 'onenand_write_ops_nolock'
ret = onenand_write_ops_nolock(mtd, mtd->writesize * 49, &ops);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:1799:2: note: Taking false branch
--
hlist_for_each_entry_safe(__nr_neigh, node2, list, neigh_node)
^~~~~~~~~~
include/linux/list.h:1025:7: note: expanded from macro 'hlist_for_each_entry_safe'
pos && ({ n = pos->member.next; 1; }); \
^~~
net/netrom/nr_route.c:971:25: note: Left side of '&&' is true
nr_neigh_for_each_safe(s, nodet, &nr_neigh_list) {
^
net/netrom/nr_route.c:971:2: note: Loop condition is true. Entering loop body
nr_neigh_for_each_safe(s, nodet, &nr_neigh_list) {
^
include/net/netrom.h:164:2: note: expanded from macro 'nr_neigh_for_each_safe'
hlist_for_each_entry_safe(__nr_neigh, node2, list, neigh_node)
^
include/linux/list.h:1024:2: note: expanded from macro 'hlist_for_each_entry_safe'
for (pos = hlist_entry_safe((head)->first, typeof(*pos), member);\
^
net/netrom/nr_route.c:972:3: note: Loop condition is true. Entering loop body
while(s->count) {
^
net/netrom/nr_route.c:974:4: note: Calling 'nr_neigh_put'
nr_neigh_put(s);
^~~~~~~~~~~~~~~
include/net/netrom.h:138:2: note: Taking true branch
if (refcount_dec_and_test(&nr_neigh->refcount)) {
^
include/net/netrom.h:139:7: note: Assuming field 'ax25' is null
if (nr_neigh->ax25)
^~~~~~~~~~~~~~
include/net/netrom.h:139:3: note: Taking false branch
if (nr_neigh->ax25)
^
include/net/netrom.h:142:3: note: Memory is released
kfree(nr_neigh);
^~~~~~~~~~~~~~~
net/netrom/nr_route.c:974:4: note: Returning; memory was released via 1st parameter
nr_neigh_put(s);
^~~~~~~~~~~~~~~
net/netrom/nr_route.c:972:9: note: Use of memory after it is freed
while(s->count) {
^~~~~~~~
Suppressed 13 warnings (13 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.
1 warning generated.
drivers/hwmon/ltc2945.c:286:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = regmap_update_bits(regmap, LTC2945_CONTROL, CONTROL_TEST_MODE,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/hwmon/ltc2945.c:286:2: note: Value stored to 'ret' is never read
ret = regmap_update_bits(regmap, LTC2945_CONTROL, CONTROL_TEST_MODE,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
drivers/iio/gyro/itg3200_core.c:94:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = itg3200_read_reg_s16(indio_dev, reg, val);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/gyro/itg3200_core.c:94:3: note: Value stored to 'ret' is never read
ret = itg3200_read_reg_s16(indio_dev, reg, val);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/gyro/itg3200_core.c:371:18: warning: Value stored to 'st' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct itg3200 *st = iio_priv(indio_dev);
^~ ~~~~~~~~~~~~~~~~~~~
drivers/iio/gyro/itg3200_core.c:371:18: note: Value stored to 'st' during its initialization is never read
struct itg3200 *st = iio_priv(indio_dev);
^~ ~~~~~~~~~~~~~~~~~~~
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
Suppressed 14 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
Suppressed 14 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/venc.c:697:2: warning: Value stored to 'rev_id' is never read [clang-analyzer-deadcode.DeadStores]
rev_id = (u8)(venc_read_reg(venc, VENC_REV_ID) & 0xff);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/venc.c:697:2: note: Value stored to 'rev_id' is never read
rev_id = (u8)(venc_read_reg(venc, VENC_REV_ID) & 0xff);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
4 warnings generated.
Suppressed 4 warnings (4 with check filters).
13 warnings generated.
drivers/gpu/drm/drm_mode_config.c:443:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = drm_modeset_backoff(&modeset_ctx);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_mode_config.c:443:4: note: Value stored to 'ret' is never read
ret = drm_modeset_backoff(&modeset_ctx);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
drivers/gpu/drm/drm_syncobj.c:408:2: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
drm_syncobj_fence_add_wait(syncobj, &wait);
^
drivers/gpu/drm/drm_syncobj.c:886:2: note: Taking false branch
if (!drm_core_check_feature(dev, DRIVER_SYNCOBJ_TIMELINE))
^
drivers/gpu/drm/drm_syncobj.c:889:6: note: Assuming field 'pad' is 0
if (args->pad)
^~~~~~~~~
drivers/gpu/drm/drm_syncobj.c:889:2: note: Taking false branch
if (args->pad)
^
drivers/gpu/drm/drm_syncobj.c:892:6: note: Assuming field 'dst_point' is 0
if (args->dst_point)
^~~~~~~~~~~~~~~
drivers/gpu/drm/drm_syncobj.c:892:2: note: Taking false branch
if (args->dst_point)
^
drivers/gpu/drm/drm_syncobj.c:895:9: note: Calling 'drm_syncobj_transfer_to_binary'
ret = drm_syncobj_transfer_to_binary(file_private, args);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_syncobj.c:866:7: note: 'binary_syncobj' is non-null
if (!binary_syncobj)
^~~~~~~~~~~~~~
drivers/gpu/drm/drm_syncobj.c:866:2: note: Taking false branch
if (!binary_syncobj)
^
drivers/gpu/drm/drm_syncobj.c:868:8: note: Calling 'drm_syncobj_find_fence'
ret = drm_syncobj_find_fence(file_private, args->src_handle,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_syncobj.c:382:32: note: Calling 'drm_syncobj_find'
struct drm_syncobj *syncobj = drm_syncobj_find(file_private, handle);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_syncobj.c:231:6: note: Assuming 'syncobj' is non-null
if (syncobj)
^~~~~~~
drivers/gpu/drm/drm_syncobj.c:231:2: note: Taking true branch
if (syncobj)
--
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/base/regmap/regmap-debugfs.c:72:7: note: Loop condition is false. Exiting loop
c = list_first_entry(&map->debugfs_off_cache,
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/base/regmap/regmap-debugfs.c:75:3: note: Calling 'list_del'
list_del(&c->list);
^~~~~~~~~~~~~~~~~~
include/linux/list.h:147:14: note: Use of memory after it is freed
entry->next = LIST_POISON1;
~~~~~~~~~~~ ^
2 warnings generated.
drivers/clocksource/ingenic-timer.c:32:8: warning: Excessive padding in 'struct ingenic_tcu_timer' (108 padding bytes, where 44 is optimal).
Optimal fields order:
cevt,
cpu,
channel,
clk,
name,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct ingenic_tcu_timer {
~~~~~~~^~~~~~~~~~~~~~~~~~~
drivers/clocksource/ingenic-timer.c:32:8: note: Excessive padding in 'struct ingenic_tcu_timer' (108 padding bytes, where 44 is optimal). Optimal fields order: cevt, cpu, channel, clk, name, consider reordering the fields or adding explicit padding members
struct ingenic_tcu_timer {
~~~~~~~^~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
net/core/net-sysfs.c:1662:2: warning: Value stored to 'txq' is never read [clang-analyzer-deadcode.DeadStores]
txq = real_tx;
^ ~~~~~~~
net/core/net-sysfs.c:1662:2: note: Value stored to 'txq' is never read
txq = real_tx;
^ ~~~~~~~
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
>> drivers/nvmem/sunxi_sid.c:107:2: warning: Null pointer passed as 1st argument to memory copy function [clang-analyzer-unix.cstring.NullArg]
memcpy(val, &word, bytes);
^ ~~~
drivers/nvmem/sunxi_sid.c:89:9: note: Assuming 'bytes' is >= 4
while (bytes >= 4) {
^~~~~~~~~~
drivers/nvmem/sunxi_sid.c:89:2: note: Loop condition is true. Entering loop body
while (bytes >= 4) {
^
drivers/nvmem/sunxi_sid.c:90:9: note: Calling 'sun8i_sid_register_readout'
ret = sun8i_sid_register_readout(sid, offset, val);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/nvmem/sunxi_sid.c:61:2: note: Loop condition is false. Exiting loop
writel(reg_val, sid->base + SUN8I_SID_PRCTL);
^
arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
#define writel(v,c) ({ __iowmb(); writel_relaxed(v,c); })
^
arch/arm/include/asm/io.h:166:20: note: expanded from macro '__iowmb'
#define __iowmb() wmb()
^
arch/arm/include/asm/barrier.h:66:16: note: expanded from macro 'wmb'
#define wmb() __arm_heavy_mb(st)
^
arch/arm/include/asm/barrier.h:58:30: note: expanded from macro '__arm_heavy_mb'
#define __arm_heavy_mb(x...) do { dsb(x); arm_heavy_mb(); } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: '__sleep_us' is not equal to 0
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/iopoll.h:42:17: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^~~~~~~~~~~~
include/linux/kernel.h:160:39: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^~~~
drivers/nvmem/sunxi_sid.c:63:8: note: Taking true branch
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^
include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^
include/linux/kernel.h:160:35: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false. Exiting loop
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^
include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^
include/linux/kernel.h:160:45: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^
include/linux/kernel.h:152:29: note: expanded from macro 'might_sleep'
# define might_sleep() do { might_resched(); } while (0)
^
include/linux/kernel.h:87:26: note: expanded from macro 'might_resched'
# define might_resched() do { } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false. Exiting loop
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^
include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^
include/linux/kernel.h:160:45: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^
include/linux/kernel.h:152:24: note: expanded from macro 'might_sleep'
# define might_sleep() do { might_resched(); } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false. Exiting loop
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
--
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.
drivers/gpu/drm/amd/amdgpu/vce_v3_0.c:668:3: warning: Value stored to 'tmp' is never read [clang-analyzer-deadcode.DeadStores]
tmp = RREG32(mmSRBM_SOFT_RESET);
^
drivers/gpu/drm/amd/amdgpu/vce_v3_0.c:668:3: note: Value stored to 'tmp' is never read
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1246:5: warning: Value stored to 'ring' is never read [clang-analyzer-deadcode.DeadStores]
ring = &adev->vcn.inst->ring_dec;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1246:5: note: Value stored to 'ring' is never read
ring = &adev->vcn.inst->ring_dec;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1307:5: warning: Value stored to 'ring' is never read [clang-analyzer-deadcode.DeadStores]
ring = &adev->vcn.inst->ring_dec;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1307:5: note: Value stored to 'ring' is never read
ring = &adev->vcn.inst->ring_dec;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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 (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/i2c/busses/i2c-amd756.c:108:7: warning: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp' [clang-analyzer-deadcode.DeadStores]
if ((temp = inw_p(SMB_GLOBAL_STATUS)) & (GS_HST_STS | GS_SMB_STS)) {
^
drivers/i2c/busses/i2c-amd756.c:108:7: note: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp'
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/i2c/busses/i2c-sis5595.c:229:8: warning: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp' [clang-analyzer-deadcode.DeadStores]
if ((temp = sis5595_read(SMB_STS_LO) + (sis5595_read(SMB_STS_HI) << 8)) != 0x00) {
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/i2c/busses/i2c-sis5595.c:229:8: note: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp'
if ((temp = sis5595_read(SMB_STS_LO) + (sis5595_read(SMB_STS_HI) << 8)) != 0x00) {
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
>> drivers/cpufreq/mediatek-cpufreq.c:305:14: warning: Value stored to 'cpu_clk' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct clk *cpu_clk = ERR_PTR(-ENODEV);
^~~~~~~ ~~~~~~~~~~~~~~~~
drivers/cpufreq/mediatek-cpufreq.c:305:14: note: Value stored to 'cpu_clk' during its initialization is never read
struct clk *cpu_clk = ERR_PTR(-ENODEV);
^~~~~~~ ~~~~~~~~~~~~~~~~
>> drivers/cpufreq/mediatek-cpufreq.c:306:14: warning: Value stored to 'inter_clk' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct clk *inter_clk = ERR_PTR(-ENODEV);
^~~~~~~~~ ~~~~~~~~~~~~~~~~
drivers/cpufreq/mediatek-cpufreq.c:306:14: note: Value stored to 'inter_clk' during its initialization is never read
struct clk *inter_clk = ERR_PTR(-ENODEV);
^~~~~~~~~ ~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
1 warning generated.
Suppressed 1 warnings (1 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.
1 warning generated.
Suppressed 1 warnings (1 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/clocksource/timer-of.c:191:3: warning: Value stored to 'flags' is never read [clang-analyzer-deadcode.DeadStores]
flags |= TIMER_OF_IRQ;
^
drivers/clocksource/timer-of.c:191:3: note: Value stored to 'flags' is never read
Suppressed 1 warnings (1 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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 (12 in non-user code, 4 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 (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
drivers/leds/leds-lp5523.c:811:2: warning: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn]
return ret;
^ ~~~
drivers/leds/leds-lp5523.c:798:2: note: 'ret' declared without an initial value
int ret;
^~~~~~~
drivers/leds/leds-lp5523.c:802:14: note: Assuming 'i' is >= field 'num_colors'
for (i = 0; i < led->mc_cdev.num_colors; i++) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/leds-lp5523.c:802:2: note: Loop condition is false. Execution continues on line 810
for (i = 0; i < led->mc_cdev.num_colors; i++) {
^
drivers/leds/leds-lp5523.c:811:2: note: Undefined or garbage value returned to caller
return ret;
^ ~~~
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
14 warnings generated.
drivers/iio/accel/mma8452.c:254:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = i2c_smbus_read_i2c_block_data(data->client, MMA8452_OUT_X,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/accel/mma8452.c:254:2: note: Value stored to 'ret' is never read
ret = i2c_smbus_read_i2c_block_data(data->client, MMA8452_OUT_X,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
1 warning generated.
Suppressed 1 warnings (1 with check filters).
1 warning generated.
Suppressed 1 warnings (1 with check filters).
1 warning generated.
Suppressed 1 warnings (1 with check filters).
--
fs/reiserfs/fix_node.c:2637:7: note: 'ret' is equal to CARRY_ON
if (ret != CARRY_ON) {
^~~
fs/reiserfs/fix_node.c:2637:3: note: Taking false branch
if (ret != CARRY_ON) {
^
fs/reiserfs/fix_node.c:2655:7: note: 'ret' is equal to CARRY_ON
if (ret != CARRY_ON)
^~~
fs/reiserfs/fix_node.c:2655:3: note: Taking false branch
if (ret != CARRY_ON)
^
fs/reiserfs/fix_node.c:2663:7: note: 'ret' is equal to CARRY_ON
if (ret != CARRY_ON)
^~~
fs/reiserfs/fix_node.c:2663:3: note: Taking false branch
if (ret != CARRY_ON)
^
fs/reiserfs/fix_node.c:2670:8: note: Field 'pe_buffer' is non-null
if (!PATH_H_PBUFFER(tb->tb_path, h)) {
^
fs/reiserfs/reiserfs.h:2171:4: note: expanded from macro 'PATH_H_PBUFFER'
PATH_OFFSET_PBUFFER(path, path->path_length - (h))
^
fs/reiserfs/reiserfs.h:2150:86: note: expanded from macro 'PATH_OFFSET_PBUFFER'
#define PATH_OFFSET_PBUFFER(path, n_offset) (PATH_OFFSET_PELEMENT(path, n_offset)->pe_buffer)
^
fs/reiserfs/fix_node.c:2670:3: note: Taking false branch
if (!PATH_H_PBUFFER(tb->tb_path, h)) {
^
fs/reiserfs/fix_node.c:2677:14: note: Assuming field 'pe_buffer' is null
} else if (!PATH_H_PBUFFER(tb->tb_path, h + 1)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/reiserfs/fix_node.c:2677:10: note: Taking true branch
} else if (!PATH_H_PBUFFER(tb->tb_path, h + 1)) {
^
fs/reiserfs/fix_node.c:2684:8: note: Assuming the condition is true
if (tb->blknum[h] > 1) {
^~~~~~~~~~~~~~~~~
fs/reiserfs/fix_node.c:2684:4: note: Taking true branch
if (tb->blknum[h] > 1) {
^
fs/reiserfs/fix_node.c:2686:5: note: Loop condition is false. Exiting loop
RFALSE(h == MAX_HEIGHT - 1,
^
fs/reiserfs/reiserfs.h:922:41: note: expanded from macro 'RFALSE'
#define RFALSE( cond, format, args... ) do {;} while( 0 )
^
fs/reiserfs/fix_node.c:2630:14: note: 'h' is < MAX_HEIGHT
for (h = 0; h < MAX_HEIGHT && tb->insert_size[h]; h++) {
^
fs/reiserfs/fix_node.c:2630:14: note: Left side of '&&' is true
fs/reiserfs/fix_node.c:2630:2: note: Loop condition is true. Entering loop body
for (h = 0; h < MAX_HEIGHT && tb->insert_size[h]; h++) {
^
fs/reiserfs/fix_node.c:2631:9: note: Calling 'get_direct_parent'
ret = get_direct_parent(tb, h);
^~~~~~~~~~~~~~~~~~~~~~~~
fs/reiserfs/fix_node.c:2098:6: note: Assuming 'path_offset' is > FIRST_PATH_ELEMENT_OFFSET
if (path_offset <= FIRST_PATH_ELEMENT_OFFSET) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/reiserfs/fix_node.c:2098:2: note: Taking false branch
if (path_offset <= FIRST_PATH_ELEMENT_OFFSET) {
^
fs/reiserfs/fix_node.c:2115:6: note: Assuming the condition is false
if (!B_IS_IN_TREE
^~~~~~~~~~~~~
fs/reiserfs/fix_node.c:2115:2: note: Taking false branch
if (!B_IS_IN_TREE
^
fs/reiserfs/fix_node.c:2119:6: note: Assuming the condition is false
if ((position =
^~~~~~~~~~~
fs/reiserfs/fix_node.c:2119:2: note: Taking false branch
if ((position =
^
fs/reiserfs/fix_node.c:2126:6: note: Access to field 'b_blocknr' results in a dereference of a null pointer (loaded from field 'pe_buffer')
PATH_OFFSET_PBUFFER(path, path_offset)->b_blocknr)
^
fs/reiserfs/reiserfs.h:2150:47: note: expanded from macro 'PATH_OFFSET_PBUFFER'
#define PATH_OFFSET_PBUFFER(path, n_offset) (PATH_OFFSET_PELEMENT(path, n_offset)->pe_buffer)
^ ~~~~~~~~~
Suppressed 14 warnings (12 in non-user code, 2 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 (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
>> arch/arm/mach-omap2/id.c:158:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
rev = (idcode >> 28) & 0x0f;
^ ~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:158:2: note: Value stored to 'rev' is never read
rev = (idcode >> 28) & 0x0f;
^ ~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:191:3: warning: Value stored to 'j' is never read [clang-analyzer-deadcode.DeadStores]
j = i;
^ ~
arch/arm/mach-omap2/id.c:191:3: note: Value stored to 'j' is never read
j = i;
^ ~
arch/arm/mach-omap2/id.c:266:2: warning: Value stored to 'n' is never read [clang-analyzer-deadcode.DeadStores]
n += scnprintf(buf + n, sizeof(buf) - n, ")\n");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:266:2: note: Value stored to 'n' is never read
n += scnprintf(buf + n, sizeof(buf) - n, ")\n");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:363:3: warning: Value stored to 'cpu_rev' is never read [clang-analyzer-deadcode.DeadStores]
cpu_rev = "1.0";
^ ~~~~~
arch/arm/mach-omap2/id.c:363:3: note: Value stored to 'cpu_rev' is never read
cpu_rev = "1.0";
^ ~~~~~
arch/arm/mach-omap2/id.c:773:9: warning: 3rd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^ ~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:773:41: note: Calling 'omap_type'
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^~~~~~~~~~~
arch/arm/mach-omap2/id.c:52:2: note: 'val' initialized to 1792
static u32 val = OMAP2_DEVICETYPE_MASK;
^~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:54:2: note: Taking false branch
if (val < OMAP2_DEVICETYPE_MASK)
^
arch/arm/mach-omap2/id.c:57:2: note: Taking false branch
if (soc_is_omap24xx()) {
^
arch/arm/mach-omap2/id.c:59:9: note: Taking false branch
} else if (soc_is_ti81xx()) {
^
arch/arm/mach-omap2/id.c:61:13: note: Left side of '||' is false
} else if (soc_is_am33xx() || soc_is_am43xx()) {
^
arch/arm/mach-omap2/soc.h:174:27: note: expanded from macro 'soc_is_am33xx'
#define soc_is_am33xx() 0
^
arch/arm/mach-omap2/id.c:61:9: note: Taking false branch
} else if (soc_is_am33xx() || soc_is_am43xx()) {
^
arch/arm/mach-omap2/id.c:63:9: note: Taking false branch
} else if (soc_is_omap34xx()) {
^
arch/arm/mach-omap2/id.c:65:9: note: Taking false branch
} else if (soc_is_omap44xx()) {
^
arch/arm/mach-omap2/id.c:67:13: note: Left side of '||' is false
} else if (soc_is_omap54xx() || soc_is_dra7xx()) {
^
arch/arm/mach-omap2/soc.h:309:29: note: expanded from macro 'soc_is_omap54xx'
# define soc_is_omap54xx() is_omap54xx()
^
arch/arm/mach-omap2/id.c:67:9: note: Taking false branch
} else if (soc_is_omap54xx() || soc_is_dra7xx()) {
^
arch/arm/mach-omap2/id.c:74:3: note: Control jumps to line 81
goto out;
^
arch/arm/mach-omap2/id.c:81:2: note: Returning the value 1792 (loaded from 'val')
return val;
^~~~~~~~~~
arch/arm/mach-omap2/id.c:773:41: note: Returning from 'omap_type'
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^~~~~~~~~~~
arch/arm/mach-omap2/id.c:773:9: note: 3rd function call argument is an uninitialized value
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^ ~~~~~~~~~~~~~~~~~~~~~~~
14 warnings generated.
mm/oom_kill.c:257:17: warning: Value stored to 'highest_zoneidx' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
enum zone_type highest_zoneidx = gfp_zone(oc->gfp_mask);
^~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
mm/oom_kill.c:257:17: note: Value stored to 'highest_zoneidx' during its initialization is never read
enum zone_type highest_zoneidx = gfp_zone(oc->gfp_mask);
^~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
mm/page-writeback.c:1408:14: warning: The result of the left shift is undefined because the right operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
return 1UL << (ilog2(thresh - dirty) >> 1);
^
mm/page-writeback.c:1885:6: note: Assuming the condition is false
if (!(bdi->capabilities & BDI_CAP_WRITEBACK))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/page-writeback.c:1885:2: note: Taking false branch
--
^~~~~~~~~~~~~~~~
fs/xfs/scrub/parent.c:173:6: note: Left side of '||' is false
fs/xfs/scrub/parent.c:173:26: note: Assuming the condition is false
if (error == -EINVAL || error == -ENOENT) {
^~~~~~~~~~~~~~~~
fs/xfs/scrub/parent.c:173:2: note: Taking false branch
if (error == -EINVAL || error == -ENOENT) {
^
fs/xfs/scrub/parent.c:178:6: note: Assuming the condition is false
if (!xchk_fblock_xref_process_error(sc, XFS_DATA_FORK, 0, &error))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/scrub/parent.c:178:2: note: Taking false branch
if (!xchk_fblock_xref_process_error(sc, XFS_DATA_FORK, 0, &error))
^
fs/xfs/scrub/parent.c:180:6: note: Assuming 'dp' is not equal to field 'ip'
if (dp == sc->ip || !S_ISDIR(VFS_I(dp)->i_mode)) {
^~~~~~~~~~~~
fs/xfs/scrub/parent.c:180:6: note: Left side of '||' is false
fs/xfs/scrub/parent.c:180:23: note: Assuming the condition is true
if (dp == sc->ip || !S_ISDIR(VFS_I(dp)->i_mode)) {
^
include/uapi/linux/stat.h:23:21: note: expanded from macro 'S_ISDIR'
#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
^~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/scrub/parent.c:180:2: note: Taking false branch
if (dp == sc->ip || !S_ISDIR(VFS_I(dp)->i_mode)) {
^
fs/xfs/scrub/parent.c:192:6: note: Assuming the condition is false
if (xfs_ilock_nowait(dp, XFS_IOLOCK_SHARED)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/scrub/parent.c:192:2: note: Taking false branch
if (xfs_ilock_nowait(dp, XFS_IOLOCK_SHARED)) {
^
fs/xfs/scrub/parent.c:211:6: note: Assuming 'error' is 0
if (error)
^~~~~
fs/xfs/scrub/parent.c:211:2: note: Taking false branch
if (error)
^
fs/xfs/scrub/parent.c:215:10: note: Calling 'xchk_parent_count_parent_dentries'
error = xchk_parent_count_parent_dentries(sc, dp, &nlink);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/scrub/parent.c:93:6: note: Assuming field 'if_nextents' is > 0
if (parent->i_df.if_nextents > 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/scrub/parent.c:93:2: note: Taking true branch
if (parent->i_df.if_nextents > 0)
^
fs/xfs/scrub/parent.c:96:6: note: Assuming 'error' is not equal to 0
if (error)
^~~~~
fs/xfs/scrub/parent.c:96:2: note: Taking true branch
if (error)
^
fs/xfs/scrub/parent.c:97:3: note: Returning without writing to '*nlink'
return error;
^
fs/xfs/scrub/parent.c:215:10: note: Returning from 'xchk_parent_count_parent_dentries'
error = xchk_parent_count_parent_dentries(sc, dp, &nlink);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/scrub/parent.c:216:6: note: Assuming the condition is false
if (!xchk_fblock_xref_process_error(sc, XFS_DATA_FORK, 0, &error))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/scrub/parent.c:216:2: note: Taking false branch
if (!xchk_fblock_xref_process_error(sc, XFS_DATA_FORK, 0, &error))
^
fs/xfs/scrub/parent.c:222:6: note: Assuming 'error' is 0
if (error)
^~~~~
fs/xfs/scrub/parent.c:222:2: note: Taking false branch
if (error)
^
fs/xfs/scrub/parent.c:231:19: note: Assuming field 'i_nlink' is not equal to 0
expected_nlink = VFS_I(sc->ip)->i_nlink == 0 ? 0 : 1;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/scrub/parent.c:231:19: note: '?' condition is false
fs/xfs/scrub/parent.c:235:6: note: Assuming the condition is false
if (!xchk_fblock_process_error(sc, XFS_DATA_FORK, 0, &error))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/scrub/parent.c:235:2: note: Taking false branch
if (!xchk_fblock_process_error(sc, XFS_DATA_FORK, 0, &error))
^
fs/xfs/scrub/parent.c:239:6: note: Assuming 'dnum' is equal to field 'i_ino'
if (dnum != dp->i_ino) {
^~~~~~~~~~~~~~~~~
fs/xfs/scrub/parent.c:239:2: note: Taking false branch
if (dnum != dp->i_ino) {
^
fs/xfs/scrub/parent.c:250:12: note: The left operand of '!=' is a garbage value
if (nlink != expected_nlink)
~~~~~ ^
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
>> arch/arm/mach-imx/tzic.c:160:2: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores]
i = imx_readl(tzic_base + TZIC_INTCNTL);
^
arch/arm/mach-imx/tzic.c:160:2: note: Value stored to 'i' is never read
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
12 warnings generated.
Suppressed 12 warnings (12 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 with check filters).
1 warning generated.
lib/glob.c:48:32: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
char const *back_pat = NULL, *back_str = back_str;
^ ~~~~~~~~
lib/glob.c:48:32: note: Assigned value is garbage or undefined
char const *back_pat = NULL, *back_str = back_str;
^ ~~~~~~~~
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/pinctrl/samsung/pinctrl-samsung.c:1065:19: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
bank->eint_base = virt_base[0];
^
drivers/pinctrl/samsung/pinctrl-samsung.c:1102:6: note: Assuming 'drvdata' is non-null
if (!drvdata)
^~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1102:2: note: Taking false branch
if (!drvdata)
^
drivers/pinctrl/samsung/pinctrl-samsung.c:1105:9: note: Calling 'samsung_pinctrl_get_soc_data'
ctrl = samsung_pinctrl_get_soc_data(drvdata, pdev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1019:9: note: Calling 'samsung_pinctrl_get_soc_data_for_of_alias'
ctrl = samsung_pinctrl_get_soc_data_for_of_alias(pdev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:991:6: note: Assuming 'id' is >= 0
if (id < 0) {
^~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:991:2: note: Taking false branch
if (id < 0) {
^
drivers/pinctrl/samsung/pinctrl-samsung.c:997:6: note: Assuming 'id' is < field 'num_ctrl'
if (id >= of_data->num_ctrl) {
^~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:997:2: note: Taking false branch
if (id >= of_data->num_ctrl) {
^
drivers/pinctrl/samsung/pinctrl-samsung.c:1002:2: note: Returning pointer, which participates in a condition later
return &(of_data->ctrl[id]);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1019:9: note: Returning from 'samsung_pinctrl_get_soc_data_for_of_alias'
ctrl = samsung_pinctrl_get_soc_data_for_of_alias(pdev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1020:6: note: Assuming 'ctrl' is non-null
if (!ctrl)
^~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1020:2: note: Taking false branch
if (!ctrl)
^
drivers/pinctrl/samsung/pinctrl-samsung.c:1026:17: note: Calling 'devm_kcalloc'
d->pin_banks = devm_kcalloc(&pdev->dev, d->nr_banks,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/device.h:232:9: note: Calling 'devm_kmalloc_array'
return devm_kmalloc_array(dev, n, size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/device.h:224:2: note: Taking false branch
if (unlikely(check_mul_overflow(n, size, &bytes)))
^
include/linux/device.h:227:2: note: Returning pointer, which participates in a condition later
--
^
include/linux/device.h:227:2: note: Returning pointer, which participates in a condition later
return devm_kmalloc(dev, bytes, flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/device.h:232:9: note: Returning from 'devm_kmalloc_array'
return devm_kmalloc_array(dev, n, size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/device.h:232:2: note: Returning pointer, which participates in a condition later
return devm_kmalloc_array(dev, n, size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1026:17: note: Returning from 'devm_kcalloc'
d->pin_banks = devm_kcalloc(&pdev->dev, d->nr_banks,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1028:6: note: Assuming field 'pin_banks' is non-null
if (!d->pin_banks)
^~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1028:2: note: Taking false branch
if (!d->pin_banks)
^
drivers/pinctrl/samsung/pinctrl-samsung.c:1031:6: note: Assuming the condition is false
if (ctrl->nr_ext_resources + 1 > SAMSUNG_PINCTRL_NUM_RESOURCES)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1031:2: note: Taking false branch
if (ctrl->nr_ext_resources + 1 > SAMSUNG_PINCTRL_NUM_RESOURCES)
^
drivers/pinctrl/samsung/pinctrl-samsung.c:1034:14: note: Assuming the condition is false
for (i = 0; i < ctrl->nr_ext_resources + 1; i++) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1034:2: note: Loop condition is false. Execution continues on line 1048
for (i = 0; i < ctrl->nr_ext_resources + 1; i++) {
^
drivers/pinctrl/samsung/pinctrl-samsung.c:1050:14: note: Assuming 'i' is >= field 'nr_banks'
for (i = 0; i < ctrl->nr_banks; ++i, ++bdata, ++bank) {
^~~~~~~~~~~~~~~~~~
drivers/pinctrl/samsung/pinctrl-samsung.c:1050:2: note: Loop condition is false. Execution continues on line 1073
for (i = 0; i < ctrl->nr_banks; ++i, ++bdata, ++bank) {
^
drivers/pinctrl/samsung/pinctrl-samsung.c:1073:15: note: Assigned value is garbage or undefined
d->virt_base = virt_base[0];
^ ~~~~~~~~~~~~
1 warning generated.
arch/arm/mach-omap2/prminst44xx.c:193:2: warning: Value stored to 'v' is never read [clang-analyzer-deadcode.DeadStores]
v = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/prminst44xx.c:193:2: note: Value stored to 'v' is never read
v = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
arch/arm/mach-omap2/vp.c:159:2: warning: Value stored to 'timeout' is never read [clang-analyzer-deadcode.DeadStores]
timeout = 0;
^ ~
arch/arm/mach-omap2/vp.c:159:2: note: Value stored to 'timeout' is never read
timeout = 0;
^ ~
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/phy/cadence/phy-cadence-torrent.c:778:25: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
value |= ((~lane_mask) << PMA_TX_ELEC_IDLE_SHIFT) &
^
drivers/phy/cadence/phy-cadence-torrent.c:902:6: note: 'ret' is 0
if (ret) {
^~~
drivers/phy/cadence/phy-cadence-torrent.c:902:2: note: Taking false branch
if (ret) {
^
drivers/phy/cadence/phy-cadence-torrent.c:907:6: note: Assuming field 'set_lanes' is not equal to 0
if (opts->dp.set_lanes) {
^~~~~~~~~~~~~~~~~~
drivers/phy/cadence/phy-cadence-torrent.c:907:2: note: Taking true branch
if (opts->dp.set_lanes) {
^
drivers/phy/cadence/phy-cadence-torrent.c:908:9: note: Calling 'cdns_torrent_dp_set_lanes'
ret = cdns_torrent_dp_set_lanes(cdns_phy, &opts->dp);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/phy/cadence/phy-cadence-torrent.c:778:25: note: The result of the left shift is undefined because the left operand is negative
value |= ((~lane_mask) << PMA_TX_ELEC_IDLE_SHIFT) &
~~~~~~~~~~~~ ^
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
>> drivers/pinctrl/pinctrl-st.c:582:4: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
ST_PINCONF_PACK_OE(*config);
^
drivers/pinctrl/pinctrl-st.c:138:34: note: expanded from macro 'ST_PINCONF_PACK_OE'
#define ST_PINCONF_PACK_OE(conf) ST_PINCONF_PACK(conf, 1, OE)
^
drivers/pinctrl/pinctrl-st.c:129:49: note: expanded from macro 'ST_PINCONF_PACK'
#define ST_PINCONF_PACK(conf, val, param) (conf |=\
^
drivers/pinctrl/pinctrl-st.c:1013:6: note: 'function' is 0
if (function)
^~~~~~~~
drivers/pinctrl/pinctrl-st.c:1013:2: note: Taking false branch
if (function)
^
drivers/pinctrl/pinctrl-st.c:1018:30: note: Left side of '&&' is false
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^
drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
container_of(pc, struct st_gpio_bank, pc)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/pinctrl/pinctrl-st.c:1018:30: note: Taking false branch
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^
drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
container_of(pc, struct st_gpio_bank, pc)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/pinctrl/pinctrl-st.c:1018:30: note: Loop condition is false. Exiting loop
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^
drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
container_of(pc, struct st_gpio_bank, pc)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/pinctrl/pinctrl-st.c:1018:7: note: Calling 'st_gpio_get_direction'
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:739:2: note: 'config' declared without an initial value
unsigned long config;
^~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:746:13: note: Calling 'st_pctl_get_pin_function'
function = st_pctl_get_pin_function(&pc, offset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:440:6: note: Assuming 'alt' is non-null
if (!alt)
^~~~
drivers/pinctrl/pinctrl-st.c:440:2: note: Taking false branch
if (!alt)
^
drivers/pinctrl/pinctrl-st.c:445:2: note: Returning without writing to 'pc->oe', which participates in a condition later
return (val >> offset) & 0xf;
^
drivers/pinctrl/pinctrl-st.c:746:13: note: Returning from 'st_pctl_get_pin_function'
function = st_pctl_get_pin_function(&pc, offset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:747:6: note: Assuming 'function' is not equal to 0
if (function) {
^~~~~~~~
drivers/pinctrl/pinctrl-st.c:747:2: note: Taking true branch
if (function) {
^
drivers/pinctrl/pinctrl-st.c:748:3: note: Calling 'st_pinconf_get_direction'
st_pinconf_get_direction(&pc, offset, &config);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:579:6: note: Assuming field 'oe' is non-null
if (pc->oe) {
^~~~~~
drivers/pinctrl/pinctrl-st.c:579:2: note: Taking true branch
if (pc->oe) {
--
^
fs/jfs/jfs_logmgr.c:762:2: note: Loop condition is false. Exiting loop
list_for_each_entry(tblk, &log->cqueue, cqueue) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
fs/jfs/jfs_logmgr.c:762:2: note: Loop condition is false. Execution continues on line 771
list_for_each_entry(tblk, &log->cqueue, cqueue) {
^
include/linux/list.h:628:2: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
fs/jfs/jfs_logmgr.c:771:2: note: Null pointer value stored to 'tblk'
tblk = xtblk; /* last tblk of the page */
^~~~~~~~~~~~
fs/jfs/jfs_logmgr.c:776:23: note: Access to field 'bp' results in a dereference of a null pointer (loaded from variable 'tblk')
bp = (struct lbuf *) tblk->bp;
^~~~
Suppressed 12 warnings (12 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.
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c:624:16: warning: Value stored to 'tmdsclock' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
unsigned long tmdsclock = inno_hdmi_phy_get_tmdsclk(inno, rate);
^~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c:624:16: note: Value stored to 'tmdsclock' during its initialization is never read
unsigned long tmdsclock = inno_hdmi_phy_get_tmdsclk(inno, rate);
^~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c:742:3: warning: Value stored to 'no_c' is never read [clang-analyzer-deadcode.DeadStores]
no_c = 1 << no_c;
^ ~~~~~~~~~
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c:742:3: note: Value stored to 'no_c' is never read
no_c = 1 << no_c;
^ ~~~~~~~~~
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c:778:16: warning: Value stored to 'tmdsclock' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
unsigned long tmdsclock = inno_hdmi_phy_get_tmdsclk(inno, rate);
^~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c:778:16: note: Value stored to 'tmdsclock' during its initialization is never read
unsigned long tmdsclock = inno_hdmi_phy_get_tmdsclk(inno, rate);
^~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (12 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 with check filters).
4 warnings generated.
>> drivers/bus/omap_l3_noc.c:96:3: warning: Value stored to 'err_description' is never read [clang-analyzer-deadcode.DeadStores]
err_description = "Standard";
^ ~~~~~~~~~~
drivers/bus/omap_l3_noc.c:96:3: note: Value stored to 'err_description' is never read
err_description = "Standard";
^ ~~~~~~~~~~
drivers/bus/omap_l3_noc.c:107:3: warning: Value stored to 'err_description' is never read [clang-analyzer-deadcode.DeadStores]
err_description = "Custom";
^ ~~~~~~~~
drivers/bus/omap_l3_noc.c:107:3: note: Value stored to 'err_description' is never read
err_description = "Custom";
^ ~~~~~~~~
>> drivers/bus/omap_l3_noc.c:127:4: warning: Value stored to 'master_name' is never read [clang-analyzer-deadcode.DeadStores]
master_name = master->name;
^ ~~~~~~~~~~~~
drivers/bus/omap_l3_noc.c:127:4: note: Value stored to 'master_name' is never read
master_name = master->name;
^ ~~~~~~~~~~~~
>> drivers/bus/omap_l3_noc.c:132:2: warning: Value stored to 'op_code' is never read [clang-analyzer-deadcode.DeadStores]
op_code = readl_relaxed(l3_targ_hdr) & 0x7;
^
drivers/bus/omap_l3_noc.c:132:2: note: Value stored to 'op_code' is never read
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
Suppressed 14 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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 (13 in non-user code, 4 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.
1 warning generated.
include/linux/math64.h:91:15: warning: Division by zero [clang-analyzer-core.DivideZero]
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:240:25: note: expanded from macro 'do_div'
__rem = (uint32_t)(n) % __base; \
^
drivers/clk/analogbits/wrpll-cln28hpc.c:230:6: note: Assuming field 'flags' is not equal to 0
if (c->flags == 0) {
^~~~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:230:2: note: Taking false branch
if (c->flags == 0) {
^
drivers/clk/analogbits/wrpll-cln28hpc.c:236:6: note: Assuming 'parent_rate' is equal to field 'parent_rate'
if (parent_rate != c->parent_rate) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:236:2: note: Taking false branch
if (parent_rate != c->parent_rate) {
^
drivers/clk/analogbits/wrpll-cln28hpc.c:247:6: note: Assuming 'target_rate' is not equal to 'parent_rate'
if (target_rate == parent_rate) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:247:2: note: Taking false branch
if (target_rate == parent_rate) {
^
drivers/clk/analogbits/wrpll-cln28hpc.c:255:9: note: Calling '__wrpll_calc_divq'
divq = __wrpll_calc_divq(target_rate, &target_vco_rate);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:149:7: note: 'vco_rate' is non-null
if (!vco_rate) {
^~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:149:2: note: Taking false branch
if (!vco_rate) {
^
drivers/clk/analogbits/wrpll-cln28hpc.c:155:6: note: Assuming 's' is <= 1
if (s <= 1) {
^~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:155:2: note: Taking true branch
if (s <= 1) {
^
drivers/clk/analogbits/wrpll-cln28hpc.c:167:2: note: Returning the value 1 (loaded from 'divq'), which participates in a condition later
return divq;
^~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:255:9: note: Returning from '__wrpll_calc_divq'
divq = __wrpll_calc_divq(target_rate, &target_vco_rate);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:256:7: note: 'divq' is 1
if (!divq)
^~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:256:2: note: Taking false branch
if (!divq)
^
drivers/clk/analogbits/wrpll-cln28hpc.c:264:2: note: The value 0 is assigned to 'best_r'
best_r = 0;
^~~~~~~~~~
--
if (retval) {
^
fs/reiserfs/namei.c:1417:6: note: Assuming the condition is true
if (retval == -EEXIST) {
^~~~~~~~~~~~~~~~~
fs/reiserfs/namei.c:1417:2: note: Taking true branch
if (retval == -EEXIST) {
^
fs/reiserfs/namei.c:1418:7: note: Assuming 'new_dentry_inode' is non-null
if (!new_dentry_inode) {
^~~~~~~~~~~~~~~~~
fs/reiserfs/namei.c:1418:3: note: Taking false branch
if (!new_dentry_inode) {
^
fs/reiserfs/namei.c:1437:6: note: 'new_dentry_inode' is non-null
if (new_dentry_inode)
^~~~~~~~~~~~~~~~
fs/reiserfs/namei.c:1437:2: note: Taking true branch
if (new_dentry_inode)
^
fs/reiserfs/namei.c:1440:2: note: Loop condition is true. Entering loop body
while (1) {
^
fs/reiserfs/namei.c:1445:3: note: Taking false branch
if ((retval =
^
fs/reiserfs/namei.c:1471:7: note: 'retval' is equal to NAME_FOUND_INVISIBLE
if (retval != NAME_FOUND_INVISIBLE && retval != NAME_FOUND) {
^~~~~~
fs/reiserfs/namei.c:1471:38: note: Left side of '&&' is false
if (retval != NAME_FOUND_INVISIBLE && retval != NAME_FOUND) {
^
fs/reiserfs/namei.c:1483:7: note: Assuming the condition is true
if (S_ISDIR(old_inode->i_mode)) {
^
include/uapi/linux/stat.h:23:21: note: expanded from macro 'S_ISDIR'
#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
^~~~~~~~~~~~~~~~~~~~~~~~~
fs/reiserfs/namei.c:1483:3: note: Taking true branch
if (S_ISDIR(old_inode->i_mode)) {
^
fs/reiserfs/namei.c:1485:9: note: Calling 'search_by_entry_key'
search_by_entry_key(new_dir->i_sb,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/reiserfs/namei.c:126:2: note: Control jumps to 'case 1:' at line 136
switch (retval) {
^
fs/reiserfs/namei.c:137:3: note: Execution continues on line 148
break;
^
fs/reiserfs/namei.c:148:2: note: Calling 'set_de_item_location'
set_de_item_location(de, path);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/reiserfs/namei.c:67:1: note: Returning without writing to 'de->de_entry_key.on_disk_key.k_offset'
}
^
fs/reiserfs/namei.c:148:2: note: Returning from 'set_de_item_location'
set_de_item_location(de, path);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/reiserfs/namei.c:164:38: note: Calling 'cpu_key_k_offset'
retval = bin_search_in_dir_item(de, cpu_key_k_offset(key));
^~~~~~~~~~~~~~~~~~~~~
fs/reiserfs/reiserfs.h:1586:2: note: Undefined or garbage value returned to caller
return key->on_disk_key.k_offset;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
drivers/clk/tegra/clk-tegra-super-gen4.c:141:3: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_divider(NULL, "hclk_div", "sclk", 0,
^
drivers/clk/tegra/clk-tegra-super-gen4.c:141:3: note: Value stored to 'clk' is never read
drivers/clk/tegra/clk-tegra-super-gen4.c:156:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_divider(NULL, "pclk_div", "hclk", 0,
^
drivers/clk/tegra/clk-tegra-super-gen4.c:156:2: note: Value stored to 'clk' is never read
4 warnings generated.
drivers/clk/tegra/clk-tegra114.c:910:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:910:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:934:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:934:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:943:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_factor(NULL, "pll_m_ud", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:943:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_factor(NULL, "pll_m_ud", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:1049:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_mux(NULL, "emc_mux", mux_pllmcp_clkm,
^
drivers/clk/tegra/clk-tegra114.c:1049:2: note: Value stored to 'clk' is never read
2 warnings generated.
>> drivers/clk/tegra/clk-tegra124.c:1098:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra124.c:1098:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra124.c:1132:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra124.c:1132:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
drivers/clk/ti/clk.c:150:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(buf, c->node_name);
^~~~~~
drivers/clk/ti/clk.c:150:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(buf, c->node_name);
^~~~~~
drivers/clk/ti/clk.c:581:2: warning: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn]
return ret;
^ ~~~
drivers/clk/ti/clk.c:572:2: note: 'ret' declared without an initial value
int ret;
^~~~~~~
drivers/clk/ti/clk.c:575:2: note: Left side of '&&' is false
list_for_each_entry(hw, &clk_hw_omap_clocks, node) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/clk/ti/clk.c:575:2: note: Taking false branch
list_for_each_entry(hw, &clk_hw_omap_clocks, node) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/clk/ti/clk.c:575:2: note: Loop condition is false. Exiting loop
list_for_each_entry(hw, &clk_hw_omap_clocks, node) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/clk/ti/clk.c:575:2: note: Loop condition is false. Execution continues on line 581
list_for_each_entry(hw, &clk_hw_omap_clocks, node) {
^
include/linux/list.h:628:2: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
drivers/clk/ti/clk.c:581:2: note: Undefined or garbage value returned to caller
return ret;
^ ~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
--
# define likely(x) __builtin_expect(!!(x), 1)
^
kernel/workqueue.c:1717:2: note: Taking true branch
if (likely(ret >= 0)) {
^
kernel/workqueue.c:1718:29: note: Passing value via 2nd parameter 'wq'
__queue_delayed_work(cpu, wq, dwork, delay);
^~
kernel/workqueue.c:1718:3: note: Calling '__queue_delayed_work'
__queue_delayed_work(cpu, wq, dwork, delay);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/workqueue.c:1632:15: note: Assuming 'wq' is null
WARN_ON_ONCE(!wq);
^
include/asm-generic/bug.h:201:41: note: expanded from macro 'WARN_ON_ONCE'
#define WARN_ON_ONCE(condition) WARN_ON(condition)
^~~~~~~~~
include/asm-generic/bug.h:188:25: note: expanded from macro 'WARN_ON'
int __ret_warn_on = !!(condition); \
^~~~~~~~~
kernel/workqueue.c:1633:2: note: Assuming '__ret_warn_on' is not equal to 0
WARN_ON_ONCE(timer->function != delayed_work_timer_fn);
^
include/asm-generic/bug.h:201:33: note: expanded from macro 'WARN_ON_ONCE'
#define WARN_ON_ONCE(condition) WARN_ON(condition)
^~~~~~~~~~~~~~~~~~
include/asm-generic/bug.h:189:2: note: expanded from macro 'WARN_ON'
unlikely(__ret_warn_on); \
^~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^~~~
kernel/workqueue.c:1635:2: note: Assuming '__ret_warn_on' is not equal to 0
WARN_ON_ONCE(!list_empty(&work->entry));
^
include/asm-generic/bug.h:201:33: note: expanded from macro 'WARN_ON_ONCE'
#define WARN_ON_ONCE(condition) WARN_ON(condition)
^~~~~~~~~~~~~~~~~~
include/asm-generic/bug.h:189:2: note: expanded from macro 'WARN_ON'
unlikely(__ret_warn_on); \
^~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^~~~
kernel/workqueue.c:1643:6: note: Assuming 'delay' is 0
if (!delay) {
^~~~~~
kernel/workqueue.c:1643:2: note: Taking true branch
if (!delay) {
^
kernel/workqueue.c:1644:21: note: Passing null pointer value via 2nd parameter 'wq'
__queue_work(cpu, wq, &dwork->work);
^~
kernel/workqueue.c:1644:3: note: Calling '__queue_work'
__queue_work(cpu, wq, &dwork->work);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/workqueue.c:1413:2: note: Loop condition is false. Exiting loop
lockdep_assert_irqs_disabled();
^
include/linux/lockdep.h:619:41: note: expanded from macro 'lockdep_assert_irqs_disabled'
# define lockdep_assert_irqs_disabled() do { } while (0)
^
kernel/workqueue.c:1418:15: note: Access to field 'flags' results in a dereference of a null pointer (loaded from variable 'wq')
if (unlikely(wq->flags & __WQ_DRAINING) &&
^
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
kernel/workqueue.c:2602:14: warning: Value stored to 'target_func' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
work_func_t target_func = target_work ? target_work->func : NULL;
^~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/workqueue.c:2602:14: note: Value stored to 'target_func' during its initialization is never read
work_func_t target_func = target_work ? target_work->func : NULL;
^~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
>> drivers/clk/imx/clk-imx6q.c:251:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = of_parse_phandle_with_args(node, "assigned-clock-parents",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/imx/clk-imx6q.c:251:2: note: Value stored to 'ret' is never read
ret = of_parse_phandle_with_args(node, "assigned-clock-parents",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
Suppressed 1 warnings (1 with check filters).
1 warning generated.
drivers/clk/ingenic/cgu.c:484:10: warning: Division by zero [clang-analyzer-core.DivideZero]
rate = DIV_ROUND_UP(parent_rate, div);
^
include/linux/math.h:36:22: note: expanded from macro 'DIV_ROUND_UP'
#define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP
^
include/uapi/linux/const.h:34:54: note: expanded from macro '__KERNEL_DIV_ROUND_UP'
#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
~~~~~~~~~~~~~~~~^~~~~
drivers/clk/ingenic/cgu.c:474:36: note: Left side of '&&' is false
struct ingenic_clk *ingenic_clk = to_ingenic_clk(hw);
^
drivers/clk/ingenic/cgu.h:206:29: note: expanded from macro 'to_ingenic_clk'
#define to_ingenic_clk(_hw) container_of(_hw, struct ingenic_clk, hw)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/clk/ingenic/cgu.c:474:36: note: Taking false branch
struct ingenic_clk *ingenic_clk = to_ingenic_clk(hw);
^
drivers/clk/ingenic/cgu.h:206:29: note: expanded from macro 'to_ingenic_clk'
#define to_ingenic_clk(_hw) container_of(_hw, struct ingenic_clk, hw)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/clk/ingenic/cgu.c:474:36: note: Loop condition is false. Exiting loop
struct ingenic_clk *ingenic_clk = to_ingenic_clk(hw);
^
drivers/clk/ingenic/cgu.h:206:29: note: expanded from macro 'to_ingenic_clk'
#define to_ingenic_clk(_hw) container_of(_hw, struct ingenic_clk, hw)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/clk/ingenic/cgu.c:482:6: note: Assuming the condition is true
if (clk_info->type & CGU_CLK_DIV) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ingenic/cgu.c:482:2: note: Taking true branch
if (clk_info->type & CGU_CLK_DIV) {
^
drivers/clk/ingenic/cgu.c:483:9: note: Calling 'ingenic_clk_calc_div'
div = ingenic_clk_calc_div(clk_info, parent_rate, req_rate);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ingenic/cgu.c:421:6: note: Assuming field 'div_table' is non-null
if (clk_info->div.div_table) {
^~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ingenic/cgu.c:421:2: note: Taking true branch
if (clk_info->div.div_table) {
^
drivers/clk/ingenic/cgu.c:422:12: note: Calling 'ingenic_clk_calc_hw_div'
hw_div = ingenic_clk_calc_hw_div(clk_info, div);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ingenic/cgu.c:395:18: note: 'best_i' initialized to 0
unsigned int i, best_i = 0, best = (unsigned int)-1;
^~~~~~
drivers/clk/ingenic/cgu.c:397:14: note: Assuming the condition is true
for (i = 0; i < (1 << clk_info->div.bits)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ingenic/cgu.c:397:14: note: Left side of '&&' is true
drivers/clk/ingenic/cgu.c:397:2: note: Loop condition is false. Execution continues on line 409
for (i = 0; i < (1 << clk_info->div.bits)
^
drivers/clk/ingenic/cgu.c:409:2: note: Returning zero (loaded from 'best_i')
return best_i;
^~~~~~~~~~~~~
drivers/clk/ingenic/cgu.c:422:12: note: Returning from 'ingenic_clk_calc_hw_div'
--
drivers/gpu/drm/ttm/ttm_bo_util.c:57:3: note: Returning zero, which participates in a condition later
return 0;
^~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:83:8: note: Returning from 'ttm_mem_io_reserve'
ret = ttm_mem_io_reserve(bdev, mem);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:84:6: note: 'ret' is 0
if (ret || !mem->bus.is_iomem)
^~~
drivers/gpu/drm/ttm/ttm_bo_util.c:84:6: note: Left side of '||' is false
drivers/gpu/drm/ttm/ttm_bo_util.c:84:23: note: Field 'is_iomem' is false
if (ret || !mem->bus.is_iomem)
^
drivers/gpu/drm/ttm/ttm_bo_util.c:84:2: note: Taking true branch
if (ret || !mem->bus.is_iomem)
^
drivers/gpu/drm/ttm/ttm_bo_util.c:85:3: note: Returning zero (loaded from 'ret'), which participates in a condition later
return ret;
^~~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:192:8: note: Returning from 'ttm_resource_ioremap'
ret = ttm_resource_ioremap(bdev, new_mem, &new_iomap);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:193:6: note: 'ret' is 0
if (ret)
^~~
drivers/gpu/drm/ttm/ttm_bo_util.c:193:2: note: Taking false branch
if (ret)
^
drivers/gpu/drm/ttm/ttm_bo_util.c:199:6: note: 'old_iomap' is not equal to NULL
if (old_iomap == NULL && new_iomap == NULL)
^~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:199:24: note: Left side of '&&' is false
if (old_iomap == NULL && new_iomap == NULL)
^
drivers/gpu/drm/ttm/ttm_bo_util.c:205:6: note: 'old_iomap' is not equal to NULL
if (old_iomap == NULL &&
^~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:205:24: note: Left side of '&&' is false
if (old_iomap == NULL &&
^
drivers/gpu/drm/ttm/ttm_bo_util.c:215:6: note: Assuming 'ttm' is null
if (ttm) {
^~~
drivers/gpu/drm/ttm/ttm_bo_util.c:215:2: note: Taking false branch
if (ttm) {
^
drivers/gpu/drm/ttm/ttm_bo_util.c:221:14: note: Assuming 'i' is < field 'num_pages'
for (i = 0; i < new_mem->num_pages; ++i) {
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:221:2: note: Loop condition is true. Entering loop body
for (i = 0; i < new_mem->num_pages; ++i) {
^
drivers/gpu/drm/ttm/ttm_bo_util.c:222:7: note: 'old_iomap' is not equal to NULL
if (old_iomap == NULL) {
^~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:222:3: note: Taking false branch
if (old_iomap == NULL) {
^
drivers/gpu/drm/ttm/ttm_bo_util.c:226:14: note: 'new_iomap' is equal to NULL
} else if (new_iomap == NULL) {
^~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:226:10: note: Taking true branch
} else if (new_iomap == NULL) {
^
drivers/gpu/drm/ttm/ttm_bo_util.c:228:31: note: Passing null pointer value via 1st parameter 'ttm'
ret = ttm_copy_io_ttm_page(ttm, old_iomap, i,
^~~
drivers/gpu/drm/ttm/ttm_bo_util.c:228:10: note: Calling 'ttm_copy_io_ttm_page'
ret = ttm_copy_io_ttm_page(ttm, old_iomap, i,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/ttm/ttm_bo_util.c:131:19: note: Access to field 'pages' results in a dereference of a null pointer (loaded from variable 'ttm')
struct page *d = ttm->pages[page];
^~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/pci/controller/pci-v3-semi.c:604:6: warning: Value stored to 'pci_end' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u64 pci_end = cpu_end - entry->offset;
^~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pci-v3-semi.c:604:6: note: Value stored to 'pci_end' during its initialization is never read
u64 pci_end = cpu_end - entry->offset;
^~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/pci/controller/pci-versatile.c:37:10: warning: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval' [clang-analyzer-deadcode.DeadStores]
while ((retval = get_option(&str, &slot))) {
^ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pci-versatile.c:37:10: note: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval'
while ((retval = get_option(&str, &slot))) {
^ ~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
>> drivers/pci/controller/pcie-iproc.c:861:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
drivers/pci/controller/pcie-iproc.c:861:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
drivers/pci/controller/pcie-iproc.c:1065:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
drivers/pci/controller/pcie-iproc.c:1065:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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 (14 in non-user code, 2 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 (12 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.
14 warnings generated.
drivers/gpu/host1x/job.c:182:35: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
job->addr_phys[job->num_unpins] = phys_addr;
^
drivers/gpu/host1x/job.c:596:8: note: Calling 'pin_job'
err = pin_job(host, job);
^~~~~~~~~~~~~~~~~~
drivers/gpu/host1x/job.c:116:14: note: Assuming 'i' is < field 'num_relocs'
for (i = 0; i < job->num_relocs; i++) {
^~~~~~~~~~~~~~~~~~~
drivers/gpu/host1x/job.c:116:2: note: Loop condition is true. Entering loop body
for (i = 0; i < job->num_relocs; i++) {
^
drivers/gpu/host1x/job.c:118:14: note: 'phys_addr' declared without an initial value
dma_addr_t phys_addr, *phys;
^~~~~~~~~
drivers/gpu/host1x/job.c:122:7: note: Assuming field 'bo' is non-null
if (!reloc->target.bo) {
^~~~~~~~~~~~~~~~~
drivers/gpu/host1x/job.c:122:3: note: Taking false branch
if (!reloc->target.bo) {
^
drivers/gpu/host1x/job.c:139:7: note: Assuming 'domain' is non-null
if (!domain || client->group)
^~~~~~~
drivers/gpu/host1x/job.c:139:7: note: Left side of '||' is false
drivers/gpu/host1x/job.c:139:18: note: Assuming field 'group' is null
if (!domain || client->group)
^~~~~~~~~~~~~
drivers/gpu/host1x/job.c:139:3: note: Taking false branch
if (!domain || client->group)
^
drivers/gpu/host1x/job.c:145:7: note: Calling 'IS_ERR'
if (IS_ERR(sgt)) {
^~~~~~~~~~~
include/linux/err.h:36:9: note: Assuming the condition is false
return IS_ERR_VALUE((unsigned long)ptr);
^
include/linux/err.h:22:34: note: expanded from macro 'IS_ERR_VALUE'
#define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
include/linux/err.h:36:2: note: Returning zero, which participates in a condition later
return IS_ERR_VALUE((unsigned long)ptr);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/host1x/job.c:145:7: note: Returning from 'IS_ERR'
if (IS_ERR(sgt)) {
^~~~~~~~~~~
drivers/gpu/host1x/job.c:145:3: note: Taking false branch
if (IS_ERR(sgt)) {
^
drivers/gpu/host1x/job.c:150:7: note: Assuming 'sgt' is null
if (sgt) {
^~~
drivers/gpu/host1x/job.c:150:3: note: Taking false branch
if (sgt) {
^
drivers/gpu/host1x/job.c:182:35: note: Assigned value is garbage or undefined
job->addr_phys[job->num_unpins] = phys_addr;
^ ~~~~~~~~~
drivers/gpu/host1x/job.c:262:35: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
job->addr_phys[job->num_unpins] = phys_addr;
^
drivers/gpu/host1x/job.c:596:8: note: Calling 'pin_job'
err = pin_job(host, job);
^~~~~~~~~~~~~~~~~~
drivers/gpu/host1x/job.c:116:14: note: Assuming 'i' is >= field 'num_relocs'
for (i = 0; i < job->num_relocs; i++) {
^~~~~~~~~~~~~~~~~~~
drivers/gpu/host1x/job.c:116:2: note: Loop condition is false. Execution continues on line 192
for (i = 0; i < job->num_relocs; i++) {
^
drivers/gpu/host1x/job.c:192:2: note: Taking false branch
if (IS_ENABLED(CONFIG_TEGRA_HOST1X_FIREWALL))
^
drivers/gpu/host1x/job.c:195:14: note: Assuming 'i' is < field 'num_gathers'
for (i = 0; i < job->num_gathers; i++) {
^~~~~~~~~~~~~~~~~~~~
drivers/gpu/host1x/job.c:195:2: note: Loop condition is true. Entering loop body
for (i = 0; i < job->num_gathers; i++) {
^
drivers/gpu/host1x/job.c:199:3: note: 'phys_addr' declared without an initial value
dma_addr_t phys_addr;
^~~~~~~~~~~~~~~~~~~~
drivers/gpu/host1x/job.c:207:7: note: Assuming field 'bo' is non-null
if (!g->bo) {
^~~~~~
drivers/gpu/host1x/job.c:207:3: note: Taking false branch
if (!g->bo) {
^
drivers/gpu/host1x/job.c:217:7: note: Assuming the condition is false
if (!iommu_get_domain_for_dev(host->dev))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/host1x/job.c:217:3: note: Taking false branch
if (!iommu_get_domain_for_dev(host->dev))
^
drivers/gpu/host1x/job.c:223:7: note: Calling 'IS_ERR'
if (IS_ERR(sgt)) {
^~~~~~~~~~~
include/linux/err.h:36:9: note: Assuming the condition is false
return IS_ERR_VALUE((unsigned long)ptr);
^
include/linux/err.h:22:34: note: expanded from macro 'IS_ERR_VALUE'
#define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
include/linux/err.h:36:2: note: Returning zero, which participates in a condition later
return IS_ERR_VALUE((unsigned long)ptr);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/host1x/job.c:223:7: note: Returning from 'IS_ERR'
if (IS_ERR(sgt)) {
^~~~~~~~~~~
drivers/gpu/host1x/job.c:223:3: note: Taking false branch
if (IS_ERR(sgt)) {
^
drivers/gpu/host1x/job.c:228:7: note: Assuming field 'domain' is null
if (host->domain) {
^~~~~~~~~~~~
drivers/gpu/host1x/job.c:228:3: note: Taking false branch
if (host->domain) {
^
drivers/gpu/host1x/job.c:252:14: note: Assuming 'sgt' is null
} else if (sgt) {
^~~
drivers/gpu/host1x/job.c:252:10: note: Taking false branch
} else if (sgt) {
^
drivers/gpu/host1x/job.c:262:35: note: Assigned value is garbage or undefined
job->addr_phys[job->num_unpins] = phys_addr;
^ ~~~~~~~~~
Suppressed 12 warnings (12 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.
1 warning generated.
>> drivers/clk/ti/clockdomain.c:115:2: warning: Value stored to 'clk_name' is never read [clang-analyzer-deadcode.DeadStores]
clk_name = __clk_get_name(hw->clk);
^ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/clockdomain.c:115:2: note: Value stored to 'clk_name' is never read
clk_name = __clk_get_name(hw->clk);
^ ~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
drivers/clk/ti/divider.c:240:9: warning: Division by zero [clang-analyzer-core.DivideZero]
return DIV_ROUND_UP(*prate, div);
^
include/linux/math.h:36:22: note: expanded from macro 'DIV_ROUND_UP'
#define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP
^
include/uapi/linux/const.h:34:54: note: expanded from macro '__KERNEL_DIV_ROUND_UP'
#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
~~~~~~~~~~~~~~~~^~~~~
drivers/clk/ti/divider.c:238:8: note: Calling 'ti_clk_divider_bestdiv'
div = ti_clk_divider_bestdiv(hw, rate, prate);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/divider.c:179:37: note: Left side of '&&' is false
struct clk_omap_divider *divider = to_clk_omap_divider(hw);
^
drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
#define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/clk/ti/divider.c:179:37: note: Taking false branch
struct clk_omap_divider *divider = to_clk_omap_divider(hw);
^
drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
#define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/clk/ti/divider.c:179:37: note: Loop condition is false. Exiting loop
struct clk_omap_divider *divider = to_clk_omap_divider(hw);
^
drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
#define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/clk/ti/divider.c:184:6: note: Assuming 'rate' is not equal to 0
if (!rate)
^~~~~
drivers/clk/ti/divider.c:184:2: note: Taking false branch
if (!rate)
^
drivers/clk/ti/divider.c:189:6: note: Assuming the condition is false
if (!(clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/divider.c:189:2: note: Taking false branch
if (!(clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)) {
^
drivers/clk/ti/divider.c:201:11: note: Assuming '__UNIQUE_ID___x112' is >= '__UNIQUE_ID___y113'
maxdiv = min(ULONG_MAX / rate, maxdiv);
^
include/linux/minmax.h:51:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^~~~~~~~~~
drivers/clk/ti/divider.c:201:11: note: '?' condition is false
maxdiv = min(ULONG_MAX / rate, maxdiv);
^
include/linux/minmax.h:51:19: note: expanded from macro 'min'
--
drivers/clk/sifive/sifive-prci.c:406:2: warning: Value stored to 'r' is never read [clang-analyzer-deadcode.DeadStores]
r = __prci_readl(pd, PRCI_COREPLLSEL_OFFSET); /* barrier */
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/sifive/sifive-prci.c:406:2: note: Value stored to 'r' is never read
r = __prci_readl(pd, PRCI_COREPLLSEL_OFFSET); /* barrier */
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/sifive/sifive-prci.c:427:2: warning: Value stored to 'r' is never read [clang-analyzer-deadcode.DeadStores]
r = __prci_readl(pd, PRCI_HFPCLKPLLSEL_OFFSET); /* barrier */
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/sifive/sifive-prci.c:427:2: note: Value stored to 'r' is never read
r = __prci_readl(pd, PRCI_HFPCLKPLLSEL_OFFSET); /* barrier */
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/sifive/sifive-prci.c:448:2: warning: Value stored to 'r' is never read [clang-analyzer-deadcode.DeadStores]
r = __prci_readl(pd, PRCI_HFPCLKPLLSEL_OFFSET); /* barrier */
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/sifive/sifive-prci.c:448:2: note: Value stored to 'r' is never read
r = __prci_readl(pd, PRCI_HFPCLKPLLSEL_OFFSET); /* barrier */
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14 warnings generated.
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
fs/sysv/dir.c:339:2: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
err = dir_commit_chunk(page, pos, SYSV_DIRSIZE);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/sysv/dir.c:339:2: note: Value stored to 'err' is never read
err = dir_commit_chunk(page, pos, SYSV_DIRSIZE);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
>> drivers/clk/spear/spear1310_clock.c:872:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_30m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:872:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_30m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:879:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_48m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:879:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_48m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:896:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_plclk0_clk", NULL, 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:896:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_plclk0_clk", NULL, 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:899:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_tx50_clk", NULL, 0, 50000000);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:899:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_tx50_clk", NULL, 0, 50000000);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 with check filters).
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
drivers/gpu/drm/drm_ioctl.c:163:25: warning: Null pointer passed as 1st argument to string length function [clang-analyzer-unix.cstring.NullArg]
master->unique_len = strlen(dev->unique);
^
drivers/gpu/drm/drm_ioctl.c:388:2: note: Value assigned to field 'unique'
mutex_lock(&dev->master_mutex);
^
include/linux/mutex.h:167:26: note: expanded from macro 'mutex_lock'
#define mutex_lock(lock) mutex_lock_nested(lock, 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:389:6: note: Assuming the condition is true
if (sv->drm_di_major != -1) {
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:389:2: note: Taking true branch
if (sv->drm_di_major != -1) {
^
drivers/gpu/drm/drm_ioctl.c:390:7: note: Assuming field 'drm_di_major' is equal to DRM_IF_MAJOR
if (sv->drm_di_major != DRM_IF_MAJOR ||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:390:7: note: Left side of '||' is false
drivers/gpu/drm/drm_ioctl.c:391:7: note: Assuming field 'drm_di_minor' is >= 0
sv->drm_di_minor < 0 || sv->drm_di_minor > DRM_IF_MINOR) {
^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:390:7: note: Left side of '||' is false
if (sv->drm_di_major != DRM_IF_MAJOR ||
^
drivers/gpu/drm/drm_ioctl.c:391:31: note: Assuming field 'drm_di_minor' is <= DRM_IF_MINOR
sv->drm_di_minor < 0 || sv->drm_di_minor > DRM_IF_MINOR) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:390:3: note: Taking false branch
if (sv->drm_di_major != DRM_IF_MAJOR ||
^
drivers/gpu/drm/drm_ioctl.c:397:21: note: Assuming '__UNIQUE_ID___x267' is <= '__UNIQUE_ID___y268'
dev->if_version = max(if_version, dev->if_version);
^
include/linux/minmax.h:58:19: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:397:21: note: '?' condition is false
dev->if_version = max(if_version, dev->if_version);
^
include/linux/minmax.h:58:19: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
drivers/gpu/drm/drm_ioctl.c:398:7: note: Assuming field 'drm_di_minor' is >= 1
if (sv->drm_di_minor >= 1) {
^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:398:3: note: Taking true branch
if (sv->drm_di_minor >= 1) {
^
drivers/gpu/drm/drm_ioctl.c:403:14: note: Calling 'drm_set_busid'
retcode = drm_set_busid(dev, file_priv);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:150:6: note: Assuming field 'unique' is equal to NULL
if (master->unique != NULL)
--
^
include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:288:3: note: expanded from macro '__native_word'
(sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
^
drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu.h:1357:9: note: Left side of '||' is true
return atomic_read(&adev->in_gpu_reset);
^
arch/arm/include/asm/atomic.h:25:24: note: expanded from macro 'atomic_read'
#define atomic_read(v) READ_ONCE((v)->counter)
^
include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:289:28: note: expanded from macro '__native_word'
sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
^
drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu.h:1357:9: note: Taking false branch
return atomic_read(&adev->in_gpu_reset);
^
arch/arm/include/asm/atomic.h:25:24: note: expanded from macro 'atomic_read'
#define atomic_read(v) READ_ONCE((v)->counter)
^
include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:2: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu.h:1357:9: note: Loop condition is false. Exiting loop
return atomic_read(&adev->in_gpu_reset);
^
arch/arm/include/asm/atomic.h:25:24: note: expanded from macro 'atomic_read'
#define atomic_read(v) READ_ONCE((v)->counter)
^
include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:2: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu.h:1357:2: note: Returning zero, which participates in a condition later
return atomic_read(&adev->in_gpu_reset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:464:6: note: Returning from 'amdgpu_in_reset'
if (amdgpu_in_reset(adev))
^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:464:2: note: Taking false branch
if (amdgpu_in_reset(adev))
^
drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:468:6: note: Assuming 'ret' is >= 0
if (ret < 0) {
^~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:468:2: note: Taking false branch
if (ret < 0) {
^
drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:473:6: note: Assuming the condition is false
if (is_support_sw_smu(adev)) {
^~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:473:2: note: Taking false branch
if (is_support_sw_smu(adev)) {
^
drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:478:13: note: Assuming field 'get_current_power_state' is null
} else if (adev->powerplay.pp_funcs->get_current_power_state
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:479:4: note: Left side of '&&' is false
&& adev->powerplay.pp_funcs->get_pp_num_states) {
^
drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.c:487:16: note: The right operand of '<' is a garbage value
for (i = 0; i < data.nums; i++) {
^ ~~~~~~~~~
Suppressed 14 warnings (14 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.
13 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/hdmi4_cec.c:243:3: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = hdmi_read_reg(core->base, HDMI_CEC_INT_STATUS_1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/hdmi4_cec.c:243:3: note: Value stored to 'temp' is never read
temp = hdmi_read_reg(core->base, HDMI_CEC_INT_STATUS_1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
>> drivers/gpu/drm/omapdrm/omap_crtc.c:234:21: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_crtc.c:234:21: note: Value stored to 'dev' during its initialization is never read
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_crtc.c:253:21: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_crtc.c:253:21: note: Value stored to 'dev' during its initialization is never read
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/gpu/drm/omapdrm/omap_encoder.c:104:16: warning: Access to field 'bridge' results in a dereference of a null pointer (loaded from variable 'output') [clang-analyzer-core.NullDereference]
for (bridge = output->bridge; bridge;
^~~~~~
drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Left side of '&&' is false
struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
^
drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
#define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Taking false branch
struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
^
drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
#define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Loop condition is false. Exiting loop
struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
^
drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
#define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:77:2: note: 'output' initialized here
struct omap_dss_device *output = omap_encoder->output;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_encoder.c:85:2: note: Left side of '&&' is false
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:85:2: note: Taking false branch
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
--
drivers/gpu/drm/drm_crtc.c:597:30: note: Assuming the condition is false
if (crtc_req->mode_valid && !drm_lease_held(file_priv, plane->base.id))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_crtc.c:597:2: note: Taking false branch
if (crtc_req->mode_valid && !drm_lease_held(file_priv, plane->base.id))
^
drivers/gpu/drm/drm_crtc.c:600:2: note: Taking false branch
DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx,
^
include/drm/drm_modeset_lock.h:167:2: note: expanded from macro 'DRM_MODESET_LOCK_ALL_BEGIN'
if (!drm_drv_uses_atomic_modeset(dev)) \
^
drivers/gpu/drm/drm_crtc.c:601:43: note: Assuming 'ret' is 0
DRM_MODESET_ACQUIRE_INTERRUPTIBLE, ret);
^
include/drm/drm_modeset_lock.h:172:6: note: expanded from macro 'DRM_MODESET_LOCK_ALL_BEGIN'
if (ret) \
^~~
drivers/gpu/drm/drm_crtc.c:600:2: note: Taking false branch
DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx,
^
include/drm/drm_modeset_lock.h:172:2: note: expanded from macro 'DRM_MODESET_LOCK_ALL_BEGIN'
if (ret) \
^
drivers/gpu/drm/drm_crtc.c:603:16: note: Field 'mode_valid' is not equal to 0
if (crtc_req->mode_valid) {
^
drivers/gpu/drm/drm_crtc.c:603:2: note: Taking true branch
if (crtc_req->mode_valid) {
^
drivers/gpu/drm/drm_crtc.c:606:7: note: Assuming the condition is true
if (crtc_req->fb_id == -1) {
^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_crtc.c:606:3: note: Taking true branch
if (crtc_req->fb_id == -1) {
^
drivers/gpu/drm/drm_crtc.c:609:8: note: Assuming field 'state' is null
if (plane->state)
^~~~~~~~~~~~
drivers/gpu/drm/drm_crtc.c:609:4: note: Taking false branch
if (plane->state)
^
drivers/gpu/drm/drm_crtc.c:614:8: note: Assuming 'old_fb' is non-null
if (!old_fb) {
^~~~~~~
drivers/gpu/drm/drm_crtc.c:614:4: note: Taking false branch
if (!old_fb) {
^
drivers/gpu/drm/drm_crtc.c:634:7: note: Assuming 'mode' is non-null
if (!mode) {
^~~~~
drivers/gpu/drm/drm_crtc.c:634:3: note: Taking false branch
if (!mode) {
^
drivers/gpu/drm/drm_crtc.c:638:7: note: Assuming field 'aspect_ratio_allowed' is true
if (!file_priv->aspect_ratio_allowed &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_crtc.c:638:40: note: Left side of '&&' is false
if (!file_priv->aspect_ratio_allowed &&
^
drivers/gpu/drm/drm_crtc.c:647:7: note: Assuming 'ret' is 0
if (ret) {
^~~
drivers/gpu/drm/drm_crtc.c:647:3: note: Taking false branch
if (ret) {
^
drivers/gpu/drm/drm_crtc.c:661:7: note: Assuming field 'format_default' is true
if (!plane->format_default) {
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_crtc.c:661:3: note: Taking false branch
if (!plane->format_default) {
^
drivers/gpu/drm/drm_crtc.c:676:9: note: Calling 'drm_crtc_check_viewport'
ret = drm_crtc_check_viewport(crtc, crtc_req->x, crtc_req->y,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_crtc.c:538:6: note: Assuming field 'state' is non-null
if (crtc->state &&
^~~~~~~~~~~
drivers/gpu/drm/drm_crtc.c:538:6: note: Left side of '&&' is true
drivers/gpu/drm/drm_crtc.c:539:29: note: Access to field 'rotation' results in a dereference of a null pointer (loaded from field 'state')
drm_rotation_90_or_270(crtc->primary->state->rotation))
^ ~~~~~
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
>> drivers/pinctrl/aspeed/pinctrl-aspeed.c:183:4: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcat(found, str);
^~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed.c:183:4: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
strcat(found, str);
^~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed.c:184:4: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcat(found, ", ");
^~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed.c:184:4: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
strcat(found, ", ");
^~~~~~
1 warning generated.
>> drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c:2660:5: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = regmap_update_bits(ctx->maps[desc->ip],
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c:2660:5: note: Value stored to 'ret' is never read
ret = regmap_update_bits(ctx->maps[desc->ip],
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
fs/ntfs/compress.c:164:6: warning: Value stored to 'cb_sb_start' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u8 *cb_sb_start = cb; /* Beginning of the current sb in the cb. */
^~~~~~~~~~~ ~~
fs/ntfs/compress.c:164:6: note: Value stored to 'cb_sb_start' during its initialization is never read
u8 *cb_sb_start = cb; /* Beginning of the current sb in the cb. */
^~~~~~~~~~~ ~~
fs/ntfs/compress.c:810:4: warning: Value stored to 'cb_pos' is never read [clang-analyzer-deadcode.DeadStores]
cb_pos += cb_max_ofs - cur_ofs;
^ ~~~~~~~~~~~~~~~~~~~~
fs/ntfs/compress.c:810:4: note: Value stored to 'cb_pos' is never read
cb_pos += cb_max_ofs - cur_ofs;
^ ~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
>> drivers/gpu/drm/sti/sti_hqvdp.c:741:6: warning: Division by zero [clang-analyzer-core.DivideZero]
lfw /= max(src_w, dst_w) * mode->clock / 1000;
^
drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Left side of '&&' is false
struct sti_plane *plane = to_sti_plane(drm_plane);
^
drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
#define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Taking false branch
struct sti_plane *plane = to_sti_plane(drm_plane);
^
drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
#define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Loop condition is false. Exiting loop
struct sti_plane *plane = to_sti_plane(drm_plane);
^
drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
#define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Left side of '&&' is false
struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
^
drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
#define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Taking false branch
struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
^
drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
#define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Loop condition is false. Exiting loop
struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
^
drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
#define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
--
if (ret <= 0)
^
fs/zonefs/super.c:762:6: note: Assuming the condition is false
if ((iocb->ki_pos | count) & (sb->s_blocksize - 1)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/zonefs/super.c:762:2: note: Taking false branch
if ((iocb->ki_pos | count) & (sb->s_blocksize - 1)) {
^
fs/zonefs/super.c:768:6: note: Assuming field 'i_ztype' is equal to ZONEFS_ZTYPE_SEQ
if (zi->i_ztype == ZONEFS_ZTYPE_SEQ) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/zonefs/super.c:768:2: note: Taking true branch
if (zi->i_ztype == ZONEFS_ZTYPE_SEQ) {
^
fs/zonefs/super.c:770:7: note: Assuming field 'ki_pos' is equal to field 'i_wpoffset'
if (iocb->ki_pos != zi->i_wpoffset) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/zonefs/super.c:770:3: note: Taking false branch
if (iocb->ki_pos != zi->i_wpoffset) {
^
fs/zonefs/super.c:779:6: note: 'append' is true
if (append)
^~~~~~
fs/zonefs/super.c:779:2: note: Taking true branch
if (append)
^
fs/zonefs/super.c:780:9: note: Calling 'zonefs_file_dio_append'
ret = zonefs_file_dio_append(iocb, from);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/zonefs/super.c:669:2: note: 'size' declared without an initial value
ssize_t size;
^~~~~~~~~~~~
fs/zonefs/super.c:678:6: note: Assuming 'nr_pages' is not equal to 0
if (!nr_pages)
^~~~~~~~~
fs/zonefs/super.c:678:2: note: Taking false branch
if (!nr_pages)
^
fs/zonefs/super.c:682:6: note: Assuming 'bio' is non-null
if (!bio)
^~~~
fs/zonefs/super.c:682:2: note: Taking false branch
if (!bio)
^
fs/zonefs/super.c:685:2: note: Assuming field 'bi_disk' is equal to field 'bd_disk'
bio_set_dev(bio, bdev);
^
include/linux/bio.h:488:6: note: expanded from macro 'bio_set_dev'
if ((bio)->bi_disk != (bdev)->bd_disk) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/zonefs/super.c:685:2: note: Taking false branch
bio_set_dev(bio, bdev);
^
include/linux/bio.h:488:2: note: expanded from macro 'bio_set_dev'
if ((bio)->bi_disk != (bdev)->bd_disk) \
^
fs/zonefs/super.c:685:2: note: Loop condition is false. Exiting loop
bio_set_dev(bio, bdev);
^
include/linux/bio.h:486:35: note: expanded from macro 'bio_set_dev'
#define bio_set_dev(bio, bdev) \
^
fs/zonefs/super.c:690:6: note: Assuming the condition is false
if (iocb->ki_flags & IOCB_DSYNC)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/zonefs/super.c:690:2: note: Taking false branch
if (iocb->ki_flags & IOCB_DSYNC)
^
fs/zonefs/super.c:694:6: note: Assuming 'ret' is not equal to 0
if (unlikely(ret))
^
include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^~~~
fs/zonefs/super.c:694:2: note: Taking true branch
if (unlikely(ret))
^
fs/zonefs/super.c:695:3: note: Control jumps to line 708
goto out_release;
^
fs/zonefs/super.c:711:6: note: Assuming 'ret' is >= 0
if (ret >= 0) {
^~~~~~~~
fs/zonefs/super.c:711:2: note: Taking true branch
if (ret >= 0) {
^
fs/zonefs/super.c:712:16: note: Assigned value is garbage or undefined
iocb->ki_pos += size;
^ ~~~~
Suppressed 13 warnings (13 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.
drivers/clk/ti/apll.c:100:2: warning: Value stored to 'state' is never read [clang-analyzer-deadcode.DeadStores]
state <<= __ffs(ad->idlest_mask);
^ ~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/apll.c:100:2: note: Value stored to 'state' is never read
state <<= __ffs(ad->idlest_mask);
^ ~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 with check filters).
1 warning generated.
>> drivers/clk/ti/clkt_dpll.c:305:2: warning: Value stored to 'clk_name' is never read [clang-analyzer-deadcode.DeadStores]
clk_name = clk_hw_get_name(hw);
^ ~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/clkt_dpll.c:305:2: note: Value stored to 'clk_name' is never read
clk_name = clk_hw_get_name(hw);
^ ~~~~~~~~~~~~~~~~~~~
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
drivers/gpu/drm/sun4i/sun4i_tv.c:491:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(mode->name, tv_mode->name);
^~~~~~
drivers/gpu/drm/sun4i/sun4i_tv.c:491:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(mode->name, tv_mode->name);
^~~~~~
Suppressed 13 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c:149:2: warning: Value stored to 'val' is never read [clang-analyzer-deadcode.DeadStores]
val = readl(hdmi->base + SUN4I_HDMI_PAD_CTRL1_REG);
^
drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c:149:2: note: Value stored to 'val' is never read
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/clk/qcom/gcc-ipq4019.c:1286:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = regmap_update_bits(pll->cdiv.clkr.regmap,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/qcom/gcc-ipq4019.c:1286:2: note: Value stored to 'ret' is never read
ret = regmap_update_bits(pll->cdiv.clkr.regmap,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 with check filters).
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
drivers/tty/serial/mvebu-uart.c:513:4: warning: Value stored to 'baud' is never read [clang-analyzer-deadcode.DeadStores]
baud = uart_get_baud_rate(port, old, NULL, 0, 230400);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/mvebu-uart.c:513:4: note: Value stored to 'baud' is never read
baud = uart_get_baud_rate(port, old, NULL, 0, 230400);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
include/asm-generic/bitops/non-atomic.h:21:6: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
*p |= mask;
^
drivers/tty/serial/serial_mctrl_gpio.c:52:6: note: Assuming 'gpios' is not equal to NULL
if (gpios == NULL)
^~~~~~~~~~~~~
--
fs/select.c:897:6: note: 'end_time' is null
if (end_time && !timed_out)
^~~~~~~~
fs/select.c:897:15: note: Left side of '&&' is false
if (end_time && !timed_out)
^
fs/select.c:900:2: note: Loop condition is true. Entering loop body
for (;;) {
^
fs/select.c:904:3: note: Loop condition is true. Entering loop body
for (walk = list; walk != NULL; walk = walk->next) {
^
fs/select.c:909:11: note: 'pfd' is not equal to 'pfd_end'
for (; pfd != pfd_end; pfd++) {
^~~
fs/select.c:909:4: note: Loop condition is true. Entering loop body
for (; pfd != pfd_end; pfd++) {
^
fs/select.c:917:9: note: Calling 'do_pollfd'
if (do_pollfd(pfd, pt, &can_busy_loop,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/select.c:855:2: note: Assigned value is garbage or undefined
int fd = pollfd->fd;
^ ~~~~~~~~~~
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/pci/pcie/aer.c:641:3: warning: Array access (from variable 'counter') results in a null pointer dereference [clang-analyzer-core.NullDereference]
counter[i]++;
^~~~~~~
drivers/pci/pcie/aer.c:616:2: note: 'counter' initialized to a null pointer value
u64 *counter = NULL;
^~~~~~~~~~~~
drivers/pci/pcie/aer.c:619:6: note: Assuming 'aer_stats' is non-null
if (!aer_stats)
^~~~~~~~~~
drivers/pci/pcie/aer.c:619:2: note: Taking false branch
if (!aer_stats)
^
drivers/pci/pcie/aer.c:622:2: note: 'Default' branch taken. Execution continues on line 640
switch (info->severity) {
^
drivers/pci/pcie/aer.c:640:2: note: Assuming 'i' is < 'max'
for_each_set_bit(i, &status, max)
^
include/linux/bitops.h:36:7: note: expanded from macro 'for_each_set_bit'
(bit) < (size); \
^~~~~~~~~~~~~~
drivers/pci/pcie/aer.c:640:2: note: Loop condition is true. Entering loop body
for_each_set_bit(i, &status, max)
^
include/linux/bitops.h:35:2: note: expanded from macro 'for_each_set_bit'
for ((bit) = find_first_bit((addr), (size)); \
^
drivers/pci/pcie/aer.c:641:3: note: Array access (from variable 'counter') results in a null pointer dereference
counter[i]++;
^~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:68:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(dst, prefix);
^~~~~~
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:68:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(dst, prefix);
^~~~~~
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:71:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(dst, src);
^~~~~~
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:71:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(dst, src);
^~~~~~
13 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/base.c:213:21: warning: Value stored to 'dss' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct dss_device *dss = src ? src->dss : dst->dss;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/base.c:213:21: note: Value stored to 'dss' during its initialization is never read
struct dss_device *dss = src ? src->dss : dst->dss;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/gpu/drm/omapdrm/dss/dispc.c:871:56: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->gcb, ct->gcr));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:867:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:6: note: Assuming the condition is true
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:51:2: note: expanded from macro 'REG_GET'
FLD_GET(dispc_read_reg(dispc, idx), start, end)
^
drivers/gpu/drm/omapdrm/dss/dss.h:66:34: note: expanded from macro 'FLD_GET'
#define FLD_GET(val, start, end) (((val) & FLD_MASK(start, end)) >> (end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:2: note: Taking true branch
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4902:3: note: Calling '_omap_dispc_initial_config'
_omap_dispc_initial_config(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3911:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_CORE_CLK_DIV)) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:6: note: Assuming field 'has_gamma_table' is false
if (dispc->feat->has_gamma_table)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:2: note: Taking false branch
if (dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:6: note: Left side of '||' is false
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3930:19: note: Field 'has_gamma_table' is false
dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3933:2: note: Calling 'dispc_setup_color_conv_coef'
dispc_setup_color_conv_coef(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:14: note: Assuming 'i' is < 'num_ovl'
for (i = 1; i < num_ovl; i++)
^~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:2: note: Loop condition is true. Entering loop body
for (i = 1; i < num_ovl; i++)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:920:3: note: Calling 'dispc_ovl_write_color_conv_coef'
dispc_ovl_write_color_conv_coef(dispc, i, &coefs_yuv2rgb_bt601_lim);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:871:56: note: The result of the left shift is undefined because the left operand is negative
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->gcb, ct->gcr));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:867:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
~~~~~ ^
drivers/gpu/drm/omapdrm/dss/dispc.c:889:56: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->crb, ct->crg));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:885:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:6: note: Assuming the condition is true
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:51:2: note: expanded from macro 'REG_GET'
FLD_GET(dispc_read_reg(dispc, idx), start, end)
^
drivers/gpu/drm/omapdrm/dss/dss.h:66:34: note: expanded from macro 'FLD_GET'
#define FLD_GET(val, start, end) (((val) & FLD_MASK(start, end)) >> (end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:2: note: Taking true branch
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4902:3: note: Calling '_omap_dispc_initial_config'
_omap_dispc_initial_config(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3911:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_CORE_CLK_DIV)) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:6: note: Assuming field 'has_gamma_table' is false
if (dispc->feat->has_gamma_table)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:2: note: Taking false branch
if (dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:6: note: Left side of '||' is false
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3930:19: note: Field 'has_gamma_table' is false
dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3933:2: note: Calling 'dispc_setup_color_conv_coef'
dispc_setup_color_conv_coef(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:14: note: Assuming 'i' is >= 'num_ovl'
for (i = 1; i < num_ovl; i++)
^~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:2: note: Loop condition is false. Execution continues on line 922
for (i = 1; i < num_ovl; i++)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:922:6: note: Assuming field 'has_writeback' is true
if (dispc->feat->has_writeback)
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:922:2: note: Taking true branch
if (dispc->feat->has_writeback)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:923:3: note: Calling 'dispc_wb_write_color_conv_coef'
dispc_wb_write_color_conv_coef(dispc, &coefs_rgb2yuv_bt601_lim);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:889:56: note: The result of the left shift is undefined because the left operand is negative
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->crb, ct->crg));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:885:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
~~~~~ ^
>> drivers/gpu/drm/omapdrm/dss/dispc.c:3215:3: warning: Value stored to 'ht' is never read [clang-analyzer-deadcode.DeadStores]
ht = vm->pixelclock / xtot;
^ ~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3215:3: note: Value stored to 'ht' is never read
ht = vm->pixelclock / xtot;
^ ~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/omapdrm/dss/dispc.c:3216:3: warning: Value stored to 'vt' is never read [clang-analyzer-deadcode.DeadStores]
vt = vm->pixelclock / xtot / ytot;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3216:3: note: Value stored to 'vt' is never read
vt = vm->pixelclock / xtot / ytot;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/omapdrm/dss/dispc.c:4822:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
rev = dispc_read_reg(dispc, DISPC_REVISION);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:4822:2: note: Value stored to 'rev' is never read
rev = dispc_read_reg(dispc, DISPC_REVISION);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c:1334:4: warning: Value stored to 'r' is never read [clang-analyzer-deadcode.DeadStores]
r = vcn_v2_5_stop_dpg_mode(adev, i);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c:1334:4: note: Value stored to 'r' is never read
r = vcn_v2_5_stop_dpg_mode(adev, i);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 14 warnings (14 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.
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:353:6: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
if (!r)
^
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:431:6: note: Assuming 'r' is 0
if (r)
^
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:431:2: note: Taking false branch
if (r)
^
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:434:6: note: Calling 'vcn_v3_0_hw_init'
r = vcn_v3_0_hw_init(adev);
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:301:12: note: 'r' declared without an initial value
int i, j, r;
^
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:303:6: note: Assuming the condition is false
if (amdgpu_sriov_vf(adev)) {
^
drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu_virt.h:230:2: note: expanded from macro 'amdgpu_sriov_vf'
((adev)->virt.caps & AMDGPU_SRIOV_CAPS_IS_VF)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:303:2: note: Taking false branch
if (amdgpu_sriov_vf(adev)) {
^
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:330:15: note: Assuming 'i' is >= field 'num_vcn_inst'
for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:330:3: note: Loop condition is false. Execution continues on line 353
for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
^
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:353:6: note: Branch condition evaluates to a garbage value
if (!r)
^~
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:1544:4: warning: Value stored to 'r' is never read [clang-analyzer-deadcode.DeadStores]
r = vcn_v3_0_stop_dpg_mode(adev, i);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:1544:4: note: Value stored to 'r' is never read
r = vcn_v3_0_stop_dpg_mode(adev, i);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1938:2: warning: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn]
return r;
^ ~
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1878:6: note: 'r' declared without an initial value
int r, i;
^
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1882:14: note: Assuming 'i' is >= field 'num_instances'
for (i = 0; i < adev->sdma.num_instances; i++) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1882:2: note: Loop condition is false. Execution continues on line 1891
for (i = 0; i < adev->sdma.num_instances; i++) {
^
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1891:14: note: 'i' is >= field 'num_instances'
for (i = 0; i < adev->sdma.num_instances; i++) {
^
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1891:2: note: Loop condition is false. Execution continues on line 1899
for (i = 0; i < adev->sdma.num_instances; i++) {
^
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1899:14: note: 'i' is >= field 'num_instances'
for (i = 0; i < adev->sdma.num_instances; i++) {
^
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1899:2: note: Loop condition is false. Execution continues on line 1938
for (i = 0; i < adev->sdma.num_instances; i++) {
^
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1938:2: note: Undefined or garbage value returned to caller
return r;
^ ~
Suppressed 14 warnings (14 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.
--
^
fs/ext4/inode.c:6073:13: note: Left side of '&&' is false
down_read(&EXT4_I(inode)->i_mmap_sem);
^
include/trace/events/ext4.h:22:24: note: expanded from macro 'EXT4_I'
#define EXT4_I(inode) (container_of(inode, struct ext4_inode_info, vfs_inode))
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
fs/ext4/inode.c:6073:13: note: Taking false branch
down_read(&EXT4_I(inode)->i_mmap_sem);
^
include/trace/events/ext4.h:22:24: note: expanded from macro 'EXT4_I'
#define EXT4_I(inode) (container_of(inode, struct ext4_inode_info, vfs_inode))
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
fs/ext4/inode.c:6073:13: note: Loop condition is false. Exiting loop
down_read(&EXT4_I(inode)->i_mmap_sem);
^
include/trace/events/ext4.h:22:24: note: expanded from macro 'EXT4_I'
#define EXT4_I(inode) (container_of(inode, struct ext4_inode_info, vfs_inode))
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
fs/ext4/inode.c:6076:6: note: Assuming 'err' is 0
if (err)
^~~
fs/ext4/inode.c:6076:2: note: Taking false branch
if (err)
^
fs/ext4/inode.c:6085:6: note: Assuming the condition is true
if (ext4_should_journal_data(inode))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/ext4/inode.c:6085:2: note: Taking true branch
if (ext4_should_journal_data(inode))
^
fs/ext4/inode.c:6086:3: note: Control jumps to line 6136
goto retry_alloc;
^
fs/ext4/inode.c:6138:6: note: Calling 'IS_ERR'
if (IS_ERR(handle)) {
^~~~~~~~~~~~~~
include/linux/err.h:36:9: note: Assuming the condition is false
return IS_ERR_VALUE((unsigned long)ptr);
^
include/linux/err.h:22:34: note: expanded from macro 'IS_ERR_VALUE'
#define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
include/linux/err.h:36:2: note: Returning zero, which participates in a condition later
return IS_ERR_VALUE((unsigned long)ptr);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/ext4/inode.c:6138:6: note: Returning from 'IS_ERR'
if (IS_ERR(handle)) {
^~~~~~~~~~~~~~
fs/ext4/inode.c:6138:2: note: Taking false branch
if (IS_ERR(handle)) {
^
fs/ext4/inode.c:6147:6: note: Assuming the condition is true
if (!ext4_should_journal_data(inode)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/ext4/inode.c:6147:2: note: Taking true branch
if (!ext4_should_journal_data(inode)) {
^
fs/ext4/inode.c:6148:9: note: 3rd function call argument is an uninitialized value
err = block_page_mkwrite(vma, vmf, get_block);
^ ~~~~~~~~~
Suppressed 15 warnings (15 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/mfd/menelaus.c:453:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:453:21: note: Value stored to 'c' during its initialization is never read
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:525:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:525:21: note: Value stored to 'c' during its initialization is never read
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:734:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:734:21: note: Value stored to 'c' during its initialization is never read
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
16 warnings generated.
drivers/mfd/twl-core.c:574:15: warning: The left operand of '&' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
switch (ctrl & 0x3) {
~~~~ ^
drivers/mfd/twl-core.c:569:2: note: 'ctrl' declared without an initial value
u8 ctrl;
^~~~~~~
drivers/mfd/twl-core.c:572:2: note: Calling 'twl_i2c_read_u8'
twl_i2c_read_u8(TWL_MODULE_PM_MASTER, &ctrl, R_CFG_BOOT);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mfd/twl.h:180:9: note: Calling 'twl_i2c_read'
return twl_i2c_read(mod_no, val, reg, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:473:7: note: 'regmap' is null
if (!regmap)
^~~~~~
drivers/mfd/twl-core.c:473:2: note: Taking true branch
if (!regmap)
^
drivers/mfd/twl-core.c:474:3: note: Returning without writing to '*value'
return -EPERM;
^
include/linux/mfd/twl.h:180:9: note: Returning from 'twl_i2c_read'
return twl_i2c_read(mod_no, val, reg, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mfd/twl.h:180:2: note: Returning without writing to '*val'
return twl_i2c_read(mod_no, val, reg, 1);
^
drivers/mfd/twl-core.c:572:2: note: Returning from 'twl_i2c_read_u8'
twl_i2c_read_u8(TWL_MODULE_PM_MASTER, &ctrl, R_CFG_BOOT);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:574:15: note: The left operand of '&' is a garbage value
switch (ctrl & 0x3) {
~~~~ ^
drivers/mfd/twl-core.c:1205:8: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
temp &= ~(SR_I2C_SDA_CTRL_PU | SR_I2C_SCL_CTRL_PU | \
~~~~ ^
drivers/mfd/twl-core.c:1078:6: note: Assuming 'node' is non-null
if (!node && !pdata) {
^~~~~
drivers/mfd/twl-core.c:1078:12: note: Left side of '&&' is false
if (!node && !pdata) {
^
drivers/mfd/twl-core.c:1083:6: note: Assuming 'twl_priv' is null
if (twl_priv) {
^~~~~~~~
drivers/mfd/twl-core.c:1083:2: note: Taking false branch
if (twl_priv) {
^
drivers/mfd/twl-core.c:1090:6: note: Assuming 'pdev' is non-null
if (!pdev) {
^~~~~
drivers/mfd/twl-core.c:1090:2: note: Taking false branch
if (!pdev) {
^
drivers/mfd/twl-core.c:1096:6: note: Assuming 'status' is 0
if (status) {
^~~~~~
drivers/mfd/twl-core.c:1096:2: note: Taking false branch
if (status) {
^
drivers/mfd/twl-core.c:1101:2: note: Taking false branch
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C) == 0) {
^
drivers/mfd/twl-core.c:1109:6: note: Assuming 'twl_priv' is non-null
if (!twl_priv) {
^~~~~~~~~
drivers/mfd/twl-core.c:1109:2: note: Taking false branch
if (!twl_priv) {
^
drivers/mfd/twl-core.c:1114:6: note: Assuming the condition is true
if ((id->driver_data) & TWL6030_CLASS) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:1114:2: note: Taking true branch
if ((id->driver_data) & TWL6030_CLASS) {
^
drivers/mfd/twl-core.c:1118:7: note: Assuming the condition is false
if ((id->driver_data) & TWL6032_SUBCLASS)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:1118:3: note: Taking false branch
if ((id->driver_data) & TWL6032_SUBCLASS)
^
drivers/mfd/twl-core.c:1129:26: note: Calling 'devm_kcalloc'
--
^~~~~
drivers/gpu/drm/msm/msm_gpu.c:612:2: note: Loop condition is true. Entering loop body
for (i = 0; i < n; i++)
^
drivers/gpu/drm/msm/msm_gpu.c:612:21: note: The value 1 is assigned to 'i'
for (i = 0; i < n; i++)
^~~
drivers/gpu/drm/msm/msm_gpu.c:612:14: note: 'i' is < 'n'
for (i = 0; i < n; i++)
^
drivers/gpu/drm/msm/msm_gpu.c:612:2: note: Loop condition is true. Entering loop body
for (i = 0; i < n; i++)
^
drivers/gpu/drm/msm/msm_gpu.c:613:31: note: The left operand of '-' is a garbage value
cntrs[i] = current_cntrs[i] - gpu->last_cntrs[i];
~~~~~~~~~~~~~~~~ ^
Suppressed 14 warnings (14 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/watchdog/pcwd_pci.c:169:2: warning: 1st function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
outb_p(*lsb, pcipcwd_private.io_addr + 4);
^
include/asm-generic/io.h:577:16: note: expanded from macro 'outb_p'
#define outb_p outb_p
^
drivers/watchdog/pcwd_pci.c:688:6: note: Assuming 'cards_found' is not equal to 1
if (cards_found == 1)
^~~~~~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:688:2: note: Taking false branch
if (cards_found == 1)
^
drivers/watchdog/pcwd_pci.c:691:6: note: Assuming 'cards_found' is <= 1
if (cards_found > 1) {
^~~~~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:691:2: note: Taking false branch
if (cards_found > 1) {
^
drivers/watchdog/pcwd_pci.c:696:6: note: Assuming the condition is false
if (pci_enable_device(pdev)) {
^~~~~~~~~~~~~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:696:2: note: Taking false branch
if (pci_enable_device(pdev)) {
^
drivers/watchdog/pcwd_pci.c:701:6: note: Assuming field 'start' is not equal to 0
if (pci_resource_start(pdev, 0) == 0x0000) {
^
include/linux/pci.h:1854:38: note: expanded from macro 'pci_resource_start'
#define pci_resource_start(dev, bar) ((dev)->resource[(bar)].start)
^
drivers/watchdog/pcwd_pci.c:701:2: note: Taking false branch
if (pci_resource_start(pdev, 0) == 0x0000) {
^
drivers/watchdog/pcwd_pci.c:707:2: note: Loop condition is false. Exiting loop
spin_lock_init(&pcipcwd_private.io_lock);
^
include/linux/spinlock.h:334:35: note: expanded from macro 'spin_lock_init'
# define spin_lock_init(lock) \
^
drivers/watchdog/pcwd_pci.c:711:6: note: Assuming the condition is false
if (pci_request_regions(pdev, WATCHDOG_NAME)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:711:2: note: Taking false branch
if (pci_request_regions(pdev, WATCHDOG_NAME)) {
^
drivers/watchdog/pcwd_pci.c:731:2: note: Calling 'pcipcwd_show_card_info'
pcipcwd_show_card_info();
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:226:32: note: 'fw_rev_minor' declared without an initial value
int got_fw_rev, fw_rev_major, fw_rev_minor;
^~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:230:15: note: Calling 'send_command'
got_fw_rev = send_command(CMD_GET_FIRMWARE_VERSION, &fw_rev_major,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:158:6: note: Assuming 'debug' is < DEBUG
if (debug >= DEBUG)
^~~~~~~~~~~~~~
drivers/watchdog/pcwd_pci.c:158:2: note: Taking false branch
if (debug >= DEBUG)
^
drivers/watchdog/pcwd_pci.c:169:2: note: 1st function call argument is an uninitialized value
outb_p(*lsb, pcipcwd_private.io_addr + 4);
^ ~~~~
include/asm-generic/io.h:577:16: note: expanded from macro 'outb_p'
#define outb_p outb_p
^
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/venc.c:697:2: warning: Value stored to 'rev_id' is never read [clang-analyzer-deadcode.DeadStores]
rev_id = (u8)(venc_read_reg(venc, VENC_REV_ID) & 0xff);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/venc.c:697:2: note: Value stored to 'rev_id' is never read
rev_id = (u8)(venc_read_reg(venc, VENC_REV_ID) & 0xff);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
drivers/rtc/rtc-sc27xx.c:373:8: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
SPRD_RTC_POWER_STS_VALID);
^
drivers/rtc/rtc-sc27xx.c:97:31: note: expanded from macro 'SPRD_RTC_POWER_STS_VALID'
(~SPRD_RTC_POWER_RESET_VALUE << SPRD_RTC_POWER_STS_SHIFT)
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
drivers/rtc/rtc-sc27xx.c:358:6: note: Assuming 'ret' is 0
if (ret)
^~~
drivers/rtc/rtc-sc27xx.c:358:2: note: Taking false branch
if (ret)
^
drivers/rtc/rtc-sc27xx.c:361:6: note: Assuming field 'valid' is false
if (!rtc->valid) {
^~~~~~~~~~~
drivers/rtc/rtc-sc27xx.c:361:2: note: Taking true branch
if (!rtc->valid) {
^
drivers/rtc/rtc-sc27xx.c:365:7: note: Assuming 'ret' is 0
if (ret)
^~~
drivers/rtc/rtc-sc27xx.c:365:3: note: Taking false branch
if (ret)
^
drivers/rtc/rtc-sc27xx.c:373:8: note: The result of the left shift is undefined because the left operand is negative
SPRD_RTC_POWER_STS_VALID);
^
drivers/rtc/rtc-sc27xx.c:97:31: note: expanded from macro 'SPRD_RTC_POWER_STS_VALID'
(~SPRD_RTC_POWER_RESET_VALUE << SPRD_RTC_POWER_STS_SHIFT)
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
1 warning generated.
drivers/hid/hid-steam.c:246:15: warning: The left operand of '!=' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
if (reply[0] != 0xae || reply[1] != 0x15 || reply[2] != 0x01)
^
drivers/hid/hid-steam.c:564:31: note: Left side of '&&' is false
struct steam_device *steam = container_of(work, struct steam_device,
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/hid/hid-steam.c:564:31: note: Taking false branch
struct steam_device *steam = container_of(work, struct steam_device,
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/hid/hid-steam.c:564:31: note: Loop condition is false. Exiting loop
struct steam_device *steam = container_of(work, struct steam_device,
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
--
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:130:6: note: Assuming field 'lo' is not equal to 0
if (it->lo != 0) {
^~~~~~~~~~~
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:130:2: note: Taking true branch
if (it->lo != 0) {
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:133:11: note: Calling 'inv_compute_chip_period'
valid = inv_compute_chip_period(ts, fifo_mult, period);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:101:2: note: Taking false branch
if (!inv_validate_period(period, mult))
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:106:2: note: Calling 'inv_update_acc'
inv_update_acc(&ts->chip_period, new_chip_period);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:30:6: note: Assuming the condition is false
if (acc->idx >= ARRAY_SIZE(acc->values))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:30:2: note: Taking false branch
if (acc->idx >= ARRAY_SIZE(acc->values))
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:34:7: note: The value 0 is assigned to 'i'
for (i = 0; i < ARRAY_SIZE(acc->values); ++i) {
^~~~~
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:34:2: note: Loop condition is true. Entering loop body
for (i = 0; i < ARRAY_SIZE(acc->values); ++i) {
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:35:7: note: Assuming the condition is true
if (acc->values[i] == 0)
^~~~~~~~~~~~~~~~~~~
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:35:3: note: Taking true branch
if (acc->values[i] == 0)
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:36:4: note: Execution continues on line 40
break;
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:40:26: note: Passing the value 0 via 2nd parameter 'divisor'
acc->val = div_u64(sum, i);
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:40:13: note: Calling 'div_u64'
acc->val = div_u64(sum, i);
^~~~~~~~~~~~~~~
include/linux/math64.h:127:31: note: Passing the value 0 via 2nd parameter 'divisor'
return div_u64_rem(dividend, divisor, &remainder);
^~~~~~~
include/linux/math64.h:127:9: note: Calling 'div_u64_rem'
return div_u64_rem(dividend, divisor, &remainder);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/math64.h:91:15: note: '__base' initialized to 0
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:224:2: note: expanded from macro 'do_div'
uint32_t __base = (base); \
^~~~~~~~~~~~~~~
include/linux/math64.h:91:15: note: Left side of '&&' is false
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:227:35: note: expanded from macro 'do_div'
if (__builtin_constant_p(__base) && \
^
include/linux/math64.h:91:15: note: 4 is >= 4
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:231:13: note: expanded from macro 'do_div'
} else if (__div64_const32_is_OK && \
^~~~~~~~~~~~~~~~~~~~~
arch/arm/include/asm/div64.h:64:32: note: expanded from macro '__div64_const32_is_OK'
#define __div64_const32_is_OK (__GNUC__ >= 4)
^~~~~~~~
note: expanded from here
include/linux/math64.h:91:15: note: Left side of '&&' is true
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:231:13: note: expanded from macro 'do_div'
} else if (__div64_const32_is_OK && \
^
arch/arm/include/asm/div64.h:64:31: note: expanded from macro '__div64_const32_is_OK'
#define __div64_const32_is_OK (__GNUC__ >= 4)
^
include/linux/math64.h:91:15: note: Left side of '&&' is false
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:232:35: note: expanded from macro 'do_div'
__builtin_constant_p(__base) && \
^
include/linux/math64.h:91:15: note: Taking true branch
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:239:9: note: expanded from macro 'do_div'
} else if (likely(((n) >> 32) == 0)) { \
^
include/linux/math64.h:91:15: note: Division by zero
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:240:25: note: expanded from macro 'do_div'
__rem = (uint32_t)(n) % __base; \
~~~~~~~~~~~~~~^~~~~~~~
Suppressed 14 warnings (14 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.
14 warnings generated.
>> drivers/hsi/clients/ssi_protocol.c:458:21: warning: Value stored to 'cl' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct hsi_client *cl = ssi->cl;
^~ ~~~~~~~
drivers/hsi/clients/ssi_protocol.c:458:21: note: Value stored to 'cl' during its initialization is never read
struct hsi_client *cl = ssi->cl;
^~ ~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
drivers/net/hamradio/baycom_ser_fdx.c:521:4: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcat(hi->data.modename, (!bc->opt_dcd) ? "*" : "+");
^~~~~~
drivers/net/hamradio/baycom_ser_fdx.c:521:4: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
strcat(hi->data.modename, (!bc->opt_dcd) ? "*" : "+");
^~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/w1/masters/ds1wm.c:567:2: warning: Value stored to 'inten' is never read [clang-analyzer-deadcode.DeadStores]
inten = ds1wm_read_register(ds1wm_data, DS1WM_INT_EN);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/w1/masters/ds1wm.c:567:2: note: Value stored to 'inten' is never read
inten = ds1wm_read_register(ds1wm_data, DS1WM_INT_EN);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 with check filters).
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
15 warnings generated.
drivers/iio/proximity/sx9310.c:630:17: warning: The left operand of '>>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
*val = pthresh >> (5 - regval);
^
drivers/iio/proximity/sx9310.c:679:6: note: Assuming field 'type' is equal to IIO_PROXIMITY
if (chan->type != IIO_PROXIMITY)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/proximity/sx9310.c:679:2: note: Taking false branch
if (chan->type != IIO_PROXIMITY)
^
drivers/iio/proximity/sx9310.c:682:2: note: Control jumps to 'case IIO_EV_INFO_HYSTERESIS:' at line 694
switch (info) {
^
drivers/iio/proximity/sx9310.c:695:10: note: Calling 'sx9310_read_hysteresis'
return sx9310_read_hysteresis(data, chan, val);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/proximity/sx9310.c:614:23: note: 'pthresh' declared without an initial value
unsigned int regval, pthresh;
^~~~~~~
drivers/iio/proximity/sx9310.c:617:8: note: Calling 'sx9310_read_thresh'
ret = sx9310_read_thresh(data, chan, &pthresh);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/proximity/sx9310.c:596:6: note: 'ret' is >= 0
if (ret < 0)
^~~
drivers/iio/proximity/sx9310.c:596:2: note: Taking false branch
if (ret < 0)
^
drivers/iio/proximity/sx9310.c:600:6: note: Assuming 'ret' is not equal to 0
if (ret)
^~~
drivers/iio/proximity/sx9310.c:600:2: note: Taking true branch
if (ret)
^
drivers/iio/proximity/sx9310.c:617:8: note: Returning from 'sx9310_read_thresh'
ret = sx9310_read_thresh(data, chan, &pthresh);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/proximity/sx9310.c:618:6: note: Assuming 'ret' is >= 0
--
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
net/netrom/nr_route.c:971:2: note: Loop condition is false. Exiting loop
nr_neigh_for_each_safe(s, nodet, &nr_neigh_list) {
^
include/net/netrom.h:164:2: note: expanded from macro 'nr_neigh_for_each_safe'
hlist_for_each_entry_safe(__nr_neigh, node2, list, neigh_node)
^
include/linux/list.h:1024:13: note: expanded from macro 'hlist_for_each_entry_safe'
for (pos = hlist_entry_safe((head)->first, typeof(*pos), member);\
^
include/linux/list.h:983:15: note: expanded from macro 'hlist_entry_safe'
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
net/netrom/nr_route.c:971:25: note: 's' is non-null
nr_neigh_for_each_safe(s, nodet, &nr_neigh_list) {
^
include/net/netrom.h:164:28: note: expanded from macro 'nr_neigh_for_each_safe'
hlist_for_each_entry_safe(__nr_neigh, node2, list, neigh_node)
^~~~~~~~~~
include/linux/list.h:1025:7: note: expanded from macro 'hlist_for_each_entry_safe'
pos && ({ n = pos->member.next; 1; }); \
^~~
net/netrom/nr_route.c:971:25: note: Left side of '&&' is true
nr_neigh_for_each_safe(s, nodet, &nr_neigh_list) {
^
net/netrom/nr_route.c:971:2: note: Loop condition is true. Entering loop body
nr_neigh_for_each_safe(s, nodet, &nr_neigh_list) {
^
include/net/netrom.h:164:2: note: expanded from macro 'nr_neigh_for_each_safe'
hlist_for_each_entry_safe(__nr_neigh, node2, list, neigh_node)
^
include/linux/list.h:1024:2: note: expanded from macro 'hlist_for_each_entry_safe'
for (pos = hlist_entry_safe((head)->first, typeof(*pos), member);\
^
net/netrom/nr_route.c:972:3: note: Loop condition is true. Entering loop body
while(s->count) {
^
net/netrom/nr_route.c:974:4: note: Calling 'nr_neigh_put'
nr_neigh_put(s);
^~~~~~~~~~~~~~~
include/net/netrom.h:138:2: note: Taking true branch
if (refcount_dec_and_test(&nr_neigh->refcount)) {
^
include/net/netrom.h:139:7: note: Assuming field 'ax25' is null
if (nr_neigh->ax25)
^~~~~~~~~~~~~~
include/net/netrom.h:139:3: note: Taking false branch
if (nr_neigh->ax25)
^
include/net/netrom.h:142:3: note: Memory is released
kfree(nr_neigh);
^~~~~~~~~~~~~~~
net/netrom/nr_route.c:974:4: note: Returning; memory was released via 1st parameter
nr_neigh_put(s);
^~~~~~~~~~~~~~~
net/netrom/nr_route.c:972:9: note: Use of memory after it is freed
while(s->count) {
^~~~~~~~
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/mtd/devices/phram.c:230:2: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(str, val);
^~~~~~
drivers/mtd/devices/phram.c:230:2: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(str, val);
^~~~~~
drivers/mtd/devices/phram.c:310:2: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(phram_paramline, val);
^~~~~~
drivers/mtd/devices/phram.c:310:2: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(phram_paramline, val);
^~~~~~
12 warnings generated.
Suppressed 12 warnings (12 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.
>> drivers/mtd/devices/st_spi_fsm.c:275:8: warning: Excessive padding in 'struct seq_rw_config' (6 padding bytes, where 2 is optimal).
Optimal fields order:
flags,
write,
cmd,
addr_pads,
data_pads,
mode_data,
mode_cycles,
dummy_cycles,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct seq_rw_config {
~~~~~~~^~~~~~~~~~~~~~~
drivers/mtd/devices/st_spi_fsm.c:275:8: note: Excessive padding in 'struct seq_rw_config' (6 padding bytes, where 2 is optimal). Optimal fields order: flags, write, cmd, addr_pads, data_pads, mode_data, mode_cycles, dummy_cycles, consider reordering the fields or adding explicit padding members
struct seq_rw_config {
~~~~~~~^~~~~~~~~~~~~~~
>> drivers/mtd/devices/st_spi_fsm.c:287:8: warning: Excessive padding in 'struct flash_info' (4 padding bytes, where 0 is optimal).
Optimal fields order:
name,
jedec_id,
sector_size,
flags,
max_freq,
config,
ext_id,
n_sectors,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct flash_info {
~~~~~~~^~~~~~~~~~~~
drivers/mtd/devices/st_spi_fsm.c:287:8: note: Excessive padding in 'struct flash_info' (4 padding bytes, where 0 is optimal). Optimal fields order: name, jedec_id, sector_size, flags, max_freq, config, ext_id, n_sectors, consider reordering the fields or adding explicit padding members
struct flash_info {
~~~~~~~^~~~~~~~~~~~
>> drivers/mtd/devices/st_spi_fsm.c:1427:3: warning: Value stored to 'offs' is never read [clang-analyzer-deadcode.DeadStores]
offs = 0;
^ ~
drivers/mtd/devices/st_spi_fsm.c:1427:3: note: Value stored to 'offs' is never read
offs = 0;
^ ~
Suppressed 12 warnings (12 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.
1 warning generated.
include/linux/mtd/mtd.h:470:19: warning: The left operand of '==' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
return ops->mode == MTD_OPS_AUTO_OOB ? mtd->oobavail : mtd->oobsize;
^
drivers/mtd/nand/onenand/onenand_base.c:3187:28: note: Assuming the condition is false
u_char *buf = FLEXONENAND(this) ? this->page_buf : this->oob_buf;
^
include/linux/mtd/onenand.h:161:3: note: expanded from macro 'FLEXONENAND'
(this->device_id & DEVICE_IS_FLEXONENAND)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:3187:16: note: '?' condition is false
u_char *buf = FLEXONENAND(this) ? this->page_buf : this->oob_buf;
^
include/linux/mtd/onenand.h:161:2: note: expanded from macro 'FLEXONENAND'
(this->device_id & DEVICE_IS_FLEXONENAND)
^
drivers/mtd/nand/onenand/onenand_base.c:3192:20: note: '?' condition is false
memset(buf, 0xff, FLEXONENAND(this) ? this->writesize
^
include/linux/mtd/onenand.h:161:2: note: expanded from macro 'FLEXONENAND'
(this->device_id & DEVICE_IS_FLEXONENAND)
^
drivers/mtd/nand/onenand/onenand_base.c:3202:8: note: '?' condition is false
len = FLEXONENAND(this) ? mtd->writesize : 16;
^
include/linux/mtd/onenand.h:161:2: note: expanded from macro 'FLEXONENAND'
(this->device_id & DEVICE_IS_FLEXONENAND)
^
drivers/mtd/nand/onenand/onenand_base.c:3210:2: note: Taking false branch
if (FLEXONENAND(this))
^
drivers/mtd/nand/onenand/onenand_base.c:3214:6: note: Assuming 'otp' is equal to 1
if (otp == 1)
^~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:3214:2: note: Taking true branch
if (otp == 1)
^
drivers/mtd/nand/onenand/onenand_base.c:3223:8: note: Calling 'onenand_otp_walk'
ret = onenand_otp_walk(mtd, from, len, &retlen, buf, do_otp_lock, MTD_OTP_USER);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:3038:6: note: Assuming 'density' is >= ONENAND_DEVICE_DENSITY_512Mb
if (density < ONENAND_DEVICE_DENSITY_512Mb)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:3038:2: note: Taking false branch
if (density < ONENAND_DEVICE_DENSITY_512Mb)
^
drivers/mtd/nand/onenand/onenand_base.c:3043:6: note: 'mode' is not equal to MTD_OTP_FACTORY
if (mode == MTD_OTP_FACTORY) {
^~~~
drivers/mtd/nand/onenand/onenand_base.c:3043:2: note: Taking false branch
if (mode == MTD_OTP_FACTORY) {
^
drivers/mtd/nand/onenand/onenand_base.c:3049:6: note: 'mode' is equal to MTD_OTP_USER
if (mode == MTD_OTP_USER) {
^~~~
drivers/mtd/nand/onenand/onenand_base.c:3049:2: note: Taking true branch
if (mode == MTD_OTP_USER) {
^
drivers/mtd/nand/onenand/onenand_base.c:3050:7: note: Assuming the condition is false
if (mtd->writesize * otp_pages < from + len)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:3050:3: note: Taking false branch
if (mtd->writesize * otp_pages < from + len)
^
drivers/mtd/nand/onenand/onenand_base.c:3058:9: note: 'len' is > 0
while (len > 0 && otp_pages > 0) {
^~~
drivers/mtd/nand/onenand/onenand_base.c:3058:9: note: Left side of '&&' is true
drivers/mtd/nand/onenand/onenand_base.c:3058:2: note: Loop condition is true. Entering loop body
while (len > 0 && otp_pages > 0) {
^
drivers/mtd/nand/onenand/onenand_base.c:3059:8: note: 'action' is non-null
if (!action) { /* OTP Info functions */
^~~~~~
drivers/mtd/nand/onenand/onenand_base.c:3059:3: note: Taking false branch
if (!action) { /* OTP Info functions */
^
drivers/mtd/nand/onenand/onenand_base.c:3079:10: note: Calling 'do_otp_lock'
ret = action(mtd, from, len, &tmp_retlen, buf);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:2983:18: note: Assuming the condition is true
if (FLEXONENAND(this)) {
^
include/linux/mtd/onenand.h:161:3: note: expanded from macro 'FLEXONENAND'
(this->device_id & DEVICE_IS_FLEXONENAND)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:2983:2: note: Taking true branch
if (FLEXONENAND(this)) {
^
drivers/mtd/nand/onenand/onenand_base.c:2996:9: note: Calling 'onenand_write_ops_nolock'
ret = onenand_write_ops_nolock(mtd, mtd->writesize * 49, &ops);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/nand/onenand/onenand_base.c:1799:2: note: Taking false branch
--
if (ssb_extif_available(&bus->extif))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/ssb/main.c:946:2: note: Taking false branch
if (ssb_extif_available(&bus->extif))
^
drivers/ssb/main.c:949:11: note: Assuming field 'dev' is non-null
else if (bus->chipco.dev)
^~~~~~~~~~~~~~~
drivers/ssb/main.c:949:7: note: Taking true branch
else if (bus->chipco.dev)
^
drivers/ssb/main.c:955:6: note: Assuming field 'chip_id' is not equal to 21349
if (bus->chip_id == 0x5365) {
^~~~~~~~~~~~~~~~~~~~~~
drivers/ssb/main.c:955:2: note: Taking false branch
if (bus->chip_id == 0x5365) {
^
drivers/ssb/main.c:958:10: note: Calling 'ssb_calc_clock_rate'
rate = ssb_calc_clock_rate(plltype, clkctl_n, clkctl_m);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/ssb/main.c:849:2: note: Control jumps to 'case 65536:' at line 854
switch (plltype) {
^
drivers/ssb/main.c:860:3: note: Execution continues on line 873
break;
^
drivers/ssb/main.c:873:2: note: Control jumps to the 'default' case at line 878
switch (plltype) {
^
drivers/ssb/main.c:881:6: note: Assuming 'clock' is not equal to 0
if (!clock)
^~~~~~
drivers/ssb/main.c:881:2: note: Taking false branch
if (!clock)
^
drivers/ssb/main.c:889:2: note: Control jumps to 'case 65536:' at line 890
switch (plltype) {
^
drivers/ssb/main.c:894:8: note: Calling 'clkfactor_f6_resolve'
m1 = clkfactor_f6_resolve(m1);
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/ssb/main.c:824:2: note: 'Default' branch taken. Execution continues on line 838
switch (v) {
^
drivers/ssb/main.c:838:2: note: Returning zero
return 0;
^~~~~~~~
drivers/ssb/main.c:894:8: note: Returning from 'clkfactor_f6_resolve'
m1 = clkfactor_f6_resolve(m1);
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/ssb/main.c:894:3: note: The value 0 is assigned to 'm1'
m1 = clkfactor_f6_resolve(m1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/ssb/main.c:895:8: note: 'plltype' is equal to SSB_PLLTYPE_1
if ((plltype == SSB_PLLTYPE_1) ||
^~~~~~~
drivers/ssb/main.c:895:34: note: Left side of '||' is true
if ((plltype == SSB_PLLTYPE_1) ||
^
drivers/ssb/main.c:900:8: note: Calling 'clkfactor_f6_resolve'
m3 = clkfactor_f6_resolve(m3);
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/ssb/main.c:824:2: note: 'Default' branch taken. Execution continues on line 838
switch (v) {
^
drivers/ssb/main.c:838:2: note: Returning zero
return 0;
^~~~~~~~
drivers/ssb/main.c:900:8: note: Returning from 'clkfactor_f6_resolve'
m3 = clkfactor_f6_resolve(m3);
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/ssb/main.c:900:3: note: The value 0 is assigned to 'm3'
m3 = clkfactor_f6_resolve(m3);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/ssb/main.c:902:3: note: Control jumps to 'case 17:' at line 911
switch (mc) {
^
drivers/ssb/main.c:912:18: note: Division by zero
return (clock / (m1 * m3));
~~~~~~^~~~~~~~~~~
drivers/ssb/main.c:1306:3: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
err = 0;
^ ~
drivers/ssb/main.c:1306:3: note: Value stored to 'err' is never read
err = 0;
^ ~
drivers/ssb/main.c:1312:3: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
err = 0;
^ ~
drivers/ssb/main.c:1312:3: note: Value stored to 'err' is never read
err = 0;
^ ~
Suppressed 12 warnings (12 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
>> drivers/nvmem/sunxi_sid.c:107:2: warning: Null pointer passed as 1st argument to memory copy function [clang-analyzer-unix.cstring.NullArg]
memcpy(val, &word, bytes);
^ ~~~
drivers/nvmem/sunxi_sid.c:89:9: note: Assuming 'bytes' is >= 4
while (bytes >= 4) {
^~~~~~~~~~
drivers/nvmem/sunxi_sid.c:89:2: note: Loop condition is true. Entering loop body
while (bytes >= 4) {
^
drivers/nvmem/sunxi_sid.c:90:9: note: Calling 'sun8i_sid_register_readout'
ret = sun8i_sid_register_readout(sid, offset, val);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/nvmem/sunxi_sid.c:61:2: note: Loop condition is false. Exiting loop
writel(reg_val, sid->base + SUN8I_SID_PRCTL);
^
arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
#define writel(v,c) ({ __iowmb(); writel_relaxed(v,c); })
^
arch/arm/include/asm/io.h:166:20: note: expanded from macro '__iowmb'
#define __iowmb() wmb()
^
arch/arm/include/asm/barrier.h:66:16: note: expanded from macro 'wmb'
#define wmb() __arm_heavy_mb(st)
^
arch/arm/include/asm/barrier.h:58:30: note: expanded from macro '__arm_heavy_mb'
#define __arm_heavy_mb(x...) do { dsb(x); arm_heavy_mb(); } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: '__sleep_us' is not equal to 0
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/iopoll.h:42:17: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^~~~~~~~~~~~
include/linux/kernel.h:160:39: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^~~~
drivers/nvmem/sunxi_sid.c:63:8: note: Taking true branch
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^
include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^
include/linux/kernel.h:160:35: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false. Exiting loop
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^
include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^
include/linux/kernel.h:160:45: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^
include/linux/kernel.h:152:29: note: expanded from macro 'might_sleep'
# define might_sleep() do { might_resched(); } while (0)
^
include/linux/kernel.h:87:26: note: expanded from macro 'might_resched'
# define might_resched() do { } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false. Exiting loop
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^
include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^
include/linux/kernel.h:160:45: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^
include/linux/kernel.h:152:24: note: expanded from macro 'might_sleep'
# define might_sleep() do { might_resched(); } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false. Exiting loop
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
--
net/core/filter.c:1770:2: warning: Null pointer passed as 1st argument to memory set function [clang-analyzer-unix.cstring.NullArg]
memset(to, 0, len);
^ ~~
net/core/filter.c:1756:15: note: Assuming 'offset' is <= 65535
if (unlikely(offset > 0xffff))
^
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
net/core/filter.c:1756:2: note: Taking false branch
if (unlikely(offset > 0xffff))
^
net/core/filter.c:1759:15: note: Assuming field 'skb' is non-null
if (unlikely(!ctx->skb))
^
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
net/core/filter.c:1759:2: note: Taking false branch
if (unlikely(!ctx->skb))
^
net/core/filter.c:1763:15: note: Assuming 'ptr' is null
if (unlikely(!ptr))
^
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
net/core/filter.c:1763:2: note: Taking true branch
if (unlikely(!ptr))
^
net/core/filter.c:1764:3: note: Control jumps to line 1770
goto err_clear;
^
net/core/filter.c:1770:2: note: Null pointer passed as 1st argument to memory set function
memset(to, 0, len);
^ ~~
net/core/filter.c:5161:15: warning: Value stored to 'sk' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct sock *sk = bpf_sock->sk;
^~ ~~~~~~~~~~~~
net/core/filter.c:5161:15: note: Value stored to 'sk' during its initialization is never read
struct sock *sk = bpf_sock->sk;
^~ ~~~~~~~~~~~~
net/core/filter.c:5162:6: warning: Value stored to 'val' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
int val = argval & BPF_SOCK_OPS_ALL_CB_FLAGS;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/core/filter.c:5162:6: note: Value stored to 'val' during its initialization is never read
int val = argval & BPF_SOCK_OPS_ALL_CB_FLAGS;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 14 warnings (14 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/gpu/drm/amd/amdgpu/vce_v3_0.c:668:3: warning: Value stored to 'tmp' is never read [clang-analyzer-deadcode.DeadStores]
tmp = RREG32(mmSRBM_SOFT_RESET);
^
drivers/gpu/drm/amd/amdgpu/vce_v3_0.c:668:3: note: Value stored to 'tmp' is never read
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1246:5: warning: Value stored to 'ring' is never read [clang-analyzer-deadcode.DeadStores]
ring = &adev->vcn.inst->ring_dec;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1246:5: note: Value stored to 'ring' is never read
ring = &adev->vcn.inst->ring_dec;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1307:5: warning: Value stored to 'ring' is never read [clang-analyzer-deadcode.DeadStores]
ring = &adev->vcn.inst->ring_dec;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:1307:5: note: Value stored to 'ring' is never read
ring = &adev->vcn.inst->ring_dec;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
>> drivers/cpufreq/mediatek-cpufreq.c:305:14: warning: Value stored to 'cpu_clk' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct clk *cpu_clk = ERR_PTR(-ENODEV);
^~~~~~~ ~~~~~~~~~~~~~~~~
drivers/cpufreq/mediatek-cpufreq.c:305:14: note: Value stored to 'cpu_clk' during its initialization is never read
struct clk *cpu_clk = ERR_PTR(-ENODEV);
^~~~~~~ ~~~~~~~~~~~~~~~~
>> drivers/cpufreq/mediatek-cpufreq.c:306:14: warning: Value stored to 'inter_clk' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct clk *inter_clk = ERR_PTR(-ENODEV);
^~~~~~~~~ ~~~~~~~~~~~~~~~~
drivers/cpufreq/mediatek-cpufreq.c:306:14: note: Value stored to 'inter_clk' during its initialization is never read
struct clk *inter_clk = ERR_PTR(-ENODEV);
^~~~~~~~~ ~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
1 warning generated.
Suppressed 1 warnings (1 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.
1 warning generated.
Suppressed 1 warnings (1 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/clocksource/timer-of.c:191:3: warning: Value stored to 'flags' is never read [clang-analyzer-deadcode.DeadStores]
flags |= TIMER_OF_IRQ;
^
drivers/clocksource/timer-of.c:191:3: note: Value stored to 'flags' is never read
Suppressed 1 warnings (1 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/i2c/busses/i2c-amd756.c:108:7: warning: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp' [clang-analyzer-deadcode.DeadStores]
if ((temp = inw_p(SMB_GLOBAL_STATUS)) & (GS_HST_STS | GS_SMB_STS)) {
^
drivers/i2c/busses/i2c-amd756.c:108:7: note: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp'
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/i2c/busses/i2c-sis5595.c:229:8: warning: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp' [clang-analyzer-deadcode.DeadStores]
if ((temp = sis5595_read(SMB_STS_LO) + (sis5595_read(SMB_STS_HI) << 8)) != 0x00) {
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/i2c/busses/i2c-sis5595.c:229:8: note: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp'
if ((temp = sis5595_read(SMB_STS_LO) + (sis5595_read(SMB_STS_HI) << 8)) != 0x00) {
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
drivers/leds/leds-lp5523.c:811:2: warning: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn]
return ret;
^ ~~~
drivers/leds/leds-lp5523.c:798:2: note: 'ret' declared without an initial value
int ret;
^~~~~~~
drivers/leds/leds-lp5523.c:802:14: note: Assuming 'i' is >= field 'num_colors'
for (i = 0; i < led->mc_cdev.num_colors; i++) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/leds-lp5523.c:802:2: note: Loop condition is false. Execution continues on line 810
for (i = 0; i < led->mc_cdev.num_colors; i++) {
^
drivers/leds/leds-lp5523.c:811:2: note: Undefined or garbage value returned to caller
return ret;
^ ~~~
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
vim +/rev +158 arch/arm/mach-omap2/id.c
de26804b60d460 Linus Walleij 2013-09-05 146
4de34f3572882f Vaibhav Hiremath 2011-12-19 147 void __init omap2xxx_check_revision(void)
1dbae815a72430 Tony Lindgren 2005-11-10 148 {
1dbae815a72430 Tony Lindgren 2005-11-10 149 int i, j;
a88231430384f4 Tony Lindgren 2008-12-10 150 u32 idcode, prod_id;
1dbae815a72430 Tony Lindgren 2005-11-10 151 u16 hawkeye;
a88231430384f4 Tony Lindgren 2008-12-10 152 u8 dev_type, rev;
c46732bbf3477f Kan-Ru Chen 2010-08-02 153 struct omap_die_id odi;
1dbae815a72430 Tony Lindgren 2005-11-10 154
1dbae815a72430 Tony Lindgren 2005-11-10 155 idcode = read_tap_reg(OMAP_TAP_IDCODE);
0e564848693b06 Tony Lindgren 2008-10-06 156 prod_id = read_tap_reg(tap_prod_id);
1dbae815a72430 Tony Lindgren 2005-11-10 157 hawkeye = (idcode >> 12) & 0xffff;
1dbae815a72430 Tony Lindgren 2005-11-10 @158 rev = (idcode >> 28) & 0x0f;
1dbae815a72430 Tony Lindgren 2005-11-10 159 dev_type = (prod_id >> 16) & 0x0f;
c46732bbf3477f Kan-Ru Chen 2010-08-02 160 omap_get_die_id(&odi);
1dbae815a72430 Tony Lindgren 2005-11-10 161
097c584cd48844 Paul Walmsley 2008-07-03 162 pr_debug("OMAP_TAP_IDCODE 0x%08x REV %i HAWKEYE 0x%04x MANF %03x\n",
1dbae815a72430 Tony Lindgren 2005-11-10 163 idcode, rev, hawkeye, (idcode >> 1) & 0x7ff);
c46732bbf3477f Kan-Ru Chen 2010-08-02 164 pr_debug("OMAP_TAP_DIE_ID_0: 0x%08x\n", odi.id_0);
097c584cd48844 Paul Walmsley 2008-07-03 165 pr_debug("OMAP_TAP_DIE_ID_1: 0x%08x DEV_REV: %i\n",
c46732bbf3477f Kan-Ru Chen 2010-08-02 166 odi.id_1, (odi.id_1 >> 28) & 0xf);
c46732bbf3477f Kan-Ru Chen 2010-08-02 167 pr_debug("OMAP_TAP_DIE_ID_2: 0x%08x\n", odi.id_2);
c46732bbf3477f Kan-Ru Chen 2010-08-02 168 pr_debug("OMAP_TAP_DIE_ID_3: 0x%08x\n", odi.id_3);
097c584cd48844 Paul Walmsley 2008-07-03 169 pr_debug("OMAP_TAP_PROD_ID_0: 0x%08x DEV_TYPE: %i\n",
1dbae815a72430 Tony Lindgren 2005-11-10 170 prod_id, dev_type);
097c584cd48844 Paul Walmsley 2008-07-03 171
1dbae815a72430 Tony Lindgren 2005-11-10 172 /* Check hawkeye ids */
1dbae815a72430 Tony Lindgren 2005-11-10 173 for (i = 0; i < ARRAY_SIZE(omap_ids); i++) {
1dbae815a72430 Tony Lindgren 2005-11-10 174 if (hawkeye == omap_ids[i].hawkeye)
1dbae815a72430 Tony Lindgren 2005-11-10 175 break;
1dbae815a72430 Tony Lindgren 2005-11-10 176 }
1dbae815a72430 Tony Lindgren 2005-11-10 177
1dbae815a72430 Tony Lindgren 2005-11-10 178 if (i == ARRAY_SIZE(omap_ids)) {
1dbae815a72430 Tony Lindgren 2005-11-10 179 printk(KERN_ERR "Unknown OMAP CPU id\n");
1dbae815a72430 Tony Lindgren 2005-11-10 180 return;
1dbae815a72430 Tony Lindgren 2005-11-10 181 }
1dbae815a72430 Tony Lindgren 2005-11-10 182
1dbae815a72430 Tony Lindgren 2005-11-10 183 for (j = i; j < ARRAY_SIZE(omap_ids); j++) {
1dbae815a72430 Tony Lindgren 2005-11-10 184 if (dev_type == omap_ids[j].dev)
1dbae815a72430 Tony Lindgren 2005-11-10 185 break;
1dbae815a72430 Tony Lindgren 2005-11-10 186 }
1dbae815a72430 Tony Lindgren 2005-11-10 187
1dbae815a72430 Tony Lindgren 2005-11-10 188 if (j == ARRAY_SIZE(omap_ids)) {
7852ec0536ca39 Paul Walmsley 2012-07-26 189 pr_err("Unknown OMAP device type. Handling it as OMAP%04x\n",
1dbae815a72430 Tony Lindgren 2005-11-10 190 omap_ids[i].type >> 16);
1dbae815a72430 Tony Lindgren 2005-11-10 191 j = i;
1dbae815a72430 Tony Lindgren 2005-11-10 192 }
1dbae815a72430 Tony Lindgren 2005-11-10 193
f9d41eefcfbb91 Ruslan Bilovol 2013-02-14 194 sprintf(soc_name, "OMAP%04x", omap_rev() >> 16);
f9d41eefcfbb91 Ruslan Bilovol 2013-02-14 195 sprintf(soc_rev, "ES%x", (omap_rev() >> 12) & 0xf);
f9d41eefcfbb91 Ruslan Bilovol 2013-02-14 196
f9d41eefcfbb91 Ruslan Bilovol 2013-02-14 197 pr_info("%s", soc_name);
84a34344ea1f2f Lauri Leukkunen 2008-12-10 198 if ((omap_rev() >> 8) & 0x0f)
04a92358b39649 Aaro Koskinen 2018-11-19 199 pr_cont("%s", soc_rev);
04a92358b39649 Aaro Koskinen 2018-11-19 200 pr_cont("\n");
a88231430384f4 Tony Lindgren 2008-12-10 201 }
a88231430384f4 Tony Lindgren 2008-12-10 202
:::::: The code at line 158 was first introduced by commit
:::::: 1dbae815a724303b46ab4663b5fc23c13e9d9690 [ARM] 3145/1: OMAP 3a/5: Add support for omap24xx
:::::: TO: Tony Lindgren <tony@atomide.com>
:::::: CC: Russell King <rmk+kernel@arm.linux.org.uk>
---
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] 2+ messages in thread
* arch/arm/mach-omap2/id.c:158:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
@ 2022-01-08 4:25 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2022-01-08 4:25 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 526566 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Randy Dunlap <rdunlap@infradead.org>
CC: Russell King <rmk+kernel@armlinux.org.uk>
Hi Randy,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: ddec8ed2d4905d0967ce2ec432e440e582aa52c6
commit: fd749fe4bcb00ad80d9eece709f804bb4ac6bf1e ARM: 9065/1: OABI compat: fix build when EPOLL is not enabled
date: 11 months ago
:::::: branch date: 26 hours ago
:::::: commit date: 11 months ago
config: arm-randconfig-c002-20220103 (https://download.01.org/0day-ci/archive/20220108/202201081249.yKErZhBh-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b50fea47b6c454581fce89af359f3afe5154986c)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fd749fe4bcb00ad80d9eece709f804bb4ac6bf1e
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout fd749fe4bcb00ad80d9eece709f804bb4ac6bf1e
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm 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/cred.h:330:12: note: expanded from macro 'get_current_cred'
(get_cred(current_cred()))
^
include/linux/cred.h:298:2: note: expanded from macro 'current_cred'
rcu_dereference_protected(current->cred, 1)
^
include/linux/rcupdate.h:548:2: note: expanded from macro 'rcu_dereference_protected'
__rcu_dereference_protected((p), (c), __rcu)
^
include/linux/rcupdate.h:367:2: note: expanded from macro '__rcu_dereference_protected'
RCU_LOCKDEP_WARN(!(c), "suspicious rcu_dereference_protected() usage"); \
^
include/linux/rcupdate.h:331:48: note: expanded from macro 'RCU_LOCKDEP_WARN'
#define RCU_LOCKDEP_WARN(c, s) do { } while (0 && (c))
^
security/keys/process_keys.c:626:13: note: Loop condition is false. Exiting loop
ctx.cred = get_current_cred();
^
include/linux/cred.h:330:12: note: expanded from macro 'get_current_cred'
(get_cred(current_cred()))
^
include/linux/cred.h:298:2: note: expanded from macro 'current_cred'
rcu_dereference_protected(current->cred, 1)
^
include/linux/rcupdate.h:548:2: note: expanded from macro 'rcu_dereference_protected'
__rcu_dereference_protected((p), (c), __rcu)
^
include/linux/rcupdate.h:367:2: note: expanded from macro '__rcu_dereference_protected'
RCU_LOCKDEP_WARN(!(c), "suspicious rcu_dereference_protected() usage"); \
^
include/linux/rcupdate.h:331:32: note: expanded from macro 'RCU_LOCKDEP_WARN'
#define RCU_LOCKDEP_WARN(c, s) do { } while (0 && (c))
^
security/keys/process_keys.c:629:2: note: Control jumps to 'case -5:' at line 703
switch (id) {
^
security/keys/process_keys.c:704:9: note: Calling 'look_up_user_keyrings'
ret = look_up_user_keyrings(NULL, &key);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
security/keys/process_keys.c:77:28: note: Left side of '&&' is false
const struct cred *cred = current_cred();
^
include/linux/cred.h:298:2: note: expanded from macro 'current_cred'
rcu_dereference_protected(current->cred, 1)
^
include/linux/rcupdate.h:548:2: note: expanded from macro 'rcu_dereference_protected'
__rcu_dereference_protected((p), (c), __rcu)
^
include/linux/rcupdate.h:367:2: note: expanded from macro '__rcu_dereference_protected'
RCU_LOCKDEP_WARN(!(c), "suspicious rcu_dereference_protected() usage"); \
^
include/linux/rcupdate.h:331:48: note: expanded from macro 'RCU_LOCKDEP_WARN'
#define RCU_LOCKDEP_WARN(c, s) do { } while (0 && (c))
^
security/keys/process_keys.c:77:28: note: Loop condition is false. Exiting loop
const struct cred *cred = current_cred();
^
include/linux/cred.h:298:2: note: expanded from macro 'current_cred'
rcu_dereference_protected(current->cred, 1)
^
include/linux/rcupdate.h:548:2: note: expanded from macro 'rcu_dereference_protected'
__rcu_dereference_protected((p), (c), __rcu)
^
include/linux/rcupdate.h:367:2: note: expanded from macro '__rcu_dereference_protected'
RCU_LOCKDEP_WARN(!(c), "suspicious rcu_dereference_protected() usage"); \
^
include/linux/rcupdate.h:331:32: note: expanded from macro 'RCU_LOCKDEP_WARN'
#define RCU_LOCKDEP_WARN(c, s) do { } while (0 && (c))
^
security/keys/process_keys.c:88:2: note: Taking false branch
kenter("%u", uid);
^
security/keys/internal.h:34:2: note: expanded from macro 'kenter'
no_printk(KERN_DEBUG "==> %s("FMT")\n", __func__, ##__VA_ARGS__)
^
include/linux/printk.h:139:2: note: expanded from macro 'no_printk'
if (0) \
^
security/keys/process_keys.c:91:2: note: Taking true branch
if (IS_ERR(reg_keyring))
^
security/keys/process_keys.c:92:3: note: Returning without writing to '*_user_session_keyring'
return PTR_ERR(reg_keyring);
^
security/keys/process_keys.c:704:9: note: Returning from 'look_up_user_keyrings'
ret = look_up_user_keyrings(NULL, &key);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
security/keys/process_keys.c:705:7: note: 'ret' is >= 0
if (ret < 0)
^~~
security/keys/process_keys.c:705:3: note: Taking false branch
if (ret < 0)
^
security/keys/process_keys.c:707:13: note: 1st function call argument is an uninitialized value
key_ref = make_key_ref(key, 1);
^ ~~~
Suppressed 12 warnings (12 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.
>> arch/arm/mach-omap2/id.c:158:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
rev = (idcode >> 28) & 0x0f;
^ ~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:158:2: note: Value stored to 'rev' is never read
rev = (idcode >> 28) & 0x0f;
^ ~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:191:3: warning: Value stored to 'j' is never read [clang-analyzer-deadcode.DeadStores]
j = i;
^ ~
arch/arm/mach-omap2/id.c:191:3: note: Value stored to 'j' is never read
j = i;
^ ~
arch/arm/mach-omap2/id.c:266:2: warning: Value stored to 'n' is never read [clang-analyzer-deadcode.DeadStores]
n += scnprintf(buf + n, sizeof(buf) - n, ")\n");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:266:2: note: Value stored to 'n' is never read
n += scnprintf(buf + n, sizeof(buf) - n, ")\n");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:363:3: warning: Value stored to 'cpu_rev' is never read [clang-analyzer-deadcode.DeadStores]
cpu_rev = "1.0";
^ ~~~~~
arch/arm/mach-omap2/id.c:363:3: note: Value stored to 'cpu_rev' is never read
cpu_rev = "1.0";
^ ~~~~~
arch/arm/mach-omap2/id.c:773:9: warning: 3rd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^ ~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:773:41: note: Calling 'omap_type'
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^~~~~~~~~~~
arch/arm/mach-omap2/id.c:52:2: note: 'val' initialized to 1792
static u32 val = OMAP2_DEVICETYPE_MASK;
^~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:54:2: note: Taking false branch
if (val < OMAP2_DEVICETYPE_MASK)
^
arch/arm/mach-omap2/id.c:57:2: note: Taking false branch
if (soc_is_omap24xx()) {
^
arch/arm/mach-omap2/id.c:59:9: note: Taking false branch
} else if (soc_is_ti81xx()) {
^
arch/arm/mach-omap2/id.c:61:13: note: Left side of '||' is false
} else if (soc_is_am33xx() || soc_is_am43xx()) {
^
arch/arm/mach-omap2/soc.h:174:27: note: expanded from macro 'soc_is_am33xx'
#define soc_is_am33xx() 0
^
arch/arm/mach-omap2/id.c:61:9: note: Taking false branch
} else if (soc_is_am33xx() || soc_is_am43xx()) {
^
arch/arm/mach-omap2/id.c:63:9: note: Taking false branch
} else if (soc_is_omap34xx()) {
^
arch/arm/mach-omap2/id.c:65:9: note: Taking false branch
} else if (soc_is_omap44xx()) {
^
arch/arm/mach-omap2/id.c:67:13: note: Left side of '||' is false
} else if (soc_is_omap54xx() || soc_is_dra7xx()) {
^
arch/arm/mach-omap2/soc.h:309:29: note: expanded from macro 'soc_is_omap54xx'
# define soc_is_omap54xx() is_omap54xx()
^
arch/arm/mach-omap2/id.c:67:9: note: Taking false branch
} else if (soc_is_omap54xx() || soc_is_dra7xx()) {
^
arch/arm/mach-omap2/id.c:74:3: note: Control jumps to line 81
goto out;
^
arch/arm/mach-omap2/id.c:81:2: note: Returning the value 1792 (loaded from 'val')
return val;
^~~~~~~~~~
arch/arm/mach-omap2/id.c:773:41: note: Returning from 'omap_type'
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^~~~~~~~~~~
arch/arm/mach-omap2/id.c:773:9: note: 3rd function call argument is an uninitialized value
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^ ~~~~~~~~~~~~~~~~~~~~~~~
13 warnings generated.
Suppressed 13 warnings (13 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.
fs/xfs/scrub/parent.c:197:13: warning: The left operand of '!=' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
if (nlink != expected_nlink)
^
fs/xfs/scrub/parent.c:277:7: note: Assuming the condition is true
if (!S_ISDIR(VFS_I(sc->ip)->i_mode))
^
include/uapi/linux/stat.h:23:21: note: expanded from macro 'S_ISDIR'
#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
^~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/scrub/parent.c:277:2: note: Taking false branch
if (!S_ISDIR(VFS_I(sc->ip)->i_mode))
^
fs/xfs/scrub/parent.c:281:6: note: Assuming the condition is false
if (!xfs_verify_dir_ino(mp, sc->ip->i_ino)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/scrub/parent.c:281:2: note: Taking false branch
if (!xfs_verify_dir_ino(mp, sc->ip->i_ino)) {
^
fs/xfs/scrub/parent.c:298:6: note: Assuming the condition is false
--
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/rapidio/devices/rio_mport_cdev.c:2069:6: note: Assuming the condition is false
if (atomic_read(&md->active) == 0)
^
arch/arm/include/asm/atomic.h:25:24: note: expanded from macro 'atomic_read'
#define atomic_read(v) READ_ONCE((v)->counter)
^
include/asm-generic/rwonce.h:47:28: note: expanded from macro 'READ_ONCE'
#define READ_ONCE(x) \
^
drivers/rapidio/devices/rio_mport_cdev.c:2069:2: note: Taking false branch
if (atomic_read(&md->active) == 0)
^
drivers/rapidio/devices/rio_mport_cdev.c:2072:2: note: Control jumps to 'case 2149084421:' at line 2073
switch (cmd) {
^
drivers/rapidio/devices/rio_mport_cdev.c:2074:10: note: Calling 'rio_mport_maint_rd'
return rio_mport_maint_rd(data, (void __user *)arg, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/rapidio/devices/rio_mport_cdev.c:266:6: note: 'ret' declared without an initial value
int ret, i;
^~~
drivers/rapidio/devices/rio_mport_cdev.c:268:2: note: Taking false branch
if (unlikely(copy_from_user(&maint_io, arg, sizeof(maint_io))))
^
drivers/rapidio/devices/rio_mport_cdev.c:271:7: note: Assuming the condition is false
if ((maint_io.offset % 4) ||
^~~~~~~~~~~~~~~~~~~
drivers/rapidio/devices/rio_mport_cdev.c:271:6: note: Left side of '||' is false
if ((maint_io.offset % 4) ||
^
drivers/rapidio/devices/rio_mport_cdev.c:272:7: note: Assuming field 'length' is not equal to 0
(maint_io.length == 0) || (maint_io.length % 4) ||
^~~~~~~~~~~~~~~~~~~~
drivers/rapidio/devices/rio_mport_cdev.c:271:6: note: Left side of '||' is false
if ((maint_io.offset % 4) ||
^
drivers/rapidio/devices/rio_mport_cdev.c:272:33: note: Assuming the condition is false
(maint_io.length == 0) || (maint_io.length % 4) ||
^~~~~~~~~~~~~~~~~~~
drivers/rapidio/devices/rio_mport_cdev.c:271:6: note: Left side of '||' is false
if ((maint_io.offset % 4) ||
^
drivers/rapidio/devices/rio_mport_cdev.c:273:6: note: Assuming the condition is false
(maint_io.length + maint_io.offset) > RIO_MAINT_SPACE_SZ)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/rapidio/devices/rio_mport_cdev.c:271:2: note: Taking false branch
if ((maint_io.offset % 4) ||
^
drivers/rapidio/devices/rio_mport_cdev.c:277:6: note: Assuming 'buffer' is not equal to NULL
if (buffer == NULL)
^~~~~~~~~~~~~~
drivers/rapidio/devices/rio_mport_cdev.c:277:2: note: Taking false branch
if (buffer == NULL)
^
drivers/rapidio/devices/rio_mport_cdev.c:282:14: note: Assuming 'i' is >= 'length'
for (i = 0; i < length; i++) {
^~~~~~~~~~
drivers/rapidio/devices/rio_mport_cdev.c:282:2: note: Loop condition is false. Execution continues on line 295
for (i = 0; i < length; i++) {
^
drivers/rapidio/devices/rio_mport_cdev.c:295:6: note: Assuming the condition is true
if (unlikely(copy_to_user((void __user *)(uintptr_t)maint_io.buffer,
^
include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^~~~
drivers/rapidio/devices/rio_mport_cdev.c:295:2: note: Taking false branch
if (unlikely(copy_to_user((void __user *)(uintptr_t)maint_io.buffer,
^
drivers/rapidio/devices/rio_mport_cdev.c:300:2: note: Undefined or garbage value returned to caller
return ret;
^ ~~~
Suppressed 12 warnings (12 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.
1 warning generated.
Suppressed 1 warnings (1 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (12 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 with check filters).
4 warnings generated.
>> drivers/bus/omap_l3_noc.c:96:3: warning: Value stored to 'err_description' is never read [clang-analyzer-deadcode.DeadStores]
err_description = "Standard";
^ ~~~~~~~~~~
drivers/bus/omap_l3_noc.c:96:3: note: Value stored to 'err_description' is never read
err_description = "Standard";
^ ~~~~~~~~~~
drivers/bus/omap_l3_noc.c:107:3: warning: Value stored to 'err_description' is never read [clang-analyzer-deadcode.DeadStores]
err_description = "Custom";
^ ~~~~~~~~
drivers/bus/omap_l3_noc.c:107:3: note: Value stored to 'err_description' is never read
err_description = "Custom";
^ ~~~~~~~~
>> drivers/bus/omap_l3_noc.c:127:4: warning: Value stored to 'master_name' is never read [clang-analyzer-deadcode.DeadStores]
master_name = master->name;
^ ~~~~~~~~~~~~
drivers/bus/omap_l3_noc.c:127:4: note: Value stored to 'master_name' is never read
master_name = master->name;
^ ~~~~~~~~~~~~
>> drivers/bus/omap_l3_noc.c:132:2: warning: Value stored to 'op_code' is never read [clang-analyzer-deadcode.DeadStores]
op_code = readl_relaxed(l3_targ_hdr) & 0x7;
^
drivers/bus/omap_l3_noc.c:132:2: note: Value stored to 'op_code' is never read
2 warnings generated.
drivers/clk/tegra/clk-tegra-super-gen4.c:141:3: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_divider(NULL, "hclk_div", "sclk", 0,
^
drivers/clk/tegra/clk-tegra-super-gen4.c:141:3: note: Value stored to 'clk' is never read
drivers/clk/tegra/clk-tegra-super-gen4.c:156:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_divider(NULL, "pclk_div", "hclk", 0,
^
drivers/clk/tegra/clk-tegra-super-gen4.c:156:2: note: Value stored to 'clk' is never read
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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/clk/clk-axi-clkgen.c:406:11: warning: The left operand of '&' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
if (val2 & MMCM_CLKOUT_NOCOUNT)
^
drivers/clk/clk-axi-clkgen.c:434:9: note: Calling 'axi_clkgen_get_div'
dout = axi_clkgen_get_div(axi_clkgen, MMCM_REG_CLKOUT0_1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/clk-axi-clkgen.c:402:21: note: 'val2' declared without an initial value
unsigned int val1, val2;
^~~~
drivers/clk/clk-axi-clkgen.c:405:2: note: Calling 'axi_clkgen_mmcm_read'
axi_clkgen_mmcm_read(axi_clkgen, reg2, &val2);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/clk-axi-clkgen.c:258:6: note: Assuming 'ret' is < 0
if (ret < 0)
^~~~~~~
drivers/clk/clk-axi-clkgen.c:258:2: note: Taking true branch
if (ret < 0)
^
drivers/clk/clk-axi-clkgen.c:259:3: note: Returning without writing to '*val'
return ret;
^
drivers/clk/clk-axi-clkgen.c:405:2: note: Returning from 'axi_clkgen_mmcm_read'
axi_clkgen_mmcm_read(axi_clkgen, reg2, &val2);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/clk-axi-clkgen.c:406:11: note: The left operand of '&' is a garbage value
if (val2 & MMCM_CLKOUT_NOCOUNT)
~~~~ ^
drivers/clk/clk-axi-clkgen.c:411:14: warning: The left operand of '&' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
div = (val1 & 0x3f) + ((val1 >> 6) & 0x3f);
^
drivers/clk/clk-axi-clkgen.c:434:9: note: Calling 'axi_clkgen_get_div'
dout = axi_clkgen_get_div(axi_clkgen, MMCM_REG_CLKOUT0_1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/clk-axi-clkgen.c:402:15: note: 'val1' declared without an initial value
unsigned int val1, val2;
^~~~
drivers/clk/clk-axi-clkgen.c:406:6: note: Assuming the condition is false
if (val2 & MMCM_CLKOUT_NOCOUNT)
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/clk-axi-clkgen.c:406:2: note: Taking false branch
if (val2 & MMCM_CLKOUT_NOCOUNT)
^
drivers/clk/clk-axi-clkgen.c:409:2: note: Calling 'axi_clkgen_mmcm_read'
axi_clkgen_mmcm_read(axi_clkgen, reg1, &val1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/clk-axi-clkgen.c:258:6: note: Assuming 'ret' is < 0
if (ret < 0)
^~~~~~~
drivers/clk/clk-axi-clkgen.c:258:2: note: Taking true branch
if (ret < 0)
^
drivers/clk/clk-axi-clkgen.c:259:3: note: Returning without writing to '*val'
return ret;
^
drivers/clk/clk-axi-clkgen.c:409:2: note: Returning from 'axi_clkgen_mmcm_read'
axi_clkgen_mmcm_read(axi_clkgen, reg1, &val1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/clk-axi-clkgen.c:411:14: note: The left operand of '&' is a garbage value
div = (val1 & 0x3f) + ((val1 >> 6) & 0x3f);
~~~~ ^
drivers/clk/clk-axi-clkgen.c:440:10: warning: The left operand of '&' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
if (val & MMCM_CLK_DIV_NOCOUNT)
~~~ ^
drivers/clk/clk-axi-clkgen.c:432:2: note: 'val' declared without an initial value
unsigned int val;
^~~~~~~~~~~~~~~~
drivers/clk/clk-axi-clkgen.c:439:2: note: Calling 'axi_clkgen_mmcm_read'
axi_clkgen_mmcm_read(axi_clkgen, MMCM_REG_CLK_DIV, &val);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
^
kernel/rcu/rcutorture.c:1108:4: note: Left side of '||' is false
WRITE_ONCE(old_rp->rtort_pipe_count,
^
include/asm-generic/rwonce.h:60:2: note: expanded from macro 'WRITE_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:288:3: note: expanded from macro '__native_word'
(sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
^
kernel/rcu/rcutorture.c:1108:4: note: Left side of '||' is false
WRITE_ONCE(old_rp->rtort_pipe_count,
^
include/asm-generic/rwonce.h:60:2: note: expanded from macro 'WRITE_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:288:3: note: expanded from macro '__native_word'
(sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
^
kernel/rcu/rcutorture.c:1108:4: note: Left side of '||' is true
WRITE_ONCE(old_rp->rtort_pipe_count,
^
include/asm-generic/rwonce.h:60:2: note: expanded from macro 'WRITE_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:289:28: note: expanded from macro '__native_word'
sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
^
kernel/rcu/rcutorture.c:1108:4: note: Taking false branch
WRITE_ONCE(old_rp->rtort_pipe_count,
^
include/asm-generic/rwonce.h:60:2: note: expanded from macro 'WRITE_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:2: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
kernel/rcu/rcutorture.c:1108:4: note: Loop condition is false. Exiting loop
WRITE_ONCE(old_rp->rtort_pipe_count,
^
include/asm-generic/rwonce.h:60:2: note: expanded from macro 'WRITE_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:2: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
kernel/rcu/rcutorture.c:1108:4: note: Loop condition is false. Exiting loop
WRITE_ONCE(old_rp->rtort_pipe_count,
^
include/asm-generic/rwonce.h:61:2: note: expanded from macro 'WRITE_ONCE'
__WRITE_ONCE(x, val); \
^
include/asm-generic/rwonce.h:53:35: note: expanded from macro '__WRITE_ONCE'
#define __WRITE_ONCE(x, val) \
^
kernel/rcu/rcutorture.c:1108:4: note: Loop condition is false. Exiting loop
WRITE_ONCE(old_rp->rtort_pipe_count,
^
include/asm-generic/rwonce.h:58:33: note: expanded from macro 'WRITE_ONCE'
#define WRITE_ONCE(x, val) \
^
kernel/rcu/rcutorture.c:1110:43: note: Division by zero
switch (synctype[torture_random(&rand) % nsynctypes]) {
~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
kernel/rcu/rcutorture.c:2434:4: warning: Value stored to 'errexit' is never read [clang-analyzer-deadcode.DeadStores]
errexit = true;
^ ~~~~
kernel/rcu/rcutorture.c:2434:4: note: Value stored to 'errexit' is never read
errexit = true;
^ ~~~~
Suppressed 13 warnings (13 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.
1 warning generated.
>> arch/arm/mach-imx/tzic.c:160:2: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores]
i = imx_readl(tzic_base + TZIC_INTCNTL);
^
arch/arm/mach-imx/tzic.c:160:2: note: Value stored to 'i' is never read
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
lib/oid_registry.c:125:3: warning: Value stored to 'num' is never read [clang-analyzer-deadcode.DeadStores]
num = 0;
^ ~
lib/oid_registry.c:125:3: note: Value stored to 'num' is never read
num = 0;
^ ~
11 warnings generated.
Suppressed 11 warnings (11 with check filters).
3 warnings generated.
drivers/clk/clk-si5341.c:667:2: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
err = si5341_encode_44_32(synth->data->regmap,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/clk-si5341.c:667:2: note: Value stored to 'err' is never read
err = si5341_encode_44_32(synth->data->regmap,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/clk-si5341.c:827:23: warning: Division by zero [clang-analyzer-core.DivideZero]
rate = *parent_rate / (r << 1);
~~~~~~~~~~~~~^~~~~~~~~~
drivers/clk/clk-si5341.c:812:6: note: Assuming 'r' is 0
if (r && !(r % rate))
^
drivers/clk/clk-si5341.c:812:8: note: Left side of '&&' is false
if (r && !(r % rate))
^
drivers/clk/clk-si5341.c:815:6: note: Assuming the condition is false
if (clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/clk-si5341.c:815:2: note: Taking false branch
if (clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT) {
^
drivers/clk/clk-si5341.c:827:23: note: Division by zero
rate = *parent_rate / (r << 1);
~~~~~~~~~~~~~^~~~~~~~~~
drivers/clk/clk-si5341.c:861:2: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
err = regmap_bulk_write(output->data->regmap,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/clk-si5341.c:861:2: note: Value stored to 'err' is never read
err = regmap_bulk_write(output->data->regmap,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
include/linux/math64.h:91:15: warning: Division by zero [clang-analyzer-core.DivideZero]
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:240:25: note: expanded from macro 'do_div'
__rem = (uint32_t)(n) % __base; \
^
drivers/clk/analogbits/wrpll-cln28hpc.c:230:6: note: Assuming field 'flags' is not equal to 0
if (c->flags == 0) {
^~~~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:230:2: note: Taking false branch
if (c->flags == 0) {
^
drivers/clk/analogbits/wrpll-cln28hpc.c:236:6: note: Assuming 'parent_rate' is equal to field 'parent_rate'
if (parent_rate != c->parent_rate) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:236:2: note: Taking false branch
if (parent_rate != c->parent_rate) {
^
drivers/clk/analogbits/wrpll-cln28hpc.c:247:6: note: Assuming 'target_rate' is not equal to 'parent_rate'
if (target_rate == parent_rate) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:247:2: note: Taking false branch
if (target_rate == parent_rate) {
^
drivers/clk/analogbits/wrpll-cln28hpc.c:255:9: note: Calling '__wrpll_calc_divq'
divq = __wrpll_calc_divq(target_rate, &target_vco_rate);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:149:7: note: 'vco_rate' is non-null
if (!vco_rate) {
^~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:149:2: note: Taking false branch
if (!vco_rate) {
^
drivers/clk/analogbits/wrpll-cln28hpc.c:155:6: note: Assuming 's' is <= 1
if (s <= 1) {
^~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:155:2: note: Taking true branch
if (s <= 1) {
^
drivers/clk/analogbits/wrpll-cln28hpc.c:167:2: note: Returning the value 1 (loaded from 'divq'), which participates in a condition later
return divq;
^~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:255:9: note: Returning from '__wrpll_calc_divq'
divq = __wrpll_calc_divq(target_rate, &target_vco_rate);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:256:7: note: 'divq' is 1
if (!divq)
^~~~
drivers/clk/analogbits/wrpll-cln28hpc.c:256:2: note: Taking false branch
if (!divq)
^
drivers/clk/analogbits/wrpll-cln28hpc.c:264:2: note: The value 0 is assigned to 'best_r'
best_r = 0;
--
^ ~~~~~~~
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/video/fbdev/savage/savagefb-i2c.c:139:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(chan->adapter.name, name);
^~~~~~
drivers/video/fbdev/savage/savagefb-i2c.c:139:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(chan->adapter.name, name);
^~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/pci/endpoint/pci-epc-mem.c:29:7: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
size >>= page_shift;
^
drivers/pci/endpoint/pci-epc-mem.c:244:7: note: 'mem' is non-null
if (!mem) {
^~~
drivers/pci/endpoint/pci-epc-mem.c:244:2: note: Taking false branch
if (!mem) {
^
drivers/pci/endpoint/pci-epc-mem.c:250:15: note: '?' condition is false
page_shift = ilog2(page_size);
^
include/linux/log2.h:158:2: note: expanded from macro 'ilog2'
__builtin_constant_p(n) ? \
^
drivers/pci/endpoint/pci-epc-mem.c:250:15: note: '?' condition is true
page_shift = ilog2(page_size);
^
include/linux/log2.h:161:2: note: expanded from macro 'ilog2'
(sizeof(n) <= 4) ? \
^
drivers/pci/endpoint/pci-epc-mem.c:254:10: note: Calling 'pci_epc_mem_get_order'
order = pci_epc_mem_get_order(mem, size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/endpoint/pci-epc-mem.c:26:28: note: '?' condition is false
unsigned int page_shift = ilog2(mem->window.page_size);
^
include/linux/log2.h:158:2: note: expanded from macro 'ilog2'
__builtin_constant_p(n) ? \
^
drivers/pci/endpoint/pci-epc-mem.c:26:28: note: '?' condition is true
unsigned int page_shift = ilog2(mem->window.page_size);
^
include/linux/log2.h:161:2: note: expanded from macro 'ilog2'
(sizeof(n) <= 4) ? \
^
drivers/pci/endpoint/pci-epc-mem.c:26:28: note: Calling '__ilog2_u32'
unsigned int page_shift = ilog2(mem->window.page_size);
^
include/linux/log2.h:162:2: note: expanded from macro 'ilog2'
__ilog2_u32(n) : \
^~~~~~~~~~~~~~
include/linux/log2.h:24:2: note: Returning the value -1
return fls(n) - 1;
^~~~~~~~~~~~~~~~~
drivers/pci/endpoint/pci-epc-mem.c:26:28: note: Returning from '__ilog2_u32'
unsigned int page_shift = ilog2(mem->window.page_size);
^
include/linux/log2.h:162:2: note: expanded from macro 'ilog2'
__ilog2_u32(n) : \
^~~~~~~~~~~~~~
drivers/pci/endpoint/pci-epc-mem.c:26:2: note: 'page_shift' initialized to 4294967295
unsigned int page_shift = ilog2(mem->window.page_size);
^~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/endpoint/pci-epc-mem.c:29:7: note: Assigned value is garbage or undefined
size >>= page_shift;
^ ~~~~~~~~~~
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
Suppressed 14 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
>> drivers/pinctrl/pinctrl-st.c:582:4: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
ST_PINCONF_PACK_OE(*config);
^
drivers/pinctrl/pinctrl-st.c:138:34: note: expanded from macro 'ST_PINCONF_PACK_OE'
#define ST_PINCONF_PACK_OE(conf) ST_PINCONF_PACK(conf, 1, OE)
^
drivers/pinctrl/pinctrl-st.c:129:49: note: expanded from macro 'ST_PINCONF_PACK'
#define ST_PINCONF_PACK(conf, val, param) (conf |=\
^
drivers/pinctrl/pinctrl-st.c:1013:6: note: 'function' is 0
if (function)
^~~~~~~~
drivers/pinctrl/pinctrl-st.c:1013:2: note: Taking false branch
if (function)
^
drivers/pinctrl/pinctrl-st.c:1018:30: note: Left side of '&&' is false
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^
drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
container_of(pc, struct st_gpio_bank, pc)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/pinctrl/pinctrl-st.c:1018:30: note: Taking false branch
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^
drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
container_of(pc, struct st_gpio_bank, pc)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/pinctrl/pinctrl-st.c:1018:30: note: Loop condition is false. Exiting loop
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^
drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
container_of(pc, struct st_gpio_bank, pc)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/pinctrl/pinctrl-st.c:1018:7: note: Calling 'st_gpio_get_direction'
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:739:2: note: 'config' declared without an initial value
unsigned long config;
^~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:746:13: note: Calling 'st_pctl_get_pin_function'
function = st_pctl_get_pin_function(&pc, offset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:440:6: note: Assuming 'alt' is non-null
if (!alt)
^~~~
drivers/pinctrl/pinctrl-st.c:440:2: note: Taking false branch
if (!alt)
^
drivers/pinctrl/pinctrl-st.c:445:2: note: Returning without writing to 'pc->oe', which participates in a condition later
return (val >> offset) & 0xf;
^
drivers/pinctrl/pinctrl-st.c:746:13: note: Returning from 'st_pctl_get_pin_function'
function = st_pctl_get_pin_function(&pc, offset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:747:6: note: Assuming 'function' is not equal to 0
if (function) {
^~~~~~~~
drivers/pinctrl/pinctrl-st.c:747:2: note: Taking true branch
if (function) {
^
drivers/pinctrl/pinctrl-st.c:748:3: note: Calling 'st_pinconf_get_direction'
st_pinconf_get_direction(&pc, offset, &config);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:579:6: note: Assuming field 'oe' is non-null
if (pc->oe) {
^~~~~~
drivers/pinctrl/pinctrl-st.c:579:2: note: Taking true branch
if (pc->oe) {
--
16 warnings generated.
fs/nilfs2/btree.c:377:2: warning: Value stored to 'flags' is never read [clang-analyzer-deadcode.DeadStores]
flags = nilfs_btree_node_get_flags(node);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/nilfs2/btree.c:377:2: note: Value stored to 'flags' is never read
flags = nilfs_btree_node_get_flags(node);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/nilfs2/btree.c:1430:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = 0;
^ ~
fs/nilfs2/btree.c:1430:2: note: Value stored to 'ret' is never read
ret = 0;
^ ~
fs/nilfs2/btree.c:2332:7: warning: 1st function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
if (!buffer_dirty(bh))
^ ~~
fs/nilfs2/btree.c:2312:2: note: 'bh' declared without an initial value
struct buffer_head *bh;
^~~~~~~~~~~~~~~~~~~~~~
fs/nilfs2/btree.c:2318:6: note: Assuming 'path' is not equal to NULL
if (path == NULL)
^~~~~~~~~~~~
fs/nilfs2/btree.c:2318:2: note: Taking false branch
if (path == NULL)
^
fs/nilfs2/btree.c:2322:6: note: 'ret' is >= 0
if (ret < 0) {
^~~
fs/nilfs2/btree.c:2322:2: note: Taking false branch
if (ret < 0) {
^
fs/nilfs2/btree.c:2326:8: note: Calling 'nilfs_btree_get_block'
ret = nilfs_btree_get_block(btree, ptr, &bh);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/nilfs2/btree.c:532:9: note: Calling '__nilfs_btree_get_block'
return __nilfs_btree_get_block(btree, ptr, bhp, NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/nilfs2/btree.c:480:6: note: Assuming 'ret' is not equal to 0
if (ret) {
^~~
fs/nilfs2/btree.c:480:2: note: Taking true branch
if (ret) {
^
fs/nilfs2/btree.c:481:7: note: Assuming the condition is true
if (ret != -EEXIST)
^~~~~~~~~~~~~~
fs/nilfs2/btree.c:481:3: note: Taking true branch
if (ret != -EEXIST)
^
fs/nilfs2/btree.c:482:4: note: Returning without writing to '*bhp'
return ret;
^
fs/nilfs2/btree.c:532:9: note: Returning from '__nilfs_btree_get_block'
return __nilfs_btree_get_block(btree, ptr, bhp, NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/nilfs2/btree.c:532:2: note: Returning without writing to '*bhp'
return __nilfs_btree_get_block(btree, ptr, bhp, NULL);
^
fs/nilfs2/btree.c:2326:8: note: Returning from 'nilfs_btree_get_block'
ret = nilfs_btree_get_block(btree, ptr, &bh);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/nilfs2/btree.c:2327:6: note: Assuming 'ret' is >= 0
if (ret < 0) {
^~~~~~~
fs/nilfs2/btree.c:2327:2: note: Taking false branch
if (ret < 0) {
^
fs/nilfs2/btree.c:2332:7: note: 1st function call argument is an uninitialized value
if (!buffer_dirty(bh))
^ ~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/pci/controller/pci-v3-semi.c:604:6: warning: Value stored to 'pci_end' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u64 pci_end = cpu_end - entry->offset;
^~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pci-v3-semi.c:604:6: note: Value stored to 'pci_end' during its initialization is never read
u64 pci_end = cpu_end - entry->offset;
^~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/pci/controller/pci-versatile.c:37:10: warning: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval' [clang-analyzer-deadcode.DeadStores]
while ((retval = get_option(&str, &slot))) {
^ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pci-versatile.c:37:10: note: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval'
while ((retval = get_option(&str, &slot))) {
^ ~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
>> drivers/pci/controller/pcie-iproc.c:861:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
drivers/pci/controller/pcie-iproc.c:861:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
drivers/pci/controller/pcie-iproc.c:1065:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
drivers/pci/controller/pcie-iproc.c:1065:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
Suppressed 13 warnings (13 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.
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1955:41: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
single_dpm_table->dpm_levels[i].value = clk;
^ ~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1934:2: note: 'clk' declared without an initial value
uint32_t clk;
^~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1937:8: note: Calling 'smu_v11_0_get_dpm_level_count'
ret = smu_v11_0_get_dpm_level_count(smu,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1923:9: note: Calling 'smu_v11_0_get_dpm_freq_by_index'
return smu_v11_0_get_dpm_freq_by_index(smu,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1889:6: note: Assuming 'value' is non-null, which participates in a condition later
if (!value)
^~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1889:2: note: Taking false branch
if (!value)
^
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1892:6: note: Assuming the condition is true
if (!smu_cmn_clk_dpm_is_enabled(smu, clk_type))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1892:2: note: Taking true branch
if (!smu_cmn_clk_dpm_is_enabled(smu, clk_type))
^
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1893:3: note: Returning zero, which participates in a condition later
return 0;
^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1923:9: note: Returning from 'smu_v11_0_get_dpm_freq_by_index'
return smu_v11_0_get_dpm_freq_by_index(smu,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1923:2: note: Returning zero, which participates in a condition later
return smu_v11_0_get_dpm_freq_by_index(smu,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1937:8: note: Returning from 'smu_v11_0_get_dpm_level_count'
ret = smu_v11_0_get_dpm_level_count(smu,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1940:6: note: 'ret' is 0
if (ret) {
^~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1940:2: note: Taking false branch
if (ret) {
^
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1945:14: note: Assuming 'i' is < field 'count'
for (i = 0; i < single_dpm_table->count; i++) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1945:2: note: Loop condition is true. Entering loop body
for (i = 0; i < single_dpm_table->count; i++) {
^
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1946:9: note: Calling 'smu_v11_0_get_dpm_freq_by_index'
ret = smu_v11_0_get_dpm_freq_by_index(smu,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1889:7: note: 'value' is non-null
if (!value)
^~~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1889:2: note: Taking false branch
if (!value)
^
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1892:6: note: Assuming the condition is true
if (!smu_cmn_clk_dpm_is_enabled(smu, clk_type))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1892:2: note: Taking true branch
if (!smu_cmn_clk_dpm_is_enabled(smu, clk_type))
^
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1893:3: note: Returning without writing to '*value'
return 0;
^
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1893:3: note: Returning zero, which participates in a condition later
return 0;
^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1946:9: note: Returning from 'smu_v11_0_get_dpm_freq_by_index'
ret = smu_v11_0_get_dpm_freq_by_index(smu,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1950:7: note: 'ret' is 0
if (ret) {
^~~
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1950:3: note: Taking false branch
if (ret) {
^
drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.c:1955:41: note: Assigned value is garbage or undefined
single_dpm_table->dpm_levels[i].value = clk;
^ ~~~
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
--
drivers/gpu/drm/drm_ioctl.c:389:6: note: Assuming the condition is true
if (sv->drm_di_major != -1) {
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:389:2: note: Taking true branch
if (sv->drm_di_major != -1) {
^
drivers/gpu/drm/drm_ioctl.c:390:7: note: Assuming field 'drm_di_major' is equal to DRM_IF_MAJOR
if (sv->drm_di_major != DRM_IF_MAJOR ||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:390:7: note: Left side of '||' is false
drivers/gpu/drm/drm_ioctl.c:391:7: note: Assuming field 'drm_di_minor' is >= 0
sv->drm_di_minor < 0 || sv->drm_di_minor > DRM_IF_MINOR) {
^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:390:7: note: Left side of '||' is false
if (sv->drm_di_major != DRM_IF_MAJOR ||
^
drivers/gpu/drm/drm_ioctl.c:391:31: note: Assuming field 'drm_di_minor' is <= DRM_IF_MINOR
sv->drm_di_minor < 0 || sv->drm_di_minor > DRM_IF_MINOR) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:390:3: note: Taking false branch
if (sv->drm_di_major != DRM_IF_MAJOR ||
^
drivers/gpu/drm/drm_ioctl.c:397:21: note: Assuming '__UNIQUE_ID___x267' is <= '__UNIQUE_ID___y268'
dev->if_version = max(if_version, dev->if_version);
^
include/linux/minmax.h:58:19: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:397:21: note: '?' condition is false
dev->if_version = max(if_version, dev->if_version);
^
include/linux/minmax.h:58:19: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
drivers/gpu/drm/drm_ioctl.c:398:7: note: Assuming field 'drm_di_minor' is >= 1
if (sv->drm_di_minor >= 1) {
^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:398:3: note: Taking true branch
if (sv->drm_di_minor >= 1) {
^
drivers/gpu/drm/drm_ioctl.c:403:14: note: Calling 'drm_set_busid'
retcode = drm_set_busid(dev, file_priv);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:150:6: note: Assuming field 'unique' is equal to NULL
if (master->unique != NULL)
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:150:2: note: Taking false branch
if (master->unique != NULL)
^
drivers/gpu/drm/drm_ioctl.c:153:6: note: Assuming field 'dev' is null
if (dev->dev && dev_is_pci(dev->dev)) {
^~~~~~~~
drivers/gpu/drm/drm_ioctl.c:153:15: note: Left side of '&&' is false
if (dev->dev && dev_is_pci(dev->dev)) {
^
drivers/gpu/drm/drm_ioctl.c:160:11: note: Assuming field 'unique' is null
WARN_ON(!dev->unique);
^
include/asm-generic/bug.h:188:25: note: expanded from macro 'WARN_ON'
int __ret_warn_on = !!(condition); \
^~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:162:7: note: Assuming field 'unique' is non-null
if (master->unique)
^~~~~~~~~~~~~~
drivers/gpu/drm/drm_ioctl.c:162:3: note: Taking true branch
if (master->unique)
^
drivers/gpu/drm/drm_ioctl.c:163:25: note: Null pointer passed as 1st argument to string length function
master->unique_len = strlen(dev->unique);
^ ~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
>> drivers/pinctrl/aspeed/pinctrl-aspeed.c:183:4: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcat(found, str);
^~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed.c:183:4: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
strcat(found, str);
^~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed.c:184:4: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcat(found, ", ");
^~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed.c:184:4: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
strcat(found, ", ");
^~~~~~
1 warning generated.
>> drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c:2660:5: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = regmap_update_bits(ctx->maps[desc->ip],
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c:2660:5: note: Value stored to 'ret' is never read
ret = regmap_update_bits(ctx->maps[desc->ip],
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12 warnings generated.
Suppressed 12 warnings (12 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.
18 warnings generated.
fs/jfs/jfs_types.h:61:33: warning: The left operand of '&' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
pxd->len_addr = (pxd->len_addr & cpu_to_le32(~0xffffff)) |
^
fs/jfs/xattr.c:957:2: note: Taking false branch
if (is_known_namespace(name))
^
fs/jfs/xattr.c:959:9: note: Calling '__jfs_xattr_set'
return __jfs_xattr_set(inode, name, value, size, flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/jfs/xattr.c:917:7: note: Calling '__jfs_setxattr'
rc = __jfs_setxattr(tid, inode, name, value, size, flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/jfs/xattr.c:671:15: note: Calling 'ea_get'
xattr_size = ea_get(inode, &ea_buf, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~
fs/jfs/xattr.c:438:6: note: Assuming field 'flag' is not equal to 0
if (ji->ea.flag == 0)
^~~~~~~~~~~~~~~~
fs/jfs/xattr.c:438:2: note: Taking false branch
if (ji->ea.flag == 0)
^
fs/jfs/xattr.c:441:6: note: Assuming 'ea_size' is equal to 0
if (ea_size == 0) {
^~~~~~~~~~~~
fs/jfs/xattr.c:441:2: note: Taking true branch
if (ea_size == 0) {
^
fs/jfs/xattr.c:442:7: note: 'min_size' is equal to 0
if (min_size == 0) {
^~~~~~~~
fs/jfs/xattr.c:442:3: note: Taking true branch
if (min_size == 0) {
^
fs/jfs/xattr.c:446:4: note: Returning without writing to 'ea_buf->new_ea.loc.len_addr'
return 0;
^
fs/jfs/xattr.c:671:15: note: Returning from 'ea_get'
xattr_size = ea_get(inode, &ea_buf, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~
fs/jfs/xattr.c:672:6: note: 'xattr_size' is >= 0
if (xattr_size < 0) {
^~~~~~~~~~
fs/jfs/xattr.c:672:2: note: Taking false branch
if (xattr_size < 0) {
^
fs/jfs/xattr.c:681:6: note: 'xattr_size' is 0
if (xattr_size) {
^~~~~~~~~~
fs/jfs/xattr.c:681:2: note: Taking false branch
if (xattr_size) {
^
fs/jfs/xattr.c:699:7: note: 'found' is 0
if (!found) {
^~~~~
fs/jfs/xattr.c:699:2: note: Taking true branch
if (!found) {
^
fs/jfs/xattr.c:700:7: note: Assuming the condition is false
if (flags & XATTR_REPLACE) {
^~~~~~~~~~~~~~~~~~~~~
fs/jfs/xattr.c:700:3: note: Taking false branch
if (flags & XATTR_REPLACE) {
^
fs/jfs/xattr.c:704:7: note: Assuming 'value' is not equal to NULL
if (value == NULL) {
^~~~~~~~~~~~~
fs/jfs/xattr.c:704:3: note: Taking false branch
if (value == NULL) {
^
fs/jfs/xattr.c:709:6: note: 'value' is non-null
if (value)
^~~~~
fs/jfs/xattr.c:709:2: note: Taking true branch
if (value)
^
fs/jfs/xattr.c:712:6: note: Assuming 'new_size' is > field 'max_size'
if (new_size > ea_buf.max_size) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
fs/jfs/xattr.c:712:2: note: Taking true branch
if (new_size > ea_buf.max_size) {
^
fs/jfs/xattr.c:717:3: note: Calling 'ea_release'
ea_release(inode, &ea_buf);
^~~~~~~~~~~~~~~~~~~~~~~~~~
fs/jfs/xattr.c:580:2: note: Taking false branch
if (ea_buf->flag & EA_MALLOC)
^
fs/jfs/xattr.c:582:7: note: Taking false branch
else if (ea_buf->flag & EA_EXTENT) {
^
fs/jfs/xattr.c:590:1: note: Returning without writing to 'ea_buf->new_ea.loc.len_addr'
--
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/pci/setup-bus.c:459:2: note: Taking false branch
list_for_each_entry(dev_res, head, list)
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/pci/setup-bus.c:459:2: note: Loop condition is false. Exiting loop
list_for_each_entry(dev_res, head, list)
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/pci/setup-bus.c:459:2: note: Loop condition is true. Entering loop body
list_for_each_entry(dev_res, head, list)
^
include/linux/list.h:628:2: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
drivers/pci/setup-bus.c:460:7: note: Use of memory after it is freed
if (dev_res->res->parent)
^~~~~~~~~~~~
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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/clk/tegra/clk-tegra114.c:910:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:910:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:934:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:934:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:943:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_factor(NULL, "pll_m_ud", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:943:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_factor(NULL, "pll_m_ud", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:1049:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_mux(NULL, "emc_mux", mux_pllmcp_clkm,
^
drivers/clk/tegra/clk-tegra114.c:1049:2: note: Value stored to 'clk' is never read
2 warnings generated.
>> drivers/clk/tegra/clk-tegra124.c:1098:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra124.c:1098:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra124.c:1132:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra124.c:1132:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
fs/ext4/move_extent.c:635:5: warning: Value stored to 'o_start' is never read [clang-analyzer-deadcode.DeadStores]
o_start = o_end;
^ ~~~~~
fs/ext4/move_extent.c:635:5: note: Value stored to 'o_start' is never read
o_start = o_end;
^ ~~~~~
Suppressed 14 warnings (14 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.
24 warnings generated.
fs/ext4/namei.c:398:46: warning: Access to field 'b_data' results in a dereference of a null pointer (loaded from variable 'bh') [clang-analyzer-core.NullDereference]
t->det_checksum = ext4_dirblock_csum(inode, bh->b_data,
^
fs/ext4/namei.c:3724:6: note: Assuming field 'inode' is null
if (new.inode && new.inode->i_nlink == 0) {
^~~~~~~~~
fs/ext4/namei.c:3724:16: note: Left side of '&&' is false
if (new.inode && new.inode->i_nlink == 0) {
^
fs/ext4/namei.c:3730:7: note: Assuming the condition is false
if ((ext4_test_inode_flag(new_dir, EXT4_INODE_PROJINHERIT)) &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/ext4/namei.c:3730:62: note: Left side of '&&' is false
if ((ext4_test_inode_flag(new_dir, EXT4_INODE_PROJINHERIT)) &&
^
fs/ext4/namei.c:3736:6: note: 'retval' is 0
if (retval)
^~~~~~
fs/ext4/namei.c:3736:2: note: Taking false branch
if (retval)
^
fs/ext4/namei.c:3739:6: note: 'retval' is 0
if (retval)
^~~~~~
fs/ext4/namei.c:3739:2: note: Taking false branch
if (retval)
^
fs/ext4/namei.c:3744:10: note: Field 'inode' is null
if (new.inode) {
^
fs/ext4/namei.c:3744:2: note: Taking false branch
if (new.inode) {
^
fs/ext4/namei.c:3751:2: note: Taking false branch
if (IS_ERR(old.bh))
^
fs/ext4/namei.c:3760:6: note: Assuming field 'bh' is non-null
if (!old.bh || le32_to_cpu(old.de->inode) != old.inode->i_ino)
^~~~~~~
fs/ext4/namei.c:3760:6: note: Left side of '||' is false
fs/ext4/namei.c:3760:17: note: Assuming field 'inode' is equal to field 'i_ino'
if (!old.bh || le32_to_cpu(old.de->inode) != old.inode->i_ino)
^
include/linux/byteorder/generic.h:89:21: note: expanded from macro 'le32_to_cpu'
#define le32_to_cpu __le32_to_cpu
^
include/uapi/linux/byteorder/little_endian.h:34:26: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
^
fs/ext4/namei.c:3760:2: note: Taking false branch
if (!old.bh || le32_to_cpu(old.de->inode) != old.inode->i_ino)
^
fs/ext4/namei.c:3765:2: note: Taking false branch
if (IS_ERR(new.bh)) {
^
fs/ext4/namei.c:3770:10: note: Field 'bh' is null
if (new.bh) {
^
fs/ext4/namei.c:3770:2: note: Taking false branch
if (new.bh) {
^
--
return kmalloc(size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:682:2: note: Returning pointer, which participates in a condition later
return kmalloc(size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:798:15: note: Returning from 'kzalloc'
pcie_table = kzalloc(struct_size(pcie_table, entries, atom_pcie_table->ucNumEntries),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:800:6: note: Assuming 'pcie_table' is non-null
if (!pcie_table)
^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:800:2: note: Taking false branch
if (!pcie_table)
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:803:15: note: Access to field 'count' results in a dereference of a null pointer (loaded from field 'vdd_dep_on_sclk')
pcie_count = table_info->vdd_dep_on_sclk->count;
^ ~~~~~~~~~~~~~~~
Suppressed 15 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
mm/shmem.c:1087:24: warning: Value stored to 'sbinfo' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb);
^~~~~~ ~~~~~~~~~~~~~~~~~~~~~
mm/shmem.c:1087:24: note: Value stored to 'sbinfo' during its initialization is never read
struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb);
^~~~~~ ~~~~~~~~~~~~~~~~~~~~~
mm/shmem.c:1542:29: warning: The result of the left shift is undefined because the right operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
hindex = round_down(index, HPAGE_PMD_NR);
^
include/linux/huge_mm.h:107:24: note: expanded from macro 'HPAGE_PMD_NR'
#define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER)
^
include/linux/math.h:34:50: note: expanded from macro 'round_down'
#define round_down(x, y) ((x) & ~__round_mask(x, y))
~~~~~~~~~~~~~~~~^~
include/linux/math.h:14:46: note: expanded from macro '__round_mask'
#define __round_mask(x, y) ((__typeof__(x))((y)-1))
^
mm/shmem.c:1542:29: note: Taking true branch
hindex = round_down(index, HPAGE_PMD_NR);
^
include/linux/huge_mm.h:107:26: note: expanded from macro 'HPAGE_PMD_NR'
#define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER)
^
include/linux/huge_mm.h:106:26: note: expanded from macro 'HPAGE_PMD_ORDER'
#define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT)
^
include/linux/huge_mm.h:325:28: note: expanded from macro 'HPAGE_PMD_SHIFT'
#define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; })
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
mm/shmem.c:1542:29: note: Loop condition is false. Exiting loop
hindex = round_down(index, HPAGE_PMD_NR);
^
include/linux/huge_mm.h:107:26: note: expanded from macro 'HPAGE_PMD_NR'
#define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER)
^
include/linux/huge_mm.h:106:26: note: expanded from macro 'HPAGE_PMD_ORDER'
#define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT)
^
include/linux/huge_mm.h:325:28: note: expanded from macro 'HPAGE_PMD_SHIFT'
#define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; })
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
mm/shmem.c:1542:29: note: The result of the left shift is undefined because the right operand is negative
hindex = round_down(index, HPAGE_PMD_NR);
^
include/linux/huge_mm.h:107:24: note: expanded from macro 'HPAGE_PMD_NR'
#define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER)
^
include/linux/math.h:34:50: note: expanded from macro 'round_down'
#define round_down(x, y) ((x) & ~__round_mask(x, y))
~~~~~~~~~~~~~~~~^~
include/linux/math.h:14:46: note: expanded from macro '__round_mask'
#define __round_mask(x, y) ((__typeof__(x))((y)-1))
^
Suppressed 13 warnings (13 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.
1 warning generated.
>> drivers/clk/ti/clockdomain.c:115:2: warning: Value stored to 'clk_name' is never read [clang-analyzer-deadcode.DeadStores]
clk_name = __clk_get_name(hw->clk);
^ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/clockdomain.c:115:2: note: Value stored to 'clk_name' is never read
clk_name = __clk_get_name(hw->clk);
^ ~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
drivers/clk/ti/divider.c:240:9: warning: Division by zero [clang-analyzer-core.DivideZero]
return DIV_ROUND_UP(*prate, div);
^
include/linux/math.h:36:22: note: expanded from macro 'DIV_ROUND_UP'
#define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP
^
include/uapi/linux/const.h:34:54: note: expanded from macro '__KERNEL_DIV_ROUND_UP'
#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
~~~~~~~~~~~~~~~~^~~~~
drivers/clk/ti/divider.c:238:8: note: Calling 'ti_clk_divider_bestdiv'
div = ti_clk_divider_bestdiv(hw, rate, prate);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/divider.c:179:37: note: Left side of '&&' is false
struct clk_omap_divider *divider = to_clk_omap_divider(hw);
^
drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
#define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/clk/ti/divider.c:179:37: note: Taking false branch
struct clk_omap_divider *divider = to_clk_omap_divider(hw);
^
drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
#define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/clk/ti/divider.c:179:37: note: Loop condition is false. Exiting loop
struct clk_omap_divider *divider = to_clk_omap_divider(hw);
^
drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
#define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/clk/ti/divider.c:184:6: note: Assuming 'rate' is not equal to 0
if (!rate)
^~~~~
drivers/clk/ti/divider.c:184:2: note: Taking false branch
if (!rate)
^
drivers/clk/ti/divider.c:189:6: note: Assuming the condition is false
if (!(clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/divider.c:189:2: note: Taking false branch
if (!(clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)) {
^
drivers/clk/ti/divider.c:201:11: note: Assuming '__UNIQUE_ID___x112' is >= '__UNIQUE_ID___y113'
maxdiv = min(ULONG_MAX / rate, maxdiv);
^
include/linux/minmax.h:51:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^~~~~~~~~~
drivers/clk/ti/divider.c:201:11: note: '?' condition is false
maxdiv = min(ULONG_MAX / rate, maxdiv);
^
include/linux/minmax.h:51:19: note: expanded from macro 'min'
--
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
crypto/tcrypt.c:292:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = crypto_aead_setauthsize(tfm, authsize);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/tcrypt.c:292:2: note: Value stored to 'ret' is never read
ret = crypto_aead_setauthsize(tfm, authsize);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/tcrypt.c:614:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = crypto_aead_setkey(tfm, key, *keysize);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/tcrypt.c:614:4: note: Value stored to 'ret' is never read
ret = crypto_aead_setkey(tfm, key, *keysize);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:68:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(dst, prefix);
^~~~~~
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:68:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(dst, prefix);
^~~~~~
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:71:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(dst, src);
^~~~~~
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:71:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(dst, src);
^~~~~~
18 warnings generated.
Suppressed 18 warnings (12 in non-user code, 6 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 (14 in non-user code, 2 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 (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
kernel/resource.c:80:2: warning: The expression is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
(*pos)++;
^
kernel/resource.c:1614:2: note: 'l' declared without an initial value
loff_t l;
^~~~~~~~
kernel/resource.c:1617:2: note: Loop condition is true. Entering loop body
for (p = p->child; p ; p = r_next(NULL, p, &l)) {
^
kernel/resource.c:1622:7: note: Assuming the condition is true
if (p->start >= addr + size)
^~~~~~~~~~~~~~~~~~~~~~~
kernel/resource.c:1622:3: note: Taking true branch
if (p->start >= addr + size)
^
kernel/resource.c:1623:4: note: Execution continues on line 1617
continue;
^
kernel/resource.c:1617:29: note: Calling 'r_next'
for (p = p->child; p ; p = r_next(NULL, p, &l)) {
^~~~~~~~~~~~~~~~~~~
kernel/resource.c:80:2: note: The expression is an uninitialized value. The computed value will also be garbage
(*pos)++;
^~~~~~
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
Suppressed 14 warnings (12 in non-user code, 2 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 (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
>> drivers/clk/spear/spear1310_clock.c:872:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_30m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:872:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_30m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:879:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_48m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:879:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_48m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:896:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_plclk0_clk", NULL, 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:896:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_plclk0_clk", NULL, 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:899:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_tx50_clk", NULL, 0, 50000000);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:899:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_tx50_clk", NULL, 0, 50000000);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 with check filters).
14 warnings generated.
include/drm/drm_crtc.h:1235:9: warning: Access to field 'index' results in a dereference of a null pointer (loaded from variable 'crtc') [clang-analyzer-core.NullDereference]
return crtc->index;
^
drivers/gpu/drm/msm/msm_atomic.c:208:2: note: 'async_crtc' initialized to a null pointer value
struct drm_crtc *async_crtc = NULL;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_atomic.c:210:15: note: Assuming field 'vsync_time' is non-null
bool async = kms->funcs->vsync_time &&
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_atomic.c:210:15: note: Left side of '&&' is true
drivers/gpu/drm/msm/msm_atomic.c:211:4: note: Calling 'can_do_async'
can_do_async(state, &async_crtc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_atomic.c:169:8: note: Assuming field 'legacy_cursor_update' is true
if (!(state->legacy_cursor_update || state->async_update))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_atomic.c:169:36: note: Left side of '||' is true
if (!(state->legacy_cursor_update || state->async_update))
^
drivers/gpu/drm/msm/msm_atomic.c:169:2: note: Taking false branch
if (!(state->legacy_cursor_update || state->async_update))
^
drivers/gpu/drm/msm/msm_atomic.c:173:2: note: Assuming 'i' is >= field 'num_connector'
for_each_new_connector_in_state(state, connector, connector_state, i)
^
include/drm/drm_atomic.h:757:7: note: expanded from macro 'for_each_new_connector_in_state'
(__i) < (__state)->num_connector; \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_atomic.c:173:2: note: Loop condition is false. Execution continues on line 176
for_each_new_connector_in_state(state, connector, connector_state, i)
^
include/drm/drm_atomic.h:756:2: note: expanded from macro 'for_each_new_connector_in_state'
for ((__i) = 0; \
^
drivers/gpu/drm/msm/msm_atomic.c:176:2: note: Assuming 'i' is >= field 'num_crtc'
for_each_new_crtc_in_state(state, crtc, crtc_state, i) {
^
include/drm/drm_atomic.h:822:7: note: expanded from macro 'for_each_new_crtc_in_state'
(__i) < (__state)->dev->mode_config.num_crtc; \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_atomic.c:176:2: note: Loop condition is false. Execution continues on line 184
for_each_new_crtc_in_state(state, crtc, crtc_state, i) {
^
include/drm/drm_atomic.h:821:2: note: expanded from macro 'for_each_new_crtc_in_state'
for ((__i) = 0; \
^
drivers/gpu/drm/msm/msm_atomic.c:184:2: note: Returning without writing to '*async_crtc'
return true;
^
drivers/gpu/drm/msm/msm_atomic.c:211:4: note: Returning from 'can_do_async'
can_do_async(state, &async_crtc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_atomic.c:239:6: note: 'async' is true
if (async) {
^~~~~
drivers/gpu/drm/msm/msm_atomic.c:239:2: note: Taking true branch
if (async) {
^
drivers/gpu/drm/msm/msm_atomic.c:241:40: note: Passing null pointer value via 1st parameter 'crtc'
&kms->pending_timers[drm_crtc_index(async_crtc)];
^~~~~~~~~~
drivers/gpu/drm/msm/msm_atomic.c:241:25: note: Calling 'drm_crtc_index'
&kms->pending_timers[drm_crtc_index(async_crtc)];
^~~~~~~~~~~~~~~~~~~~~~~~~~
include/drm/drm_crtc.h:1235:9: note: Access to field 'index' results in a dereference of a null pointer (loaded from variable 'crtc')
return crtc->index;
^~~~
Suppressed 13 warnings (13 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.
fs/xfs/libxfs/xfs_dir2_node.c:873:43: warning: Access to field 'b_addr' results in a dereference of a null pointer (loaded from variable 'curbp') [clang-analyzer-core.NullDereference]
dep = (xfs_dir2_data_entry_t *)((char *)curbp->b_addr +
^
fs/xfs/libxfs/xfs_dir2_node.c:938:6: note: Assuming the condition is false
if (args->op_flags & XFS_DA_OP_ADDNAME)
--
} else if (ctrl->link_rate == DP_LINK_BW_2_7) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/edp/edp_ctrl.c:1353:9: note: Taking false branch
} else if (ctrl->link_rate == DP_LINK_BW_2_7) {
^
drivers/gpu/drm/msm/edp/edp_ctrl.c:1357:3: note: Returning without writing to '*pm'
return false;
^
drivers/gpu/drm/msm/edp/edp_ctrl.c:914:3: note: Returning from 'msm_edp_ctrl_pixel_clock_valid'
msm_edp_ctrl_pixel_clock_valid(ctrl, ctrl->pixel_rate, &m, &n);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/edp/edp_ctrl.c:915:3: note: 2nd function call argument is an uninitialized value
edp_sw_mvid_nvid(ctrl, m, n);
^ ~
Suppressed 13 warnings (13 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.
13 warnings generated.
fs/sysfs/file.c:54:2: warning: Null pointer passed as 1st argument to memory set function [clang-analyzer-unix.cstring.NullArg]
memset(buf, 0, PAGE_SIZE);
^ ~~~
fs/sysfs/file.c:49:10: note: Calling 'seq_get_buf'
count = seq_get_buf(sf, &buf);
^~~~~~~~~~~~~~~~~~~~~
include/linux/seq_file.h:65:9: note: Assuming field 'count' is <= field 'size'
BUG_ON(m->count > m->size);
^
include/asm-generic/bug.h:183:45: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
^~~~~~~~~
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
include/linux/seq_file.h:65:2: note: Taking false branch
BUG_ON(m->count > m->size);
^
include/asm-generic/bug.h:183:32: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
^
include/linux/seq_file.h:65:2: note: Loop condition is false. Exiting loop
BUG_ON(m->count > m->size);
^
include/asm-generic/bug.h:183:27: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
^
include/linux/seq_file.h:66:6: note: Assuming field 'count' is >= field 'size'
if (m->count < m->size)
^~~~~~~~~~~~~~~~~~
include/linux/seq_file.h:66:2: note: Taking false branch
if (m->count < m->size)
^
include/linux/seq_file.h:69:3: note: Null pointer value stored to 'buf'
*bufp = NULL;
^~~~~~~~~~~~
fs/sysfs/file.c:49:10: note: Returning from 'seq_get_buf'
count = seq_get_buf(sf, &buf);
^~~~~~~~~~~~~~~~~~~~~
fs/sysfs/file.c:50:6: note: Assuming the condition is false
if (count < PAGE_SIZE) {
^~~~~~~~~~~~~~~~~
fs/sysfs/file.c:50:2: note: Taking false branch
if (count < PAGE_SIZE) {
^
fs/sysfs/file.c:54:2: note: Null pointer passed as 1st argument to memory set function
memset(buf, 0, PAGE_SIZE);
^ ~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:195:2: warning: Value stored to 'pm_pg_lock' is never read [clang-analyzer-deadcode.DeadStores]
pm_pg_lock = use_bank = use_ring = false;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:195:2: note: Value stored to 'pm_pg_lock' is never read
pm_pg_lock = use_bank = use_ring = false;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
>> drivers/gpu/drm/omapdrm/omap_crtc.c:234:21: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_crtc.c:234:21: note: Value stored to 'dev' during its initialization is never read
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_crtc.c:253:21: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_crtc.c:253:21: note: Value stored to 'dev' during its initialization is never read
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/gpu/drm/omapdrm/omap_encoder.c:104:16: warning: Access to field 'bridge' results in a dereference of a null pointer (loaded from variable 'output') [clang-analyzer-core.NullDereference]
for (bridge = output->bridge; bridge;
^~~~~~
drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Left side of '&&' is false
struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
^
drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
#define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Taking false branch
struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
^
drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
#define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Loop condition is false. Exiting loop
struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
^
drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
#define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:77:2: note: 'output' initialized here
struct omap_dss_device *output = omap_encoder->output;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_encoder.c:85:2: note: Left side of '&&' is false
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:85:2: note: Taking false branch
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
--
^
drivers/gpu/drm/meson/meson_crtc.c:381:3: note: Taking true branch
if (priv->viu.osd1_afbcd) {
^
drivers/gpu/drm/meson/meson_crtc.c:382:4: note: Access to field 'reset' results in a dereference of a null pointer (loaded from field 'ops')
priv->afbcd.ops->reset(priv);
^ ~~~
Suppressed 12 warnings (12 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.
1 warning generated.
Suppressed 1 warnings (1 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 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.
1 warning generated.
Suppressed 1 warnings (1 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.
1 warning generated.
Suppressed 1 warnings (1 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.
1 warning generated.
Suppressed 1 warnings (1 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.
13 warnings generated.
drivers/gpu/drm/drm_framebuffer.c:855:2: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(fb->comm, current->comm);
^~~~~~
drivers/gpu/drm/drm_framebuffer.c:855:2: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(fb->comm, current->comm);
^~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
drivers/rapidio/rio-scan.c:561:10: warning: Although the value stored to 'tmp' is used in the enclosing expression, the value is never actually read from 'tmp' [clang-analyzer-deadcode.DeadStores]
while ((tmp = rio_get_host_deviceid_lock(port, hopcount))
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/rapidio/rio-scan.c:561:10: note: Although the value stored to 'tmp' is used in the enclosing expression, the value is never actually read from 'tmp'
while ((tmp = rio_get_host_deviceid_lock(port, hopcount))
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/venc.c:697:2: warning: Value stored to 'rev_id' is never read [clang-analyzer-deadcode.DeadStores]
rev_id = (u8)(venc_read_reg(venc, VENC_REV_ID) & 0xff);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/venc.c:697:2: note: Value stored to 'rev_id' is never read
rev_id = (u8)(venc_read_reg(venc, VENC_REV_ID) & 0xff);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c:1197:3: warning: Value stored to 'tmp' is never read [clang-analyzer-deadcode.DeadStores]
tmp = RREG32(mmSRBM_SOFT_RESET);
^
drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c:1197:3: note: Value stored to 'tmp' is never read
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
21 warnings generated.
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:827:17: warning: The result of the left shift is undefined because the right operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
created |= 1 << session_idx;
^ ~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:727:2: note: 'session_idx' initialized to -1
int session_idx = -1;
^~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:739:2: note: Loop condition is false. Execution continues on line 805
for (idx = 0; idx < ib->length_dw;) {
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:805:2: note: Loop condition is true. Entering loop body
for (idx = 0; idx < ib->length_dw;) {
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:809:3: note: Control jumps to 'case 16777217:' at line 826
switch (cmd) {
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:827:17: note: The result of the left shift is undefined because the right operand is negative
created |= 1 << session_idx;
^ ~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:868:8: warning: 5th function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
r = amdgpu_vce_cs_reloc(p, ib_idx, idx + 10, idx + 9,
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:731:11: note: 'tmp' declared without an initial value
uint32_t tmp, handle = 0;
^~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:739:2: note: Loop condition is false. Execution continues on line 805
for (idx = 0; idx < ib->length_dw;) {
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:805:2: note: Loop condition is true. Entering loop body
for (idx = 0; idx < ib->length_dw;) {
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:809:3: note: Control jumps to 'case 50331649:' at line 867
switch (cmd) {
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:868:8: note: 5th function call argument is an uninitialized value
r = amdgpu_vce_cs_reloc(p, ib_idx, idx + 10, idx + 9,
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:880:19: warning: The result of the left shift is undefined because the right operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
destroyed |= 1 << session_idx;
^ ~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:727:2: note: 'session_idx' initialized to -1
int session_idx = -1;
^~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:739:2: note: Loop condition is false. Execution continues on line 805
for (idx = 0; idx < ib->length_dw;) {
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:805:2: note: Loop condition is true. Entering loop body
for (idx = 0; idx < ib->length_dw;) {
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:809:3: note: Control jumps to 'case 33554433:' at line 879
switch (cmd) {
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:880:19: note: The result of the left shift is undefined because the right operand is negative
--
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 (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
drivers/video/fbdev/i740fb.c:332:2: warning: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn]
return wm;
^ ~~
drivers/video/fbdev/i740fb.c:219:2: note: 'wm' declared without an initial value
u32 wm;
^~~~~~
drivers/video/fbdev/i740fb.c:221:2: note: 'Default' branch taken. Execution continues on line 332
switch (bpp) {
^
drivers/video/fbdev/i740fb.c:332:2: note: Undefined or garbage value returned to caller
return wm;
^ ~~
drivers/video/fbdev/i740fb.c:354:21: warning: The result of the left shift is undefined because the right operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
f_vco = (freq * (1 << p_best)) / I740_RFREQ_FIX;
^ ~~~~~~
drivers/video/fbdev/i740fb.c:353:19: note: '?' condition is false
p_best = min(15, ilog2(I740_MAX_VCO_FREQ / (freq / I740_RFREQ_FIX)));
^
include/linux/log2.h:158:2: note: expanded from macro 'ilog2'
__builtin_constant_p(n) ? \
^
drivers/video/fbdev/i740fb.c:353:19: note: '?' condition is true
p_best = min(15, ilog2(I740_MAX_VCO_FREQ / (freq / I740_RFREQ_FIX)));
^
include/linux/log2.h:161:2: note: expanded from macro 'ilog2'
(sizeof(n) <= 4) ? \
^
drivers/video/fbdev/i740fb.c:353:11: note: '__UNIQUE_ID___x256' is >= '__UNIQUE_ID___y257'
p_best = min(15, ilog2(I740_MAX_VCO_FREQ / (freq / I740_RFREQ_FIX)));
^
include/linux/minmax.h:51:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^~~
drivers/video/fbdev/i740fb.c:353:11: note: '?' condition is false
p_best = min(15, ilog2(I740_MAX_VCO_FREQ / (freq / I740_RFREQ_FIX)));
^
include/linux/minmax.h:51:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
drivers/video/fbdev/i740fb.c:353:2: note: The value -1 is assigned to 'p_best'
p_best = min(15, ilog2(I740_MAX_VCO_FREQ / (freq / I740_RFREQ_FIX)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/i740fb.c:354:21: note: The result of the left shift is undefined because the right operand is negative
f_vco = (freq * (1 << p_best)) / I740_RFREQ_FIX;
^ ~~~~~~
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/clk/ti/apll.c:100:2: warning: Value stored to 'state' is never read [clang-analyzer-deadcode.DeadStores]
state <<= __ffs(ad->idlest_mask);
^ ~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/apll.c:100:2: note: Value stored to 'state' is never read
state <<= __ffs(ad->idlest_mask);
^ ~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 with check filters).
1 warning generated.
>> drivers/clk/ti/clkt_dpll.c:305:2: warning: Value stored to 'clk_name' is never read [clang-analyzer-deadcode.DeadStores]
clk_name = clk_hw_get_name(hw);
^ ~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/clkt_dpll.c:305:2: note: Value stored to 'clk_name' is never read
clk_name = clk_hw_get_name(hw);
^ ~~~~~~~~~~~~~~~~~~~
1 warning generated.
drivers/clk/ti/clkt_dflt.c:234:2: warning: Value stored to 'v' is never read [clang-analyzer-deadcode.DeadStores]
v = ti_clk_ll_ops->clk_readl(&clk->enable_reg); /* OCP barrier */
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/clkt_dflt.c:234:2: note: Value stored to 'v' is never read
v = ti_clk_ll_ops->clk_readl(&clk->enable_reg); /* OCP barrier */
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
Suppressed 14 warnings (12 in non-user code, 2 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 (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
21 warnings generated.
include/linux/log2.h:67:13: warning: The result of the left shift is undefined due to shifting by '4294967295', which is greater or equal to the width of type 'unsigned long' [clang-analyzer-core.UndefinedBinaryOperatorResult]
return 1UL << (fls_long(n) - 1);
^
mm/page_alloc.c:8794:2: note: Calling 'zone_set_pageset_high_and_batch'
zone_set_pageset_high_and_batch(zone);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/page_alloc.c:6388:6: note: Assuming 'percpu_pagelist_fraction' is 0
if (percpu_pagelist_fraction) {
^~~~~~~~~~~~~~~~~~~~~~~~
mm/page_alloc.c:6388:2: note: Taking false branch
if (percpu_pagelist_fraction) {
^
mm/page_alloc.c:6394:15: note: Calling 'zone_batchsize'
new_batch = zone_batchsize(zone);
^~~~~~~~~~~~~~~~~~~~
mm/page_alloc.c:6286:6: note: Assuming the condition is false
if (batch * PAGE_SIZE > 1024 * 1024)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/page_alloc.c:6286:2: note: Taking false branch
if (batch * PAGE_SIZE > 1024 * 1024)
^
mm/page_alloc.c:6289:6: note: Assuming 'batch' is >= 1
if (batch < 1)
^~~~~~~~~
mm/page_alloc.c:6289:2: note: Taking false branch
if (batch < 1)
^
mm/page_alloc.c:6302:10: note: '?' condition is false
batch = rounddown_pow_of_two(batch + batch/2) - 1;
^
include/linux/log2.h:193:2: note: expanded from macro 'rounddown_pow_of_two'
__builtin_constant_p(n) ? ( \
^
mm/page_alloc.c:6302:10: note: Calling '__rounddown_pow_of_two'
batch = rounddown_pow_of_two(batch + batch/2) - 1;
^
include/linux/log2.h:195:2: note: expanded from macro 'rounddown_pow_of_two'
__rounddown_pow_of_two(n) \
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/log2.h:67:13: note: The result of the left shift is undefined due to shifting by '4294967295', which is greater or equal to the width of type 'unsigned long'
return 1UL << (fls_long(n) - 1);
^ ~~~~~~~~~~~~~~~~~
mm/page_alloc.c:4832:4: warning: 4th function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
should_compact_retry(ac, order, alloc_flags,
^
mm/page_alloc.c:4973:15: note: Assuming 'order' is < 11
if (unlikely(order >= MAX_ORDER)) {
^
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
mm/page_alloc.c:4973:2: note: Taking false branch
if (unlikely(order >= MAX_ORDER)) {
^
mm/page_alloc.c:4980:7: note: Calling 'prepare_alloc_pages'
if (!prepare_alloc_pages(gfp_mask, order, preferred_nid, nodemask, &ac, &alloc_mask, &alloc_flags))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/page_alloc.c:4921:2: note: Taking false branch
if (cpusets_enabled()) {
^
mm/page_alloc.c:4936:2: note: Taking true branch
might_sleep_if(gfp_mask & __GFP_DIRECT_RECLAIM);
^
--
drivers/gpu/drm/msm/dp/dp_ctrl.c:965:2: note: Returning from '_dp_ctrl_calc_tu'
_dp_ctrl_calc_tu(&in, tu_table);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/dp/dp_ctrl.c:966:1: note: Returning without writing to 'tu_table->tu_size_minus1'
}
^
drivers/gpu/drm/msm/dp/dp_ctrl.c:975:2: note: Returning from 'dp_ctrl_calc_tu_parameters'
dp_ctrl_calc_tu_parameters(ctrl, &tu_calc_table);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/dp/dp_ctrl.c:977:8: note: Assigned value is garbage or undefined
dp_tu |= tu_calc_table.tu_size_minus1;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/dp/dp_ctrl.c:1103:2: warning: Value stored to 'tries' is never read [clang-analyzer-deadcode.DeadStores]
tries = 0;
^ ~
drivers/gpu/drm/msm/dp/dp_ctrl.c:1103:2: note: Value stored to 'tries' is never read
tries = 0;
^ ~
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/gpu/drm/kmb/kmb_drv.c:60:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = kmb_dsi_clk_init(kmb->kmb_dsi);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/kmb/kmb_drv.c:60:2: note: Value stored to 'ret' is never read
ret = kmb_dsi_clk_init(kmb->kmb_dsi);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/kmb/kmb_drv.c:186:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = kmb_dsi_encoder_init(drm, kmb->kmb_dsi);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/kmb/kmb_drv.c:186:2: note: Value stored to 'ret' is never read
ret = kmb_dsi_encoder_init(drm, kmb->kmb_dsi);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/kmb/kmb_drv.c:563:13: warning: Access to field 'state' results in a dereference of a null pointer (loaded from variable 'kmb') [clang-analyzer-core.NullDereference]
kmb->state = drm_atomic_helper_suspend(drm);
~~~ ^
drivers/gpu/drm/kmb/kmb_drv.c:559:32: note: Assuming 'drm' is null
struct kmb_drm_private *kmb = drm ? to_kmb(drm) : NULL;
^~~
drivers/gpu/drm/kmb/kmb_drv.c:559:32: note: '?' condition is false
drivers/gpu/drm/kmb/kmb_drv.c:559:2: note: 'kmb' initialized to a null pointer value
struct kmb_drm_private *kmb = drm ? to_kmb(drm) : NULL;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/kmb/kmb_drv.c:563:13: note: Access to field 'state' results in a dereference of a null pointer (loaded from variable 'kmb')
kmb->state = drm_atomic_helper_suspend(drm);
~~~ ^
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/clk/clk-cdce925.c:118:3: warning: Value stored to 'rate' is never read [clang-analyzer-deadcode.DeadStores]
rate = parent_rate;
^ ~~~~~~~~~~~
drivers/clk/clk-cdce925.c:118:3: note: Value stored to 'rate' is never read
rate = parent_rate;
^ ~~~~~~~~~~~
drivers/clk/clk-cdce925.c:444:20: warning: Division by zero [clang-analyzer-core.DivideZero]
if (l_parent_rate / divider != rate) {
~~~~~~~~~~~~~~^~~~~~~~~
drivers/clk/clk-cdce925.c:442:16: note: Calling 'cdce925_calc_divider'
u16 divider = cdce925_calc_divider(rate, l_parent_rate);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/clk-cdce925.c:383:6: note: Assuming 'rate' is 0, which participates in a condition later
if (!rate)
^~~~~
drivers/clk/clk-cdce925.c:383:2: note: Taking true branch
if (!rate)
^
drivers/clk/clk-cdce925.c:384:3: note: Returning zero
return 0;
^~~~~~~~
drivers/clk/clk-cdce925.c:442:16: note: Returning from 'cdce925_calc_divider'
u16 divider = cdce925_calc_divider(rate, l_parent_rate);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/clk-cdce925.c:442:2: note: 'divider' initialized to 0
u16 divider = cdce925_calc_divider(rate, l_parent_rate);
^~~~~~~~~~~
drivers/clk/clk-cdce925.c:444:20: note: Division by zero
if (l_parent_rate / divider != rate) {
~~~~~~~~~~~~~~^~~~~~~~~
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
>> drivers/gpu/drm/sti/sti_hqvdp.c:741:6: warning: Division by zero [clang-analyzer-core.DivideZero]
lfw /= max(src_w, dst_w) * mode->clock / 1000;
^
drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Left side of '&&' is false
struct sti_plane *plane = to_sti_plane(drm_plane);
^
drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
#define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Taking false branch
struct sti_plane *plane = to_sti_plane(drm_plane);
^
drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
#define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Loop condition is false. Exiting loop
struct sti_plane *plane = to_sti_plane(drm_plane);
^
drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
#define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Left side of '&&' is false
struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
^
drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
#define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Taking false branch
struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
^
drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
#define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Loop condition is false. Exiting loop
struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
^
drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
#define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
--
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1103:2: note: Assuming 'debug_locks' is 0
lockdep_assert_held(&gpu->lock);
^
include/linux/lockdep.h:298:11: note: expanded from macro 'lockdep_assert_held'
WARN_ON(debug_locks && !lockdep_is_held(l)); \
^~~~~~~~~~~
include/asm-generic/bug.h:188:25: note: expanded from macro 'WARN_ON'
int __ret_warn_on = !!(condition); \
^~~~~~~~~
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1103:2: note: Left side of '&&' is false
lockdep_assert_held(&gpu->lock);
^
include/linux/lockdep.h:298:23: note: expanded from macro 'lockdep_assert_held'
WARN_ON(debug_locks && !lockdep_is_held(l)); \
^
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1103:2: note: Loop condition is false. Exiting loop
lockdep_assert_held(&gpu->lock);
^
include/linux/lockdep.h:297:32: note: expanded from macro 'lockdep_assert_held'
#define lockdep_assert_held(l) do { \
^
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1105:6: note: Calling 'kzalloc'
f = kzalloc(sizeof(*f), GFP_KERNEL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:682:9: note: Calling 'kmalloc'
return kmalloc(size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:540:2: note: Taking false branch
if (__builtin_constant_p(size)) {
^
include/linux/slab.h:557:2: note: Returning pointer, which participates in a condition later
return __kmalloc(size, flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:682:9: note: Returning from 'kmalloc'
return kmalloc(size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:682:2: note: Returning pointer, which participates in a condition later
return kmalloc(size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1105:6: note: Returning from 'kzalloc'
f = kzalloc(sizeof(*f), GFP_KERNEL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1106:6: note: Assuming 'f' is non-null, which participates in a condition later
if (!f)
^~
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1106:2: note: Taking false branch
if (!f)
^
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1114:2: note: Returning pointer, which participates in a condition later
return &f->base;
^~~~~~~~~~~~~~~
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1347:14: note: Returning from 'etnaviv_gpu_fence_alloc'
gpu_fence = etnaviv_gpu_fence_alloc(gpu);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1348:7: note: 'gpu_fence' is non-null
if (!gpu_fence) {
^~~~~~~~~
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1348:2: note: Taking false branch
if (!gpu_fence) {
^
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1355:6: note: Assuming field 'mmu_context' is non-null
if (!gpu->mmu_context) {
^~~~~~~~~~~~~~~~~
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1355:2: note: Taking false branch
if (!gpu->mmu_context) {
^
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1364:14: note: Field 'nr_pmrs' is 0
if (submit->nr_pmrs) {
^
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1364:2: note: Taking false branch
if (submit->nr_pmrs) {
^
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1376:6: note: Assuming field 'nr_pmrs' is not equal to 0
if (submit->nr_pmrs) {
^~~~~~~~~~~~~~~
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1376:2: note: Taking true branch
if (submit->nr_pmrs) {
^
drivers/gpu/drm/etnaviv/etnaviv_gpu.c:1377:3: note: Array subscript is undefined
gpu->event[event[2]].sync_point = &sync_point_perfmon_sample_post;
^ ~~~~~~~~
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
>> drivers/clk/imx/clk-imx6q.c:251:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = of_parse_phandle_with_args(node, "assigned-clock-parents",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/imx/clk-imx6q.c:251:2: note: Value stored to 'ret' is never read
ret = of_parse_phandle_with_args(node, "assigned-clock-parents",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
Suppressed 1 warnings (1 with check filters).
14 warnings generated.
Suppressed 14 warnings (14 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.
18 warnings generated.
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:155:50: warning: The result of the left shift is undefined due to shifting by '4294967295', which is greater or equal to the width of type 'unsigned long long' [clang-analyzer-core.UndefinedBinaryOperatorResult]
return round_up(adev->vm_manager.max_pfn, 1ULL << shift)
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:2955:26: note: Assuming field 'asic_type' is not equal to CHIP_RAVEN
bool pte_support_ats = (adev->asic_type == CHIP_RAVEN);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:2959:6: note: 'r' is 0
if (r)
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:2959:2: note: Taking false branch
if (r)
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:2963:6: note: Calling 'amdgpu_vm_check_clean_reserved'
r = amdgpu_vm_check_clean_reserved(adev, vm);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:2917:25: note: Calling 'amdgpu_vm_num_entries'
unsigned int entries = amdgpu_vm_num_entries(adev, root);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:150:19: note: Calling 'amdgpu_vm_level_shift'
unsigned shift = amdgpu_vm_level_shift(adev,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:125:2: note: Control jumps to the 'default' case at line 133
switch (level) {
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:134:3: note: Returning the value 4294967295
return ~0;
^~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:150:19: note: Returning from 'amdgpu_vm_level_shift'
unsigned shift = amdgpu_vm_level_shift(adev,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:150:2: note: 'shift' initialized to 4294967295
unsigned shift = amdgpu_vm_level_shift(adev,
^~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:153:6: note: 'level' is equal to field 'root_level'
if (level == adev->vm_manager.root_level)
^~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:153:2: note: Taking true branch
if (level == adev->vm_manager.root_level)
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:155:50: note: The result of the left shift is undefined due to shifting by '4294967295', which is greater or equal to the width of type 'unsigned long long'
return round_up(adev->vm_manager.max_pfn, 1ULL << shift)
^
include/linux/math.h:24:52: note: expanded from macro 'round_up'
#define round_up(x, y) ((((x)-1) | __round_mask(x, y))+1)
^
include/linux/math.h:14:46: note: expanded from macro '__round_mask'
#define __round_mask(x, y) ((__typeof__(x))((y)-1))
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:927:29: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
pt->parent = amdgpu_bo_ref(cursor->parent->base.bo);
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3305:6: note: Assuming 'vm' is non-null
if (vm)
^~
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3305:2: note: Taking true branch
if (vm)
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3311:6: note: Assuming 'root' is non-null
if (!root)
^~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3311:2: note: Taking false branch
if (!root)
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3315:6: note: 'r' is 0
if (r)
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3315:2: note: Taking false branch
if (r)
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3321:6: note: Assuming 'vm' is non-null
if (vm && vm->root.base.bo != root)
^~
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3321:6: note: Left side of '&&' is true
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3321:12: note: Assuming 'root' is equal to field 'bo'
if (vm && vm->root.base.bo != root)
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3321:2: note: Taking false branch
if (vm && vm->root.base.bo != root)
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3324:7: note: 'vm' is non-null
if (!vm)
^~
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3324:2: note: Taking false branch
if (!vm)
^
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3331:6: note: Assuming field 'is_compute_context' is false
if (vm->is_compute_context) {
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3331:2: note: Taking false branch
--
^
drivers/net/hamradio/baycom_epp.c:568:7: note: Assuming the condition is false
if (cnt2 != pp->ops->epp_read_data(pp, tmp, cnt2, 0)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/hamradio/baycom_epp.c:568:3: note: Taking false branch
if (cnt2 != pp->ops->epp_read_data(pp, tmp, cnt2, 0)) {
^
drivers/net/hamradio/baycom_epp.c:573:3: note: Loop condition is true. Entering loop body
for (; cnt2 > 0; cnt2--, cp++) {
^
drivers/net/hamradio/baycom_epp.c:580:4: note: Loop condition is true. Entering loop body
for (j = 0; j < 8; j++) {
^
drivers/net/hamradio/baycom_epp.c:583:25: note: Assuming the condition is false
if (unlikely(!(notbitstream & (0x0fc << j)))) {
^
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
drivers/net/hamradio/baycom_epp.c:583:12: note: Taking false branch
if (unlikely(!(notbitstream & (0x0fc << j)))) {
^
drivers/net/hamradio/baycom_epp.c:601:23: note: Assuming the condition is true
else if (unlikely((bitstream & (0x1f8 << j)) == (0xf8 << j))) {
^
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
drivers/net/hamradio/baycom_epp.c:601:10: note: Taking true branch
else if (unlikely((bitstream & (0x1f8 << j)) == (0xf8 << j))) {
^
drivers/net/hamradio/baycom_epp.c:603:34: note: The result of the left shift is undefined because the left operand is negative
bitbuf = (bitbuf & ((~0xff) << j)) | ((bitbuf & ~((~0xff) << j)) << 1);
~~~~~~~ ^
Suppressed 13 warnings (13 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.
13 warnings generated.
drivers/gpu/host1x/cdma.c:563:15: warning: Value stored to 'space' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
unsigned int space = cdma->slots_free;
^~~~~ ~~~~~~~~~~~~~~~~
drivers/gpu/host1x/cdma.c:563:15: note: Value stored to 'space' during its initialization is never read
unsigned int space = cdma->slots_free;
^~~~~ ~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
22 warnings generated.
drivers/power/supply/twl4030_charger.c:364:2: warning: Value stored to 'cur_reg' is never read [clang-analyzer-deadcode.DeadStores]
cur_reg |= oldreg << 8;
^ ~~~~~~~~~~~
drivers/power/supply/twl4030_charger.c:364:2: note: Value stored to 'cur_reg' is never read
cur_reg |= oldreg << 8;
^ ~~~~~~~~~~~
drivers/power/supply/twl4030_charger.c:383:3: warning: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
status = twl_i2c_write_u8(TWL_MODULE_MAIN_CHARGE,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/power/supply/twl4030_charger.c:383:3: note: Value stored to 'status' is never read
status = twl_i2c_write_u8(TWL_MODULE_MAIN_CHARGE,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/power/supply/twl4030_charger.c:467:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = twl4030_clear_set_boot_bci(0, TWL4030_BCIAUTOUSB);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/power/supply/twl4030_charger.c:467:4: note: Value stored to 'ret' is never read
ret = twl4030_clear_set_boot_bci(0, TWL4030_BCIAUTOUSB);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/power/supply/twl4030_charger.c:487:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = twl_i2c_write_u8(TWL_MODULE_MAIN_CHARGE, 0x33,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/power/supply/twl4030_charger.c:487:4: note: Value stored to 'ret' is never read
ret = twl_i2c_write_u8(TWL_MODULE_MAIN_CHARGE, 0x33,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/power/supply/twl4030_charger.c:490:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = twl_i2c_write_u8(TWL_MODULE_MAIN_CHARGE, 0x2a,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/power/supply/twl4030_charger.c:490:4: note: Value stored to 'ret' is never read
ret = twl_i2c_write_u8(TWL_MODULE_MAIN_CHARGE, 0x2a,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/power/supply/twl4030_charger.c:493:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = twl_i2c_write_u8(TWL_MODULE_MAIN_CHARGE, 0x26,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/power/supply/twl4030_charger.c:493:4: note: Value stored to 'ret' is never read
ret = twl_i2c_write_u8(TWL_MODULE_MAIN_CHARGE, 0x26,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/power/supply/twl4030_charger.c:496:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = twl_i2c_write_u8(TWL_MODULE_MAIN_CHARGE, 0xf3,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/power/supply/twl4030_charger.c:496:4: note: Value stored to 'ret' is never read
ret = twl_i2c_write_u8(TWL_MODULE_MAIN_CHARGE, 0xf3,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/power/supply/twl4030_charger.c:499:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = twl_i2c_write_u8(TWL_MODULE_MAIN_CHARGE, 0x9c,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/power/supply/twl4030_charger.c:499:4: note: Value stored to 'ret' is never read
ret = twl_i2c_write_u8(TWL_MODULE_MAIN_CHARGE, 0x9c,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 14 warnings (13 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.
13 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/base.c:213:21: warning: Value stored to 'dss' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct dss_device *dss = src ? src->dss : dst->dss;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/base.c:213:21: note: Value stored to 'dss' during its initialization is never read
struct dss_device *dss = src ? src->dss : dst->dss;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/gpu/drm/omapdrm/dss/dispc.c:871:56: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->gcb, ct->gcr));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:867:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:6: note: Assuming the condition is true
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:51:2: note: expanded from macro 'REG_GET'
FLD_GET(dispc_read_reg(dispc, idx), start, end)
^
drivers/gpu/drm/omapdrm/dss/dss.h:66:34: note: expanded from macro 'FLD_GET'
#define FLD_GET(val, start, end) (((val) & FLD_MASK(start, end)) >> (end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:2: note: Taking true branch
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4902:3: note: Calling '_omap_dispc_initial_config'
_omap_dispc_initial_config(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3911:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_CORE_CLK_DIV)) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:6: note: Assuming field 'has_gamma_table' is false
if (dispc->feat->has_gamma_table)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:2: note: Taking false branch
if (dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:6: note: Left side of '||' is false
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3930:19: note: Field 'has_gamma_table' is false
dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3933:2: note: Calling 'dispc_setup_color_conv_coef'
dispc_setup_color_conv_coef(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:14: note: Assuming 'i' is < 'num_ovl'
for (i = 1; i < num_ovl; i++)
^~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:2: note: Loop condition is true. Entering loop body
for (i = 1; i < num_ovl; i++)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:920:3: note: Calling 'dispc_ovl_write_color_conv_coef'
dispc_ovl_write_color_conv_coef(dispc, i, &coefs_yuv2rgb_bt601_lim);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:871:56: note: The result of the left shift is undefined because the left operand is negative
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->gcb, ct->gcr));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:867:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
~~~~~ ^
drivers/gpu/drm/omapdrm/dss/dispc.c:889:56: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->crb, ct->crg));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:885:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:6: note: Assuming the condition is true
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:51:2: note: expanded from macro 'REG_GET'
FLD_GET(dispc_read_reg(dispc, idx), start, end)
^
drivers/gpu/drm/omapdrm/dss/dss.h:66:34: note: expanded from macro 'FLD_GET'
#define FLD_GET(val, start, end) (((val) & FLD_MASK(start, end)) >> (end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:2: note: Taking true branch
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4902:3: note: Calling '_omap_dispc_initial_config'
_omap_dispc_initial_config(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3911:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_CORE_CLK_DIV)) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:6: note: Assuming field 'has_gamma_table' is false
if (dispc->feat->has_gamma_table)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:2: note: Taking false branch
if (dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:6: note: Left side of '||' is false
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3930:19: note: Field 'has_gamma_table' is false
dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3933:2: note: Calling 'dispc_setup_color_conv_coef'
dispc_setup_color_conv_coef(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:14: note: Assuming 'i' is >= 'num_ovl'
for (i = 1; i < num_ovl; i++)
^~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:2: note: Loop condition is false. Execution continues on line 922
for (i = 1; i < num_ovl; i++)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:922:6: note: Assuming field 'has_writeback' is true
if (dispc->feat->has_writeback)
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:922:2: note: Taking true branch
if (dispc->feat->has_writeback)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:923:3: note: Calling 'dispc_wb_write_color_conv_coef'
dispc_wb_write_color_conv_coef(dispc, &coefs_rgb2yuv_bt601_lim);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:889:56: note: The result of the left shift is undefined because the left operand is negative
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->crb, ct->crg));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:885:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
~~~~~ ^
>> drivers/gpu/drm/omapdrm/dss/dispc.c:3215:3: warning: Value stored to 'ht' is never read [clang-analyzer-deadcode.DeadStores]
ht = vm->pixelclock / xtot;
^ ~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3215:3: note: Value stored to 'ht' is never read
ht = vm->pixelclock / xtot;
^ ~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/omapdrm/dss/dispc.c:3216:3: warning: Value stored to 'vt' is never read [clang-analyzer-deadcode.DeadStores]
vt = vm->pixelclock / xtot / ytot;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3216:3: note: Value stored to 'vt' is never read
vt = vm->pixelclock / xtot / ytot;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/omapdrm/dss/dispc.c:4822:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
rev = dispc_read_reg(dispc, DISPC_REVISION);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:4822:2: note: Value stored to 'rev' is never read
rev = dispc_read_reg(dispc, DISPC_REVISION);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
1 warning generated.
Suppressed 1 warnings (1 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/mfd/menelaus.c:453:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:453:21: note: Value stored to 'c' during its initialization is never read
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:525:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:525:21: note: Value stored to 'c' during its initialization is never read
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:734:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:734:21: note: Value stored to 'c' during its initialization is never read
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
16 warnings generated.
drivers/mfd/twl-core.c:574:15: warning: The left operand of '&' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
switch (ctrl & 0x3) {
~~~~ ^
drivers/mfd/twl-core.c:569:2: note: 'ctrl' declared without an initial value
u8 ctrl;
^~~~~~~
drivers/mfd/twl-core.c:572:2: note: Calling 'twl_i2c_read_u8'
twl_i2c_read_u8(TWL_MODULE_PM_MASTER, &ctrl, R_CFG_BOOT);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mfd/twl.h:180:9: note: Calling 'twl_i2c_read'
return twl_i2c_read(mod_no, val, reg, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:473:7: note: 'regmap' is null
if (!regmap)
^~~~~~
drivers/mfd/twl-core.c:473:2: note: Taking true branch
if (!regmap)
^
drivers/mfd/twl-core.c:474:3: note: Returning without writing to '*value'
return -EPERM;
^
include/linux/mfd/twl.h:180:9: note: Returning from 'twl_i2c_read'
return twl_i2c_read(mod_no, val, reg, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mfd/twl.h:180:2: note: Returning without writing to '*val'
return twl_i2c_read(mod_no, val, reg, 1);
^
drivers/mfd/twl-core.c:572:2: note: Returning from 'twl_i2c_read_u8'
twl_i2c_read_u8(TWL_MODULE_PM_MASTER, &ctrl, R_CFG_BOOT);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:574:15: note: The left operand of '&' is a garbage value
switch (ctrl & 0x3) {
~~~~ ^
drivers/mfd/twl-core.c:1205:8: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
temp &= ~(SR_I2C_SDA_CTRL_PU | SR_I2C_SCL_CTRL_PU | \
~~~~ ^
drivers/mfd/twl-core.c:1078:6: note: Assuming 'node' is non-null
if (!node && !pdata) {
^~~~~
drivers/mfd/twl-core.c:1078:12: note: Left side of '&&' is false
if (!node && !pdata) {
^
drivers/mfd/twl-core.c:1083:6: note: Assuming 'twl_priv' is null
if (twl_priv) {
^~~~~~~~
drivers/mfd/twl-core.c:1083:2: note: Taking false branch
if (twl_priv) {
^
drivers/mfd/twl-core.c:1090:6: note: Assuming 'pdev' is non-null
if (!pdev) {
^~~~~
drivers/mfd/twl-core.c:1090:2: note: Taking false branch
if (!pdev) {
^
drivers/mfd/twl-core.c:1096:6: note: Assuming 'status' is 0
if (status) {
^~~~~~
drivers/mfd/twl-core.c:1096:2: note: Taking false branch
if (status) {
^
drivers/mfd/twl-core.c:1101:2: note: Taking false branch
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C) == 0) {
^
drivers/mfd/twl-core.c:1109:6: note: Assuming 'twl_priv' is non-null
if (!twl_priv) {
^~~~~~~~~
drivers/mfd/twl-core.c:1109:2: note: Taking false branch
if (!twl_priv) {
^
drivers/mfd/twl-core.c:1114:6: note: Assuming the condition is true
if ((id->driver_data) & TWL6030_CLASS) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:1114:2: note: Taking true branch
if ((id->driver_data) & TWL6030_CLASS) {
^
drivers/mfd/twl-core.c:1118:7: note: Assuming the condition is false
if ((id->driver_data) & TWL6032_SUBCLASS)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:1118:3: note: Taking false branch
if ((id->driver_data) & TWL6032_SUBCLASS)
^
drivers/mfd/twl-core.c:1129:26: note: Calling 'devm_kcalloc'
--
i = bgp->conf->sensor_count;
^ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/thermal/ti-soc-thermal/ti-bandgap.c:1028:4: note: Value stored to 'i' is never read
i = bgp->conf->sensor_count;
^ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/thermal/ti-soc-thermal/ti-bandgap.c:1146:4: warning: Value stored to 'val' is never read [clang-analyzer-deadcode.DeadStores]
val = ti_bandgap_readl(bgp, tsr->bgap_counter);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/thermal/ti-soc-thermal/ti-bandgap.c:1146:4: note: Value stored to 'val' is never read
val = ti_bandgap_readl(bgp, tsr->bgap_counter);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 with check filters).
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/phy/mediatek/phy-mtk-xsphy.c:211:6: warning: Value stored to 'index' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u32 index = inst->index;
^~~~~ ~~~~~~~~~~~
drivers/phy/mediatek/phy-mtk-xsphy.c:211:6: note: Value stored to 'index' during its initialization is never read
u32 index = inst->index;
^~~~~ ~~~~~~~~~~~
drivers/phy/mediatek/phy-mtk-xsphy.c:230:6: warning: Value stored to 'index' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u32 index = inst->index;
^~~~~ ~~~~~~~~~~~
drivers/phy/mediatek/phy-mtk-xsphy.c:230:6: note: Value stored to 'index' during its initialization is never read
u32 index = inst->index;
^~~~~ ~~~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
Suppressed 14 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/hdmi4_cec.c:243:3: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = hdmi_read_reg(core->base, HDMI_CEC_INT_STATUS_1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/hdmi4_cec.c:243:3: note: Value stored to 'temp' is never read
temp = hdmi_read_reg(core->base, HDMI_CEC_INT_STATUS_1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
drivers/hwmon/ltc2945.c:286:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = regmap_update_bits(regmap, LTC2945_CONTROL, CONTROL_TEST_MODE,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/hwmon/ltc2945.c:286:2: note: Value stored to 'ret' is never read
ret = regmap_update_bits(regmap, LTC2945_CONTROL, CONTROL_TEST_MODE,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17 warnings generated.
fs/gfs2/super.c:73:3: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
gfs2_free_journal_extents(jd);
^
fs/gfs2/super.c:688:2: note: '?' condition is true
set_bit(SDF_NORECOVERY, &sdp->sd_flags);
^
arch/arm/include/asm/bitops.h:189:25: note: expanded from macro 'set_bit'
#define set_bit(nr,p) ATOMIC_BITOP(set_bit,nr,p)
^
arch/arm/include/asm/bitops.h:181:3: note: expanded from macro 'ATOMIC_BITOP'
(__builtin_constant_p(nr) ? ____atomic_##name(nr, p) : _##name(nr,p))
^
fs/gfs2/super.c:694:2: note: Left side of '&&' is false
list_for_each_entry(jd, &sdp->sd_jindex_list, jd_list) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
fs/gfs2/super.c:694:2: note: Taking false branch
list_for_each_entry(jd, &sdp->sd_jindex_list, jd_list) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
fs/gfs2/super.c:694:2: note: Loop condition is false. Exiting loop
list_for_each_entry(jd, &sdp->sd_jindex_list, jd_list) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
fs/gfs2/super.c:694:2: note: Loop condition is false. Execution continues on line 702
list_for_each_entry(jd, &sdp->sd_jindex_list, jd_list) {
^
include/linux/list.h:628:2: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
--
^~~~~~~~~~~~~
drivers/mtd/mtd_blkdevs.c:247:2: note: Returning; memory was released
kref_put(&dev->ref, blktrans_dev_release);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/mtd_blkdevs.c:250:2: note: Use of memory after it is freed
blktrans_dev_put(dev);
^ ~~~
drivers/mtd/mtd_blkdevs.c:268:13: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
module_put(dev->tr->owner);
^~~~~~~
drivers/mtd/mtd_blkdevs.c:256:33: note: Calling 'blktrans_dev_get'
struct mtd_blktrans_dev *dev = blktrans_dev_get(disk);
^~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/mtd_blkdevs.c:49:6: note: Assuming 'dev' is non-null
if (!dev)
^~~~
drivers/mtd/mtd_blkdevs.c:49:2: note: Taking false branch
if (!dev)
^
drivers/mtd/mtd_blkdevs.c:256:33: note: Returning from 'blktrans_dev_get'
struct mtd_blktrans_dev *dev = blktrans_dev_get(disk);
^~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/mtd_blkdevs.c:258:7: note: 'dev' is non-null
if (!dev)
^~~
drivers/mtd/mtd_blkdevs.c:258:2: note: Taking false branch
if (!dev)
^
drivers/mtd/mtd_blkdevs.c:264:6: note: Assuming the condition is false
if (--dev->open)
^~~~~~~~~~~
drivers/mtd/mtd_blkdevs.c:264:2: note: Taking false branch
if (--dev->open)
^
drivers/mtd/mtd_blkdevs.c:267:2: note: Calling 'kref_put'
kref_put(&dev->ref, blktrans_dev_release);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kref.h:64:2: note: Taking true branch
if (refcount_dec_and_test(&kref->refcount)) {
^
include/linux/kref.h:65:3: note: Calling 'blktrans_dev_release'
release(kref);
^~~~~~~~~~~~~
drivers/mtd/mtd_blkdevs.c:31:3: note: Left side of '&&' is false
container_of(kref, struct mtd_blktrans_dev, ref);
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/mtd/mtd_blkdevs.c:31:3: note: Taking false branch
container_of(kref, struct mtd_blktrans_dev, ref);
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/mtd/mtd_blkdevs.c:31:3: note: Loop condition is false. Exiting loop
container_of(kref, struct mtd_blktrans_dev, ref);
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/mtd/mtd_blkdevs.c:39:2: note: Memory is released
kfree(dev);
^~~~~~~~~~
include/linux/kref.h:65:3: note: Returning; memory was released
release(kref);
^~~~~~~~~~~~~
drivers/mtd/mtd_blkdevs.c:267:2: note: Returning; memory was released
kref_put(&dev->ref, blktrans_dev_release);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/mtd_blkdevs.c:268:13: note: Use of memory after it is freed
module_put(dev->tr->owner);
^~~~~~~
Suppressed 12 warnings (12 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.
>> drivers/mtd/devices/st_spi_fsm.c:275:8: warning: Excessive padding in 'struct seq_rw_config' (6 padding bytes, where 2 is optimal).
Optimal fields order:
flags,
write,
cmd,
addr_pads,
data_pads,
mode_data,
mode_cycles,
dummy_cycles,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct seq_rw_config {
~~~~~~~^~~~~~~~~~~~~~~
drivers/mtd/devices/st_spi_fsm.c:275:8: note: Excessive padding in 'struct seq_rw_config' (6 padding bytes, where 2 is optimal). Optimal fields order: flags, write, cmd, addr_pads, data_pads, mode_data, mode_cycles, dummy_cycles, consider reordering the fields or adding explicit padding members
struct seq_rw_config {
~~~~~~~^~~~~~~~~~~~~~~
>> drivers/mtd/devices/st_spi_fsm.c:287:8: warning: Excessive padding in 'struct flash_info' (4 padding bytes, where 0 is optimal).
Optimal fields order:
name,
jedec_id,
sector_size,
flags,
max_freq,
config,
ext_id,
n_sectors,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct flash_info {
~~~~~~~^~~~~~~~~~~~
drivers/mtd/devices/st_spi_fsm.c:287:8: note: Excessive padding in 'struct flash_info' (4 padding bytes, where 0 is optimal). Optimal fields order: name, jedec_id, sector_size, flags, max_freq, config, ext_id, n_sectors, consider reordering the fields or adding explicit padding members
struct flash_info {
~~~~~~~^~~~~~~~~~~~
>> drivers/mtd/devices/st_spi_fsm.c:1427:3: warning: Value stored to 'offs' is never read [clang-analyzer-deadcode.DeadStores]
offs = 0;
^ ~
drivers/mtd/devices/st_spi_fsm.c:1427:3: note: Value stored to 'offs' is never read
offs = 0;
^ ~
Suppressed 12 warnings (12 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.
14 warnings generated.
drivers/hwtracing/intel_th/sth.c:73:15: warning: Value stored to 'outp' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u64 __iomem *outp = &out->Dn;
^~~~ ~~~~~~~~
drivers/hwtracing/intel_th/sth.c:73:15: note: Value stored to 'outp' during its initialization is never read
u64 __iomem *outp = &out->Dn;
^~~~ ~~~~~~~~
include/linux/log2.h:67:13: warning: The result of the left shift is undefined due to shifting by '4294967295', which is greater or equal to the width of type 'unsigned long' [clang-analyzer-core.UndefinedBinaryOperatorResult]
return 1UL << (fls_long(n) - 1);
^
drivers/hwtracing/intel_th/sth.c:70:27: note: Left side of '&&' is false
struct sth_device *sth = container_of(stm_data, struct sth_device, stm);
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/hwtracing/intel_th/sth.c:70:27: note: Taking false branch
struct sth_device *sth = container_of(stm_data, struct sth_device, stm);
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/hwtracing/intel_th/sth.c:70:27: note: Loop condition is false. Exiting loop
struct sth_device *sth = container_of(stm_data, struct sth_device, stm);
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/hwtracing/intel_th/sth.c:77:6: note: Assuming 'size' is <= 4
if (size > 4)
^~~~~~~~
drivers/hwtracing/intel_th/sth.c:77:2: note: Taking false branch
if (size > 4)
^
drivers/hwtracing/intel_th/sth.c:81:9: note: '?' condition is false
size = rounddown_pow_of_two(size);
^
include/linux/log2.h:193:2: note: expanded from macro 'rounddown_pow_of_two'
__builtin_constant_p(n) ? ( \
^
drivers/hwtracing/intel_th/sth.c:81:9: note: Calling '__rounddown_pow_of_two'
size = rounddown_pow_of_two(size);
^
include/linux/log2.h:195:2: note: expanded from macro 'rounddown_pow_of_two'
__rounddown_pow_of_two(n) \
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/log2.h:67:13: note: The result of the left shift is undefined due to shifting by '4294967295', which is greater or equal to the width of type 'unsigned long'
return 1UL << (fls_long(n) - 1);
^ ~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
Suppressed 14 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
--
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/leds-blinkm.c:485:2: note: Value stored to 'ret' is never read
ret = blinkm_transfer_hw(client, BLM_GO_RGB);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/leds-blinkm.c:546:18: warning: The left operand of '==' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
if (tmpargs[0] == 0x09)
~~~~~~~~~~ ^
drivers/leds/leds-blinkm.c:528:7: note: Calling 'i2c_check_functionality'
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/i2c.h:882:9: note: Assuming the condition is true
return (func & i2c_get_functionality(adap)) == func;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/i2c.h:882:2: note: Returning the value 1, which participates in a condition later
return (func & i2c_get_functionality(adap)) == func;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/leds-blinkm.c:528:7: note: Returning from 'i2c_check_functionality'
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/leds-blinkm.c:528:2: note: Taking false branch
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA
^
drivers/leds/leds-blinkm.c:537:2: note: Loop condition is true. Entering loop body
while (count > 0) {
^
drivers/leds/leds-blinkm.c:539:7: note: Assuming 'ret' is 0
if (ret)
^~~
drivers/leds/leds-blinkm.c:539:3: note: Taking false branch
if (ret)
^
drivers/leds/leds-blinkm.c:542:9: note: Calling 'blinkm_read'
ret = blinkm_read(client, BLM_GET_ADDR, tmpargs);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/leds-blinkm.c:320:14: note: Assuming 'i' is >= 'retlen'
for (i = 0; i < retlen; i++) {
^~~~~~~~~~
drivers/leds/leds-blinkm.c:320:2: note: Loop condition is false. Execution continues on line 328
for (i = 0; i < retlen; i++) {
^
drivers/leds/leds-blinkm.c:328:2: note: Returning without writing to '*arg'
return 0;
^
drivers/leds/leds-blinkm.c:328:2: note: Returning zero, which participates in a condition later
return 0;
^~~~~~~~
drivers/leds/leds-blinkm.c:542:9: note: Returning from 'blinkm_read'
ret = blinkm_read(client, BLM_GET_ADDR, tmpargs);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/leds-blinkm.c:543:7: note: 'ret' is 0
if (ret)
^~~
drivers/leds/leds-blinkm.c:543:3: note: Taking false branch
if (ret)
^
drivers/leds/leds-blinkm.c:546:18: note: The left operand of '==' is a garbage value
if (tmpargs[0] == 0x09)
~~~~~~~~~~ ^
Suppressed 1 warnings (1 with check filters).
1 warning generated.
drivers/input/keyboard/samsung-keypad.c:88:23: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
val &= ~(1 << col) << 8;
^
drivers/input/keyboard/samsung-keypad.c:156:3: note: Loop condition is false. Exiting loop
writel(~0x0, keypad->base + SAMSUNG_KEYIFSTSCLR);
^
arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
#define writel(v,c) ({ __iowmb(); writel_relaxed(v,c); })
^
arch/arm/include/asm/io.h:166:20: note: expanded from macro '__iowmb'
#define __iowmb() wmb()
^
arch/arm/include/asm/barrier.h:66:16: note: expanded from macro 'wmb'
#define wmb() __arm_heavy_mb(st)
^
arch/arm/include/asm/barrier.h:58:30: note: expanded from macro '__arm_heavy_mb'
#define __arm_heavy_mb(x...) do { dsb(x); arm_heavy_mb(); } while (0)
^
drivers/input/keyboard/samsung-keypad.c:158:3: note: Calling 'samsung_keypad_scan'
samsung_keypad_scan(keypad, row_state);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/input/keyboard/samsung-keypad.c:85:16: note: Assuming 'col' is < field 'cols'
for (col = 0; col < keypad->cols; col++) {
^~~~~~~~~~~~~~~~~~
drivers/input/keyboard/samsung-keypad.c:85:2: note: Loop condition is true. Entering loop body
for (col = 0; col < keypad->cols; col++) {
^
drivers/input/keyboard/samsung-keypad.c:86:7: note: Assuming field 'type' is equal to KEYPAD_TYPE_S5PV210
if (keypad->type == KEYPAD_TYPE_S5PV210) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/input/keyboard/samsung-keypad.c:86:3: note: Taking true branch
if (keypad->type == KEYPAD_TYPE_S5PV210) {
^
drivers/input/keyboard/samsung-keypad.c:88:23: note: The result of the left shift is undefined because the left operand is negative
val &= ~(1 << col) << 8;
~~~~~~~~~~~ ^
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
>> drivers/nvmem/sunxi_sid.c:107:2: warning: Null pointer passed as 1st argument to memory copy function [clang-analyzer-unix.cstring.NullArg]
memcpy(val, &word, bytes);
^ ~~~
drivers/nvmem/sunxi_sid.c:89:9: note: Assuming 'bytes' is >= 4
while (bytes >= 4) {
^~~~~~~~~~
drivers/nvmem/sunxi_sid.c:89:2: note: Loop condition is true. Entering loop body
while (bytes >= 4) {
^
drivers/nvmem/sunxi_sid.c:90:9: note: Calling 'sun8i_sid_register_readout'
ret = sun8i_sid_register_readout(sid, offset, val);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/nvmem/sunxi_sid.c:61:2: note: Loop condition is false. Exiting loop
writel(reg_val, sid->base + SUN8I_SID_PRCTL);
^
arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
#define writel(v,c) ({ __iowmb(); writel_relaxed(v,c); })
^
arch/arm/include/asm/io.h:166:20: note: expanded from macro '__iowmb'
#define __iowmb() wmb()
^
arch/arm/include/asm/barrier.h:66:16: note: expanded from macro 'wmb'
#define wmb() __arm_heavy_mb(st)
^
arch/arm/include/asm/barrier.h:58:30: note: expanded from macro '__arm_heavy_mb'
#define __arm_heavy_mb(x...) do { dsb(x); arm_heavy_mb(); } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: '__sleep_us' is not equal to 0
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/iopoll.h:42:17: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^~~~~~~~~~~~
include/linux/kernel.h:160:39: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^~~~
drivers/nvmem/sunxi_sid.c:63:8: note: Taking true branch
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^
include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^
include/linux/kernel.h:160:35: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false. Exiting loop
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^
include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^
include/linux/kernel.h:160:45: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^
include/linux/kernel.h:152:29: note: expanded from macro 'might_sleep'
# define might_sleep() do { might_resched(); } while (0)
^
include/linux/kernel.h:87:26: note: expanded from macro 'might_resched'
# define might_resched() do { } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false. Exiting loop
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^
include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^
include/linux/kernel.h:160:45: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^
include/linux/kernel.h:152:24: note: expanded from macro 'might_sleep'
# define might_sleep() do { might_resched(); } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false. Exiting loop
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
--
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
mm/workingset.c:206:2: warning: Value stored to 'nid' is never read [clang-analyzer-deadcode.DeadStores]
nid = entry & ((1UL << NODES_SHIFT) - 1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/workingset.c:206:2: note: Value stored to 'nid' is never read
nid = entry & ((1UL << NODES_SHIFT) - 1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 14 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
drivers/base/power/main.c:468:3: warning: Value stored to 'usecs' is never read [clang-analyzer-deadcode.DeadStores]
usecs = 1;
^ ~
drivers/base/power/main.c:468:3: note: Value stored to 'usecs' is never read
usecs = 1;
^ ~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/video/fbdev/s3c-fb.c:491:16: warning: Value stored to 'buf' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
void __iomem *buf = regs;
^~~ ~~~~
drivers/video/fbdev/s3c-fb.c:491:16: note: Value stored to 'buf' during its initialization is never read
void __iomem *buf = regs;
^~~ ~~~~
drivers/video/fbdev/s3c-fb.c:1201:2: warning: Value stored to 'var' is never read [clang-analyzer-deadcode.DeadStores]
var = &fbinfo->var;
^ ~~~~~~~~~~~~
drivers/video/fbdev/s3c-fb.c:1201:2: note: Value stored to 'var' is never read
var = &fbinfo->var;
^ ~~~~~~~~~~~~
Suppressed 13 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (12 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.
17 warnings generated.
drivers/hsi/controllers/omap_ssi_port.c:481:2: warning: Value stored to 'val' is never read [clang-analyzer-deadcode.DeadStores]
val = readl(ssr + SSI_SSR_MODE_REG);
^
drivers/hsi/controllers/omap_ssi_port.c:481:2: note: Value stored to 'val' is never read
drivers/hsi/controllers/omap_ssi_port.c:764:2: warning: Value stored to 'mode' is never read [clang-analyzer-deadcode.DeadStores]
mode = readl(omap_port->ssr_base + SSI_SSR_MODE_REG);
^
drivers/hsi/controllers/omap_ssi_port.c:764:2: note: Value stored to 'mode' is never read
drivers/hsi/controllers/omap_ssi_port.c:1332:2: warning: Value stored to 'mode' is never read [clang-analyzer-deadcode.DeadStores]
mode = readl(omap_port->ssr_base + SSI_SSR_MODE_REG);
^
drivers/hsi/controllers/omap_ssi_port.c:1332:2: note: Value stored to 'mode' is never read
Suppressed 14 warnings (12 in non-user code, 2 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.
>> drivers/hsi/clients/ssi_protocol.c:458:21: warning: Value stored to 'cl' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct hsi_client *cl = ssi->cl;
^~ ~~~~~~~
drivers/hsi/clients/ssi_protocol.c:458:21: note: Value stored to 'cl' during its initialization is never read
struct hsi_client *cl = ssi->cl;
^~ ~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
drivers/hwmon/adm1031.c:245:6: warning: Value stored to 'range' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
int range = val - AUTO_TEMP_MIN_FROM_REG(reg);
^~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/hwmon/adm1031.c:245:6: note: Value stored to 'range' during its initialization is never read
int range = val - AUTO_TEMP_MIN_FROM_REG(reg);
^~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/misc/lkdtm/bugs.c:93:24: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
*((volatile int *) 0) = 0;
~~~~~~~~~~~~~~~~~~~~~~^~~
drivers/misc/lkdtm/bugs.c:93:24: note: Dereference of null pointer
*((volatile int *) 0) = 0;
~~~~~~~~~~~~~~~~~~~~~~^~~
drivers/misc/lkdtm/bugs.c:527:2: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(target.a, src);
^~~~~~
drivers/misc/lkdtm/bugs.c:527:2: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(target.a, src);
^~~~~~
1 warning generated.
Suppressed 1 warnings (1 with check filters).
1 warning generated.
Suppressed 1 warnings (1 with check filters).
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
14 warnings generated.
Suppressed 14 warnings (14 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.
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c:400:7: warning: Value stored to 'is_hi_req' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
bool is_hi_req = pstate == AMDGPU_XGMI_PSTATE_MAX_VEGA20;
^~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c:400:7: note: Value stored to 'is_hi_req' during its initialization is never read
bool is_hi_req = pstate == AMDGPU_XGMI_PSTATE_MAX_VEGA20;
^~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c:407:2: warning: Value stored to 'request_adev' is never read [clang-analyzer-deadcode.DeadStores]
request_adev = hive->hi_req_gpu ? hive->hi_req_gpu : adev;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
drivers/gpu/drm/panel/panel-elida-kd35t133.c:64:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = ctx->dev;
^~~ ~~~~~~~~
drivers/gpu/drm/panel/panel-elida-kd35t133.c:64:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = ctx->dev;
^~~ ~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
drivers/iio/chemical/bme680_core.c:741:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = regmap_read(data->regmap, BME680_REG_MEAS_STAT_0, &check);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/chemical/bme680_core.c:741:2: note: Value stored to 'ret' is never read
ret = regmap_read(data->regmap, BME680_REG_MEAS_STAT_0, &check);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
Suppressed 1 warnings (1 with check filters).
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
drivers/rtc/rtc-rs5c372.c:564:2: warning: Value stored to 'addr' is never read [clang-analyzer-deadcode.DeadStores]
addr = RS5C_ADDR(RS5C_REG_CTRL1);
^
drivers/rtc/rtc-rs5c372.c:564:2: note: Value stored to 'addr' is never read
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
drivers/rtc/rtc-rx8025.c:165:3: warning: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
status &= RX8025_BIT_CTRL2_DAFG;
^
drivers/rtc/rtc-rx8025.c:165:3: note: Value stored to 'status' is never read
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
>> drivers/cpufreq/mediatek-cpufreq.c:305:14: warning: Value stored to 'cpu_clk' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct clk *cpu_clk = ERR_PTR(-ENODEV);
^~~~~~~ ~~~~~~~~~~~~~~~~
drivers/cpufreq/mediatek-cpufreq.c:305:14: note: Value stored to 'cpu_clk' during its initialization is never read
struct clk *cpu_clk = ERR_PTR(-ENODEV);
^~~~~~~ ~~~~~~~~~~~~~~~~
>> drivers/cpufreq/mediatek-cpufreq.c:306:14: warning: Value stored to 'inter_clk' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct clk *inter_clk = ERR_PTR(-ENODEV);
^~~~~~~~~ ~~~~~~~~~~~~~~~~
drivers/cpufreq/mediatek-cpufreq.c:306:14: note: Value stored to 'inter_clk' during its initialization is never read
struct clk *inter_clk = ERR_PTR(-ENODEV);
^~~~~~~~~ ~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
1 warning generated.
drivers/hwmon/occ/common.c:1108:3: warning: Value stored to 'old_offset' is never read [clang-analyzer-deadcode.DeadStores]
old_offset = offset;
^ ~~~~~~
drivers/hwmon/occ/common.c:1108:3: note: Value stored to 'old_offset' is never read
old_offset = offset;
^ ~~~~~~
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/i2c/busses/i2c-sis5595.c:229:8: warning: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp' [clang-analyzer-deadcode.DeadStores]
if ((temp = sis5595_read(SMB_STS_LO) + (sis5595_read(SMB_STS_HI) << 8)) != 0x00) {
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/i2c/busses/i2c-sis5595.c:229:8: note: Although the value stored to 'temp' is used in the enclosing expression, the value is never actually read from 'temp'
if ((temp = sis5595_read(SMB_STS_LO) + (sis5595_read(SMB_STS_HI) << 8)) != 0x00) {
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
drivers/i2c/busses/i2c-aspeed.c:253:2: warning: Value stored to 'command' is never read [clang-analyzer-deadcode.DeadStores]
command = readl(bus->base + ASPEED_I2C_CMD_REG);
^
drivers/i2c/busses/i2c-aspeed.c:253:2: note: Value stored to 'command' is never read
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
--
^
include/linux/printk.h:430:2: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
^
include/linux/printk.h:139:2: note: expanded from macro 'no_printk'
if (0) \
^
fs/affs/bitmap.c:320:6: note: Assuming 'mask' is 0
if (mask) {
^~~~
fs/affs/bitmap.c:320:2: note: Taking false branch
if (mask) {
^
fs/affs/bitmap.c:337:9: note: Assuming the condition is true
while (++offset < sb->s_blocksize / 4)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/affs/bitmap.c:337:2: note: Loop condition is true. Entering loop body
while (++offset < sb->s_blocksize / 4)
^
fs/affs/bitmap.c:338:14: note: Access to field 'b_data' results in a dereference of a null pointer (loaded from variable 'bh')
((__be32 *)bh->b_data)[offset] = 0;
^~
fs/affs/bitmap.c:339:13: warning: Access to field 'b_data' results in a dereference of a null pointer (loaded from variable 'bh') [clang-analyzer-core.NullDereference]
((__be32 *)bh->b_data)[0] = 0;
^~
fs/affs/bitmap.c:247:39: note: 'bh' initialized to a null pointer value
struct buffer_head *bmap_bh = NULL, *bh = NULL;
^~
fs/affs/bitmap.c:253:6: note: Assuming the condition is false
if (*flags & SB_RDONLY)
^~~~~~~~~~~~~~~~~~
fs/affs/bitmap.c:253:2: note: Taking false branch
if (*flags & SB_RDONLY)
^
fs/affs/bitmap.c:256:6: note: Assuming field 'bm_flag' is not equal to 0
if (!AFFS_ROOT_TAIL(sb, sbi->s_root_bh)->bm_flag) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/affs/bitmap.c:256:2: note: Taking false branch
if (!AFFS_ROOT_TAIL(sb, sbi->s_root_bh)->bm_flag) {
^
fs/affs/bitmap.c:268:23: note: Calling 'kzalloc'
bm = sbi->s_bitmap = kzalloc(size, GFP_KERNEL);
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:682:9: note: Calling 'kmalloc'
return kmalloc(size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:540:2: note: Taking false branch
if (__builtin_constant_p(size)) {
^
include/linux/slab.h:557:2: note: Returning pointer, which participates in a condition later
return __kmalloc(size, flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:682:9: note: Returning from 'kmalloc'
return kmalloc(size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:682:2: note: Returning pointer, which participates in a condition later
return kmalloc(size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/affs/bitmap.c:268:23: note: Returning from 'kzalloc'
bm = sbi->s_bitmap = kzalloc(size, GFP_KERNEL);
^~~~~~~~~~~~~~~~~~~~~~~~~
fs/affs/bitmap.c:269:6: note: Assuming field 's_bitmap' is non-null
if (!sbi->s_bitmap) {
^~~~~~~~~~~~~~
fs/affs/bitmap.c:269:2: note: Taking false branch
if (!sbi->s_bitmap) {
^
fs/affs/bitmap.c:278:30: note: Assuming 'i' is <= 0
for (i = sbi->s_bmap_count; i > 0; bm++, i--) {
^~~~~
fs/affs/bitmap.c:278:2: note: Loop condition is false. Execution continues on line 315
for (i = sbi->s_bmap_count; i > 0; bm++, i--) {
^
fs/affs/bitmap.c:317:2: note: Taking false branch
pr_debug("last word: %d %d %d\n", offset, offset / 32 + 1, mask);
^
include/linux/printk.h:430:2: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
^
include/linux/printk.h:139:2: note: expanded from macro 'no_printk'
if (0) \
^
fs/affs/bitmap.c:320:6: note: Assuming 'mask' is 0
if (mask) {
^~~~
fs/affs/bitmap.c:320:2: note: Taking false branch
if (mask) {
^
fs/affs/bitmap.c:337:9: note: Assuming the condition is false
while (++offset < sb->s_blocksize / 4)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/affs/bitmap.c:337:2: note: Loop condition is false. Execution continues on line 339
while (++offset < sb->s_blocksize / 4)
^
fs/affs/bitmap.c:339:13: note: Access to field 'b_data' results in a dereference of a null pointer (loaded from variable 'bh')
((__be32 *)bh->b_data)[0] = 0;
^~
Suppressed 12 warnings (12 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.
>> arch/arm/mach-omap2/id.c:158:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
rev = (idcode >> 28) & 0x0f;
^ ~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:158:2: note: Value stored to 'rev' is never read
rev = (idcode >> 28) & 0x0f;
^ ~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:191:3: warning: Value stored to 'j' is never read [clang-analyzer-deadcode.DeadStores]
j = i;
^ ~
arch/arm/mach-omap2/id.c:191:3: note: Value stored to 'j' is never read
j = i;
^ ~
arch/arm/mach-omap2/id.c:266:2: warning: Value stored to 'n' is never read [clang-analyzer-deadcode.DeadStores]
n += scnprintf(buf + n, sizeof(buf) - n, ")\n");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:266:2: note: Value stored to 'n' is never read
n += scnprintf(buf + n, sizeof(buf) - n, ")\n");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:363:3: warning: Value stored to 'cpu_rev' is never read [clang-analyzer-deadcode.DeadStores]
cpu_rev = "1.0";
^ ~~~~~
arch/arm/mach-omap2/id.c:363:3: note: Value stored to 'cpu_rev' is never read
cpu_rev = "1.0";
^ ~~~~~
arch/arm/mach-omap2/id.c:773:9: warning: 3rd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^ ~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:773:41: note: Calling 'omap_type'
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^~~~~~~~~~~
arch/arm/mach-omap2/id.c:52:2: note: 'val' initialized to 1792
static u32 val = OMAP2_DEVICETYPE_MASK;
^~~~~~~~~~~~~~
arch/arm/mach-omap2/id.c:54:2: note: Taking false branch
if (val < OMAP2_DEVICETYPE_MASK)
^
arch/arm/mach-omap2/id.c:57:2: note: Taking false branch
if (soc_is_omap24xx()) {
^
arch/arm/mach-omap2/id.c:59:9: note: Taking false branch
} else if (soc_is_ti81xx()) {
^
arch/arm/mach-omap2/id.c:61:13: note: Left side of '||' is false
} else if (soc_is_am33xx() || soc_is_am43xx()) {
^
arch/arm/mach-omap2/soc.h:174:27: note: expanded from macro 'soc_is_am33xx'
#define soc_is_am33xx() 0
^
arch/arm/mach-omap2/id.c:61:9: note: Taking false branch
} else if (soc_is_am33xx() || soc_is_am43xx()) {
^
arch/arm/mach-omap2/id.c:63:9: note: Taking false branch
} else if (soc_is_omap34xx()) {
^
arch/arm/mach-omap2/id.c:65:9: note: Taking false branch
} else if (soc_is_omap44xx()) {
^
arch/arm/mach-omap2/id.c:67:13: note: Left side of '||' is false
} else if (soc_is_omap54xx() || soc_is_dra7xx()) {
^
arch/arm/mach-omap2/soc.h:309:29: note: expanded from macro 'soc_is_omap54xx'
# define soc_is_omap54xx() is_omap54xx()
^
arch/arm/mach-omap2/id.c:67:9: note: Taking false branch
} else if (soc_is_omap54xx() || soc_is_dra7xx()) {
^
arch/arm/mach-omap2/id.c:74:3: note: Control jumps to line 81
goto out;
^
arch/arm/mach-omap2/id.c:81:2: note: Returning the value 1792 (loaded from 'val')
return val;
^~~~~~~~~~
arch/arm/mach-omap2/id.c:773:41: note: Returning from 'omap_type'
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^~~~~~~~~~~
arch/arm/mach-omap2/id.c:773:9: note: 3rd function call argument is an uninitialized value
return sprintf(buf, "%s\n", omap_types[omap_type()]);
^ ~~~~~~~~~~~~~~~~~~~~~~~
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
23 warnings generated.
crypto/sha512_generic.c:148:2: warning: Value stored to 'a' is never read [clang-analyzer-deadcode.DeadStores]
a = b = c = d = e = f = g = h = t1 = t2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sha512_generic.c:148:2: note: Value stored to 'a' is never read
a = b = c = d = e = f = g = h = t1 = t2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sha512_generic.c:148:6: warning: Although the value stored to 'b' is used in the enclosing expression, the value is never actually read from 'b' [clang-analyzer-deadcode.DeadStores]
a = b = c = d = e = f = g = h = t1 = t2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sha512_generic.c:148:6: note: Although the value stored to 'b' is used in the enclosing expression, the value is never actually read from 'b'
a = b = c = d = e = f = g = h = t1 = t2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sha512_generic.c:148:10: warning: Although the value stored to 'c' is used in the enclosing expression, the value is never actually read from 'c' [clang-analyzer-deadcode.DeadStores]
a = b = c = d = e = f = g = h = t1 = t2 = 0;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/sha512_generic.c:148:10: note: Although the value stored to 'c' is used in the enclosing expression, the value is never actually read from 'c'
--
^
drivers/gpio/gpio-pca953x.c:450:14: note: Assuming the condition is true
for (i = 0; i < NBANK(chip); i++)
^~~~~~~~~~~~~~~
drivers/gpio/gpio-pca953x.c:450:2: note: Loop condition is true. Entering loop body
for (i = 0; i < NBANK(chip); i++)
^
drivers/gpio/gpio-pca953x.c:451:3: note: Calling 'bitmap_set_value8'
bitmap_set_value8(val, value[i], i * BANK_SZ);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/bitmap.h:573:2: note: 'index' initialized to 0
const size_t index = BIT_WORD(start);
^~~~~~~~~~~~~~~~~~
include/linux/bitmap.h:576:13: note: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage
map[index] &= ~(0xFFUL << offset);
~~~~~~~~~~ ^
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
drivers/gpio/gpio-bcm-kona.c:285:30: warning: The result of the left shift is undefined due to shifting by '4294967294', which is greater or equal to the width of type 'unsigned long' [clang-analyzer-core.UndefinedBinaryOperatorResult]
if (res > 0 && (debounce & BIT(res - 1)))
^
include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
#define BIT(nr) (UL(1) << (nr))
^
drivers/gpio/gpio-bcm-kona.c:315:6: note: Assuming the condition is false
if (pinconf_to_config_param(config) != PIN_CONFIG_INPUT_DEBOUNCE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpio-bcm-kona.c:315:2: note: Taking false branch
if (pinconf_to_config_param(config) != PIN_CONFIG_INPUT_DEBOUNCE)
^
drivers/gpio/gpio-bcm-kona.c:319:9: note: Calling 'bcm_kona_gpio_set_debounce'
return bcm_kona_gpio_set_debounce(chip, gpio, debounce);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpio-bcm-kona.c:272:7: note: Assuming 'debounce' is > 0
if ((debounce > 0 && debounce < 1000) || debounce > 128000) {
^~~~~~~~~~~~
drivers/gpio/gpio-bcm-kona.c:272:7: note: Left side of '&&' is true
drivers/gpio/gpio-bcm-kona.c:272:23: note: Assuming 'debounce' is >= 1000
if ((debounce > 0 && debounce < 1000) || debounce > 128000) {
^~~~~~~~~~~~~~~
drivers/gpio/gpio-bcm-kona.c:272:6: note: Left side of '||' is false
if ((debounce > 0 && debounce < 1000) || debounce > 128000) {
^
drivers/gpio/gpio-bcm-kona.c:272:43: note: Assuming 'debounce' is <= 128000
if ((debounce > 0 && debounce < 1000) || debounce > 128000) {
^~~~~~~~~~~~~~~~~
drivers/gpio/gpio-bcm-kona.c:272:2: note: Taking false branch
if ((debounce > 0 && debounce < 1000) || debounce > 128000) {
^
drivers/gpio/gpio-bcm-kona.c:279:6: note: 'debounce' is not equal to 0
if (debounce != 0) {
^~~~~~~~
drivers/gpio/gpio-bcm-kona.c:279:2: note: Taking true branch
if (debounce != 0) {
^
drivers/gpio/gpio-bcm-kona.c:285:7: note: 'res' is > 0
if (res > 0 && (debounce & BIT(res - 1)))
^~~
drivers/gpio/gpio-bcm-kona.c:285:7: note: Left side of '&&' is true
drivers/gpio/gpio-bcm-kona.c:285:30: note: The result of the left shift is undefined due to shifting by '4294967294', which is greater or equal to the width of type 'unsigned long'
if (res > 0 && (debounce & BIT(res - 1)))
^
include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
#define BIT(nr) (UL(1) << (nr))
^ ~~~~
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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 (13 in non-user code, 2 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.
1 warning generated.
Suppressed 1 warnings (1 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
1 warning generated.
Suppressed 1 warnings (1 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
>> drivers/pinctrl/pinctrl-st.c:582:4: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
ST_PINCONF_PACK_OE(*config);
^
drivers/pinctrl/pinctrl-st.c:138:34: note: expanded from macro 'ST_PINCONF_PACK_OE'
#define ST_PINCONF_PACK_OE(conf) ST_PINCONF_PACK(conf, 1, OE)
^
drivers/pinctrl/pinctrl-st.c:129:49: note: expanded from macro 'ST_PINCONF_PACK'
#define ST_PINCONF_PACK(conf, val, param) (conf |=\
^
drivers/pinctrl/pinctrl-st.c:1013:6: note: 'function' is 0
if (function)
^~~~~~~~
drivers/pinctrl/pinctrl-st.c:1013:2: note: Taking false branch
if (function)
^
drivers/pinctrl/pinctrl-st.c:1018:30: note: Left side of '&&' is false
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^
drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
container_of(pc, struct st_gpio_bank, pc)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/pinctrl/pinctrl-st.c:1018:30: note: Taking false branch
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^
drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
container_of(pc, struct st_gpio_bank, pc)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/pinctrl/pinctrl-st.c:1018:30: note: Loop condition is false. Exiting loop
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^
drivers/pinctrl/pinctrl-st.c:205:3: note: expanded from macro 'pc_to_bank'
container_of(pc, struct st_gpio_bank, pc)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/pinctrl/pinctrl-st.c:1018:7: note: Calling 'st_gpio_get_direction'
oe = st_gpio_get_direction(&pc_to_bank(pc)->gpio_chip, offset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:739:2: note: 'config' declared without an initial value
unsigned long config;
^~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:746:13: note: Calling 'st_pctl_get_pin_function'
function = st_pctl_get_pin_function(&pc, offset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:440:6: note: Assuming 'alt' is non-null
if (!alt)
^~~~
drivers/pinctrl/pinctrl-st.c:440:2: note: Taking false branch
if (!alt)
^
drivers/pinctrl/pinctrl-st.c:445:2: note: Returning without writing to 'pc->oe', which participates in a condition later
return (val >> offset) & 0xf;
^
drivers/pinctrl/pinctrl-st.c:746:13: note: Returning from 'st_pctl_get_pin_function'
function = st_pctl_get_pin_function(&pc, offset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:747:6: note: Assuming 'function' is not equal to 0
if (function) {
^~~~~~~~
drivers/pinctrl/pinctrl-st.c:747:2: note: Taking true branch
if (function) {
^
drivers/pinctrl/pinctrl-st.c:748:3: note: Calling 'st_pinconf_get_direction'
st_pinconf_get_direction(&pc, offset, &config);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-st.c:579:6: note: Assuming field 'oe' is non-null
if (pc->oe) {
^~~~~~
drivers/pinctrl/pinctrl-st.c:579:2: note: Taking true branch
if (pc->oe) {
--
^~~~~~~~
note: expanded from here
include/linux/math64.h:91:15: note: Left side of '&&' is true
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:231:13: note: expanded from macro 'do_div'
} else if (__div64_const32_is_OK && \
^
arch/arm/include/asm/div64.h:64:31: note: expanded from macro '__div64_const32_is_OK'
#define __div64_const32_is_OK (__GNUC__ >= 4)
^
include/linux/math64.h:91:15: note: Left side of '&&' is false
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:232:35: note: expanded from macro 'do_div'
__builtin_constant_p(__base) && \
^
include/linux/math64.h:91:15: note: Assuming the condition is true
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:239:20: note: expanded from macro 'do_div'
} else if (likely(((n) >> 32) == 0)) { \
~~~~~~~^~~~~~~~~~~~~~~~~
include/linux/compiler.h:77:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
include/linux/math64.h:91:15: note: Taking true branch
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:239:9: note: expanded from macro 'do_div'
} else if (likely(((n) >> 32) == 0)) { \
^
include/linux/math64.h:91:2: note: Value assigned to 'mod', which participates in a condition later
*remainder = do_div(dividend, divisor);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/libxfs/xfs_bmap.c:5449:3: note: Returning from 'div_u64_rem'
div_u64_rem(del.br_startblock, mp->m_sb.sb_rextsize, &mod);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/libxfs/xfs_bmap.c:5450:7: note: Assuming 'mod' is not equal to 0
if (mod) {
^~~
fs/xfs/libxfs/xfs_bmap.c:5450:3: note: Taking true branch
if (mod) {
^
fs/xfs/libxfs/xfs_bmap.c:5458:8: note: Assuming 'off' is >= field 'br_blockcount'
if (del.br_blockcount > off) {
^~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/libxfs/xfs_bmap.c:5458:4: note: Taking false branch
if (del.br_blockcount > off) {
^
fs/xfs/libxfs/xfs_bmap.c:5462:15: note: Assuming 'start' is equal to field 'br_startoff'
} else if (del.br_startoff == start &&
^~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/libxfs/xfs_bmap.c:5462:15: note: Left side of '&&' is true
fs/xfs/libxfs/xfs_bmap.c:5463:9: note: Assuming field 'br_state' is not equal to XFS_EXT_UNWRITTEN
(del.br_state == XFS_EXT_UNWRITTEN ||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/libxfs/xfs_bmap.c:5463:9: note: Left side of '||' is false
fs/xfs/libxfs/xfs_bmap.c:5464:9: note: Access to field 't_blk_res' results in a dereference of a null pointer (loaded from variable 'tp')
tp->t_blk_res == 0)) {
^~
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/pci/controller/pci-v3-semi.c:604:6: warning: Value stored to 'pci_end' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u64 pci_end = cpu_end - entry->offset;
^~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pci-v3-semi.c:604:6: note: Value stored to 'pci_end' during its initialization is never read
u64 pci_end = cpu_end - entry->offset;
^~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/pci/controller/pci-versatile.c:37:10: warning: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval' [clang-analyzer-deadcode.DeadStores]
while ((retval = get_option(&str, &slot))) {
^ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pci-versatile.c:37:10: note: Although the value stored to 'retval' is used in the enclosing expression, the value is never actually read from 'retval'
while ((retval = get_option(&str, &slot))) {
^ ~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
>> drivers/pci/controller/pcie-iproc.c:861:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
drivers/pci/controller/pcie-iproc.c:861:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
drivers/pci/controller/pcie-iproc.c:1065:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
drivers/pci/controller/pcie-iproc.c:1065:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = pcie->dev;
^~~ ~~~~~~~~~
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
arch/arm/mach-omap2/omap_hwmod.c:3587:3: warning: Value stored to 'error' is never read [clang-analyzer-deadcode.DeadStores]
error = _register(oh);
^ ~~~~~~~~~~~~~
arch/arm/mach-omap2/omap_hwmod.c:3587:3: note: Value stored to 'error' is never read
error = _register(oh);
^ ~~~~~~~~~~~~~
Suppressed 13 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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/soc/tegra/pmc.c:1126:11: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
clk_put(pg->clks[pg->num_clks]);
^
drivers/soc/tegra/pmc.c:2457:14: note: Assuming field 'base' is non-null
if (WARN_ON(!pmc->base || !pmc->soc))
^
include/asm-generic/bug.h:188:25: note: expanded from macro 'WARN_ON'
int __ret_warn_on = !!(condition); \
^~~~~~~~~
drivers/soc/tegra/pmc.c:2457:14: note: Left side of '||' is false
if (WARN_ON(!pmc->base || !pmc->soc))
^
drivers/soc/tegra/pmc.c:2457:28: note: Assuming field 'soc' is non-null
if (WARN_ON(!pmc->base || !pmc->soc))
^
include/asm-generic/bug.h:188:25: note: expanded from macro 'WARN_ON'
int __ret_warn_on = !!(condition); \
^~~~~~~~~
drivers/soc/tegra/pmc.c:2457:2: note: Taking false branch
if (WARN_ON(!pmc->base || !pmc->soc))
^
drivers/soc/tegra/pmc.c:2461:6: note: 'err' is >= 0
if (err < 0)
^~~
drivers/soc/tegra/pmc.c:2461:2: note: Taking false branch
if (err < 0)
^
drivers/soc/tegra/pmc.c:2467:2: note: Taking false branch
if (IS_ERR(base))
^
drivers/soc/tegra/pmc.c:2471:6: note: Assuming 'res' is null
if (res) {
^~~
drivers/soc/tegra/pmc.c:2471:2: note: Taking false branch
if (res) {
^
drivers/soc/tegra/pmc.c:2480:6: note: Assuming 'res' is null
if (res) {
^~~
drivers/soc/tegra/pmc.c:2480:2: note: Taking false branch
if (res) {
^
drivers/soc/tegra/pmc.c:2489:6: note: Assuming 'res' is null
if (res) {
^~~
drivers/soc/tegra/pmc.c:2489:2: note: Taking false branch
if (res) {
^
drivers/soc/tegra/pmc.c:2498:2: note: Taking false branch
if (IS_ERR(pmc->clk)) {
^
drivers/soc/tegra/pmc.c:2514:6: note: Assuming field 'clk' is null
if (pmc->clk) {
^~~~~~~~
drivers/soc/tegra/pmc.c:2514:2: note: Taking false branch
if (pmc->clk) {
^
drivers/soc/tegra/pmc.c:2534:2: note: Taking true branch
if (IS_ENABLED(CONFIG_DEBUG_FS)) {
^
drivers/soc/tegra/pmc.c:2536:7: note: 'err' is >= 0
if (err < 0)
--
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/pci/setup-bus.c:447:2: note: Loop condition is false. Execution continues on line 457
list_for_each_entry_safe(dev_res, tmp_res, head, list)
^
include/linux/list.h:715:2: note: expanded from macro 'list_for_each_entry_safe'
for (pos = list_first_entry(head, typeof(*pos), member), \
^
drivers/pci/setup-bus.c:459:2: note: Left side of '&&' is false
list_for_each_entry(dev_res, head, list)
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/pci/setup-bus.c:459:2: note: Taking false branch
list_for_each_entry(dev_res, head, list)
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/pci/setup-bus.c:459:2: note: Loop condition is false. Exiting loop
list_for_each_entry(dev_res, head, list)
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/pci/setup-bus.c:459:2: note: Loop condition is true. Entering loop body
list_for_each_entry(dev_res, head, list)
^
include/linux/list.h:628:2: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
drivers/pci/setup-bus.c:460:7: note: Use of memory after it is freed
if (dev_res->res->parent)
^~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (12 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 with check filters).
4 warnings generated.
>> drivers/bus/omap_l3_noc.c:96:3: warning: Value stored to 'err_description' is never read [clang-analyzer-deadcode.DeadStores]
err_description = "Standard";
^ ~~~~~~~~~~
drivers/bus/omap_l3_noc.c:96:3: note: Value stored to 'err_description' is never read
err_description = "Standard";
^ ~~~~~~~~~~
drivers/bus/omap_l3_noc.c:107:3: warning: Value stored to 'err_description' is never read [clang-analyzer-deadcode.DeadStores]
err_description = "Custom";
^ ~~~~~~~~
drivers/bus/omap_l3_noc.c:107:3: note: Value stored to 'err_description' is never read
err_description = "Custom";
^ ~~~~~~~~
>> drivers/bus/omap_l3_noc.c:127:4: warning: Value stored to 'master_name' is never read [clang-analyzer-deadcode.DeadStores]
master_name = master->name;
^ ~~~~~~~~~~~~
drivers/bus/omap_l3_noc.c:127:4: note: Value stored to 'master_name' is never read
master_name = master->name;
^ ~~~~~~~~~~~~
>> drivers/bus/omap_l3_noc.c:132:2: warning: Value stored to 'op_code' is never read [clang-analyzer-deadcode.DeadStores]
op_code = readl_relaxed(l3_targ_hdr) & 0x7;
^
drivers/bus/omap_l3_noc.c:132:2: note: Value stored to 'op_code' is never read
16 warnings generated.
drivers/gpu/drm/amd/amdgpu/atom.c:959:2: warning: Value stored to 'dst' is never read [clang-analyzer-deadcode.DeadStores]
dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/atom.c:959:2: note: Value stored to 'dst' is never read
dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/atom.c:978:2: warning: Value stored to 'dst' is never read [clang-analyzer-deadcode.DeadStores]
dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/atom.c:978:2: note: Value stored to 'dst' is never read
dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 14 warnings (14 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.
1 warning generated.
>> drivers/clk/ti/clockdomain.c:115:2: warning: Value stored to 'clk_name' is never read [clang-analyzer-deadcode.DeadStores]
clk_name = __clk_get_name(hw->clk);
^ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/clockdomain.c:115:2: note: Value stored to 'clk_name' is never read
clk_name = __clk_get_name(hw->clk);
^ ~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
drivers/clk/ti/divider.c:240:9: warning: Division by zero [clang-analyzer-core.DivideZero]
return DIV_ROUND_UP(*prate, div);
^
include/linux/math.h:36:22: note: expanded from macro 'DIV_ROUND_UP'
#define DIV_ROUND_UP __KERNEL_DIV_ROUND_UP
^
include/uapi/linux/const.h:34:54: note: expanded from macro '__KERNEL_DIV_ROUND_UP'
#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
~~~~~~~~~~~~~~~~^~~~~
drivers/clk/ti/divider.c:238:8: note: Calling 'ti_clk_divider_bestdiv'
div = ti_clk_divider_bestdiv(hw, rate, prate);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/divider.c:179:37: note: Left side of '&&' is false
struct clk_omap_divider *divider = to_clk_omap_divider(hw);
^
drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
#define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/clk/ti/divider.c:179:37: note: Taking false branch
struct clk_omap_divider *divider = to_clk_omap_divider(hw);
^
drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
#define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/clk/ti/divider.c:179:37: note: Loop condition is false. Exiting loop
struct clk_omap_divider *divider = to_clk_omap_divider(hw);
^
drivers/clk/ti/clock.h:32:34: note: expanded from macro 'to_clk_omap_divider'
#define to_clk_omap_divider(_hw) container_of(_hw, struct clk_omap_divider, hw)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/clk/ti/divider.c:184:6: note: Assuming 'rate' is not equal to 0
if (!rate)
^~~~~
drivers/clk/ti/divider.c:184:2: note: Taking false branch
if (!rate)
^
drivers/clk/ti/divider.c:189:6: note: Assuming the condition is false
if (!(clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/divider.c:189:2: note: Taking false branch
if (!(clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)) {
^
drivers/clk/ti/divider.c:201:11: note: Assuming '__UNIQUE_ID___x112' is >= '__UNIQUE_ID___y113'
maxdiv = min(ULONG_MAX / rate, maxdiv);
^
include/linux/minmax.h:51:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^~~~~~~~~~
drivers/clk/ti/divider.c:201:11: note: '?' condition is false
maxdiv = min(ULONG_MAX / rate, maxdiv);
^
include/linux/minmax.h:51:19: note: expanded from macro 'min'
--
fs/xfs/xfs_log.c:2352:3: note: Taking true branch
if (!*start_lsn)
^
fs/xfs/xfs_log.c:2353:17: note: '?' condition is false
*start_lsn = be64_to_cpu(iclog->ic_header.h_lsn);
^
include/linux/byteorder/generic.h:93:21: note: expanded from macro 'be64_to_cpu'
#define be64_to_cpu __be64_to_cpu
^
include/uapi/linux/byteorder/little_endian.h:38:26: note: expanded from macro '__be64_to_cpu'
#define __be64_to_cpu(x) __swab64((__force __u64)(__be64)(x))
^
include/uapi/linux/swab.h:131:3: note: expanded from macro '__swab64'
(__builtin_constant_p((__u64)(x)) ? \
^
fs/xfs/xfs_log.c:2359:10: note: 'lv' is non-null
while (lv && (!lv->lv_niovecs || index < lv->lv_niovecs)) {
^~
fs/xfs/xfs_log.c:2359:10: note: Left side of '&&' is true
fs/xfs/xfs_log.c:2359:22: note: Field 'lv_niovecs' is 1
while (lv && (!lv->lv_niovecs || index < lv->lv_niovecs)) {
^
fs/xfs/xfs_log.c:2359:17: note: Left side of '||' is false
while (lv && (!lv->lv_niovecs || index < lv->lv_niovecs)) {
^
fs/xfs/xfs_log.c:2359:3: note: Loop condition is true. Entering loop body
while (lv && (!lv->lv_niovecs || index < lv->lv_niovecs)) {
^
fs/xfs/xfs_log.c:2367:4: note: Taking false branch
if (lv->lv_buf_len == XFS_LOG_VEC_ORDERED) {
^
fs/xfs/xfs_log.c:2382:8: note: 'need_start_rec' is false
if (need_start_rec) {
^~~~~~~~~~~~~~
fs/xfs/xfs_log.c:2382:4: note: Taking false branch
if (need_start_rec) {
^
fs/xfs/xfs_log.c:2388:12: note: Calling 'xlog_write_setup_ophdr'
ophdr = xlog_write_setup_ophdr(log, ptr, ticket, flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/xfs_log.c:2129:18: note: '?' condition is false
ophdr->oh_tid = cpu_to_be32(ticket->t_tid);
^
include/linux/byteorder/generic.h:94:21: note: expanded from macro 'cpu_to_be32'
#define cpu_to_be32 __cpu_to_be32
^
include/uapi/linux/byteorder/little_endian.h:39:43: note: expanded from macro '__cpu_to_be32'
#define __cpu_to_be32(x) ((__force __be32)__swab32((x)))
^
include/uapi/linux/swab.h:118:3: note: expanded from macro '__swab32'
(__builtin_constant_p((__u32)(x)) ? \
^
fs/xfs/xfs_log.c:2141:2: note: Control jumps to 'case 170:' at line 2144
switch (ophdr->oh_clientid) {
^
fs/xfs/xfs_log.c:2145:3: note: Execution continues on line 2153
break;
^
fs/xfs/xfs_log.c:2153:2: note: Returning pointer (loaded from 'ophdr'), which participates in a condition later
return ophdr;
^~~~~~~~~~~~
fs/xfs/xfs_log.c:2388:12: note: Returning from 'xlog_write_setup_ophdr'
ophdr = xlog_write_setup_ophdr(log, ptr, ticket, flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/xfs/xfs_log.c:2389:9: note: 'ophdr' is non-null
if (!ophdr)
^~~~~
fs/xfs/xfs_log.c:2389:4: note: Taking false branch
if (!ophdr)
^
fs/xfs/xfs_log.c:2412:8: note: Assuming 'copy_len' is > 0
if (copy_len > 0) {
^~~~~~~~~~~~
fs/xfs/xfs_log.c:2412:4: note: Taking true branch
if (copy_len > 0) {
^
fs/xfs/xfs_log.c:2413:5: note: Null pointer passed as 2nd argument to memory copy function
memcpy(ptr, reg->i_addr + copy_off, copy_len);
^ ~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
Suppressed 1 warnings (1 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.
14 warnings generated.
>> drivers/gpu/drm/omapdrm/omap_crtc.c:234:21: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_crtc.c:234:21: note: Value stored to 'dev' during its initialization is never read
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_crtc.c:253:21: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_crtc.c:253:21: note: Value stored to 'dev' during its initialization is never read
struct drm_device *dev = omap_crtc->base.dev;
^~~ ~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/gpu/drm/omapdrm/omap_encoder.c:104:16: warning: Access to field 'bridge' results in a dereference of a null pointer (loaded from variable 'output') [clang-analyzer-core.NullDereference]
for (bridge = output->bridge; bridge;
^~~~~~
drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Left side of '&&' is false
struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
^
drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
#define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Taking false branch
struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
^
drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
#define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:76:38: note: Loop condition is false. Exiting loop
struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
^
drivers/gpu/drm/omapdrm/omap_encoder.c:20:28: note: expanded from macro 'to_omap_encoder'
#define to_omap_encoder(x) container_of(x, struct omap_encoder, base)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:77:2: note: 'output' initialized here
struct omap_dss_device *output = omap_encoder->output;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_encoder.c:85:2: note: Left side of '&&' is false
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/omapdrm/omap_encoder.c:85:2: note: Taking false branch
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
--
if (priv->fbdev) {
^
drivers/gpu/drm/msm/msm_debugfs.c:156:2: note: Left side of '&&' is false
list_for_each_entry(fb, &dev->mode_config.fb_list, head) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/msm/msm_debugfs.c:156:2: note: Taking false branch
list_for_each_entry(fb, &dev->mode_config.fb_list, head) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/msm/msm_debugfs.c:156:2: note: Loop condition is false. Exiting loop
list_for_each_entry(fb, &dev->mode_config.fb_list, head) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/gpu/drm/msm/msm_debugfs.c:156:22: note: Value assigned to 'fb'
list_for_each_entry(fb, &dev->mode_config.fb_list, head) {
^
include/linux/list.h:628:7: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_debugfs.c:156:2: note: Loop condition is true. Entering loop body
list_for_each_entry(fb, &dev->mode_config.fb_list, head) {
^
include/linux/list.h:628:2: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
drivers/gpu/drm/msm/msm_debugfs.c:157:7: note: Assuming 'fb' is equal to 'fbdev_fb'
if (fb == fbdev_fb)
^~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_debugfs.c:157:3: note: Taking true branch
if (fb == fbdev_fb)
^
drivers/gpu/drm/msm/msm_debugfs.c:158:4: note: Execution continues on line 156
continue;
^
drivers/gpu/drm/msm/msm_debugfs.c:156:2: note: Dereference of null pointer
list_for_each_entry(fb, &dev->mode_config.fb_list, head) {
^
include/linux/list.h:630:13: note: expanded from macro 'list_for_each_entry'
pos = list_next_entry(pos, member))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:555:2: note: expanded from macro 'list_next_entry'
list_entry((pos)->member.next, typeof(*(pos)), member)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:693:25: note: expanded from macro 'container_of'
void *__mptr = (void *)(ptr); \
^~~~~
Suppressed 13 warnings (13 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.
>> drivers/clk/spear/spear1310_clock.c:872:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_30m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:872:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_30m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:879:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_48m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:879:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_48m_fixed_clk", "pll5_clk", 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:896:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_plclk0_clk", NULL, 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:896:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_plclk0_clk", NULL, 0,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:899:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_rate(NULL, "ras_tx50_clk", NULL, 0, 50000000);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/spear/spear1310_clock.c:899:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_rate(NULL, "ras_tx50_clk", NULL, 0, 50000000);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 with check filters).
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/gpu/drm/exynos/exynos_mixer.c:464:9: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
MXR_LAYER_CFG_GRP0_MASK);
^
drivers/gpu/drm/exynos/regs-mixer.h:153:34: note: expanded from macro 'MXR_LAYER_CFG_GRP0_MASK'
#define MXR_LAYER_CFG_GRP0_MASK MXR_LAYER_CFG_GRP0_VAL(~0)
^
drivers/gpu/drm/exynos/regs-mixer.h:152:35: note: expanded from macro 'MXR_LAYER_CFG_GRP0_VAL'
#define MXR_LAYER_CFG_GRP0_VAL(x) MXR_MASK_VAL(x, 7, 4)
^
drivers/gpu/drm/exynos/regs-mixer.h:70:10: note: expanded from macro 'MXR_MASK_VAL'
(((val) << (low_bit)) & MXR_MASK(high_bit, low_bit))
^
drivers/gpu/drm/exynos/exynos_mixer.c:1026:6: note: Assuming the condition is false
if (!test_bit(MXR_BIT_POWERED, &ctx->flags))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/exynos/exynos_mixer.c:1026:2: note: Taking false branch
if (!test_bit(MXR_BIT_POWERED, &ctx->flags))
^
drivers/gpu/drm/exynos/exynos_mixer.c:1032:2: note: Loop condition is true. Entering loop body
for (i = 0; i < MIXER_WIN_NR; i++)
^
drivers/gpu/drm/exynos/exynos_mixer.c:1033:3: note: Calling 'mixer_disable_plane'
mixer_disable_plane(crtc, &ctx->planes[i]);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/exynos/exynos_mixer.c:973:6: note: Assuming the condition is false
if (!test_bit(MXR_BIT_POWERED, &mixer_ctx->flags))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/exynos/exynos_mixer.c:973:2: note: Taking false branch
if (!test_bit(MXR_BIT_POWERED, &mixer_ctx->flags))
^
drivers/gpu/drm/exynos/exynos_mixer.c:976:2: note: Loop condition is false. Exiting loop
spin_lock_irqsave(&mixer_ctx->reg_slock, flags);
^
include/linux/spinlock.h:384:2: note: expanded from macro 'spin_lock_irqsave'
raw_spin_lock_irqsave(spinlock_check(lock), flags); \
^
include/linux/spinlock.h:250:2: note: expanded from macro 'raw_spin_lock_irqsave'
do { \
^
drivers/gpu/drm/exynos/exynos_mixer.c:976:2: note: Loop condition is false. Exiting loop
spin_lock_irqsave(&mixer_ctx->reg_slock, flags);
^
include/linux/spinlock.h:382:43: note: expanded from macro 'spin_lock_irqsave'
#define spin_lock_irqsave(lock, flags) \
^
drivers/gpu/drm/exynos/exynos_mixer.c:977:2: note: Calling 'mixer_cfg_layer'
mixer_cfg_layer(mixer_ctx, plane->index, 0, false);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/misc/lkdtm/heap.c:48:15: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
base[offset] = 0x0abcdef0;
~~~~~~~~~~~~ ^
drivers/misc/lkdtm/heap.c:42:6: note: Assuming 'base' is non-null
if (!base)
^~~~~
drivers/misc/lkdtm/heap.c:42:2: note: Taking false branch
if (!base)
^
drivers/misc/lkdtm/heap.c:47:2: note: Memory is released
kfree(base);
^~~~~~~~~~~
drivers/misc/lkdtm/heap.c:48:15: note: Use of memory after it is freed
base[offset] = 0x0abcdef0;
~~~~~~~~~~~~ ^
drivers/misc/lkdtm/heap.c:88:8: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
saw = base[offset];
^~~~~~~~~~~~
drivers/misc/lkdtm/heap.c:69:6: note: Assuming 'base' is non-null
if (!base) {
^~~~~
drivers/misc/lkdtm/heap.c:69:2: note: Taking false branch
if (!base) {
^
drivers/misc/lkdtm/heap.c:75:6: note: Assuming 'val' is non-null
if (!val) {
^~~~
drivers/misc/lkdtm/heap.c:75:2: note: Taking false branch
if (!val) {
^
drivers/misc/lkdtm/heap.c:85:2: note: Memory is released
kfree(base);
^~~~~~~~~~~
drivers/misc/lkdtm/heap.c:88:8: note: Use of memory after it is freed
saw = base[offset];
^~~~~~~~~~~~
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/clk/ti/apll.c:100:2: warning: Value stored to 'state' is never read [clang-analyzer-deadcode.DeadStores]
state <<= __ffs(ad->idlest_mask);
^ ~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/apll.c:100:2: note: Value stored to 'state' is never read
state <<= __ffs(ad->idlest_mask);
^ ~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 with check filters).
1 warning generated.
>> drivers/clk/ti/clkt_dpll.c:305:2: warning: Value stored to 'clk_name' is never read [clang-analyzer-deadcode.DeadStores]
clk_name = clk_hw_get_name(hw);
^ ~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/clkt_dpll.c:305:2: note: Value stored to 'clk_name' is never read
clk_name = clk_hw_get_name(hw);
^ ~~~~~~~~~~~~~~~~~~~
1 warning generated.
drivers/clk/ti/clkt_dflt.c:234:2: warning: Value stored to 'v' is never read [clang-analyzer-deadcode.DeadStores]
v = ti_clk_ll_ops->clk_readl(&clk->enable_reg); /* OCP barrier */
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/ti/clkt_dflt.c:234:2: note: Value stored to 'v' is never read
v = ti_clk_ll_ops->clk_readl(&clk->enable_reg); /* OCP barrier */
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 warnings generated.
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_powertune.c:978:3: warning: Value stored to 'value' is never read [clang-analyzer-deadcode.DeadStores]
value = 0;
^ ~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_powertune.c:978:3: note: Value stored to 'value' is never read
value = 0;
^ ~
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:803:15: warning: Access to field 'count' results in a dereference of a null pointer (loaded from field 'vdd_dep_on_sclk') [clang-analyzer-core.NullDereference]
pcie_count = table_info->vdd_dep_on_sclk->count;
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:1155:23: note: Assuming field 'pptable' is not equal to null
PP_ASSERT_WITH_CODE((hwmgr->pptable != NULL),
^
drivers/gpu/drm/amd/amdgpu/../pm/inc/pp_debug.h:39:9: note: expanded from macro 'PP_ASSERT_WITH_CODE'
if (!(cond)) { \
^~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:1155:2: note: Taking false branch
PP_ASSERT_WITH_CODE((hwmgr->pptable != NULL),
^
drivers/gpu/drm/amd/amdgpu/../pm/inc/pp_debug.h:39:3: note: expanded from macro 'PP_ASSERT_WITH_CODE'
if (!(cond)) { \
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:1155:2: note: Loop condition is false. Exiting loop
PP_ASSERT_WITH_CODE((hwmgr->pptable != NULL),
^
drivers/gpu/drm/amd/amdgpu/../pm/inc/pp_debug.h:38:2: note: expanded from macro 'PP_ASSERT_WITH_CODE'
do { \
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:1160:23: note: 'powerplay_table' is not equal to null
PP_ASSERT_WITH_CODE((powerplay_table != NULL),
^
drivers/gpu/drm/amd/amdgpu/../pm/inc/pp_debug.h:39:9: note: expanded from macro 'PP_ASSERT_WITH_CODE'
if (!(cond)) { \
^~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:1160:2: note: Taking false branch
PP_ASSERT_WITH_CODE((powerplay_table != NULL),
^
drivers/gpu/drm/amd/amdgpu/../pm/inc/pp_debug.h:39:3: note: expanded from macro 'PP_ASSERT_WITH_CODE'
if (!(cond)) { \
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:1160:2: note: Loop condition is false. Exiting loop
PP_ASSERT_WITH_CODE((powerplay_table != NULL),
^
drivers/gpu/drm/amd/amdgpu/../pm/inc/pp_debug.h:38:2: note: expanded from macro 'PP_ASSERT_WITH_CODE'
do { \
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:1165:23: note: 'result' is equal to 0
PP_ASSERT_WITH_CODE((result == 0),
^
drivers/gpu/drm/amd/amdgpu/../pm/inc/pp_debug.h:39:9: note: expanded from macro 'PP_ASSERT_WITH_CODE'
if (!(cond)) { \
^~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:1165:2: note: Taking false branch
PP_ASSERT_WITH_CODE((result == 0),
^
drivers/gpu/drm/amd/amdgpu/../pm/inc/pp_debug.h:39:3: note: expanded from macro 'PP_ASSERT_WITH_CODE'
if (!(cond)) { \
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:1165:2: note: Loop condition is false. Exiting loop
PP_ASSERT_WITH_CODE((result == 0),
^
drivers/gpu/drm/amd/amdgpu/../pm/inc/pp_debug.h:38:2: note: expanded from macro 'PP_ASSERT_WITH_CODE'
do { \
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:1171:23: note: 'result' is equal to 0
PP_ASSERT_WITH_CODE((result == 0),
^
drivers/gpu/drm/amd/amdgpu/../pm/inc/pp_debug.h:39:9: note: expanded from macro 'PP_ASSERT_WITH_CODE'
if (!(cond)) { \
^~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:1171:2: note: Taking false branch
PP_ASSERT_WITH_CODE((result == 0),
^
drivers/gpu/drm/amd/amdgpu/../pm/inc/pp_debug.h:39:3: note: expanded from macro 'PP_ASSERT_WITH_CODE'
if (!(cond)) { \
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.c:1171:2: note: Loop condition is false. Exiting loop
PP_ASSERT_WITH_CODE((result == 0),
^
--
~~~~~~~~~ ^
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c:78:8: note: Calling 'clk_prepare_enable'
ret = clk_prepare_enable(crtc->dc->hlcdc->sys_clk);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/clk.h:929:6: note: Assuming 'ret' is 0
if (ret)
^~~
include/linux/clk.h:929:2: note: Taking false branch
if (ret)
^
include/linux/clk.h:932:6: note: Assuming 'ret' is 0, which participates in a condition later
if (ret)
^~~
include/linux/clk.h:932:2: note: Taking false branch
if (ret)
^
include/linux/clk.h:935:2: note: Returning zero (loaded from 'ret'), which participates in a condition later
return ret;
^~~~~~~~~~
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c:78:8: note: Returning from 'clk_prepare_enable'
ret = clk_prepare_enable(crtc->dc->hlcdc->sys_clk);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c:79:6: note: 'ret' is 0
if (ret)
^~~
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c:79:2: note: Taking false branch
if (ret)
^
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c:104:6: note: Assuming field 'fixed_clksrc' is true
if (!crtc->dc->desc->fixed_clksrc) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c:104:2: note: Taking false branch
if (!crtc->dc->desc->fixed_clksrc) {
^
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c:111:6: note: Assuming 'div' is >= 2
if (div < 2) {
^~~~~~~
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c:111:2: note: Taking false branch
if (div < 2) {
^
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c:113:13: note: Assuming the condition is true
} else if (ATMEL_HLCDC_CLKDIV(div) & ~ATMEL_HLCDC_CLKDIV_MASK) {
^
include/linux/mfd/atmel-hlcdc.h:44:34: note: expanded from macro 'ATMEL_HLCDC_CLKDIV'
#define ATMEL_HLCDC_CLKDIV(div) ((div - 2) << ATMEL_HLCDC_CLKDIV_SHFT)
^
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c:113:9: note: Taking true branch
} else if (ATMEL_HLCDC_CLKDIV(div) & ~ATMEL_HLCDC_CLKDIV_MASK) {
^
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c:118:7: note: Assuming the condition is true
if (ATMEL_HLCDC_CLKDIV(div) & ~ATMEL_HLCDC_CLKDIV_MASK)
^
include/linux/mfd/atmel-hlcdc.h:44:34: note: expanded from macro 'ATMEL_HLCDC_CLKDIV'
#define ATMEL_HLCDC_CLKDIV(div) ((div - 2) << ATMEL_HLCDC_CLKDIV_SHFT)
^
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c:118:3: note: Taking true branch
if (ATMEL_HLCDC_CLKDIV(div) & ~ATMEL_HLCDC_CLKDIV_MASK)
^
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c:134:9: note: The result of the left shift is undefined due to shifting '16711678' by '16', which is unrepresentable in the unsigned version of the return type 'int'
cfg |= ATMEL_HLCDC_CLKDIV(div);
^
include/linux/mfd/atmel-hlcdc.h:44:45: note: expanded from macro 'ATMEL_HLCDC_CLKDIV'
#define ATMEL_HLCDC_CLKDIV(div) ((div - 2) << ATMEL_HLCDC_CLKDIV_SHFT)
~~~~~~~~~ ^
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
>> drivers/clk/imx/clk-imx6q.c:251:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = of_parse_phandle_with_args(node, "assigned-clock-parents",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/imx/clk-imx6q.c:251:2: note: Value stored to 'ret' is never read
ret = of_parse_phandle_with_args(node, "assigned-clock-parents",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
Suppressed 1 warnings (1 with check filters).
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
arch/arm/mach-tegra/reset.c:44:2: warning: Value stored to 'reg' is never read [clang-analyzer-deadcode.DeadStores]
reg = readl(evp_cpu_reset);
^
arch/arm/mach-tegra/reset.c:44:2: note: Value stored to 'reg' is never read
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
>> drivers/pinctrl/aspeed/pinctrl-aspeed.c:183:4: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcat(found, str);
^~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed.c:183:4: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
strcat(found, str);
^~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed.c:184:4: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcat(found, ", ");
^~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed.c:184:4: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
strcat(found, ", ");
^~~~~~
1 warning generated.
>> drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c:2660:5: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = regmap_update_bits(ctx->maps[desc->ip],
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c:2660:5: note: Value stored to 'ret' is never read
ret = regmap_update_bits(ctx->maps[desc->ip],
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
mm/shmem.c:1087:24: warning: Value stored to 'sbinfo' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb);
^~~~~~ ~~~~~~~~~~~~~~~~~~~~~
mm/shmem.c:1087:24: note: Value stored to 'sbinfo' during its initialization is never read
struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb);
^~~~~~ ~~~~~~~~~~~~~~~~~~~~~
mm/shmem.c:1542:29: warning: The result of the left shift is undefined because the right operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
hindex = round_down(index, HPAGE_PMD_NR);
^
include/linux/huge_mm.h:107:24: note: expanded from macro 'HPAGE_PMD_NR'
#define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER)
^
include/linux/math.h:34:50: note: expanded from macro 'round_down'
#define round_down(x, y) ((x) & ~__round_mask(x, y))
~~~~~~~~~~~~~~~~^~
include/linux/math.h:14:46: note: expanded from macro '__round_mask'
#define __round_mask(x, y) ((__typeof__(x))((y)-1))
^
mm/shmem.c:1542:29: note: Taking true branch
hindex = round_down(index, HPAGE_PMD_NR);
^
include/linux/huge_mm.h:107:26: note: expanded from macro 'HPAGE_PMD_NR'
#define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER)
^
include/linux/huge_mm.h:106:26: note: expanded from macro 'HPAGE_PMD_ORDER'
#define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT)
^
include/linux/huge_mm.h:325:28: note: expanded from macro 'HPAGE_PMD_SHIFT'
#define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; })
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
mm/shmem.c:1542:29: note: Loop condition is false. Exiting loop
hindex = round_down(index, HPAGE_PMD_NR);
^
include/linux/huge_mm.h:107:26: note: expanded from macro 'HPAGE_PMD_NR'
#define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER)
^
include/linux/huge_mm.h:106:26: note: expanded from macro 'HPAGE_PMD_ORDER'
#define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT)
^
include/linux/huge_mm.h:325:28: note: expanded from macro 'HPAGE_PMD_SHIFT'
#define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; })
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
mm/shmem.c:1542:29: note: The result of the left shift is undefined because the right operand is negative
hindex = round_down(index, HPAGE_PMD_NR);
^
include/linux/huge_mm.h:107:24: note: expanded from macro 'HPAGE_PMD_NR'
#define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER)
^
include/linux/math.h:34:50: note: expanded from macro 'round_down'
#define round_down(x, y) ((x) & ~__round_mask(x, y))
~~~~~~~~~~~~~~~~^~
include/linux/math.h:14:46: note: expanded from macro '__round_mask'
#define __round_mask(x, y) ((__typeof__(x))((y)-1))
^
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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/clk/tegra/clk-tegra114.c:910:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:910:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:934:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:934:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:943:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_fixed_factor(NULL, "pll_m_ud", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:943:2: note: Value stored to 'clk' is never read
clk = clk_register_fixed_factor(NULL, "pll_m_ud", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra114.c:1049:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = clk_register_mux(NULL, "emc_mux", mux_pllmcp_clkm,
^
drivers/clk/tegra/clk-tegra114.c:1049:2: note: Value stored to 'clk' is never read
2 warnings generated.
>> drivers/clk/tegra/clk-tegra124.c:1098:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra124.c:1098:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_c_out1_div", "pll_c",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra124.c:1132:2: warning: Value stored to 'clk' is never read [clang-analyzer-deadcode.DeadStores]
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/tegra/clk-tegra124.c:1132:2: note: Value stored to 'clk' is never read
clk = tegra_clk_register_divider("pll_m_out1_div", "pll_m",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
Suppressed 14 warnings (12 in non-user code, 2 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 (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/gpu/drm/omapdrm/omap_fb.c:397:14: warning: 1st function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
if (size > omap_gem_mmap_size(bos[i]) - mode_cmd->offsets[i]) {
^
drivers/gpu/drm/omapdrm/omap_fb.c:313:14: note: Assuming 'i' is >= 'num_planes'
for (i = 0; i < num_planes; i++) {
^~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_fb.c:313:2: note: Loop condition is false. Execution continues on line 321
for (i = 0; i < num_planes; i++) {
^
drivers/gpu/drm/omapdrm/omap_fb.c:321:7: note: Calling 'omap_framebuffer_init'
fb = omap_framebuffer_init(dev, mode_cmd, bos);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_fb.c:349:2: note: Loop condition is true. Entering loop body
for (i = 0; i < ARRAY_SIZE(formats); i++) {
^
drivers/gpu/drm/omapdrm/omap_fb.c:350:7: note: Assuming the condition is true
if (formats[i] == mode_cmd->pixel_format)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_fb.c:350:3: note: Taking true branch
if (formats[i] == mode_cmd->pixel_format)
^
drivers/gpu/drm/omapdrm/omap_fb.c:351:4: note: Execution continues on line 354
break;
^
drivers/gpu/drm/omapdrm/omap_fb.c:354:6: note: Assuming 'format' is non-null
if (!format || i == ARRAY_SIZE(formats)) {
^~~~~~~
drivers/gpu/drm/omapdrm/omap_fb.c:354:6: note: Left side of '||' is false
drivers/gpu/drm/omapdrm/omap_fb.c:354:2: note: Taking false branch
if (!format || i == ARRAY_SIZE(formats)) {
^
drivers/gpu/drm/omapdrm/omap_fb.c:361:12: note: Calling 'kzalloc'
omap_fb = kzalloc(sizeof(*omap_fb), GFP_KERNEL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:682:9: note: Calling 'kmalloc'
return kmalloc(size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:540:2: note: Taking false branch
if (__builtin_constant_p(size)) {
^
include/linux/slab.h:557:2: note: Returning pointer, which participates in a condition later
return __kmalloc(size, flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:682:9: note: Returning from 'kmalloc'
return kmalloc(size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:682:2: note: Returning pointer, which participates in a condition later
return kmalloc(size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_fb.c:361:12: note: Returning from 'kzalloc'
omap_fb = kzalloc(sizeof(*omap_fb), GFP_KERNEL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_fb.c:362:6: note: Assuming 'omap_fb' is non-null
if (!omap_fb) {
^~~~~~~~
drivers/gpu/drm/omapdrm/omap_fb.c:362:2: note: Taking false branch
if (!omap_fb) {
^
drivers/gpu/drm/omapdrm/omap_fb.c:369:2: note: Loop condition is false. Exiting loop
mutex_init(&omap_fb->lock);
^
include/linux/mutex.h:115:32: note: expanded from macro 'mutex_init'
#define mutex_init(mutex) \
^
drivers/gpu/drm/omapdrm/omap_fb.c:376:6: note: Assuming field 'num_planes' is not equal to 2
if (format->num_planes == 2 && pitch != mode_cmd->pitches[1]) {
^~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/omap_fb.c:376:30: note: Left side of '&&' is false
if (format->num_planes == 2 && pitch != mode_cmd->pitches[1]) {
^
--
do { \
^
drivers/gpu/drm/drm_file.c:593:7: note: 'e' is not equal to NULL
if (e == NULL) {
^
drivers/gpu/drm/drm_file.c:593:3: note: Taking false branch
if (e == NULL) {
^
drivers/gpu/drm/drm_file.c:612:8: note: Assuming the condition is false
if (length > count - ret) {
^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_file.c:612:4: note: Taking false branch
if (length > count - ret) {
^
drivers/gpu/drm/drm_file.c:623:8: note: Assuming the condition is false
if (copy_to_user(buffer + ret, e->event, length)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_file.c:623:4: note: Taking false branch
if (copy_to_user(buffer + ret, e->event, length)) {
^
drivers/gpu/drm/drm_file.c:630:4: note: Memory is released
kfree(e);
^~~~~~~~
drivers/gpu/drm/drm_file.c:581:2: note: Loop condition is true. Entering loop body
for (;;) {
^
drivers/gpu/drm/drm_file.c:585:7: note: Assuming the condition is true
if (!list_empty(&file_priv->event_list)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_file.c:585:3: note: Taking true branch
if (!list_empty(&file_priv->event_list)) {
^
drivers/gpu/drm/drm_file.c:586:8: note: Left side of '&&' is false
e = list_first_entry(&file_priv->event_list,
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/drm_file.c:586:8: note: Taking false branch
e = list_first_entry(&file_priv->event_list,
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/drm_file.c:586:8: note: Loop condition is false. Exiting loop
e = list_first_entry(&file_priv->event_list,
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/gpu/drm/drm_file.c:588:30: note: Use of memory after it is freed
file_priv->event_space += e->event->length;
^~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
>> drivers/gpu/drm/sti/sti_hqvdp.c:741:6: warning: Division by zero [clang-analyzer-core.DivideZero]
lfw /= max(src_w, dst_w) * mode->clock / 1000;
^
drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Left side of '&&' is false
struct sti_plane *plane = to_sti_plane(drm_plane);
^
drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
#define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Taking false branch
struct sti_plane *plane = to_sti_plane(drm_plane);
^
drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
#define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1022:28: note: Loop condition is false. Exiting loop
struct sti_plane *plane = to_sti_plane(drm_plane);
^
drivers/gpu/drm/sti/sti_plane.h:13:25: note: expanded from macro 'to_sti_plane'
#define to_sti_plane(x) container_of(x, struct sti_plane, drm_plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Left side of '&&' is false
struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
^
drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
#define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Taking false branch
struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
^
drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
#define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/sti/sti_hqvdp.c:1023:28: note: Loop condition is false. Exiting loop
struct sti_hqvdp *hqvdp = to_sti_hqvdp(plane);
^
drivers/gpu/drm/sti/sti_hqvdp.c:360:25: note: expanded from macro 'to_sti_hqvdp'
#define to_sti_hqvdp(x) container_of(x, struct sti_hqvdp, plane)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
--
drivers/dma-buf/dma-buf.c:365:3: note: Taking false branch
if (copy_from_user(&sync, (void __user *) arg, sizeof(sync)))
^
drivers/dma-buf/dma-buf.c:368:7: note: Assuming the condition is false
if (sync.flags & ~DMA_BUF_SYNC_VALID_FLAGS_MASK)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/dma-buf/dma-buf.c:368:3: note: Taking false branch
if (sync.flags & ~DMA_BUF_SYNC_VALID_FLAGS_MASK)
^
drivers/dma-buf/dma-buf.c:371:3: note: Control jumps to 'case 3:' at line 378
switch (sync.flags & DMA_BUF_SYNC_RW) {
^
drivers/dma-buf/dma-buf.c:380:4: note: Execution continues on line 385
break;
^
drivers/dma-buf/dma-buf.c:385:7: note: Assuming the condition is true
if (sync.flags & DMA_BUF_SYNC_END)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/dma-buf/dma-buf.c:385:3: note: Taking true branch
if (sync.flags & DMA_BUF_SYNC_END)
^
drivers/dma-buf/dma-buf.c:386:33: note: Passing value via 1st parameter 'dmabuf'
ret = dma_buf_end_cpu_access(dmabuf, direction);
^~~~~~
drivers/dma-buf/dma-buf.c:386:10: note: Calling 'dma_buf_end_cpu_access'
ret = dma_buf_end_cpu_access(dmabuf, direction);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/dma-buf/dma-buf.c:1142:10: note: Assuming 'dmabuf' is null
WARN_ON(!dmabuf);
^
include/asm-generic/bug.h:188:25: note: expanded from macro 'WARN_ON'
int __ret_warn_on = !!(condition); \
^~~~~~~~~
drivers/dma-buf/dma-buf.c:1144:6: note: Access to field 'ops' results in a dereference of a null pointer (loaded from variable 'dmabuf')
if (dmabuf->ops->end_cpu_access)
^~~~~~
Suppressed 12 warnings (12 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.
1 warning generated.
Suppressed 1 warnings (1 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/phy/mediatek/phy-mtk-xsphy.c:211:6: warning: Value stored to 'index' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u32 index = inst->index;
^~~~~ ~~~~~~~~~~~
drivers/phy/mediatek/phy-mtk-xsphy.c:211:6: note: Value stored to 'index' during its initialization is never read
u32 index = inst->index;
^~~~~ ~~~~~~~~~~~
drivers/phy/mediatek/phy-mtk-xsphy.c:230:6: warning: Value stored to 'index' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u32 index = inst->index;
^~~~~ ~~~~~~~~~~~
drivers/phy/mediatek/phy-mtk-xsphy.c:230:6: note: Value stored to 'index' during its initialization is never read
u32 index = inst->index;
^~~~~ ~~~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
drivers/tty/serial/uartlite.c:368:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = uart_in32(ULITE_CONTROL, port);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/uartlite.c:368:2: note: Value stored to 'ret' is never read
ret = uart_in32(ULITE_CONTROL, port);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
drivers/tty/serial/omap-serial.c:1176:3: warning: Value stored to 'tmout' is never read [clang-analyzer-deadcode.DeadStores]
tmout = 1000000;
^ ~~~~~~~
drivers/tty/serial/omap-serial.c:1176:3: note: Value stored to 'tmout' is never read
tmout = 1000000;
^ ~~~~~~~
1 warning generated.
Suppressed 1 warnings (1 with check filters).
13 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/hdmi4_cec.c:243:3: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = hdmi_read_reg(core->base, HDMI_CEC_INT_STATUS_1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/hdmi4_cec.c:243:3: note: Value stored to 'temp' is never read
temp = hdmi_read_reg(core->base, HDMI_CEC_INT_STATUS_1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
drivers/gpu/drm/rcar-du/rcar_du_group.c:335:10: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
doflr |= doflr_values[i];
^
drivers/gpu/drm/rcar-du/rcar_du_group.c:353:6: note: Assuming the condition is false
if (rcdu->dpad1_source == rgrp->index * 2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/rcar-du/rcar_du_group.c:353:2: note: Taking false branch
if (rcdu->dpad1_source == rgrp->index * 2)
^
drivers/gpu/drm/rcar-du/rcar_du_group.c:360:2: note: Calling 'rcar_du_group_set_dpad_levels'
rcar_du_group_set_dpad_levels(rgrp);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/rcar-du/rcar_du_group.c:314:6: note: Assuming field 'gen' is >= 2
if (rcdu->info->gen < 2)
^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/rcar-du/rcar_du_group.c:314:2: note: Taking false branch
if (rcdu->info->gen < 2)
^
drivers/gpu/drm/rcar-du/rcar_du_group.c:327:14: note: Assuming 'i' is < field 'num_crtcs'
for (i = 0; i < rgrp->num_crtcs; ++i) {
^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/rcar-du/rcar_du_group.c:327:2: note: Loop condition is true. Entering loop body
for (i = 0; i < rgrp->num_crtcs; ++i) {
^
drivers/gpu/drm/rcar-du/rcar_du_group.c:332:12: note: Left side of '&&' is false
rstate = to_rcar_crtc_state(rcrtc->crtc.state);
^
drivers/gpu/drm/rcar-du/rcar_du_crtc.h:94:31: note: expanded from macro 'to_rcar_crtc_state'
#define to_rcar_crtc_state(s) container_of(s, struct rcar_du_crtc_state, state)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/rcar-du/rcar_du_group.c:332:12: note: Taking false branch
rstate = to_rcar_crtc_state(rcrtc->crtc.state);
^
drivers/gpu/drm/rcar-du/rcar_du_crtc.h:94:31: note: expanded from macro 'to_rcar_crtc_state'
#define to_rcar_crtc_state(s) container_of(s, struct rcar_du_crtc_state, state)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/rcar-du/rcar_du_group.c:332:12: note: Loop condition is false. Exiting loop
rstate = to_rcar_crtc_state(rcrtc->crtc.state);
^
drivers/gpu/drm/rcar-du/rcar_du_crtc.h:94:31: note: expanded from macro 'to_rcar_crtc_state'
#define to_rcar_crtc_state(s) container_of(s, struct rcar_du_crtc_state, state)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
--
include/linux/uaccess.h:157:6: note: Assuming the condition is false
if (!should_fail_usercopy() && likely(access_ok(from, n))) {
^~~~~~~~~~~~~~~~~~~~~~~
include/linux/uaccess.h:157:30: note: Left side of '&&' is false
if (!should_fail_usercopy() && likely(access_ok(from, n))) {
^
include/linux/uaccess.h:161:6: note: Assuming 'res' is not equal to 0
if (unlikely(res))
^
include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^~~~
include/linux/uaccess.h:161:2: note: Taking true branch
if (unlikely(res))
^
include/linux/uaccess.h:162:3: note: Null pointer passed as 1st argument to memory set function
memset(to + (n - res), 0, res);
^ ~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
14 warnings generated.
fs/affs/namei.c:22:34: warning: Although the value stored to 'ch' is used in the enclosing expression, the value is never actually read from 'ch' [clang-analyzer-deadcode.DeadStores]
return ch >= 'a' && ch <= 'z' ? ch -= ('a' - 'A') : ch;
^ ~~~~~~~~~~~
fs/affs/namei.c:22:34: note: Although the value stored to 'ch' is used in the enclosing expression, the value is never actually read from 'ch'
return ch >= 'a' && ch <= 'z' ? ch -= ('a' - 'A') : ch;
^ ~~~~~~~~~~~
fs/affs/namei.c:484:2: warning: Value stored to 'retval' is never read [clang-analyzer-deadcode.DeadStores]
retval = affs_insert_hash(new_dir, bh_old);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/affs/namei.c:484:2: note: Value stored to 'retval' is never read
retval = affs_insert_hash(new_dir, bh_old);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
fs/affs/file.c:888:4: warning: Value stored to 'res' is never read [clang-analyzer-deadcode.DeadStores]
res = mapping->a_ops->write_end(NULL, mapping, isize, 0, 0, page, fsdata);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/affs/file.c:888:4: note: Value stored to 'res' is never read
res = mapping->a_ops->write_end(NULL, mapping, isize, 0, 0, page, fsdata);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
fs/fat/fatent.c:482:2: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
err = nr_bhs = idx_clus = 0;
^ ~~~~~~~~~~~~~~~~~~~~~
fs/fat/fatent.c:482:2: note: Value stored to 'err' is never read
err = nr_bhs = idx_clus = 0;
^ ~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
1 warning generated.
drivers/mfd/tps65010.c:650:5: warning: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
status = 0;
^ ~
drivers/mfd/tps65010.c:650:5: note: Value stored to 'status' is never read
status = 0;
^ ~
14 warnings generated.
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 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/mfd/menelaus.c:453:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:453:21: note: Value stored to 'c' during its initialization is never read
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:525:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:525:21: note: Value stored to 'c' during its initialization is never read
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:734:21: warning: Value stored to 'c' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
drivers/mfd/menelaus.c:734:21: note: Value stored to 'c' during its initialization is never read
struct i2c_client *c = the_menelaus->client;
^ ~~~~~~~~~~~~~~~~~~~~
16 warnings generated.
drivers/mfd/twl-core.c:574:15: warning: The left operand of '&' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
switch (ctrl & 0x3) {
~~~~ ^
drivers/mfd/twl-core.c:569:2: note: 'ctrl' declared without an initial value
u8 ctrl;
^~~~~~~
drivers/mfd/twl-core.c:572:2: note: Calling 'twl_i2c_read_u8'
twl_i2c_read_u8(TWL_MODULE_PM_MASTER, &ctrl, R_CFG_BOOT);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mfd/twl.h:180:9: note: Calling 'twl_i2c_read'
return twl_i2c_read(mod_no, val, reg, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:473:7: note: 'regmap' is null
if (!regmap)
^~~~~~
drivers/mfd/twl-core.c:473:2: note: Taking true branch
if (!regmap)
^
drivers/mfd/twl-core.c:474:3: note: Returning without writing to '*value'
return -EPERM;
^
include/linux/mfd/twl.h:180:9: note: Returning from 'twl_i2c_read'
return twl_i2c_read(mod_no, val, reg, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mfd/twl.h:180:2: note: Returning without writing to '*val'
return twl_i2c_read(mod_no, val, reg, 1);
^
drivers/mfd/twl-core.c:572:2: note: Returning from 'twl_i2c_read_u8'
twl_i2c_read_u8(TWL_MODULE_PM_MASTER, &ctrl, R_CFG_BOOT);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:574:15: note: The left operand of '&' is a garbage value
switch (ctrl & 0x3) {
~~~~ ^
drivers/mfd/twl-core.c:1205:8: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
temp &= ~(SR_I2C_SDA_CTRL_PU | SR_I2C_SCL_CTRL_PU | \
~~~~ ^
drivers/mfd/twl-core.c:1078:6: note: Assuming 'node' is non-null
if (!node && !pdata) {
^~~~~
drivers/mfd/twl-core.c:1078:12: note: Left side of '&&' is false
if (!node && !pdata) {
^
drivers/mfd/twl-core.c:1083:6: note: Assuming 'twl_priv' is null
if (twl_priv) {
^~~~~~~~
drivers/mfd/twl-core.c:1083:2: note: Taking false branch
if (twl_priv) {
^
drivers/mfd/twl-core.c:1090:6: note: Assuming 'pdev' is non-null
if (!pdev) {
^~~~~
drivers/mfd/twl-core.c:1090:2: note: Taking false branch
if (!pdev) {
^
drivers/mfd/twl-core.c:1096:6: note: Assuming 'status' is 0
if (status) {
^~~~~~
drivers/mfd/twl-core.c:1096:2: note: Taking false branch
if (status) {
^
drivers/mfd/twl-core.c:1101:2: note: Taking false branch
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C) == 0) {
^
drivers/mfd/twl-core.c:1109:6: note: Assuming 'twl_priv' is non-null
if (!twl_priv) {
^~~~~~~~~
drivers/mfd/twl-core.c:1109:2: note: Taking false branch
if (!twl_priv) {
^
drivers/mfd/twl-core.c:1114:6: note: Assuming the condition is true
if ((id->driver_data) & TWL6030_CLASS) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:1114:2: note: Taking true branch
if ((id->driver_data) & TWL6030_CLASS) {
^
drivers/mfd/twl-core.c:1118:7: note: Assuming the condition is false
if ((id->driver_data) & TWL6032_SUBCLASS)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mfd/twl-core.c:1118:3: note: Taking false branch
if ((id->driver_data) & TWL6032_SUBCLASS)
^
drivers/mfd/twl-core.c:1129:26: note: Calling 'devm_kcalloc'
--
if (of_device_is_compatible(devbus->dev->of_node, "marvell,mvebu-devbus")) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/memory/mvebu-devbus.c:156:2: note: Taking false branch
if (of_device_is_compatible(devbus->dev->of_node, "marvell,mvebu-devbus")) {
^
drivers/memory/mvebu-devbus.c:179:6: note: 'err' is >= 0
if (err < 0)
^~~
drivers/memory/mvebu-devbus.c:179:2: note: Taking false branch
if (err < 0)
^
drivers/memory/mvebu-devbus.c:184:6: note: 'err' is >= 0
if (err < 0)
^~~
drivers/memory/mvebu-devbus.c:184:2: note: Taking false branch
if (err < 0)
^
drivers/memory/mvebu-devbus.c:189:6: note: 'err' is >= 0
if (err < 0)
^~~
drivers/memory/mvebu-devbus.c:189:2: note: Taking false branch
if (err < 0)
^
drivers/memory/mvebu-devbus.c:192:2: note: Returning without writing to 'w->sync_enable'
return 0;
^
drivers/memory/mvebu-devbus.c:301:9: note: Returning from 'devbus_get_timing_params'
err = devbus_get_timing_params(devbus, node, &r, &w);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/memory/mvebu-devbus.c:302:7: note: 'err' is >= 0
if (err < 0)
^~~
drivers/memory/mvebu-devbus.c:302:3: note: Taking false branch
if (err < 0)
^
drivers/memory/mvebu-devbus.c:306:7: note: Assuming the condition is false
if (of_device_is_compatible(node, "marvell,orion-devbus"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/memory/mvebu-devbus.c:306:3: note: Taking false branch
if (of_device_is_compatible(node, "marvell,orion-devbus"))
^
drivers/memory/mvebu-devbus.c:309:4: note: Calling 'devbus_armada_set_timing_params'
devbus_armada_set_timing_params(devbus, node, &r, &w);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/memory/mvebu-devbus.c:244:2: note: Taking false branch
dev_dbg(devbus->dev, "read parameters register 0x%p = 0x%x\n",
^
include/linux/dev_printk.h:130:2: note: expanded from macro 'dev_dbg'
if (0) \
^
drivers/memory/mvebu-devbus.c:248:2: note: Loop condition is false. Exiting loop
writel(value, devbus->base + ARMADA_READ_PARAM_OFFSET);
^
arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
#define writel(v,c) ({ __iowmb(); writel_relaxed(v,c); })
^
arch/arm/include/asm/io.h:166:20: note: expanded from macro '__iowmb'
#define __iowmb() wmb()
^
arch/arm/include/asm/barrier.h:66:16: note: expanded from macro 'wmb'
#define wmb() __arm_heavy_mb(st)
^
arch/arm/include/asm/barrier.h:58:30: note: expanded from macro '__arm_heavy_mb'
#define __arm_heavy_mb(x...) do { dsb(x); arm_heavy_mb(); } while (0)
^
drivers/memory/mvebu-devbus.c:251:26: note: The left operand of '<<' is a garbage value
value = w->sync_enable << ARMADA_SYNC_ENABLE_SHIFT |
~~~~~~~~~~~~~~ ^
1 warning generated.
arch/arm/mach-omap2/prminst44xx.c:193:2: warning: Value stored to 'v' is never read [clang-analyzer-deadcode.DeadStores]
v = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/mach-omap2/prminst44xx.c:193:2: note: Value stored to 'v' is never read
v = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 warnings generated.
drivers/gpio/gpio-ml-ioh.c:556:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = pci_enable_wake(pdev, PCI_D0, 0);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpio-ml-ioh.c:556:2: note: Value stored to 'ret' is never read
ret = pci_enable_wake(pdev, PCI_D0, 0);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
2 warnings generated.
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:68:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(dst, prefix);
^~~~~~
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:68:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(dst, prefix);
^~~~~~
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:71:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(dst, src);
^~~~~~
drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c:71:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(dst, src);
^~~~~~
13 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/base.c:213:21: warning: Value stored to 'dss' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct dss_device *dss = src ? src->dss : dst->dss;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/base.c:213:21: note: Value stored to 'dss' during its initialization is never read
struct dss_device *dss = src ? src->dss : dst->dss;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/gpu/drm/omapdrm/dss/dispc.c:871:56: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->gcb, ct->gcr));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:867:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:6: note: Assuming the condition is true
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:51:2: note: expanded from macro 'REG_GET'
FLD_GET(dispc_read_reg(dispc, idx), start, end)
^
drivers/gpu/drm/omapdrm/dss/dss.h:66:34: note: expanded from macro 'FLD_GET'
#define FLD_GET(val, start, end) (((val) & FLD_MASK(start, end)) >> (end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:2: note: Taking true branch
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4902:3: note: Calling '_omap_dispc_initial_config'
_omap_dispc_initial_config(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3911:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_CORE_CLK_DIV)) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:6: note: Assuming field 'has_gamma_table' is false
if (dispc->feat->has_gamma_table)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:2: note: Taking false branch
if (dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:6: note: Left side of '||' is false
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3930:19: note: Field 'has_gamma_table' is false
dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3933:2: note: Calling 'dispc_setup_color_conv_coef'
dispc_setup_color_conv_coef(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:14: note: Assuming 'i' is < 'num_ovl'
for (i = 1; i < num_ovl; i++)
^~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:2: note: Loop condition is true. Entering loop body
for (i = 1; i < num_ovl; i++)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:920:3: note: Calling 'dispc_ovl_write_color_conv_coef'
dispc_ovl_write_color_conv_coef(dispc, i, &coefs_yuv2rgb_bt601_lim);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:871:56: note: The result of the left shift is undefined because the left operand is negative
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->gcb, ct->gcr));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:867:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
~~~~~ ^
drivers/gpu/drm/omapdrm/dss/dispc.c:889:56: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->crb, ct->crg));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:885:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:6: note: Assuming the condition is true
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:51:2: note: expanded from macro 'REG_GET'
FLD_GET(dispc_read_reg(dispc, idx), start, end)
^
drivers/gpu/drm/omapdrm/dss/dss.h:66:34: note: expanded from macro 'FLD_GET'
#define FLD_GET(val, start, end) (((val) & FLD_MASK(start, end)) >> (end))
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4901:2: note: Taking true branch
if (REG_GET(dispc, DISPC_CONFIG, 2, 1) != OMAP_DSS_LOAD_FRAME_ONLY) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:4902:3: note: Calling '_omap_dispc_initial_config'
_omap_dispc_initial_config(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3911:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_CORE_CLK_DIV)) {
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:6: note: Assuming field 'has_gamma_table' is false
if (dispc->feat->has_gamma_table)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3922:2: note: Taking false branch
if (dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:6: note: Left side of '||' is false
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3930:19: note: Field 'has_gamma_table' is false
dispc->feat->has_gamma_table)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3929:2: note: Taking false branch
if (dispc_has_feature(dispc, FEAT_FUNCGATED) ||
^
drivers/gpu/drm/omapdrm/dss/dispc.c:3933:2: note: Calling 'dispc_setup_color_conv_coef'
dispc_setup_color_conv_coef(dispc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:14: note: Assuming 'i' is >= 'num_ovl'
for (i = 1; i < num_ovl; i++)
^~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:919:2: note: Loop condition is false. Execution continues on line 922
for (i = 1; i < num_ovl; i++)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:922:6: note: Assuming field 'has_writeback' is true
if (dispc->feat->has_writeback)
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:922:2: note: Taking true branch
if (dispc->feat->has_writeback)
^
drivers/gpu/drm/omapdrm/dss/dispc.c:923:3: note: Calling 'dispc_wb_write_color_conv_coef'
dispc_wb_write_color_conv_coef(dispc, &coefs_rgb2yuv_bt601_lim);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:889:56: note: The result of the left shift is undefined because the left operand is negative
dispc_write_reg(dispc, DISPC_OVL_CONV_COEF(plane, 2), CVAL(ct->crb, ct->crg));
^
drivers/gpu/drm/omapdrm/dss/dispc.c:885:21: note: expanded from macro 'CVAL'
#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dss.h:65:42: note: expanded from macro 'FLD_VAL'
#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
~~~~~ ^
>> drivers/gpu/drm/omapdrm/dss/dispc.c:3215:3: warning: Value stored to 'ht' is never read [clang-analyzer-deadcode.DeadStores]
ht = vm->pixelclock / xtot;
^ ~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3215:3: note: Value stored to 'ht' is never read
ht = vm->pixelclock / xtot;
^ ~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/omapdrm/dss/dispc.c:3216:3: warning: Value stored to 'vt' is never read [clang-analyzer-deadcode.DeadStores]
vt = vm->pixelclock / xtot / ytot;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:3216:3: note: Value stored to 'vt' is never read
vt = vm->pixelclock / xtot / ytot;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/omapdrm/dss/dispc.c:4822:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
rev = dispc_read_reg(dispc, DISPC_REVISION);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/dispc.c:4822:2: note: Value stored to 'rev' is never read
rev = dispc_read_reg(dispc, DISPC_REVISION);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
fs/gfs2/glock.c:643:3: warning: Called function pointer is null (null dereference) [clang-analyzer-core.CallAndMessage]
glops->go_inval(gl, target == LM_ST_DEFERRED ? 0 : DIO_METADATA);
^~~~~~~~~~~~~~~
fs/gfs2/glock.c:586:42: note: Assuming 'gh' is null
unsigned int lck_flags = (unsigned int)(gh ? gh->gh_flags : 0);
^~
fs/gfs2/glock.c:586:42: note: '?' condition is false
fs/gfs2/glock.c:589:6: note: Assuming 'target' is not equal to LM_ST_UNLOCKED
if (target != LM_ST_UNLOCKED && glock_blocked_by_withdraw(gl) &&
^~~~~~~~~~~~~~~~~~~~~~~~
fs/gfs2/glock.c:589:6: note: Left side of '&&' is true
fs/gfs2/glock.c:589:34: note: Calling 'glock_blocked_by_withdraw'
if (target != LM_ST_UNLOCKED && glock_blocked_by_withdraw(gl) &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/gfs2/glock.c:152:2: note: Taking false branch
if (likely(!gfs2_withdrawn(sdp)))
^
fs/gfs2/glock.c:154:6: note: Assuming the condition is true
if (gl->gl_ops->go_flags & GLOF_NONDISK)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/gfs2/glock.c:154:2: note: Taking true branch
if (gl->gl_ops->go_flags & GLOF_NONDISK)
^
fs/gfs2/glock.c:155:3: note: Returning zero, which participates in a condition later
return false;
^~~~~~~~~~~~
fs/gfs2/glock.c:589:34: note: Returning from 'glock_blocked_by_withdraw'
if (target != LM_ST_UNLOCKED && glock_blocked_by_withdraw(gl) &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/gfs2/glock.c:589:64: note: Left side of '&&' is false
if (target != LM_ST_UNLOCKED && glock_blocked_by_withdraw(gl) &&
^
fs/gfs2/glock.c:594:19: note: Assuming 'target' is not equal to field 'gl_state'
GLOCK_BUG_ON(gl, gl->gl_state == target);
^
fs/gfs2/glock.h:205:46: note: expanded from macro 'GLOCK_BUG_ON'
#define GLOCK_BUG_ON(gl,x) do { if (unlikely(x)) { \
^
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
fs/gfs2/glock.c:594:2: note: Taking false branch
GLOCK_BUG_ON(gl, gl->gl_state == target);
^
fs/gfs2/glock.h:205:33: note: expanded from macro 'GLOCK_BUG_ON'
#define GLOCK_BUG_ON(gl,x) do { if (unlikely(x)) { \
^
fs/gfs2/glock.c:594:2: note: Loop condition is false. Exiting loop
GLOCK_BUG_ON(gl, gl->gl_state == target);
^
fs/gfs2/glock.h:205:28: note: expanded from macro 'GLOCK_BUG_ON'
#define GLOCK_BUG_ON(gl,x) do { if (unlikely(x)) { \
^
fs/gfs2/glock.c:595:19: note: Assuming field 'gl_state' is not equal to field 'gl_target'
GLOCK_BUG_ON(gl, gl->gl_state == gl->gl_target);
^
fs/gfs2/glock.h:205:46: note: expanded from macro 'GLOCK_BUG_ON'
#define GLOCK_BUG_ON(gl,x) do { if (unlikely(x)) { \
^
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
fs/gfs2/glock.c:595:2: note: Taking false branch
GLOCK_BUG_ON(gl, gl->gl_state == gl->gl_target);
^
fs/gfs2/glock.h:205:33: note: expanded from macro 'GLOCK_BUG_ON'
#define GLOCK_BUG_ON(gl,x) do { if (unlikely(x)) { \
^
fs/gfs2/glock.c:595:2: note: Loop condition is false. Exiting loop
GLOCK_BUG_ON(gl, gl->gl_state == gl->gl_target);
^
fs/gfs2/glock.h:205:28: note: expanded from macro 'GLOCK_BUG_ON'
#define GLOCK_BUG_ON(gl,x) do { if (unlikely(x)) { \
^
fs/gfs2/glock.c:596:7: note: 'target' is not equal to LM_ST_UNLOCKED
if ((target == LM_ST_UNLOCKED || target == LM_ST_DEFERRED) &&
^~~~~~
fs/gfs2/glock.c:596:7: note: Left side of '||' is false
fs/gfs2/glock.c:596:35: note: Assuming 'target' is equal to LM_ST_DEFERRED
if ((target == LM_ST_UNLOCKED || target == LM_ST_DEFERRED) &&
^~~~~~~~~~~~~~~~~~~~~~~~
fs/gfs2/glock.c:596:6: note: Left side of '&&' is true
if ((target == LM_ST_UNLOCKED || target == LM_ST_DEFERRED) &&
^
fs/gfs2/glock.c:597:6: note: Assuming field 'go_inval' is null
glops->go_inval) {
^~~~~~~~~~~~~~~
fs/gfs2/glock.c:596:6: note: Assuming pointer value is null
if ((target == LM_ST_UNLOCKED || target == LM_ST_DEFERRED) &&
--
^~~~~~~~~~~~
drivers/input/keyboard/tca8418_keypad.c:297:2: note: Taking false branch
if (!keypad_data)
^
drivers/input/keyboard/tca8418_keypad.c:305:6: note: 'error' is 0
if (error)
^~~~~
drivers/input/keyboard/tca8418_keypad.c:305:2: note: Taking false branch
if (error)
^
drivers/input/keyboard/tca8418_keypad.c:310:6: note: Assuming 'input' is non-null
if (!input)
^~~~~~
drivers/input/keyboard/tca8418_keypad.c:310:2: note: Taking false branch
if (!input)
^
drivers/input/keyboard/tca8418_keypad.c:322:6: note: Assuming 'error' is 0
if (error) {
^~~~~
drivers/input/keyboard/tca8418_keypad.c:322:2: note: Taking false branch
if (error) {
^
drivers/input/keyboard/tca8418_keypad.c:327:6: note: Assuming the condition is false
if (device_property_read_bool(dev, "keypad,autorepeat"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/input/keyboard/tca8418_keypad.c:327:2: note: Taking false branch
if (device_property_read_bool(dev, "keypad,autorepeat"))
^
drivers/input/keyboard/tca8418_keypad.c:336:6: note: Assuming 'error' is 0
if (error) {
^~~~~
drivers/input/keyboard/tca8418_keypad.c:336:2: note: Taking false branch
if (error) {
^
drivers/input/keyboard/tca8418_keypad.c:343:10: note: Calling 'tca8418_configure'
error = tca8418_configure(keypad_data, rows, cols);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/input/keyboard/tca8418_keypad.c:241:15: note: The result of the left shift is undefined because the left operand is negative
reg += (~(~0 << cols)) << 8;
~~ ^
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
drivers/clk/ti/clkctrl.c:634:2: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcat(provider->clkdm_name, "clkdm");
^~~~~~
drivers/clk/ti/clkctrl.c:634:2: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
strcat(provider->clkdm_name, "clkdm");
^~~~~~
1 warning generated.
Suppressed 1 warnings (1 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 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.
drivers/clocksource/timer-ixp4xx.c:56:8: warning: Excessive padding in 'struct ixp4xx_timer' (108 padding bytes, where 44 is optimal).
Optimal fields order:
clkevt,
base,
tick_rate,
latch,
delay_timer,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct ixp4xx_timer {
~~~~~~~^~~~~~~~~~~~~~
drivers/clocksource/timer-ixp4xx.c:56:8: note: Excessive padding in 'struct ixp4xx_timer' (108 padding bytes, where 44 is optimal). Optimal fields order: clkevt, base, tick_rate, latch, delay_timer, consider reordering the fields or adding explicit padding members
struct ixp4xx_timer {
~~~~~~~^~~~~~~~~~~~~~
Suppressed 1 warnings (1 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.
1 warning generated.
Suppressed 1 warnings (1 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.
1 warning generated.
Suppressed 1 warnings (1 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.
1 warning generated.
>> arch/arm/mach-imx/tzic.c:160:2: warning: Value stored to 'i' is never read [clang-analyzer-deadcode.DeadStores]
i = imx_readl(tzic_base + TZIC_INTCNTL);
^
arch/arm/mach-imx/tzic.c:160:2: note: Value stored to 'i' is never read
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
block/blk-mq.c:1901:3: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
struct blk_mq_hw_ctx *this_hctx = head_rq->mq_hctx;
^ ~~~~~~~~~~~~~~~~
block/blk-mq.c:1888:6: note: Assuming the condition is false
if (list_empty(&plug->mq_list))
^~~~~~~~~~~~~~~~~~~~~~~~~~
block/blk-mq.c:1888:2: note: Taking false branch
if (list_empty(&plug->mq_list))
^
block/blk-mq.c:1890:2: note: Calling 'list_splice_init'
list_splice_init(&plug->mq_list, &list);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:481:6: note: Assuming the condition is false
if (!list_empty(list)) {
^~~~~~~~~~~~~~~~~
include/linux/list.h:481:2: note: Taking false branch
if (!list_empty(list)) {
^
block/blk-mq.c:1890:2: note: Returning from 'list_splice_init'
list_splice_init(&plug->mq_list, &list);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
block/blk-mq.c:1892:6: note: Assuming field 'rq_count' is <= 2
if (plug->rq_count > 2 && plug->multiple_queues)
^~~~~~~~~~~~~~~~~~
block/blk-mq.c:1892:25: note: Left side of '&&' is false
if (plug->rq_count > 2 && plug->multiple_queues)
^
block/blk-mq.c:1899:34: note: Left side of '&&' is false
struct request *rq, *head_rq = list_entry_rq(list.next);
^
include/linux/blkdev.h:683:28: note: expanded from macro 'list_entry_rq'
#define list_entry_rq(ptr) list_entry((ptr), struct request, queuelist)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
block/blk-mq.c:1899:34: note: Taking false branch
struct request *rq, *head_rq = list_entry_rq(list.next);
^
include/linux/blkdev.h:683:28: note: expanded from macro 'list_entry_rq'
#define list_entry_rq(ptr) list_entry((ptr), struct request, queuelist)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
block/blk-mq.c:1899:34: note: Loop condition is false. Exiting loop
struct request *rq, *head_rq = list_entry_rq(list.next);
^
include/linux/blkdev.h:683:28: note: expanded from macro 'list_entry_rq'
#define list_entry_rq(ptr) list_entry((ptr), struct request, queuelist)
--
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/vfio/pci/vfio_pci.c:1499:8: note: Assuming the condition is false
if (mmget_not_zero(mm))
^~~~~~~~~~~~~~~~~~
drivers/vfio/pci/vfio_pci.c:1499:4: note: Taking false branch
if (mmget_not_zero(mm))
^
drivers/vfio/pci/vfio_pci.c:1503:4: note: Memory is released
kfree(mmap_vma);
^~~~~~~~~~~~~~~
drivers/vfio/pci/vfio_pci.c:1494:3: note: Loop condition is true. Entering loop body
while (!list_empty(&vdev->vma_list)) {
^
drivers/vfio/pci/vfio_pci.c:1495:15: note: Left side of '&&' is false
mmap_vma = list_first_entry(&vdev->vma_list,
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/vfio/pci/vfio_pci.c:1495:15: note: Taking false branch
mmap_vma = list_first_entry(&vdev->vma_list,
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/vfio/pci/vfio_pci.c:1495:15: note: Loop condition is false. Exiting loop
mmap_vma = list_first_entry(&vdev->vma_list,
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/vfio/pci/vfio_pci.c:1498:9: note: Use of memory after it is freed
mm = mmap_vma->vma->vm_mm;
^~~~~~~~~~~~~
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
14 warnings generated.
>> drivers/gpu/drm/omapdrm/dss/venc.c:697:2: warning: Value stored to 'rev_id' is never read [clang-analyzer-deadcode.DeadStores]
rev_id = (u8)(venc_read_reg(venc, VENC_REV_ID) & 0xff);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/omapdrm/dss/venc.c:697:2: note: Value stored to 'rev_id' is never read
rev_id = (u8)(venc_read_reg(venc, VENC_REV_ID) & 0xff);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:118:11: warning: Value stored to 'period' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
uint32_t period = ts->period;
^~~~~~ ~~~~~~~~~~
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:118:11: note: Value stored to 'period' during its initialization is never read
uint32_t period = ts->period;
^~~~~~ ~~~~~~~~~~
include/linux/math64.h:91:15: warning: Division by zero [clang-analyzer-core.DivideZero]
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:240:25: note: expanded from macro 'do_div'
__rem = (uint32_t)(n) % __base; \
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:122:6: note: Assuming 'fifo_nb' is not equal to 0
if (fifo_nb == 0)
^~~~~~~~~~~~
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:122:2: note: Taking false branch
if (fifo_nb == 0)
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:130:6: note: Assuming field 'lo' is not equal to 0
if (it->lo != 0) {
^~~~~~~~~~~
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:130:2: note: Taking true branch
if (it->lo != 0) {
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:133:11: note: Calling 'inv_compute_chip_period'
valid = inv_compute_chip_period(ts, fifo_mult, period);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:101:2: note: Taking false branch
if (!inv_validate_period(period, mult))
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:106:2: note: Calling 'inv_update_acc'
inv_update_acc(&ts->chip_period, new_chip_period);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:30:6: note: Assuming the condition is false
if (acc->idx >= ARRAY_SIZE(acc->values))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:30:2: note: Taking false branch
if (acc->idx >= ARRAY_SIZE(acc->values))
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:34:7: note: The value 0 is assigned to 'i'
for (i = 0; i < ARRAY_SIZE(acc->values); ++i) {
^~~~~
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:34:2: note: Loop condition is true. Entering loop body
for (i = 0; i < ARRAY_SIZE(acc->values); ++i) {
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:35:7: note: Assuming the condition is true
if (acc->values[i] == 0)
^~~~~~~~~~~~~~~~~~~
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:35:3: note: Taking true branch
if (acc->values[i] == 0)
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:36:4: note: Execution continues on line 40
break;
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:40:26: note: Passing the value 0 via 2nd parameter 'divisor'
acc->val = div_u64(sum, i);
^
drivers/iio/imu/inv_icm42600/inv_icm42600_timestamp.c:40:13: note: Calling 'div_u64'
acc->val = div_u64(sum, i);
^~~~~~~~~~~~~~~
include/linux/math64.h:127:31: note: Passing the value 0 via 2nd parameter 'divisor'
return div_u64_rem(dividend, divisor, &remainder);
^~~~~~~
include/linux/math64.h:127:9: note: Calling 'div_u64_rem'
return div_u64_rem(dividend, divisor, &remainder);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/math64.h:91:15: note: '__base' initialized to 0
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:224:2: note: expanded from macro 'do_div'
uint32_t __base = (base); \
^~~~~~~~~~~~~~~
include/linux/math64.h:91:15: note: Left side of '&&' is false
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:227:35: note: expanded from macro 'do_div'
if (__builtin_constant_p(__base) && \
^
include/linux/math64.h:91:15: note: 4 is >= 4
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:231:13: note: expanded from macro 'do_div'
} else if (__div64_const32_is_OK && \
^~~~~~~~~~~~~~~~~~~~~
arch/arm/include/asm/div64.h:64:32: note: expanded from macro '__div64_const32_is_OK'
#define __div64_const32_is_OK (__GNUC__ >= 4)
^~~~~~~~
note: expanded from here
include/linux/math64.h:91:15: note: Left side of '&&' is true
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:231:13: note: expanded from macro 'do_div'
} else if (__div64_const32_is_OK && \
^
arch/arm/include/asm/div64.h:64:31: note: expanded from macro '__div64_const32_is_OK'
#define __div64_const32_is_OK (__GNUC__ >= 4)
^
include/linux/math64.h:91:15: note: Left side of '&&' is false
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:232:35: note: expanded from macro 'do_div'
__builtin_constant_p(__base) && \
^
include/linux/math64.h:91:15: note: Taking true branch
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:239:9: note: expanded from macro 'do_div'
} else if (likely(((n) >> 32) == 0)) { \
^
include/linux/math64.h:91:15: note: Division by zero
*remainder = do_div(dividend, divisor);
^
include/asm-generic/div64.h:240:25: note: expanded from macro 'do_div'
__rem = (uint32_t)(n) % __base; \
~~~~~~~~~~~~~~^~~~~~~~
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
>> drivers/nvmem/sunxi_sid.c:107:2: warning: Null pointer passed as 1st argument to memory copy function [clang-analyzer-unix.cstring.NullArg]
memcpy(val, &word, bytes);
^ ~~~
drivers/nvmem/sunxi_sid.c:89:9: note: Assuming 'bytes' is >= 4
while (bytes >= 4) {
^~~~~~~~~~
drivers/nvmem/sunxi_sid.c:89:2: note: Loop condition is true. Entering loop body
while (bytes >= 4) {
^
drivers/nvmem/sunxi_sid.c:90:9: note: Calling 'sun8i_sid_register_readout'
ret = sun8i_sid_register_readout(sid, offset, val);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/nvmem/sunxi_sid.c:61:2: note: Loop condition is false. Exiting loop
writel(reg_val, sid->base + SUN8I_SID_PRCTL);
^
arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
#define writel(v,c) ({ __iowmb(); writel_relaxed(v,c); })
^
arch/arm/include/asm/io.h:166:20: note: expanded from macro '__iowmb'
#define __iowmb() wmb()
^
arch/arm/include/asm/barrier.h:66:16: note: expanded from macro 'wmb'
#define wmb() __arm_heavy_mb(st)
^
arch/arm/include/asm/barrier.h:58:30: note: expanded from macro '__arm_heavy_mb'
#define __arm_heavy_mb(x...) do { dsb(x); arm_heavy_mb(); } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: '__sleep_us' is not equal to 0
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/iopoll.h:42:17: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^~~~~~~~~~~~
include/linux/kernel.h:160:39: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^~~~
drivers/nvmem/sunxi_sid.c:63:8: note: Taking true branch
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^
include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^
include/linux/kernel.h:160:35: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false. Exiting loop
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^
include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^
include/linux/kernel.h:160:45: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^
include/linux/kernel.h:152:29: note: expanded from macro 'might_sleep'
# define might_sleep() do { might_resched(); } while (0)
^
include/linux/kernel.h:87:26: note: expanded from macro 'might_resched'
# define might_resched() do { } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false. Exiting loop
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
^
include/linux/iopoll.h:121:2: note: expanded from macro 'readx_poll_timeout'
read_poll_timeout(op, val, cond, sleep_us, timeout_us, false, addr)
^
include/linux/iopoll.h:42:2: note: expanded from macro 'read_poll_timeout'
might_sleep_if((__sleep_us) != 0); \
^
include/linux/kernel.h:160:45: note: expanded from macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^
include/linux/kernel.h:152:24: note: expanded from macro 'might_sleep'
# define might_sleep() do { might_resched(); } while (0)
^
drivers/nvmem/sunxi_sid.c:63:8: note: Loop condition is false. Exiting loop
ret = readl_poll_timeout(sid->base + SUN8I_SID_PRCTL, reg_val,
^
include/linux/iopoll.h:156:2: note: expanded from macro 'readl_poll_timeout'
readx_poll_timeout(readl, addr, val, cond, delay_us, timeout_us)
--
RCU_LOCKDEP_WARN(!(c), "suspicious rcu_dereference_protected() usage"); \
^
include/linux/rcupdate.h:331:48: note: expanded from macro 'RCU_LOCKDEP_WARN'
#define RCU_LOCKDEP_WARN(c, s) do { } while (0 && (c))
^
net/8021q/vlan_core.c:377:14: note: Loop condition is false. Exiting loop
vlan_info = rtnl_dereference(dev->vlan_info);
^
include/linux/rtnetlink.h:81:2: note: expanded from macro 'rtnl_dereference'
rcu_dereference_protected(p, lockdep_rtnl_is_held())
^
include/linux/rcupdate.h:548:2: note: expanded from macro 'rcu_dereference_protected'
__rcu_dereference_protected((p), (c), __rcu)
^
include/linux/rcupdate.h:367:2: note: expanded from macro '__rcu_dereference_protected'
RCU_LOCKDEP_WARN(!(c), "suspicious rcu_dereference_protected() usage"); \
^
include/linux/rcupdate.h:331:32: note: expanded from macro 'RCU_LOCKDEP_WARN'
#define RCU_LOCKDEP_WARN(c, s) do { } while (0 && (c))
^
net/8021q/vlan_core.c:378:7: note: 'vlan_info' is non-null
if (!vlan_info)
^~~~~~~~~
net/8021q/vlan_core.c:378:2: note: Taking false branch
if (!vlan_info)
^
net/8021q/vlan_core.c:381:13: note: Calling 'vlan_vid_info_get'
vid_info = vlan_vid_info_get(vlan_info, proto, vid);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/8021q/vlan_core.c:184:2: note: Left side of '&&' is false
list_for_each_entry(vid_info, &vlan_info->vid_list, list) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:694:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
net/8021q/vlan_core.c:184:2: note: Taking false branch
list_for_each_entry(vid_info, &vlan_info->vid_list, list) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
net/8021q/vlan_core.c:184:2: note: Loop condition is false. Exiting loop
list_for_each_entry(vid_info, &vlan_info->vid_list, list) {
^
include/linux/list.h:628:13: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:326:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:314:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
net/8021q/vlan_core.c:184:2: note: Loop condition is true. Entering loop body
list_for_each_entry(vid_info, &vlan_info->vid_list, list) {
^
include/linux/list.h:628:2: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
net/8021q/vlan_core.c:185:7: note: Use of memory after it is freed
if (vid_info->proto == proto && vid_info->vid == vid)
^~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
>> drivers/mtd/devices/st_spi_fsm.c:275:8: warning: Excessive padding in 'struct seq_rw_config' (6 padding bytes, where 2 is optimal).
Optimal fields order:
flags,
write,
cmd,
addr_pads,
data_pads,
mode_data,
mode_cycles,
dummy_cycles,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct seq_rw_config {
~~~~~~~^~~~~~~~~~~~~~~
drivers/mtd/devices/st_spi_fsm.c:275:8: note: Excessive padding in 'struct seq_rw_config' (6 padding bytes, where 2 is optimal). Optimal fields order: flags, write, cmd, addr_pads, data_pads, mode_data, mode_cycles, dummy_cycles, consider reordering the fields or adding explicit padding members
struct seq_rw_config {
~~~~~~~^~~~~~~~~~~~~~~
>> drivers/mtd/devices/st_spi_fsm.c:287:8: warning: Excessive padding in 'struct flash_info' (4 padding bytes, where 0 is optimal).
Optimal fields order:
name,
jedec_id,
sector_size,
flags,
max_freq,
config,
ext_id,
n_sectors,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct flash_info {
~~~~~~~^~~~~~~~~~~~
drivers/mtd/devices/st_spi_fsm.c:287:8: note: Excessive padding in 'struct flash_info' (4 padding bytes, where 0 is optimal). Optimal fields order: name, jedec_id, sector_size, flags, max_freq, config, ext_id, n_sectors, consider reordering the fields or adding explicit padding members
struct flash_info {
~~~~~~~^~~~~~~~~~~~
>> drivers/mtd/devices/st_spi_fsm.c:1427:3: warning: Value stored to 'offs' is never read [clang-analyzer-deadcode.DeadStores]
offs = 0;
^ ~
drivers/mtd/devices/st_spi_fsm.c:1427:3: note: Value stored to 'offs' is never read
offs = 0;
^ ~
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
net/netlink/genetlink.c:1439:24: warning: Access to field 'genl_sock' results in a dereference of a null pointer (loaded from variable 'prev') [clang-analyzer-core.NullDereference]
err = nlmsg_multicast(prev->genl_sock, skb, portid, group, flags);
^
net/netlink/genetlink.c:1397:8: note: Calling 'genl_register_family'
err = genl_register_family(&genl_ctrl);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/netlink/genetlink.c:398:6: note: 'err' is 0
if (err)
^~~
net/netlink/genetlink.c:398:2: note: Taking false branch
if (err)
^
net/netlink/genetlink.c:403:6: note: Assuming the condition is false
if (genl_family_find_byname(family->name)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/netlink/genetlink.c:403:2: note: Taking false branch
if (genl_family_find_byname(family->name)) {
^
net/netlink/genetlink.c:415:2: note: Taking true branch
if (family == &genl_ctrl) {
^
net/netlink/genetlink.c:426:6: note: Assuming field 'id' is >= 0
if (family->id < 0) {
^~~~~~~~~~~~~~
net/netlink/genetlink.c:426:2: note: Taking false branch
if (family->id < 0) {
^
net/netlink/genetlink.c:432:6: note: Assuming 'err' is 0
if (err)
^~~
net/netlink/genetlink.c:432:2: note: Taking false branch
if (err)
^
net/netlink/genetlink.c:438:2: note: Calling 'genl_ctrl_event'
genl_ctrl_event(CTRL_CMD_NEWFAMILY, family, NULL, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/netlink/genetlink.c:1079:6: note: Assuming field 'genl_sock' is non-null
if (!init_net.genl_sock)
^~~~~~~~~~~~~~~~~~~
net/netlink/genetlink.c:1079:2: note: Taking false branch
if (!init_net.genl_sock)
^
net/netlink/genetlink.c:1082:2: note: Control jumps to 'case CTRL_CMD_NEWFAMILY:' @line 1083
switch (event) {
^
net/netlink/genetlink.c:1087:3: note: Execution continues on line 1097
break;
^
net/netlink/genetlink.c:1097:2: note: Taking false branch
if (IS_ERR(msg))
^
net/netlink/genetlink.c:1100:6: note: Assuming field 'netnsok' is not equal to 0
if (!family->netnsok) {
^~~~~~~~~~~~~~~~
net/netlink/genetlink.c:1100:2: note: Taking false branch
if (!family->netnsok) {
^
net/netlink/genetlink.c:1105:3: note: Calling 'genlmsg_multicast_allns'
genlmsg_multicast_allns(&genl_ctrl, msg, 0,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/netlink/genetlink.c:1454:19: note: Assuming 'group' is < field 'n_mcgrps'
if (WARN_ON_ONCE(group >= family->n_mcgrps))
^
include/asm-generic/bug.h:201:41: note: expanded from macro 'WARN_ON_ONCE'
#define WARN_ON_ONCE(condition) WARN_ON(condition)
^~~~~~~~~
include/asm-generic/bug.h:188:25: note: expanded from macro 'WARN_ON'
int __ret_warn_on = !!(condition); \
^~~~~~~~~
net/netlink/genetlink.c:1454:2: note: Taking false branch
if (WARN_ON_ONCE(group >= family->n_mcgrps))
^
net/netlink/genetlink.c:1457:9: note: Calling 'genlmsg_mcast'
return genlmsg_mcast(skb, portid, group, flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/netlink/genetlink.c:1417:20: note: 'prev' initialized to a null pointer value
struct net *net, *prev = NULL;
^~~~
net/netlink/genetlink.c:1421:2: note: Left side of '||' is false
for_each_net_rcu(net) {
^
include/net/net_namespace.h:336:2: note: expanded from macro 'for_each_net_rcu'
list_for_each_entry_rcu(VAR, &net_namespace_list, list)
--
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c:1290:3: note: Value stored to 'tmp' is never read
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c:3087:3: warning: Value stored to 'tmp' is never read [clang-analyzer-deadcode.DeadStores]
tmp = RREG32(mmSRBM_SOFT_RESET);
^
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c:3087:3: note: Value stored to 'tmp' is never read
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
1 warning generated.
Suppressed 1 warnings (1 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.
drivers/thermal/qcom/tsens-8960.c:194:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = regmap_update_bits(priv->tm_map, CONFIG_ADDR,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/thermal/qcom/tsens-8960.c:194:3: note: Value stored to 'ret' is never read
ret = regmap_update_bits(priv->tm_map, CONFIG_ADDR,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/thermal/qcom/tsens-8960.c:202:14: warning: The result of the right shift is undefined due to shifting by '32', which is greater or equal to the width of type 'unsigned long' [clang-analyzer-core.UndefinedBinaryOperatorResult]
reg_cntl |= GENMASK(priv->num_sensors - 1, 0) << SENSOR0_SHIFT;
^
include/linux/bits.h:38:31: note: expanded from macro 'GENMASK'
(GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))
^~~~~~~~~~~~~~~
include/linux/bits.h:36:11: note: expanded from macro '__GENMASK'
(~UL(0) >> (BITS_PER_LONG - 1 - (h))))
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/thermal/qcom/tsens-8960.c:171:6: note: Assuming field 'tm_map' is non-null
if (!priv->tm_map)
^~~~~~~~~~~~~
drivers/thermal/qcom/tsens-8960.c:171:2: note: Taking false branch
if (!priv->tm_map)
^
drivers/thermal/qcom/tsens-8960.c:180:14: note: Assuming 'i' is >= field 'num_sensors'
for (i = 0; i < priv->num_sensors; i++) {
^~~~~~~~~~~~~~~~~~~~~
drivers/thermal/qcom/tsens-8960.c:180:2: note: Loop condition is false. Execution continues on line 186
for (i = 0; i < priv->num_sensors; i++) {
^
drivers/thermal/qcom/tsens-8960.c:188:6: note: Assuming 'ret' is 0
if (ret)
^~~
drivers/thermal/qcom/tsens-8960.c:188:2: note: Taking false branch
if (ret)
^
drivers/thermal/qcom/tsens-8960.c:191:12: note: Field 'num_sensors' is <= 1
if (priv->num_sensors > 1) {
^
drivers/thermal/qcom/tsens-8960.c:191:2: note: Taking false branch
if (priv->num_sensors > 1) {
^
drivers/thermal/qcom/tsens-8960.c:202:14: note: The result of the right shift is undefined due to shifting by '32', which is greater or equal to the width of type 'unsigned long'
reg_cntl |= GENMASK(priv->num_sensors - 1, 0) << SENSOR0_SHIFT;
^
include/linux/bits.h:38:31: note: expanded from macro 'GENMASK'
(GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))
^~~~~~~~~~~~~~~
include/linux/bits.h:36:11: note: expanded from macro '__GENMASK'
(~UL(0) >> (BITS_PER_LONG - 1 - (h))))
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
drivers/thermal/tegra/soctherm.c:2255:2: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
err = soctherm_interrupts_init(pdev, tegra);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/thermal/tegra/soctherm.c:2255:2: note: Value stored to 'err' is never read
err = soctherm_interrupts_init(pdev, tegra);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
drivers/hsi/controllers/omap_ssi_port.c:481:2: warning: Value stored to 'val' is never read [clang-analyzer-deadcode.DeadStores]
val = readl(ssr + SSI_SSR_MODE_REG);
^
drivers/hsi/controllers/omap_ssi_port.c:481:2: note: Value stored to 'val' is never read
drivers/hsi/controllers/omap_ssi_port.c:764:2: warning: Value stored to 'mode' is never read [clang-analyzer-deadcode.DeadStores]
mode = readl(omap_port->ssr_base + SSI_SSR_MODE_REG);
^
drivers/hsi/controllers/omap_ssi_port.c:764:2: note: Value stored to 'mode' is never read
drivers/hsi/controllers/omap_ssi_port.c:1332:2: warning: Value stored to 'mode' is never read [clang-analyzer-deadcode.DeadStores]
mode = readl(omap_port->ssr_base + SSI_SSR_MODE_REG);
^
drivers/hsi/controllers/omap_ssi_port.c:1332:2: note: Value stored to 'mode' is never read
Suppressed 14 warnings (12 in non-user code, 2 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.
>> drivers/hsi/clients/ssi_protocol.c:458:21: warning: Value stored to 'cl' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct hsi_client *cl = ssi->cl;
^~ ~~~~~~~
drivers/hsi/clients/ssi_protocol.c:458:21: note: Value stored to 'cl' during its initialization is never read
struct hsi_client *cl = ssi->cl;
^~ ~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
1 warning generated.
drivers/hwspinlock/qcom_hwspinlock.c:158:24: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'id_size') [clang-analyzer-core.CallAndMessage]
bank->lock[i].priv = devm_regmap_field_alloc(&pdev->dev,
^
drivers/hwspinlock/qcom_hwspinlock.c:132:2: note: 'field' initialized here
struct reg_field field;
^~~~~~~~~~~~~~~~~~~~~~
drivers/hwspinlock/qcom_hwspinlock.c:140:21: note: Left side of '&&' is false
if (IS_ERR(regmap) && PTR_ERR(regmap) == -ENODEV)
^
drivers/hwspinlock/qcom_hwspinlock.c:143:6: note: Calling 'IS_ERR'
if (IS_ERR(regmap))
^~~~~~~~~~~~~~
include/linux/err.h:36:2: note: Returning zero, which participates in a condition later
return IS_ERR_VALUE((unsigned long)ptr);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/hwspinlock/qcom_hwspinlock.c:143:6: note: Returning from 'IS_ERR'
if (IS_ERR(regmap))
^~~~~~~~~~~~~~
drivers/hwspinlock/qcom_hwspinlock.c:143:2: note: Taking false branch
if (IS_ERR(regmap))
^
drivers/hwspinlock/qcom_hwspinlock.c:148:6: note: Assuming 'bank' is non-null
if (!bank)
^~~~~
drivers/hwspinlock/qcom_hwspinlock.c:148:2: note: Taking false branch
if (!bank)
^
drivers/hwspinlock/qcom_hwspinlock.c:153:2: note: Loop condition is true. Entering loop body
for (i = 0; i < QCOM_MUTEX_NUM_LOCKS; i++) {
^
drivers/hwspinlock/qcom_hwspinlock.c:158:24: note: Passed-by-value struct argument contains uninitialized data (e.g., field: 'id_size')
bank->lock[i].priv = devm_regmap_field_alloc(&pdev->dev,
^
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
drivers/gpu/drm/meson/meson_dw_hdmi.c:179:2: warning: Value stored to 'data' is never read [clang-analyzer-deadcode.DeadStores]
data = readl(dw_hdmi->hdmitx + HDMITX_TOP_DATA_REG);
^
drivers/gpu/drm/meson/meson_dw_hdmi.c:179:2: note: Value stored to 'data' is never read
drivers/gpu/drm/meson/meson_dw_hdmi.c:243:2: warning: Value stored to 'data' is never read [clang-analyzer-deadcode.DeadStores]
data = readl(dw_hdmi->hdmitx + HDMITX_DWC_DATA_REG);
^
drivers/gpu/drm/meson/meson_dw_hdmi.c:243:2: note: Value stored to 'data' is never read
drivers/gpu/drm/meson/meson_dw_hdmi.c:694:3: warning: Value stored to 'venc_freq' is never read [clang-analyzer-deadcode.DeadStores]
venc_freq /= 2;
^ ~
drivers/gpu/drm/meson/meson_dw_hdmi.c:694:3: note: Value stored to 'venc_freq' is never read
venc_freq /= 2;
^ ~
Suppressed 14 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
--
Suppressed 12 warnings (12 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.
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c:866:3: warning: Value stored to 'dbgstr' is never read [clang-analyzer-deadcode.DeadStores]
dbgstr = "DPU IRQ already set:";
^ ~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c:866:3: note: Value stored to 'dbgstr' is never read
dbgstr = "DPU IRQ already set:";
^ ~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c:868:3: warning: Value stored to 'dbgstr' is never read [clang-analyzer-deadcode.DeadStores]
dbgstr = "DPU IRQ enabled:";
^ ~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c:868:3: note: Value stored to 'dbgstr' is never read
dbgstr = "DPU IRQ enabled:";
^ ~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c:911:3: warning: Value stored to 'dbgstr' is never read [clang-analyzer-deadcode.DeadStores]
dbgstr = "DPU IRQ is already cleared:";
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c:911:3: note: Value stored to 'dbgstr' is never read
dbgstr = "DPU IRQ is already cleared:";
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c:913:3: warning: Value stored to 'dbgstr' is never read [clang-analyzer-deadcode.DeadStores]
dbgstr = "DPU IRQ mask disable:";
^ ~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c:913:3: note: Value stored to 'dbgstr' is never read
dbgstr = "DPU IRQ mask disable:";
^ ~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
drivers/leds/leds-lp5523.c:811:2: warning: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn]
return ret;
^ ~~~
drivers/leds/leds-lp5523.c:798:2: note: 'ret' declared without an initial value
int ret;
^~~~~~~
drivers/leds/leds-lp5523.c:802:14: note: Assuming 'i' is >= field 'num_colors'
for (i = 0; i < led->mc_cdev.num_colors; i++) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/leds-lp5523.c:802:2: note: Loop condition is false. Execution continues on line 810
for (i = 0; i < led->mc_cdev.num_colors; i++) {
^
drivers/leds/leds-lp5523.c:811:2: note: Undefined or garbage value returned to caller
return ret;
^ ~~~
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
>> drivers/cpufreq/mediatek-cpufreq.c:305:14: warning: Value stored to 'cpu_clk' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct clk *cpu_clk = ERR_PTR(-ENODEV);
^~~~~~~ ~~~~~~~~~~~~~~~~
drivers/cpufreq/mediatek-cpufreq.c:305:14: note: Value stored to 'cpu_clk' during its initialization is never read
struct clk *cpu_clk = ERR_PTR(-ENODEV);
^~~~~~~ ~~~~~~~~~~~~~~~~
>> drivers/cpufreq/mediatek-cpufreq.c:306:14: warning: Value stored to 'inter_clk' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct clk *inter_clk = ERR_PTR(-ENODEV);
^~~~~~~~~ ~~~~~~~~~~~~~~~~
drivers/cpufreq/mediatek-cpufreq.c:306:14: note: Value stored to 'inter_clk' during its initialization is never read
struct clk *inter_clk = ERR_PTR(-ENODEV);
^~~~~~~~~ ~~~~~~~~~~~~~~~~
Suppressed 13 warnings (13 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.
kernel/kexec_core.c:769:4: warning: Value stored to 'addr' is never read [clang-analyzer-deadcode.DeadStores]
addr = old_addr;
^ ~~~~~~~~
kernel/kexec_core.c:769:4: note: Value stored to 'addr' is never read
addr = old_addr;
^ ~~~~~~~~
kernel/kexec_core.c:789:2: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
result = 0;
^ ~
kernel/kexec_core.c:789:2: note: Value stored to 'result' is never read
result = 0;
^ ~
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
kernel/cgroup/cgroup-v1.c:1080:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(root->release_agent_path, ctx->release_agent);
^~~~~~
kernel/cgroup/cgroup-v1.c:1080:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(root->release_agent_path, ctx->release_agent);
^~~~~~
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
12 warnings generated.
Suppressed 12 warnings (12 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.
13 warnings generated.
Suppressed 13 warnings (13 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
14 warnings generated.
Suppressed 14 warnings (14 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.
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu8_smumgr.c:96:2: warning: Value stored to 'elapsed_us' is never read [clang-analyzer-deadcode.DeadStores]
elapsed_us = ktime_us_delta(ktime_get(), t_start);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu8_smumgr.c:96:2: note: Value stored to 'elapsed_us' is never read
elapsed_us = ktime_us_delta(ktime_get(), t_start);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 14 warnings (14 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.
1 warning generated.
Suppressed 1 warnings (1 with check filters).
vim +/rev +158 arch/arm/mach-omap2/id.c
de26804b60d460 Linus Walleij 2013-09-05 146
4de34f3572882f Vaibhav Hiremath 2011-12-19 147 void __init omap2xxx_check_revision(void)
1dbae815a72430 Tony Lindgren 2005-11-10 148 {
1dbae815a72430 Tony Lindgren 2005-11-10 149 int i, j;
a88231430384f4 Tony Lindgren 2008-12-10 150 u32 idcode, prod_id;
1dbae815a72430 Tony Lindgren 2005-11-10 151 u16 hawkeye;
a88231430384f4 Tony Lindgren 2008-12-10 152 u8 dev_type, rev;
c46732bbf3477f Kan-Ru Chen 2010-08-02 153 struct omap_die_id odi;
1dbae815a72430 Tony Lindgren 2005-11-10 154
1dbae815a72430 Tony Lindgren 2005-11-10 155 idcode = read_tap_reg(OMAP_TAP_IDCODE);
0e564848693b06 Tony Lindgren 2008-10-06 156 prod_id = read_tap_reg(tap_prod_id);
1dbae815a72430 Tony Lindgren 2005-11-10 157 hawkeye = (idcode >> 12) & 0xffff;
1dbae815a72430 Tony Lindgren 2005-11-10 @158 rev = (idcode >> 28) & 0x0f;
1dbae815a72430 Tony Lindgren 2005-11-10 159 dev_type = (prod_id >> 16) & 0x0f;
c46732bbf3477f Kan-Ru Chen 2010-08-02 160 omap_get_die_id(&odi);
1dbae815a72430 Tony Lindgren 2005-11-10 161
097c584cd48844 Paul Walmsley 2008-07-03 162 pr_debug("OMAP_TAP_IDCODE 0x%08x REV %i HAWKEYE 0x%04x MANF %03x\n",
1dbae815a72430 Tony Lindgren 2005-11-10 163 idcode, rev, hawkeye, (idcode >> 1) & 0x7ff);
c46732bbf3477f Kan-Ru Chen 2010-08-02 164 pr_debug("OMAP_TAP_DIE_ID_0: 0x%08x\n", odi.id_0);
097c584cd48844 Paul Walmsley 2008-07-03 165 pr_debug("OMAP_TAP_DIE_ID_1: 0x%08x DEV_REV: %i\n",
c46732bbf3477f Kan-Ru Chen 2010-08-02 166 odi.id_1, (odi.id_1 >> 28) & 0xf);
c46732bbf3477f Kan-Ru Chen 2010-08-02 167 pr_debug("OMAP_TAP_DIE_ID_2: 0x%08x\n", odi.id_2);
c46732bbf3477f Kan-Ru Chen 2010-08-02 168 pr_debug("OMAP_TAP_DIE_ID_3: 0x%08x\n", odi.id_3);
097c584cd48844 Paul Walmsley 2008-07-03 169 pr_debug("OMAP_TAP_PROD_ID_0: 0x%08x DEV_TYPE: %i\n",
1dbae815a72430 Tony Lindgren 2005-11-10 170 prod_id, dev_type);
097c584cd48844 Paul Walmsley 2008-07-03 171
1dbae815a72430 Tony Lindgren 2005-11-10 172 /* Check hawkeye ids */
1dbae815a72430 Tony Lindgren 2005-11-10 173 for (i = 0; i < ARRAY_SIZE(omap_ids); i++) {
1dbae815a72430 Tony Lindgren 2005-11-10 174 if (hawkeye == omap_ids[i].hawkeye)
1dbae815a72430 Tony Lindgren 2005-11-10 175 break;
1dbae815a72430 Tony Lindgren 2005-11-10 176 }
1dbae815a72430 Tony Lindgren 2005-11-10 177
1dbae815a72430 Tony Lindgren 2005-11-10 178 if (i == ARRAY_SIZE(omap_ids)) {
1dbae815a72430 Tony Lindgren 2005-11-10 179 printk(KERN_ERR "Unknown OMAP CPU id\n");
1dbae815a72430 Tony Lindgren 2005-11-10 180 return;
1dbae815a72430 Tony Lindgren 2005-11-10 181 }
1dbae815a72430 Tony Lindgren 2005-11-10 182
1dbae815a72430 Tony Lindgren 2005-11-10 183 for (j = i; j < ARRAY_SIZE(omap_ids); j++) {
1dbae815a72430 Tony Lindgren 2005-11-10 184 if (dev_type == omap_ids[j].dev)
1dbae815a72430 Tony Lindgren 2005-11-10 185 break;
1dbae815a72430 Tony Lindgren 2005-11-10 186 }
1dbae815a72430 Tony Lindgren 2005-11-10 187
1dbae815a72430 Tony Lindgren 2005-11-10 188 if (j == ARRAY_SIZE(omap_ids)) {
7852ec0536ca39 Paul Walmsley 2012-07-26 189 pr_err("Unknown OMAP device type. Handling it as OMAP%04x\n",
1dbae815a72430 Tony Lindgren 2005-11-10 190 omap_ids[i].type >> 16);
1dbae815a72430 Tony Lindgren 2005-11-10 191 j = i;
1dbae815a72430 Tony Lindgren 2005-11-10 192 }
1dbae815a72430 Tony Lindgren 2005-11-10 193
f9d41eefcfbb91 Ruslan Bilovol 2013-02-14 194 sprintf(soc_name, "OMAP%04x", omap_rev() >> 16);
f9d41eefcfbb91 Ruslan Bilovol 2013-02-14 195 sprintf(soc_rev, "ES%x", (omap_rev() >> 12) & 0xf);
f9d41eefcfbb91 Ruslan Bilovol 2013-02-14 196
f9d41eefcfbb91 Ruslan Bilovol 2013-02-14 197 pr_info("%s", soc_name);
84a34344ea1f2f Lauri Leukkunen 2008-12-10 198 if ((omap_rev() >> 8) & 0x0f)
04a92358b39649 Aaro Koskinen 2018-11-19 199 pr_cont("%s", soc_rev);
04a92358b39649 Aaro Koskinen 2018-11-19 200 pr_cont("\n");
a88231430384f4 Tony Lindgren 2008-12-10 201 }
a88231430384f4 Tony Lindgren 2008-12-10 202
:::::: The code at line 158 was first introduced by commit
:::::: 1dbae815a724303b46ab4663b5fc23c13e9d9690 [ARM] 3145/1: OMAP 3a/5: Add support for omap24xx
:::::: TO: Tony Lindgren <tony@atomide.com>
:::::: CC: Russell King <rmk+kernel@arm.linux.org.uk>
---
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] 2+ messages in thread
end of thread, other threads:[~2022-01-08 4:25 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-04 2:46 arch/arm/mach-omap2/id.c:158:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2022-01-08 4:25 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.