Recap: Kernel oops while duming user core.

Fredrik Arnerup fredrik.arnerup at edgeware.tv
Tue Apr 7 19:09:54 EST 2009


> -----Original Message-----
> From: Scott Wood [mailto:scottwood at freescale.com] 
> Sent: Monday, April 06, 2009 8:27 PM
> To: Fredrik Arnerup
> Cc: linuxppc-dev at ozlabs.org
> Subject: Re: Recap: Kernel oops while duming user core.
>
> On Mon, Apr 06, 2009 at 05:23:12PM +0200, Fredrik Arnerup wrote:
> > Was the kernel oops when dumping core ever resolved?
> > (http://ozlabs.org/pipermail/linuxppc-dev/2008-February/051080.html,
quoted
> > below)
> 
> What was the cause? Is there a patch? A bug tracker ticket?
>
> It was fixed here:
> http://ozlabs.org/pipermail/linuxppc-dev/2008-February/051350.html
>
> > Using ELDK here, so still running 2.6.24 ...
>
> Please consider upgrading.
>
> -Scott

Thanks! Works with the ppc arch too.

/Fredrik


--- a/arch/ppc/mm/init.c
+++ b/arch/ppc/mm/init.c
@@ -483,7 +483,12 @@ void update_mmu_cache(struct vm_area_struct *vma,
unsigned long address,
                 */
                _tlbie(address, 0 /* 8xx doesn't care about PID */);
 #endif
-               if (!PageReserved(page)
+               /* The _PAGE_USER test should really be _PAGE_EXEC, but
+                * older glibc versions execute some code from no-exec
+                * pages, which for now we are supporting.  If exec-only
+                * pages are ever implemented, this will have to change.
+                */
+               if (!PageReserved(page) && (pte_val(pte) & _PAGE_USER)
                    && !test_bit(PG_arch_1, &page->flags)) {
                        if (vma->vm_mm == current->active_mm) {
                                __flush_dcache_icache((void *) address);





More information about the Linuxppc-dev mailing list