CC: [email protected] CC: [email protected] TO: Jiri Olsa <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git kprobe/multi head: bc59262730d5cfc95d6cae84f247d2e8690a309b commit: 9ea9f7bc2b16659a9932cc80aed62216856c111e [4/13] kprobe: Add support to register multiple ftrace kprobes :::::: branch date: 26 hours ago :::::: commit date: 26 hours ago config: i386-randconfig-m021-20211228 (https://download.01.org/0day-ci/archive/20211229/[email protected]/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> smatch warnings: kernel/kprobes.c:1685 check_ftrace_multi() error: uninitialized symbol 'err'. vim +/err +1685 kernel/kprobes.c 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1645 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1646 static int check_ftrace_multi(struct kprobe *p) 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1647 { 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1648 kprobe_opcode_t **addrs = p->multi.addrs; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1649 const char **symbols = p->multi.symbols; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1650 unsigned int i, cnt = p->multi.cnt; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1651 unsigned long addr, *ips; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1652 int err; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1653 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1654 if ((symbols && addrs) || (!symbols && !addrs)) 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1655 return -EINVAL; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1656 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1657 /* do we want sysctl for this? */ 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1658 if (cnt >= 20000) 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1659 return -E2BIG; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1660 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1661 ips = kmalloc(sizeof(*ips) * cnt, GFP_KERNEL); 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1662 if (!ips) 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1663 return -ENOMEM; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1664 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1665 for (i = 0; i < cnt; i++) { 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1666 if (symbols) 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1667 addr = (unsigned long) kprobe_lookup_name(symbols[i], 0); 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1668 else 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1669 addr = (unsigned long) addrs[i]; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1670 ips[i] = addr; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1671 } 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1672 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1673 jump_label_lock(); 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1674 preempt_disable(); 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1675 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1676 for (i = 0; i < cnt; i++) { 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1677 err = check_ftrace_addr(ips[i]); 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1678 if (err) 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1679 break; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1680 } 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1681 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1682 preempt_enable(); 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1683 jump_label_unlock(); 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1684 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 @1685 if (err) 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1686 goto out; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1687 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1688 err = ftrace_set_filter_ips(&p->multi.ops, ips, cnt, 0, 0); 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1689 if (err) 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1690 goto out; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1691 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1692 p->multi.ops.func = kprobe_ftrace_multi_handler; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1693 p->multi.ops.flags = FTRACE_OPS_FL_SAVE_REGS|FTRACE_OPS_FL_DYNAMIC; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1694 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1695 p->flags |= KPROBE_FLAG_MULTI|KPROBE_FLAG_FTRACE; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1696 if (p->post_handler) 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1697 p->multi.ops.flags |= FTRACE_OPS_FL_IPMODIFY; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1698 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1699 out: 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1700 kfree(ips); 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1701 return err; 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1702 } 9ea9f7bc2b1665 Jiri Olsa 2021-12-12 1703 --- 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]
