Re: [PATCH 2/2] kernel: sched: fix preempt_disable_ip recodring for preempt_disable()

From: kbuild test robot
Date: Thu Feb 11 2016 - 19:28:25 EST


Hi Sebastian,

[auto build test ERROR on tip/sched/core]
[also build test ERROR on v4.5-rc3 next-20160211]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url: https://github.com/0day-ci/linux/commits/Sebastian-Andrzej-Siewior/ftrace-move-the-CALLER_ADDRx-macros-into-its-own-header/20160212-072259
config: s390-allyesconfig (attached as .config)
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=s390

All errors (new ones prefixed by >>):

In file included from include/linux/ftrace_caller.h:4:0,
from include/linux/sched.h:62,
from include/linux/kvm_host.h:15,
from arch/s390/kernel/asm-offsets.c:10:
arch/s390/include/asm/ftrace.h: In function 'ftrace_generate_call_insn':
>> arch/s390/include/asm/ftrace.h:77:2: error: implicit declaration of function 'is_module_addr' [-Werror=implicit-function-declaration]
target = is_module_addr((void *) ip) ? ftrace_plt : FTRACE_ADDR;
^
In file included from include/linux/mm.h:67:0,
from include/linux/kvm_host.h:17,
from arch/s390/kernel/asm-offsets.c:10:
arch/s390/include/asm/pgtable.h: At top level:
>> arch/s390/include/asm/pgtable.h:120:19: error: static declaration of 'is_module_addr' follows non-static declaration
static inline int is_module_addr(void *addr)
^
In file included from include/linux/ftrace_caller.h:4:0,
from include/linux/sched.h:62,
from include/linux/kvm_host.h:15,
from arch/s390/kernel/asm-offsets.c:10:
arch/s390/include/asm/ftrace.h:77:11: note: previous implicit declaration of 'is_module_addr' was here
target = is_module_addr((void *) ip) ? ftrace_plt : FTRACE_ADDR;
^
cc1: some warnings being treated as errors
make[2]: *** [arch/s390/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [sub-make] Error 2

vim +/is_module_addr +77 arch/s390/include/asm/ftrace.h

e6d60b36 Heiko Carstens 2015-01-09 61 return 1;
e6d60b36 Heiko Carstens 2015-01-09 62 #else
c933146a Heiko Carstens 2014-10-15 63 if (insn->disp == MCOUNT_INSN_SIZE / 2)
c933146a Heiko Carstens 2014-10-15 64 return 1;
c933146a Heiko Carstens 2014-10-15 65 #endif
e6d60b36 Heiko Carstens 2015-01-09 66 #endif
c933146a Heiko Carstens 2014-10-15 67 return 0;
c933146a Heiko Carstens 2014-10-15 68 }
c933146a Heiko Carstens 2014-10-15 69
c933146a Heiko Carstens 2014-10-15 70 static inline void ftrace_generate_call_insn(struct ftrace_insn *insn,
c933146a Heiko Carstens 2014-10-15 71 unsigned long ip)
c933146a Heiko Carstens 2014-10-15 72 {
c933146a Heiko Carstens 2014-10-15 73 #ifdef CONFIG_FUNCTION_TRACER
c933146a Heiko Carstens 2014-10-15 74 unsigned long target;
10dec7db Heiko Carstens 2014-08-15 75
c933146a Heiko Carstens 2014-10-15 76 /* brasl r0,ftrace_caller */
c933146a Heiko Carstens 2014-10-15 @77 target = is_module_addr((void *) ip) ? ftrace_plt : FTRACE_ADDR;
c933146a Heiko Carstens 2014-10-15 78 insn->opc = 0xc005;
c933146a Heiko Carstens 2014-10-15 79 insn->disp = (target - ip) / 2;
c933146a Heiko Carstens 2014-10-15 80 #endif
c933146a Heiko Carstens 2014-10-15 81 }
c933146a Heiko Carstens 2014-10-15 82
c933146a Heiko Carstens 2014-10-15 83 #endif /* __ASSEMBLY__ */
5d360a75 Heiko Carstens 2008-12-25 84 #endif /* _ASM_S390_FTRACE_H */

:::::: The code at line 77 was first introduced by commit
:::::: c933146a5e41e42ea3eb4f34fa02e201da3f068e s390/ftrace,kprobes: allow to patch first instruction

:::::: TO: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
:::::: CC: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: Binary data