[FIX] race condition with US tramps 38/19838/2
authorVasiliy Ulyanov <v.ulyanov@samsung.com>
Mon, 21 Apr 2014 12:30:49 +0000 (16:30 +0400)
committerVyacheslav Cherkashin <v.cherkashin@samsung.com>
Mon, 21 Apr 2014 13:58:26 +0000 (06:58 -0700)
Add flushing after writing trampoline into userspace

Change-Id: I20fafbe019eba7c8dc6369a00e72aeded39e15b7
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
uprobe/arch/asm-arm/swap_uprobes.c

index 7c72478..e46b4cc 100644 (file)
@@ -771,6 +771,7 @@ static int make_trampoline(struct uprobe *up, struct pt_regs *regs)
        if (!write_proc_vm_atomic(up->task, (unsigned long)utramp, tramp,
                                  UPROBES_TRAMP_LEN * sizeof(*tramp)))
                panic("failed to write memory %p!\n", utramp);
+       flush_insns(utramp, UPROBES_TRAMP_LEN * sizeof(*tramp));
 
        p->ainsn.insn = utramp;