All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Jiri Olsa <jolsa@kernel.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [RFC PATCH 3/8] uprobe/x86: Add support to emulate mov reg,reg instructions
Date: Thu, 20 Nov 2025 19:50:14 +0800	[thread overview]
Message-ID: <202511201932.iuDaTkGE-lkp@intel.com> (raw)
In-Reply-To: <20251117124057.687384-4-jolsa@kernel.org>

Hi Jiri,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:

[auto build test ERROR on tip/x86/core]
[also build test ERROR on bpf-next/net bpf-next/master bpf/master linus/master v6.18-rc6 next-20251119]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Jiri-Olsa/uprobe-x86-Introduce-struct-arch_uprobe_xol-object/20251117-205911
base:   tip/x86/core
patch link:    https://lore.kernel.org/r/20251117124057.687384-4-jolsa%40kernel.org
patch subject: [RFC PATCH 3/8] uprobe/x86: Add support to emulate mov reg,reg instructions
config: x86_64-buildonly-randconfig-6003-20251120 (https://download.01.org/0day-ci/archive/20251120/202511201932.iuDaTkGE-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251120/202511201932.iuDaTkGE-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511201932.iuDaTkGE-lkp@intel.com/

All errors (new ones prefixed by >>):

>> arch/x86/kernel/uprobes.c:1600:39: error: too few arguments to function call, expected 2, have 1
    1600 |         off_src = insn_get_modrm_reg_off(insn);
         |                   ~~~~~~~~~~~~~~~~~~~~~~     ^
   arch/x86/include/asm/insn-eval.h:23:5: note: 'insn_get_modrm_reg_off' declared here
      23 | int insn_get_modrm_reg_off(struct insn *insn, struct pt_regs *regs);
         |     ^                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kernel/uprobes.c:1603:38: error: too few arguments to function call, expected 2, have 1
    1603 |         off_dst = insn_get_modrm_rm_off(insn);
         |                   ~~~~~~~~~~~~~~~~~~~~~     ^
   arch/x86/include/asm/insn-eval.h:22:5: note: 'insn_get_modrm_rm_off' declared here
      22 | int insn_get_modrm_rm_off(struct insn *insn, struct pt_regs *regs);
         |     ^                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   2 errors generated.


vim +1600 arch/x86/kernel/uprobes.c

  1580	
  1581	#ifdef CONFIG_X86_64
  1582	/* Returns -ENOSYS if mov_xol_ops doesn't handle this insn */
  1583	static int mov_setup_xol_ops(struct arch_uprobe_xol *xol, struct insn *insn)
  1584	{
  1585		u8 opc1 = OPCODE1(insn);
  1586		int off_src, off_dst;
  1587	
  1588		/* validate opcode */
  1589		if (opc1 != 0x89)
  1590			return -ENOSYS;
  1591		if (insn->rex_prefix.nbytes != 1 ||
  1592		    insn->rex_prefix.bytes[0] != 0x48)
  1593			return -ENOSYS;
  1594	
  1595		/* only register operands */
  1596		if (X86_MODRM_MOD(insn->modrm.value) != 3)
  1597			return -ENOSYS;
  1598	
  1599		/* get registers offset */
> 1600		off_src = insn_get_modrm_reg_off(insn);
  1601		if (off_src < 0)
  1602			return off_src;
  1603		off_dst = insn_get_modrm_rm_off(insn);
  1604		if (off_dst < 0)
  1605			return off_dst;
  1606	
  1607		xol->mov.src = off_src;
  1608		xol->mov.dst = off_dst;
  1609		xol->mov.ilen = insn->length;
  1610		xol->ops = &mov_xol_ops;
  1611		return 0;
  1612	}
  1613	#else
  1614	static int mov_setup_xol_ops(struct arch_uprobe_xol *xol, struct insn *insn)
  1615	{
  1616		return -ENOSYS;
  1617	}
  1618	#endif
  1619	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  reply	other threads:[~2025-11-20 11:51 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-17 12:40 [RFC PATCH 0/8] uprobe/x86: Add support to optimize prologue Jiri Olsa
2025-11-17 12:40 ` [RFC PATCH 1/8] uprobe/x86: Introduce struct arch_uprobe_xol object Jiri Olsa
2025-11-17 12:40 ` [RFC PATCH 2/8] uprobe/x86: Use struct arch_uprobe_xol in emulate callback Jiri Olsa
2025-11-17 12:40 ` [RFC PATCH 3/8] uprobe/x86: Add support to emulate mov reg,reg instructions Jiri Olsa
2025-11-20 11:50   ` kernel test robot [this message]
2025-11-17 12:40 ` [RFC PATCH 4/8] uprobe/x86: Add support to emulate sub imm,reg instructions Jiri Olsa
2025-11-17 12:40 ` [RFC PATCH 5/8] uprobe/x86: Add support to optimize on top of emulated instructions Jiri Olsa
2025-11-24 18:01   ` Oleg Nesterov
2025-11-26  7:54     ` Jiri Olsa
2025-11-17 12:40 ` [RFC PATCH 6/8] selftests/bpf: Add test for mov and sub emulation Jiri Olsa
2025-11-17 12:40 ` [RFC PATCH 7/8] selftests/bpf: Add test for uprobe prologue optimization Jiri Olsa
2025-11-17 12:40 ` [RFC PATCH 8/8] selftests/bpf: Add race test for uprobe proglog optimization Jiri Olsa
2025-11-24 18:12 ` [RFC PATCH 0/8] uprobe/x86: Add support to optimize prologue Oleg Nesterov
2025-12-08  6:30   ` Masami Hiramatsu
2025-12-08 10:29     ` Oleg Nesterov
2025-12-07 22:23 ` Jiri Olsa

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=202511201932.iuDaTkGE-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=jolsa@kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /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.