From: kernel test robot <lkp@intel.com>
To: Masami Hiramatsu <mhiramat@kernel.org>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Ingo Molnar <mingo@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [linux-stable-rc:queue/4.19 3886/9999] arch/ia64/kernel/kprobes.c:414:24: error: implicit declaration of function '__kretprobe_trampoline_handler'; did you mean 'kretprobe_trampoline'?
Date: Wed, 13 Apr 2022 01:59:56 +0800 [thread overview]
Message-ID: <202204130102.JZPa6KCQ-lkp@intel.com> (raw)
Hi Masami,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git queue/4.19
head: bdfbd5df0daf1748bef4501ce255ce594ee8d55f
commit: d3380de483d55d904fb94a241406b34ed2fada7d [3886/9999] ia64: kprobes: Use generic kretprobe trampoline handler
config: ia64-allyesconfig (https://download.01.org/0day-ci/archive/20220413/202204130102.JZPa6KCQ-lkp@intel.com/config)
compiler: ia64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=d3380de483d55d904fb94a241406b34ed2fada7d
git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git fetch --no-tags linux-stable-rc queue/4.19
git checkout d3380de483d55d904fb94a241406b34ed2fada7d
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=ia64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
arch/ia64/kernel/kprobes.c: In function 'get_kprobe_inst':
arch/ia64/kernel/kprobes.c:338:22: warning: variable 'template' set but not used [-Wunused-but-set-variable]
338 | unsigned int template;
| ^~~~~~~~
arch/ia64/kernel/kprobes.c: At top level:
arch/ia64/kernel/kprobes.c:412:15: warning: no previous prototype for 'trampoline_probe_handler' [-Wmissing-prototypes]
412 | int __kprobes trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs)
| ^~~~~~~~~~~~~~~~~~~~~~~~
arch/ia64/kernel/kprobes.c: In function 'trampoline_probe_handler':
>> arch/ia64/kernel/kprobes.c:414:24: error: implicit declaration of function '__kretprobe_trampoline_handler'; did you mean 'kretprobe_trampoline'? [-Werror=implicit-function-declaration]
414 | regs->cr_iip = __kretprobe_trampoline_handler(regs, kretprobe_trampoline, NULL);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| kretprobe_trampoline
At top level:
arch/ia64/kernel/kprobes.c:928:13: warning: 'ia64_get_bsp_cfm' defined but not used [-Wunused-function]
928 | static void ia64_get_bsp_cfm(struct unw_frame_info *info, void *arg)
| ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for FRAME_POINTER
Depends on DEBUG_KERNEL && (M68K || UML || SUPERH) || ARCH_WANT_FRAME_POINTERS
Selected by
- FAULT_INJECTION_STACKTRACE_FILTER && FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT && !X86_64 && !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM_UNWIND && !ARC && !X86
vim +414 arch/ia64/kernel/kprobes.c
333
334 static void __kprobes get_kprobe_inst(bundle_t *bundle, uint slot,
335 unsigned long *kprobe_inst, uint *major_opcode)
336 {
337 unsigned long kprobe_inst_p0, kprobe_inst_p1;
> 338 unsigned int template;
339
340 template = bundle->quad0.template;
341
342 switch (slot) {
343 case 0:
344 *major_opcode = (bundle->quad0.slot0 >> SLOT0_OPCODE_SHIFT);
345 *kprobe_inst = bundle->quad0.slot0;
346 break;
347 case 1:
348 *major_opcode = (bundle->quad1.slot1_p1 >> SLOT1_p1_OPCODE_SHIFT);
349 kprobe_inst_p0 = bundle->quad0.slot1_p0;
350 kprobe_inst_p1 = bundle->quad1.slot1_p1;
351 *kprobe_inst = kprobe_inst_p0 | (kprobe_inst_p1 << (64-46));
352 break;
353 case 2:
354 *major_opcode = (bundle->quad1.slot2 >> SLOT2_OPCODE_SHIFT);
355 *kprobe_inst = bundle->quad1.slot2;
356 break;
357 }
358 }
359
360 /* Returns non-zero if the addr is in the Interrupt Vector Table */
361 static int __kprobes in_ivt_functions(unsigned long addr)
362 {
363 return (addr >= (unsigned long)__start_ivt_text
364 && addr < (unsigned long)__end_ivt_text);
365 }
366
367 static int __kprobes valid_kprobe_addr(int template, int slot,
368 unsigned long addr)
369 {
370 if ((slot > 2) || ((bundle_encoding[template][1] == L) && slot > 1)) {
371 printk(KERN_WARNING "Attempting to insert unaligned kprobe "
372 "at 0x%lx\n", addr);
373 return -EINVAL;
374 }
375
376 if (in_ivt_functions(addr)) {
377 printk(KERN_WARNING "Kprobes can't be inserted inside "
378 "IVT functions at 0x%lx\n", addr);
379 return -EINVAL;
380 }
381
382 return 0;
383 }
384
385 static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb)
386 {
387 unsigned int i;
388 i = atomic_add_return(1, &kcb->prev_kprobe_index);
389 kcb->prev_kprobe[i-1].kp = kprobe_running();
390 kcb->prev_kprobe[i-1].status = kcb->kprobe_status;
391 }
392
393 static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb)
394 {
395 unsigned int i;
396 i = atomic_read(&kcb->prev_kprobe_index);
397 __this_cpu_write(current_kprobe, kcb->prev_kprobe[i-1].kp);
398 kcb->kprobe_status = kcb->prev_kprobe[i-1].status;
399 atomic_sub(1, &kcb->prev_kprobe_index);
400 }
401
402 static void __kprobes set_current_kprobe(struct kprobe *p,
403 struct kprobe_ctlblk *kcb)
404 {
405 __this_cpu_write(current_kprobe, p);
406 }
407
408 static void kretprobe_trampoline(void)
409 {
410 }
411
412 int __kprobes trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs)
413 {
> 414 regs->cr_iip = __kretprobe_trampoline_handler(regs, kretprobe_trampoline, NULL);
415 /*
416 * By returning a non-zero value, we are telling
417 * kprobe_handler() that we don't want the post_handler
418 * to run (and have re-enabled preemption)
419 */
420 return 1;
421 }
422
--
0-DAY CI Kernel Test Service
https://01.org/lkp
next reply other threads:[~2022-04-12 18:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-12 17:59 kernel test robot [this message]
2022-04-22 13:13 ` [linux-stable-rc:queue/4.19 3886/9999] arch/ia64/kernel/kprobes.c:414:24: error: implicit declaration of function '__kretprobe_trampoline_handler'; did you mean 'kretprobe_trampoline'? Masami Hiramatsu
2022-04-22 13:13 ` Masami Hiramatsu
2022-04-25 15:54 ` Greg Kroah-Hartman
2022-04-25 15:54 ` Greg Kroah-Hartman
2022-04-26 6:47 ` Masami Hiramatsu
2022-04-26 6:47 ` Masami Hiramatsu
2022-04-26 14:25 ` [PATCH 4.19.y 0/3] ia64: kprobes: Fix build error on ia64 Masami Hiramatsu
2022-04-26 14:26 ` [PATCH 4.19.y 1/3] Revert "ia64: kprobes: Fix to pass correct trampoline address to the handler" Masami Hiramatsu
2022-04-26 14:26 ` [PATCH 4.19.y 2/3] Revert "ia64: kprobes: Use generic kretprobe trampoline handler" Masami Hiramatsu
2022-04-26 14:26 ` [PATCH 4.19.y 3/3] ia64: kprobes: Fix to pass correct trampoline address to the handler Masami Hiramatsu
2022-04-29 8:58 ` [PATCH 4.19.y 0/3] ia64: kprobes: Fix build error on ia64 Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202204130102.JZPa6KCQ-lkp@intel.com \
--to=lkp@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mhiramat@kernel.org \
--cc=mingo@kernel.org \
--cc=sashal@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.