Messages in this thread | | | Subject | Re: [PATCH] uprobes: use BX register for rip-relative fixups, not AX | From | Jim Keniston <> | Date | Wed, 30 Apr 2014 17:29:58 -0700 |
| |
On Mon, 2014-04-28 at 19:06 +0200, Denys Vlasenko wrote: > Otherwise, instructions such as cmpxchg and div will be mishandled. > > Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com> > CC: Jim Keniston <jkenisto@us.ibm.com> > CC: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> > CC: Srikar Dronamraju <srikar@linux.vnet.ibm.com> > CC: Ingo Molnar <mingo@kernel.org> > CC: Oleg Nesterov <oleg@redhat.com> > --- > arch/x86/kernel/uprobes.c | 57 ++++++++++++++++++++++++++++++----------------- > 1 file changed, 37 insertions(+), 20 deletions(-) > > diff --git a/arch/x86/kernel/uprobes.c b/arch/x86/kernel/uprobes.c ... > @@ -296,41 +296,58 @@ static void riprel_analyze(struct arch_uprobe *auprobe, struct insn *insn) > */ > cursor = auprobe->insn + insn_offset_modrm(insn); > /* > - * Convert from rip-relative addressing to register-relative addressing > - * via a scratch register. > + * Convert from rip-relative addressing > + * to register-relative addressing via a scratch register. > */
This comment looks like a regression. :-)
Looks good otherwise (setting aside your later findings about cmpxchg8b and such -- I guess we need some way to helpfully reject rip-relative forms of such instructions).
Reviewed-by: Jim Keniston <jkenisto@us.ibm.com>
| |