From: Dmitry Kovalenko Date: Tue, 10 Jul 2012 06:51:20 +0000 (+0400) Subject: Fixed ARM/THUMB instructions safe checking (#372) X-Git-Tag: accepted/tizen/mobile/20160407.001200~910 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6f860b5b29b62c71dae0072a685dfc962c5a2c70;p=platform%2Fkernel%2Fswap-modules.git Fixed ARM/THUMB instructions safe checking (#372) --- diff --git a/kprobe/dbi_kprobes.c b/kprobe/dbi_kprobes.c index 11ff910..669c548 100644 --- a/kprobe/dbi_kprobes.c +++ b/kprobe/dbi_kprobes.c @@ -366,6 +366,10 @@ void copy_kprobe (struct kprobe *old_p, struct kprobe *p) memcpy (&p->ainsn, &old_p->ainsn, sizeof (struct arch_specific_insn)); p->tgid = old_p->tgid; p->ss_addr = old_p->ss_addr; +#ifdef CONFIG_ARM + p->safe_arm = old_p->safe_arm; + p->safe_thumb = old_p->safe_thumb; +#endif //p->spid = old_p->spid; } diff --git a/kprobe/dbi_uprobes.c b/kprobe/dbi_uprobes.c index 1007c71..d2bf5bf 100644 --- a/kprobe/dbi_uprobes.c +++ b/kprobe/dbi_uprobes.c @@ -78,6 +78,10 @@ int __register_uprobe (struct kprobe *p, struct task_struct *task, int atomic, u old_p = get_kprobe (p->addr, p->tgid, NULL); if (old_p) { +#ifdef CONFIG_ARM + p->safe_arm = old_p->safe_arm; + p->safe_thumb = old_p->safe_thumb; +#endif ret = register_aggr_kprobe (old_p, p); if (!ret) { atomic_inc (&kprobe_count);