From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7346175907483942896==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [PATCH v4 4/5] tracing: Add a backward-compatibility check for synthetic event creation Date: Fri, 18 Dec 2020 14:39:52 +0800 Message-ID: <202012181422.fcWUCC5H-lkp@intel.com> In-Reply-To: <10708db9327a6db3e8cdd9639504923e6629ae85.1608238451.git.zanussi@kernel.org> List-Id: --===============7346175907483942896== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Tom, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on trace/for-next] [also build test WARNING on linux/master linus/master v5.10 next-20201217] [cannot apply to tip/perf/core] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Tom-Zanussi/tracing-More-s= ynthetic-event-error-fixes/20201218-052110 base: https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace= .git for-next config: riscv-randconfig-r014-20201217 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project cee1e7= d14f4628d6174b33640d502bff3b54ae45) reproduce (this is a W=3D1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install riscv cross compiling tool for clang build # apt-get install binutils-riscv64-linux-gnu # https://github.com/0day-ci/linux/commit/aa73dabdbd071e2cb537b974c= 0b4308d24f8d4ef git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Tom-Zanussi/tracing-More-synthetic= -event-error-fixes/20201218-052110 git checkout aa73dabdbd071e2cb537b974c0b4308d24f8d4ef # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dclang make.cross ARCH= =3Driscv = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): In file included from include/linux/hardirq.h:10: In file included from ./arch/riscv/include/generated/asm/hardirq.h:1: In file included from include/asm-generic/hardirq.h:13: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/riscv/include/asm/io.h:149: include/asm-generic/io.h:564:9: warning: performing pointer arithmetic o= n a null pointer has undefined behavior [-Wnull-pointer-arithmetic] return inw(addr); ^~~~~~~~~ arch/riscv/include/asm/io.h:56:76: note: expanded from macro 'inw' #define inw(c) ({ u16 __v; __io_pbr(); __v =3D readw_cpu((void*= )(PCI_IOBASE + (c))); __io_par(__v); __v; }) = ~~~~~~~~~~ ^ arch/riscv/include/asm/mmio.h:88:76: note: expanded from macro 'readw_cp= u' #define readw_cpu(c) ({ u16 __r =3D le16_to_cpu((__force __le= 16)__raw_readw(c)); __r; }) = ^ include/uapi/linux/byteorder/little_endian.h:36:51: note: expanded from = macro '__le16_to_cpu' #define __le16_to_cpu(x) ((__force __u16)(__le16)(x)) ^ In file included from kernel/trace/trace_events_synth.c:18: In file included from include/linux/trace_events.h:9: In file included from include/linux/hardirq.h:10: In file included from ./arch/riscv/include/generated/asm/hardirq.h:1: In file included from include/asm-generic/hardirq.h:13: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/riscv/include/asm/io.h:149: include/asm-generic/io.h:572:9: warning: performing pointer arithmetic o= n a null pointer has undefined behavior [-Wnull-pointer-arithmetic] return inl(addr); ^~~~~~~~~ arch/riscv/include/asm/io.h:57:76: note: expanded from macro 'inl' #define inl(c) ({ u32 __v; __io_pbr(); __v =3D readl_cpu((void*= )(PCI_IOBASE + (c))); __io_par(__v); __v; }) = ~~~~~~~~~~ ^ arch/riscv/include/asm/mmio.h:89:76: note: expanded from macro 'readl_cp= u' #define readl_cpu(c) ({ u32 __r =3D le32_to_cpu((__force __le= 32)__raw_readl(c)); __r; }) = ^ include/uapi/linux/byteorder/little_endian.h:34:51: note: expanded from = macro '__le32_to_cpu' #define __le32_to_cpu(x) ((__force __u32)(__le32)(x)) ^ In file included from kernel/trace/trace_events_synth.c:18: In file included from include/linux/trace_events.h:9: In file included from include/linux/hardirq.h:10: In file included from ./arch/riscv/include/generated/asm/hardirq.h:1: In file included from include/asm-generic/hardirq.h:13: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/riscv/include/asm/io.h:149: include/asm-generic/io.h:580:2: warning: performing pointer arithmetic o= n a null pointer has undefined behavior [-Wnull-pointer-arithmetic] outb(value, addr); ^~~~~~~~~~~~~~~~~ arch/riscv/include/asm/io.h:59:68: note: expanded from macro 'outb' #define outb(v,c) ({ __io_pbw(); writeb_cpu((v),(void*)(PCI_IOBASE= + (c))); __io_paw(); }) ~~~~~~~~~~= ^ arch/riscv/include/asm/mmio.h:91:52: note: expanded from macro 'writeb_c= pu' #define writeb_cpu(v, c) ((void)__raw_writeb((v), (c))) ^ In file included from kernel/trace/trace_events_synth.c:18: In file included from include/linux/trace_events.h:9: In file included from include/linux/hardirq.h:10: In file included from ./arch/riscv/include/generated/asm/hardirq.h:1: In file included from include/asm-generic/hardirq.h:13: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/riscv/include/asm/io.h:149: include/asm-generic/io.h:588:2: warning: performing pointer arithmetic o= n a null pointer has undefined behavior [-Wnull-pointer-arithmetic] outw(value, addr); ^~~~~~~~~~~~~~~~~ arch/riscv/include/asm/io.h:60:68: note: expanded from macro 'outw' #define outw(v,c) ({ __io_pbw(); writew_cpu((v),(void*)(PCI_IOBASE= + (c))); __io_paw(); }) ~~~~~~~~~~= ^ arch/riscv/include/asm/mmio.h:92:76: note: expanded from macro 'writew_c= pu' #define writew_cpu(v, c) ((void)__raw_writew((__force u16)cpu_to_= le16(v), (c))) = ^ In file included from kernel/trace/trace_events_synth.c:18: In file included from include/linux/trace_events.h:9: In file included from include/linux/hardirq.h:10: In file included from ./arch/riscv/include/generated/asm/hardirq.h:1: In file included from include/asm-generic/hardirq.h:13: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/riscv/include/asm/io.h:149: include/asm-generic/io.h:596:2: warning: performing pointer arithmetic o= n a null pointer has undefined behavior [-Wnull-pointer-arithmetic] outl(value, addr); ^~~~~~~~~~~~~~~~~ arch/riscv/include/asm/io.h:61:68: note: expanded from macro 'outl' #define outl(v,c) ({ __io_pbw(); writel_cpu((v),(void*)(PCI_IOBASE= + (c))); __io_paw(); }) ~~~~~~~~~~= ^ arch/riscv/include/asm/mmio.h:93:76: note: expanded from macro 'writel_c= pu' #define writel_cpu(v, c) ((void)__raw_writel((__force u32)cpu_to_= le32(v), (c))) = ^ In file included from kernel/trace/trace_events_synth.c:18: In file included from include/linux/trace_events.h:9: In file included from include/linux/hardirq.h:10: In file included from ./arch/riscv/include/generated/asm/hardirq.h:1: In file included from include/asm-generic/hardirq.h:13: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/riscv/include/asm/io.h:149: include/asm-generic/io.h:1005:55: warning: performing pointer arithmetic= on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port; ~~~~~~~~~~ ^ >> kernel/trace/trace_events_synth.c:1508:6: warning: variable 'save_argv' = is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitia= lized] if (!argc) ^~~~~ kernel/trace/trace_events_synth.c:1564:12: note: uninitialized use occur= s here argv_free(save_argv); ^~~~~~~~~ kernel/trace/trace_events_synth.c:1508:2: note: remove the 'if' if its c= ondition is always false if (!argc) ^~~~~~~~~~ kernel/trace/trace_events_synth.c:1496:33: note: initialize the variable= 'save_argv' to silence this warning char *name, **argv, **save_argv; ^ =3D NULL >> kernel/trace/trace_events_synth.c:1508:6: warning: variable 'buf' is use= d uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] if (!argc) ^~~~~ kernel/trace/trace_events_synth.c:1566:9: note: uninitialized use occurs= here return buf; ^~~ kernel/trace/trace_events_synth.c:1508:2: note: remove the 'if' if its c= ondition is always false if (!argc) ^~~~~~~~~~ kernel/trace/trace_events_synth.c:1500:11: note: initialize the variable= 'buf' to silence this warning char *buf; ^ =3D NULL 9 warnings generated. /tmp/trace_events_synth-97fa74.s: Assembler messages: /tmp/trace_events_synth-97fa74.s:3701: Error: unrecognized opcode `zext.= b a2,a2' /tmp/trace_events_synth-97fa74.s:4380: Error: unrecognized opcode `zext.= b s1,s1' /tmp/trace_events_synth-97fa74.s:4474: Error: unrecognized opcode `zext.= b a5,a0' /tmp/trace_events_synth-97fa74.s:4705: Error: unrecognized opcode `zext.= b a1,a1' /tmp/trace_events_synth-97fa74.s:5065: Error: unrecognized opcode `zext.= b a5,a0' /tmp/trace_events_synth-97fa74.s:5399: Error: unrecognized opcode `zext.= b a5,a0' /tmp/trace_events_synth-97fa74.s:5459: Error: unrecognized opcode `zext.= b a5,a0' /tmp/trace_events_synth-97fa74.s:5516: Error: unrecognized opcode `zext.= b a5,a0' /tmp/trace_events_synth-97fa74.s:5571: Error: unrecognized opcode `zext.= b a5,a0' /tmp/trace_events_synth-97fa74.s:5648: Error: unrecognized opcode `zext.= b a5,a0' /tmp/trace_events_synth-97fa74.s:5682: Error: unrecognized opcode `zext.= b a5,a0' /tmp/trace_events_synth-97fa74.s:7129: Error: unrecognized opcode `zext.= b a3,a3' clang-12: error: assembler command failed with exit code 1 (use -v to se= e invocation) vim +1508 kernel/trace/trace_events_synth.c 1492 = 1493 static char *insert_semicolons(const char *raw_command) 1494 { 1495 int i, argc, consumed =3D 0, n_fields =3D 0, semis_added =3D 0; 1496 char *name, **argv, **save_argv; 1497 int ret =3D -EINVAL; 1498 struct seq_buf s; 1499 bool added_semi; 1500 char *buf; 1501 = 1502 argc =3D 0; 1503 = 1504 argv =3D argv_split(GFP_KERNEL, raw_command, &argc); 1505 if (!argv) 1506 return NULL; 1507 = > 1508 if (!argc) 1509 goto out; 1510 = 1511 name =3D argv[0]; 1512 save_argv =3D argv; 1513 argv++; 1514 argc--; 1515 = 1516 buf =3D kzalloc(MAX_DYNEVENT_CMD_LEN, GFP_KERNEL); 1517 if (!buf) { 1518 ret =3D -ENOMEM; 1519 goto err; 1520 } 1521 = 1522 seq_buf_init(&s, buf, MAX_DYNEVENT_CMD_LEN); 1523 = 1524 seq_buf_puts(&s, name); 1525 seq_buf_putc(&s, ' '); 1526 = 1527 if (name[0] =3D=3D '\0' || argc < 1) 1528 goto err; 1529 = 1530 for (i =3D 0; i < argc - 1; i++) { 1531 if (strcmp(argv[i], ";") =3D=3D 0) { 1532 seq_buf_puts(&s, " ; "); 1533 continue; 1534 } 1535 = 1536 if (n_fields =3D=3D SYNTH_FIELDS_MAX) 1537 goto err; 1538 = 1539 ret =3D save_synth_field(argc - i, &argv[i], &consumed, 1540 &s, &added_semi); 1541 if (ret) 1542 goto err; 1543 = 1544 if (added_semi) 1545 semis_added++; 1546 = 1547 i +=3D consumed - 1; 1548 } 1549 = 1550 if (i < argc && strcmp(argv[i], ";") !=3D 0) 1551 goto err; 1552 = 1553 if (!semis_added) { 1554 kfree(buf); 1555 buf =3D NULL; 1556 goto out; 1557 } 1558 = 1559 if (WARN_ON_ONCE(!seq_buf_buffer_left(&s))) 1560 goto err; 1561 = 1562 buf[s.len] =3D '\0'; 1563 out: 1564 argv_free(save_argv); 1565 = 1566 return buf; 1567 err: 1568 kfree(buf); 1569 buf =3D ERR_PTR(ret); 1570 = 1571 goto out; 1572 } 1573 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --===============7346175907483942896== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 /wfvaff0uRkBAA== --===============7346175907483942896==--