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]

Reply via email to