From e1714bdc080488aedca4766fdf24914015830369 Mon Sep 17 00:00:00 2001 From: Rabin Vincent Date: Wed, 14 Nov 2012 18:27:07 +0100 Subject: [PATCH] --- yaml --- r: 339048 b: refs/heads/master c: 65b6ecc03838fd263cf7fafdfa6cf13012b91d56 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/events/uprobes.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index fb20e538fac5..340a2f120bd1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 19f5ee2716373519fda2129e9333f4c3847aa742 +refs/heads/master: 65b6ecc03838fd263cf7fafdfa6cf13012b91d56 diff --git a/trunk/kernel/events/uprobes.c b/trunk/kernel/events/uprobes.c index 39c75cc51efc..5ce99cfd2e6e 100644 --- a/trunk/kernel/events/uprobes.c +++ b/trunk/kernel/events/uprobes.c @@ -1199,6 +1199,11 @@ static unsigned long xol_get_insn_slot(struct uprobe *uprobe, unsigned long slot vaddr = kmap_atomic(area->page); memcpy(vaddr + offset, uprobe->arch.insn, MAX_UINSN_BYTES); kunmap_atomic(vaddr); + /* + * We probably need flush_icache_user_range() but it needs vma. + * This should work on supported architectures too. + */ + flush_dcache_page(area->page); return current->utask->xol_vaddr; }