CC: [email protected] CC: [email protected] TO: Julian Braha <[email protected]> CC: Andrew Morton <[email protected]> CC: Linux Memory Management List <[email protected]>
Hi Julian, First bad commit (maybe != root cause): tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: d6d09a6942050f21b065a134169002b4d6b701ef commit: 7d37cb2c912dc5c25ffac784a4f9b98c06c6bd08 lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS date: 4 months ago :::::: branch date: 17 hours ago :::::: commit date: 4 months ago compiler: csky-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> cppcheck warnings: (new ones prefixed by >>) >> drivers/tty/serial/samsung_tty.c:1314:3: warning: %d in format string (no. >> 1) requires 'int' but the argument type is 'unsigned int'. >> [invalidPrintfArgType_sint] sprintf(clkname, "clk_uart_baud%d", cnt); ^ cppcheck possible warnings: (new ones prefixed by >>, may not real problems) >> drivers/tty/serial/samsung_tty.c:1314:3: warning: %d in format string (no. >> 1) requires 'int' but the argument type is 'unsigned int'. >> [invalidPrintfArgType_sint] sprintf(clkname, "clk_uart_baud%d", cnt); ^ >> drivers/tty/n_gsm.c:1000:24: warning: Possible null pointer dereference: >> data [nullPointer] memcpy(msg->data + 2, data, dlen); ^ drivers/tty/n_gsm.c:1216:36: note: Calling function 'gsm_control_reply', 3rd argument 'NULL' value is 0 gsm_control_reply(gsm, CMD_FCON, NULL, 0); ^ drivers/tty/n_gsm.c:1000:24: note: Null pointer dereference memcpy(msg->data + 2, data, dlen); ^ vim +1314 drivers/tty/serial/samsung_tty.c 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1296 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1297 static unsigned int s3c24xx_serial_getclk(struct s3c24xx_uart_port *ourport, 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1298 unsigned int req_baud, struct clk **best_clk, 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1299 unsigned int *clk_num) b497549a035c2a drivers/serial/samsung.c Ben Dooks 2008-07-03 1300 { 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1301 struct s3c24xx_uart_info *info = ourport->info; 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1302 struct clk *clk; b497549a035c2a drivers/serial/samsung.c Ben Dooks 2008-07-03 1303 unsigned long rate; 7d31676a8d91dd drivers/tty/serial/samsung_tty.c Jonathan Bakker 2020-05-08 1304 unsigned int cnt, baud, quot, best_quot = 0; 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1305 char clkname[MAX_CLK_NAME_LENGTH]; 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1306 int calc_deviation, deviation = (1 << 30) - 1; 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1307 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1308 for (cnt = 0; cnt < info->num_clks; cnt++) { 7d31676a8d91dd drivers/tty/serial/samsung_tty.c Jonathan Bakker 2020-05-08 1309 /* Keep selected clock if provided */ 7d31676a8d91dd drivers/tty/serial/samsung_tty.c Jonathan Bakker 2020-05-08 1310 if (ourport->cfg->clk_sel && 7d31676a8d91dd drivers/tty/serial/samsung_tty.c Jonathan Bakker 2020-05-08 1311 !(ourport->cfg->clk_sel & (1 << cnt))) 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1312 continue; b497549a035c2a drivers/serial/samsung.c Ben Dooks 2008-07-03 1313 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 @1314 sprintf(clkname, "clk_uart_baud%d", cnt); 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1315 clk = clk_get(ourport->port.dev, clkname); 7cd88831feb03c drivers/tty/serial/samsung.c Kyoungil Kim 2012-05-20 1316 if (IS_ERR(clk)) 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1317 continue; b497549a035c2a drivers/serial/samsung.c Ben Dooks 2008-07-03 1318 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1319 rate = clk_get_rate(clk); 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1320 if (!rate) 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1321 continue; 090f848da00008 drivers/serial/samsung.c Ben Dooks 2008-12-12 1322 090f848da00008 drivers/serial/samsung.c Ben Dooks 2008-12-12 1323 if (ourport->info->has_divslot) { 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1324 unsigned long div = rate / req_baud; 090f848da00008 drivers/serial/samsung.c Ben Dooks 2008-12-12 1325 090f848da00008 drivers/serial/samsung.c Ben Dooks 2008-12-12 1326 /* The UDIVSLOT register on the newer UARTs allows us to 090f848da00008 drivers/serial/samsung.c Ben Dooks 2008-12-12 1327 * get a divisor adjustment of 1/16th on the baud clock. 090f848da00008 drivers/serial/samsung.c Ben Dooks 2008-12-12 1328 * 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1329 * We don't keep the UDIVSLOT value (the 16ths we 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1330 * calculated by not multiplying the baud by 16) as it 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1331 * is easy enough to recalculate. 090f848da00008 drivers/serial/samsung.c Ben Dooks 2008-12-12 1332 */ 090f848da00008 drivers/serial/samsung.c Ben Dooks 2008-12-12 1333 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1334 quot = div / 16; 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1335 baud = rate / div; 090f848da00008 drivers/serial/samsung.c Ben Dooks 2008-12-12 1336 } else { 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1337 quot = (rate + (8 * req_baud)) / (16 * req_baud); 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1338 baud = rate / (quot * 16); 090f848da00008 drivers/serial/samsung.c Ben Dooks 2008-12-12 1339 } 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1340 quot--; b497549a035c2a drivers/serial/samsung.c Ben Dooks 2008-07-03 1341 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1342 calc_deviation = req_baud - baud; b497549a035c2a drivers/serial/samsung.c Ben Dooks 2008-07-03 1343 if (calc_deviation < 0) b497549a035c2a drivers/serial/samsung.c Ben Dooks 2008-07-03 1344 calc_deviation = -calc_deviation; b497549a035c2a drivers/serial/samsung.c Ben Dooks 2008-07-03 1345 b497549a035c2a drivers/serial/samsung.c Ben Dooks 2008-07-03 1346 if (calc_deviation < deviation) { 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1347 *best_clk = clk; 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1348 best_quot = quot; 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1349 *clk_num = cnt; b497549a035c2a drivers/serial/samsung.c Ben Dooks 2008-07-03 1350 deviation = calc_deviation; b497549a035c2a drivers/serial/samsung.c Ben Dooks 2008-07-03 1351 } b497549a035c2a drivers/serial/samsung.c Ben Dooks 2008-07-03 1352 } b497549a035c2a drivers/serial/samsung.c Ben Dooks 2008-07-03 1353 5f5a7a5578c588 drivers/tty/serial/samsung.c Thomas Abraham 2011-10-24 1354 return best_quot; b497549a035c2a drivers/serial/samsung.c Ben Dooks 2008-07-03 1355 } b497549a035c2a drivers/serial/samsung.c Ben Dooks 2008-07-03 1356 :::::: The code at line 1314 was first introduced by commit :::::: 5f5a7a5578c5885201cf9c85856f023fe8b81765 serial: samsung: switch to clkdev based clock lookup :::::: TO: Thomas Abraham <[email protected]> :::::: CC: Kukjin Kim <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
