Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da4e9fea85ea42c9c6ce163a85d5164efbec31a2
Commit:     da4e9fea85ea42c9c6ce163a85d5164efbec31a2
Parent:     2fa3195d72f7d0cfb4dcb2b0dfa265ed0fa5cfa3
Author:     Mark Fortescue <[EMAIL PROTECTED]>
AuthorDate: Tue Jul 31 02:03:11 2007 -0700
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Tue Jul 31 02:03:11 2007 -0700

    [SPARC]: Fix exec failures on sun4c.
    
    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 <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 arch/sparc/mm/sun4c.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/sparc/mm/sun4c.c b/arch/sparc/mm/sun4c.c
index a57a366..79d60d8 100644
--- a/arch/sparc/mm/sun4c.c
+++ b/arch/sparc/mm/sun4c.c
@@ -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) {
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to