[SPARC]: Fix exec failures on sun4c.
authorMark Fortescue <mark@mtfhpc.demon.co.uk>
Tue, 31 Jul 2007 09:03:11 +0000 (02:03 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 31 Jul 2007 09:03:11 +0000 (02:03 -0700)
This deals with a sun4c issue caused by commit b6a2fea39318e43fee84fa7b0b90d68bed92d2ba:
mm: variable length argument support.

The new way the code works means that sun4c_update_mmu_cache gets
called before a context has been selected, which results in invalid
operation of the underling mm code.

Simply ignoring update requests when there is no valid context solves
the problem.

Signed-off-by Mark Fortescue <mark@mtfhpc.demon.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/mm/sun4c.c

index a57a366..79d60d8 100644 (file)
@@ -1999,6 +1999,9 @@ void sun4c_update_mmu_cache(struct vm_area_struct *vma, unsigned long address, p
        unsigned long flags;
        int pseg;
 
+       if (vma->vm_mm->context == NO_CONTEXT)
+               return;
+
        local_irq_save(flags);
        address &= PAGE_MASK;
        if ((pseg = sun4c_get_segmap(address)) == invalid_segment) {