CC: [email protected] CC: [email protected] CC: [email protected] TO: Sudeep Holla <[email protected]> CC: Jassi Brar <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 136057256686de39cc3a07c2e39ef6bc43003ff6 commit: 45ec2dafb1775f7d806fbd2387e3f2cc2f56142d mailbox: pcc: Drop handling invalid bit-width in {read,write}_register date: 3 weeks ago :::::: branch date: 29 hours ago :::::: commit date: 3 weeks ago config: i386-randconfig-c001-20211121 (attached as .config) 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 # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=45ec2dafb1775f7d806fbd2387e3f2cc2f56142d git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 45ec2dafb1775f7d806fbd2387e3f2cc2f56142d # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=i386 clang-analyzer If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> clang-analyzer warnings: (new ones prefixed by >>) 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 6 warnings generated. drivers/leds/led-triggers.c:276: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((char *)trig->name, name); ^~~~~~ drivers/leds/led-triggers.c:276: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((char *)trig->name, name); ^~~~~~ Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 6 warnings generated. Suppressed 6 warnings (5 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. 8 warnings generated. Suppressed 8 warnings (8 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 6 warnings generated. Suppressed 6 warnings (6 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 8 warnings generated. Suppressed 8 warnings (8 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 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. 4 warnings generated. Suppressed 4 warnings (4 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 9 warnings generated. drivers/base/power/main.c:466:3: warning: Value stored to 'usecs' is never read [clang-analyzer-deadcode.DeadStores] usecs = 1; ^ ~ drivers/base/power/main.c:466:3: note: Value stored to 'usecs' is never read usecs = 1; ^ ~ Suppressed 8 warnings (8 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 8 warnings generated. Suppressed 8 warnings (8 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 4 warnings generated. Suppressed 4 warnings (4 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 4 warnings generated. Suppressed 4 warnings (4 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 6 warnings generated. Suppressed 6 warnings (6 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 8 warnings generated. Suppressed 8 warnings (8 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 8 warnings generated. Suppressed 8 warnings (8 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 8 warnings generated. Suppressed 8 warnings (8 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 8 warnings generated. Suppressed 8 warnings (8 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 8 warnings generated. Suppressed 8 warnings (8 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 8 warnings generated. Suppressed 8 warnings (8 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 6 warnings generated. Suppressed 6 warnings (6 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 6 warnings generated. >> drivers/mailbox/pcc.c:190: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] val &= reg->preserve_mask; ^ drivers/mailbox/pcc.c:345:9: note: Calling 'pcc_chan_reg_read_modify_write' return pcc_chan_reg_read_modify_write(&pchan->db); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mailbox/pcc.c:184:2: note: 'val' declared without an initial value u64 val; ^~~~~~~ drivers/mailbox/pcc.c:186:8: note: Calling 'pcc_chan_reg_read' ret = pcc_chan_reg_read(reg, &val); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mailbox/pcc.c:153:6: note: Assuming field 'gas' is non-null, which participates in a condition later if (!reg->gas) { ^~~~~~~~~ drivers/mailbox/pcc.c:153:2: note: Taking false branch if (!reg->gas) { ^ drivers/mailbox/pcc.c:158:6: note: Assuming field 'vaddr' is non-null if (reg->vaddr) ^~~~~~~~~~ drivers/mailbox/pcc.c:158:2: note: Taking true branch if (reg->vaddr) ^ drivers/mailbox/pcc.c:159:3: note: Calling 'read_register' read_register(reg->vaddr, val, reg->gas->bit_width); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mailbox/pcc.c:115:2: note: 'Default' branch taken. Execution continues on line 115 switch (bit_width) { ^ drivers/mailbox/pcc.c:129:1: note: Returning without writing to '*val' } ^ drivers/mailbox/pcc.c:159:3: note: Returning from 'read_register' read_register(reg->vaddr, val, reg->gas->bit_width); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mailbox/pcc.c:163:2: note: Returning without writing to '*val' return ret; ^ drivers/mailbox/pcc.c:163:2: note: Returning zero (loaded from 'ret'), which participates in a condition later return ret; ^~~~~~~~~~ drivers/mailbox/pcc.c:186:8: note: Returning from 'pcc_chan_reg_read' ret = pcc_chan_reg_read(reg, &val); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mailbox/pcc.c:187:6: note: 'ret' is 0 if (ret) ^~~ drivers/mailbox/pcc.c:187:2: note: Taking false branch if (ret) ^ drivers/mailbox/pcc.c:190:6: note: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage val &= reg->preserve_mask; ~~~ ^ Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 6 warnings generated. Suppressed 6 warnings (6 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 8 warnings generated. Suppressed 8 warnings (8 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 10 warnings generated. drivers/media/dvb-frontends/tc90522.c:51:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = 0; ^ ~ drivers/media/dvb-frontends/tc90522.c:51:2: note: Value stored to 'ret' is never read ret = 0; ^ ~ drivers/media/dvb-frontends/tc90522.c:343:2: warning: Value stored to 'mode' is never read [clang-analyzer-deadcode.DeadStores] mode = 1; ^ ~ drivers/media/dvb-frontends/tc90522.c:343:2: note: Value stored to 'mode' is never read mode = 1; ^ ~ Suppressed 8 warnings (8 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 8 warnings generated. Suppressed 8 warnings (8 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 10 warnings generated. drivers/media/dvb-frontends/horus3a.c:141:23: warning: Value stored to 'priv' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct horus3a_priv *priv = fe->tuner_priv; ^~~~ ~~~~~~~~~~~~~~ drivers/media/dvb-frontends/horus3a.c:141:23: note: Value stored to 'priv' during its initialization is never read struct horus3a_priv *priv = fe->tuner_priv; ^~~~ ~~~~~~~~~~~~~~ drivers/media/dvb-frontends/horus3a.c:149:23: warning: Value stored to 'priv' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct horus3a_priv *priv = fe->tuner_priv; ^~~~ ~~~~~~~~~~~~~~ drivers/media/dvb-frontends/horus3a.c:149:23: note: Value stored to 'priv' during its initialization is never read struct horus3a_priv *priv = fe->tuner_priv; ^~~~ ~~~~~~~~~~~~~~ Suppressed 8 warnings (8 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. vim +190 drivers/mailbox/pcc.c 800cda7b63f22b Sudeep Holla 2021-09-17 180 800cda7b63f22b Sudeep Holla 2021-09-17 181 static int pcc_chan_reg_read_modify_write(struct pcc_chan_reg *reg) 800cda7b63f22b Sudeep Holla 2021-09-17 182 { 800cda7b63f22b Sudeep Holla 2021-09-17 183 int ret = 0; 800cda7b63f22b Sudeep Holla 2021-09-17 184 u64 val; 800cda7b63f22b Sudeep Holla 2021-09-17 185 800cda7b63f22b Sudeep Holla 2021-09-17 186 ret = pcc_chan_reg_read(reg, &val); 800cda7b63f22b Sudeep Holla 2021-09-17 187 if (ret) 800cda7b63f22b Sudeep Holla 2021-09-17 188 return ret; 800cda7b63f22b Sudeep Holla 2021-09-17 189 800cda7b63f22b Sudeep Holla 2021-09-17 @190 val &= reg->preserve_mask; 800cda7b63f22b Sudeep Holla 2021-09-17 191 val |= reg->set_mask; 800cda7b63f22b Sudeep Holla 2021-09-17 192 800cda7b63f22b Sudeep Holla 2021-09-17 193 return pcc_chan_reg_write(reg, val); 800cda7b63f22b Sudeep Holla 2021-09-17 194 } 800cda7b63f22b Sudeep Holla 2021-09-17 195 :::::: The code at line 190 was first introduced by commit :::::: 800cda7b63f22be62e67142f1202d2ead2dff2e8 mailbox: pcc: Add PCC register bundle and associated accessor functions :::::: TO: Sudeep Holla <[email protected]> :::::: CC: Jassi Brar <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
