CC: kbuild-...@lists.01.org In-Reply-To: <20200526154123.24402-5-sergey.se...@baikalelectronics.ru> References: <20200526154123.24402-5-sergey.se...@baikalelectronics.ru> TO: Serge Semin <sergey.se...@baikalelectronics.ru>
Hi Serge, I love your patch! Perhaps something to improve: [auto build test WARNING on robh/for-next] [also build test WARNING on hwmon/hwmon-next soc/for-next linus/master v5.7-rc7 next-20200529] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Serge-Semin/watchdog-dw_wdt-Take-Baikal-T1-DW-WDT-peculiarities-into-account/20200526-234657 base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next :::::: branch date: 3 days ago :::::: commit date: 3 days ago config: i386-randconfig-m021-20200528 (attached as .config) compiler: gcc-9 (Debian 9.3.0-13) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot <l...@intel.com> Reported-by: Dan Carpenter <dan.carpen...@oracle.com> smatch warnings: drivers/watchdog/dw_wdt.c:124 dw_wdt_get_min_timeout() error: buffer overflow 'dw_wdt->timeouts' 16 <= 16 (assuming for loop doesn't break) drivers/watchdog/dw_wdt.c:147 dw_wdt_get_timeout() error: buffer overflow 'dw_wdt->timeouts' 16 <= 16 (assuming for loop doesn't break) # https://github.com/0day-ci/linux/commit/2d6c220c0b6cbc1fd04065b904a6a2f0bfe086e7 git remote add linux-review https://github.com/0day-ci/linux git remote update linux-review git checkout 2d6c220c0b6cbc1fd04065b904a6a2f0bfe086e7 vim +124 drivers/watchdog/dw_wdt.c 2d6c220c0b6cbc Serge Semin 2020-05-26 110 2d6c220c0b6cbc Serge Semin 2020-05-26 111 static unsigned int dw_wdt_get_min_timeout(struct dw_wdt *dw_wdt) c9353ae1c69ba1 Jamie Iles 2011-01-24 112 { 2d6c220c0b6cbc Serge Semin 2020-05-26 113 int idx; 2d6c220c0b6cbc Serge Semin 2020-05-26 114 2d6c220c0b6cbc Serge Semin 2020-05-26 115 /* 2d6c220c0b6cbc Serge Semin 2020-05-26 116 * We'll find a timeout greater or equal to one second anyway because 2d6c220c0b6cbc Serge Semin 2020-05-26 117 * the driver probe would have failed if there was none. 2d6c220c0b6cbc Serge Semin 2020-05-26 118 */ 2d6c220c0b6cbc Serge Semin 2020-05-26 119 for (idx = 0; idx < DW_WDT_NUM_TOPS; ++idx) { 2d6c220c0b6cbc Serge Semin 2020-05-26 120 if (dw_wdt->timeouts[idx].sec) 2d6c220c0b6cbc Serge Semin 2020-05-26 121 break; 2d6c220c0b6cbc Serge Semin 2020-05-26 122 } c9353ae1c69ba1 Jamie Iles 2011-01-24 123 2d6c220c0b6cbc Serge Semin 2020-05-26 @124 return dw_wdt->timeouts[idx].sec; 2d6c220c0b6cbc Serge Semin 2020-05-26 125 } 2d6c220c0b6cbc Serge Semin 2020-05-26 126 2d6c220c0b6cbc Serge Semin 2020-05-26 127 static unsigned int dw_wdt_get_max_timeout_ms(struct dw_wdt *dw_wdt) 2d6c220c0b6cbc Serge Semin 2020-05-26 128 { 2d6c220c0b6cbc Serge Semin 2020-05-26 129 struct dw_wdt_timeout *timeout = &dw_wdt->timeouts[DW_WDT_NUM_TOPS - 1]; 2d6c220c0b6cbc Serge Semin 2020-05-26 130 u64 msec; 2d6c220c0b6cbc Serge Semin 2020-05-26 131 2d6c220c0b6cbc Serge Semin 2020-05-26 132 msec = (u64)timeout->sec * MSEC_PER_SEC + timeout->msec; 2d6c220c0b6cbc Serge Semin 2020-05-26 133 2d6c220c0b6cbc Serge Semin 2020-05-26 134 return msec < UINT_MAX ? msec : UINT_MAX; 2d6c220c0b6cbc Serge Semin 2020-05-26 135 } 2d6c220c0b6cbc Serge Semin 2020-05-26 136 2d6c220c0b6cbc Serge Semin 2020-05-26 137 static unsigned int dw_wdt_get_timeout(struct dw_wdt *dw_wdt) 2d6c220c0b6cbc Serge Semin 2020-05-26 138 { 2d6c220c0b6cbc Serge Semin 2020-05-26 139 int top_val = readl(dw_wdt->regs + WDOG_TIMEOUT_RANGE_REG_OFFSET) & 0xF; 2d6c220c0b6cbc Serge Semin 2020-05-26 140 int idx; 2d6c220c0b6cbc Serge Semin 2020-05-26 141 2d6c220c0b6cbc Serge Semin 2020-05-26 142 for (idx = 0; idx < DW_WDT_NUM_TOPS; ++idx) { 2d6c220c0b6cbc Serge Semin 2020-05-26 143 if (dw_wdt->timeouts[idx].top_val == top_val) 2d6c220c0b6cbc Serge Semin 2020-05-26 144 break; 2d6c220c0b6cbc Serge Semin 2020-05-26 145 } 2d6c220c0b6cbc Serge Semin 2020-05-26 146 2d6c220c0b6cbc Serge Semin 2020-05-26 @147 return dw_wdt->timeouts[idx].sec; c9353ae1c69ba1 Jamie Iles 2011-01-24 148 } c9353ae1c69ba1 Jamie Iles 2011-01-24 149 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- kbuild@lists.01.org To unsubscribe send an email to kbuild-le...@lists.01.org