tree:
https://git.kernel.org/pub/scm/linux/kernel/git/zanussi/linux-trace.git
ftrace/synth-fixes-v4
head: 6cb978ea1a56e76f723fb7aee74422b0766db8e9
commit: 10708db9327a6db3e8cdd9639504923e6629ae85 [4/5] tracing: Add a
backward-compatibility check for synthetic event creation
config: i386-randconfig-m021-20201217 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
kernel/trace/trace_events_synth.c:1564 insert_semicolons() error: uninitialized symbol
'save_argv'.
kernel/trace/trace_events_synth.c:1566 insert_semicolons() error: uninitialized symbol
'buf'.
vim +/save_argv +1564 kernel/trace/trace_events_synth.c
10708db9327a6db Tom Zanussi 2020-12-14 1493 static char *insert_semicolons(const char
*raw_command)
10708db9327a6db Tom Zanussi 2020-12-14 1494 {
10708db9327a6db Tom Zanussi 2020-12-14 1495 int i, argc, consumed = 0, n_fields = 0,
semis_added = 0;
10708db9327a6db Tom Zanussi 2020-12-14 1496 char *name, **argv, **save_argv;
^^^^^^^^^
10708db9327a6db Tom Zanussi 2020-12-14 1497 int ret = -EINVAL;
10708db9327a6db Tom Zanussi 2020-12-14 1498 struct seq_buf s;
10708db9327a6db Tom Zanussi 2020-12-14 1499 bool added_semi;
10708db9327a6db Tom Zanussi 2020-12-14 1500 char *buf;
^^^
10708db9327a6db Tom Zanussi 2020-12-14 1501
10708db9327a6db Tom Zanussi 2020-12-14 1502 argc = 0;
10708db9327a6db Tom Zanussi 2020-12-14 1503
10708db9327a6db Tom Zanussi 2020-12-14 1504 argv = argv_split(GFP_KERNEL, raw_command,
&argc);
10708db9327a6db Tom Zanussi 2020-12-14 1505 if (!argv)
10708db9327a6db Tom Zanussi 2020-12-14 1506 return NULL;
10708db9327a6db Tom Zanussi 2020-12-14 1507
10708db9327a6db Tom Zanussi 2020-12-14 1508 if (!argc)
10708db9327a6db Tom Zanussi 2020-12-14 1509 goto out;
^^^^^^^^^
I always tell everyone that out labels are a pox on the earth. They're
too vague to say what the goto does. Free something probably?
10708db9327a6db Tom Zanussi 2020-12-14 1510
10708db9327a6db Tom Zanussi 2020-12-14 1511 name = argv[0];
10708db9327a6db Tom Zanussi 2020-12-14 1512 save_argv = argv;
10708db9327a6db Tom Zanussi 2020-12-14 1513 argv++;
10708db9327a6db Tom Zanussi 2020-12-14 1514 argc--;
10708db9327a6db Tom Zanussi 2020-12-14 1515
10708db9327a6db Tom Zanussi 2020-12-14 1516 buf = kzalloc(MAX_DYNEVENT_CMD_LEN,
GFP_KERNEL);
10708db9327a6db Tom Zanussi 2020-12-14 1517 if (!buf) {
10708db9327a6db Tom Zanussi 2020-12-14 1518 ret = -ENOMEM;
10708db9327a6db Tom Zanussi 2020-12-14 1519 goto err;
10708db9327a6db Tom Zanussi 2020-12-14 1520 }
10708db9327a6db Tom Zanussi 2020-12-14 1521
10708db9327a6db Tom Zanussi 2020-12-14 1522 seq_buf_init(&s, buf,
MAX_DYNEVENT_CMD_LEN);
10708db9327a6db Tom Zanussi 2020-12-14 1523
10708db9327a6db Tom Zanussi 2020-12-14 1524 seq_buf_puts(&s, name);
10708db9327a6db Tom Zanussi 2020-12-14 1525 seq_buf_putc(&s, ' ');
10708db9327a6db Tom Zanussi 2020-12-14 1526
10708db9327a6db Tom Zanussi 2020-12-14 1527 if (name[0] == '\0' || argc <
1)
10708db9327a6db Tom Zanussi 2020-12-14 1528 goto err;
10708db9327a6db Tom Zanussi 2020-12-14 1529
10708db9327a6db Tom Zanussi 2020-12-14 1530 for (i = 0; i < argc - 1; i++) {
10708db9327a6db Tom Zanussi 2020-12-14 1531 if (strcmp(argv[i], ";") == 0)
{
10708db9327a6db Tom Zanussi 2020-12-14 1532 seq_buf_puts(&s, " ; ");
10708db9327a6db Tom Zanussi 2020-12-14 1533 continue;
10708db9327a6db Tom Zanussi 2020-12-14 1534 }
10708db9327a6db Tom Zanussi 2020-12-14 1535
10708db9327a6db Tom Zanussi 2020-12-14 1536 if (n_fields == SYNTH_FIELDS_MAX)
10708db9327a6db Tom Zanussi 2020-12-14 1537 goto err;
10708db9327a6db Tom Zanussi 2020-12-14 1538
10708db9327a6db Tom Zanussi 2020-12-14 1539 ret = save_synth_field(argc - i,
&argv[i], &consumed,
10708db9327a6db Tom Zanussi 2020-12-14 1540 &s, &added_semi);
10708db9327a6db Tom Zanussi 2020-12-14 1541 if (ret)
10708db9327a6db Tom Zanussi 2020-12-14 1542 goto err;
10708db9327a6db Tom Zanussi 2020-12-14 1543
10708db9327a6db Tom Zanussi 2020-12-14 1544 if (added_semi)
10708db9327a6db Tom Zanussi 2020-12-14 1545 semis_added++;
10708db9327a6db Tom Zanussi 2020-12-14 1546
10708db9327a6db Tom Zanussi 2020-12-14 1547 i += consumed - 1;
10708db9327a6db Tom Zanussi 2020-12-14 1548 }
10708db9327a6db Tom Zanussi 2020-12-14 1549
10708db9327a6db Tom Zanussi 2020-12-14 1550 if (i < argc && strcmp(argv[i],
";") != 0)
10708db9327a6db Tom Zanussi 2020-12-14 1551 goto err;
10708db9327a6db Tom Zanussi 2020-12-14 1552
10708db9327a6db Tom Zanussi 2020-12-14 1553 if (!semis_added) {
10708db9327a6db Tom Zanussi 2020-12-14 1554 kfree(buf);
10708db9327a6db Tom Zanussi 2020-12-14 1555 buf = NULL;
10708db9327a6db Tom Zanussi 2020-12-14 1556 goto out;
10708db9327a6db Tom Zanussi 2020-12-14 1557 }
10708db9327a6db Tom Zanussi 2020-12-14 1558
10708db9327a6db Tom Zanussi 2020-12-14 1559 if
(WARN_ON_ONCE(!seq_buf_buffer_left(&s)))
10708db9327a6db Tom Zanussi 2020-12-14 1560 goto err;
10708db9327a6db Tom Zanussi 2020-12-14 1561
10708db9327a6db Tom Zanussi 2020-12-14 1562 buf[s.len] = '\0';
10708db9327a6db Tom Zanussi 2020-12-14 1563 out:
10708db9327a6db Tom Zanussi 2020-12-14 @1564 argv_free(save_argv);
^^^^^^^^^^^^^^^^^^^
10708db9327a6db Tom Zanussi 2020-12-14 1565
10708db9327a6db Tom Zanussi 2020-12-14 @1566 return buf;
^^^^^^^^^^
10708db9327a6db Tom Zanussi 2020-12-14 1567 err:
10708db9327a6db Tom Zanussi 2020-12-14 1568 kfree(buf);
10708db9327a6db Tom Zanussi 2020-12-14 1569 buf = ERR_PTR(ret);
10708db9327a6db Tom Zanussi 2020-12-14 1570
10708db9327a6db Tom Zanussi 2020-12-14 1571 goto out;
10708db9327a6db Tom Zanussi 2020-12-14 1572 }
10708db9327a6db Tom Zanussi 2020-12-14 1573
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
_______________________________________________
kbuild mailing list -- kbuild(a)lists.01.org
To unsubscribe send an email to kbuild-leave(a)lists.01.org