From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: arch/arm/mach-omap2/id.c:158:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores]
Date: Tue, 04 Jan 2022 10:46:02 +0800 [thread overview]
Message-ID: <202201041044.vbmB2v4W-lkp@intel.com> (raw)
[-- 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
next reply other threads:[~2022-01-04 2:46 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-04 2:46 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-01-08 4:25 arch/arm/mach-omap2/id.c:158:2: warning: Value stored to 'rev' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202201041044.vbmB2v4W-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.