Oops, for sparc64 and ppc64, we have to check the CONFIG_GENERIC_BUG...

On Mon, 2 Sep 2019 23:48:41 +0800
kbuild test robot <[email protected]> wrote:

> Hi Masami,
> 
> I love your patch! Yet something to improve:
> 
> [auto build test ERROR on linus/master]
> [cannot apply to v5.3-rc6 next-20190902]
> [if your patch is applied to the wrong git tree, please drop us a note to 
> help improve the system]
> 
> url:    
> https://github.com/0day-ci/linux/commits/Masami-Hiramatsu/kprobes-Prohibit-probing-on-BUG-and-WARN-address/20190902-211736
> config: sparc64-allmodconfig (attached as .config)
> compiler: sparc64-linux-gcc (GCC) 7.4.0
> reproduce:
>         wget 
> https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
> ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # save the attached .config to linux build tree
>         GCC_VERSION=7.4.0 make.cross ARCH=sparc64 
> 
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <[email protected]>
> 
> All errors (new ones prefixed by >>):
> 
>    kernel/kprobes.c: In function 'check_kprobe_address_safe':
> >> kernel/kprobes.c:1518:6: error: implicit declaration of function 
> >> 'find_bug'; did you mean 'find_vma'? 
> >> [-Werror=implicit-function-declaration]
>          find_bug(p->addr)) {
>          ^~~~~~~~
>          find_vma
>    cc1: some warnings being treated as errors
> 
> vim +1518 kernel/kprobes.c
> 
>   1502        
>   1503        static int check_kprobe_address_safe(struct kprobe *p,
>   1504                                             struct module **probed_mod)
>   1505        {
>   1506                int ret;
>   1507        
>   1508                ret = arch_check_ftrace_location(p);
>   1509                if (ret)
>   1510                        return ret;
>   1511                jump_label_lock();
>   1512                preempt_disable();
>   1513        
>   1514                /* Ensure it is not in reserved area nor out of text */
>   1515                if (!kernel_text_address((unsigned long) p->addr) ||
>   1516                    within_kprobe_blacklist((unsigned long) p->addr) ||
>   1517                    jump_label_text_reserved(p->addr, p->addr) ||
> > 1518                    find_bug(p->addr)) {
>   1519                        ret = -EINVAL;
>   1520                        goto out;
>   1521                }
>   1522        
>   1523                /* Check if are we probing a module */
>   1524                *probed_mod = __module_text_address((unsigned long) 
> p->addr);
>   1525                if (*probed_mod) {
>   1526                        /*
>   1527                         * We must hold a refcount of the probed module 
> while updating
>   1528                         * its code to prohibit unexpected unloading.
>   1529                         */
>   1530                        if (unlikely(!try_module_get(*probed_mod))) {
>   1531                                ret = -ENOENT;
>   1532                                goto out;
>   1533                        }
>   1534        
>   1535                        /*
>   1536                         * If the module freed .init.text, we couldn't 
> insert
>   1537                         * kprobes in there.
>   1538                         */
>   1539                        if (within_module_init((unsigned long)p->addr, 
> *probed_mod) &&
>   1540                            (*probed_mod)->state != 
> MODULE_STATE_COMING) {
>   1541                                module_put(*probed_mod);
>   1542                                *probed_mod = NULL;
>   1543                                ret = -ENOENT;
>   1544                        }
>   1545                }
>   1546        out:
>   1547                preempt_enable();
>   1548                jump_label_unlock();
>   1549        
>   1550                return ret;
>   1551        }
>   1552        
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation


-- 
Masami Hiramatsu <[email protected]>

Reply via email to