diff options
| author | Oleg Nesterov <oleg@redhat.com> | 2014-03-31 15:16:22 +0200 | 
|---|---|---|
| committer | Oleg Nesterov <oleg@redhat.com> | 2014-04-17 21:58:16 +0200 | 
| commit | ddb69f276c4af8bb47ad4f24a72f72ddf58c228a (patch) | |
| tree | 6d4daad064b45ec6be22199a84ffef9eccda25b5 /lib/timerqueue.c | |
| parent | 8a6b173287bb94b3ef8360119020e856afb1c934 (diff) | |
uprobes/x86: Fold prepare_fixups() into arch_uprobe_analyze_insn()
No functional changes, preparation.
Shift the code from prepare_fixups() to arch_uprobe_analyze_insn()
with the following modifications:
	- Do not call insn_get_opcode() again, it was already called
	  by validate_insn_bits().
	- Move "case 0xea" up. This way "case 0xff" can fall through
	  to default case.
	- change "case 0xff" to use the nested "switch (MODRM_REG)",
	  this way the code looks a bit simpler.
	- Make the comments look consistent.
While at it, kill the initialization of rip_rela_target_address and
->fixups, we can rely on kzalloc(). We will add the new members into
arch_uprobe, it would be better to assume that everything is zero by
default.
TODO: cleanup/fix the mess in validate_insn_bits() paths:
	- validate_insn_64bits() and validate_insn_32bits() should be
	  unified.
	- "ifdef" is not used consistently; if good_insns_64 depends
	  on CONFIG_X86_64, then probably good_insns_32 should depend
	  on CONFIG_X86_32/EMULATION
	- the usage of mm->context.ia32_compat looks wrong if the task
	  is TIF_X32.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Reviewed-by: Jim Keniston <jkenisto@us.ibm.com>
Acked-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Diffstat (limited to 'lib/timerqueue.c')
0 files changed, 0 insertions, 0 deletions
