From mboxrd@z Thu Jan 1 00:00:00 1970 From: oleg@redhat.com (Oleg Nesterov) Date: Wed, 14 Nov 2012 18:37:17 +0100 Subject: [PATCH 6/9] uprobes: flush cache after xol write In-Reply-To: <20121104142927.GA4087@in.ibm.com> References: <1350242593-17761-1-git-send-email-rabin@rab.in> <1350242593-17761-6-git-send-email-rabin@rab.in> <20121015165756.GA11737@redhat.com> <20121025145839.GB26929@redhat.com> <20121026055239.GA4862@in.ibm.com> <20121026163951.GA17742@redhat.com> <20121029053522.GC3400@in.ibm.com> <20121103163301.GA9496@redhat.com> <20121104142927.GA4087@in.ibm.com> Message-ID: <20121114173717.GA19466@redhat.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 11/04, Ananth N Mavinakayanahalli wrote: > > On Sat, Nov 03, 2012 at 05:33:01PM +0100, Oleg Nesterov wrote: > > > > [PATCH] uprobes: flush cache after xol write > > > > From: Rabin Vincent > > > > Flush the cache so that the instructions written to the XOL area are > > visible. > > > > Signed-off-by: Rabin Vincent > > Acked-by: Ananth N Mavinakayanahalli Thanks Ananth. I assume that Srikar and Rabin agree, applied as 65b6ecc038 > > > > --- x/kernel/events/uprobes.c > > +++ x/kernel/events/uprobes.c > > @@ -1199,6 +1199,11 @@ static unsigned long xol_get_insn_slot(s > > 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; > > }