linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [bcrl@redhat.com: [PATCH] 2.4.19-pre8 vm86 smp locking fix]
@ 2002-05-23 20:57 Benjamin LaHaise
  2002-05-23 22:33 ` William Lee Irwin III
  0 siblings, 1 reply; 2+ messages in thread
From: Benjamin LaHaise @ 2002-05-23 20:57 UTC (permalink / raw)
  To: linux-mm

----- Forwarded message from Benjamin LaHaise <bcrl@redhat.com> -----

Subject: [PATCH] 2.4.19-pre8 vm86 smp locking fix
From: Benjamin LaHaise <bcrl@redhat.com>
To: Linux Kernel <linux-kernel@vger.kernel.org>, linux-mm@redhat.com
Date: Thu, 23 May 2002 16:51:05 -0400

arch/i386/kernel/vm86.c performs page table operations without obtaining 
any locks.  This patch obtains page_table_lock around the the table walk 
and modification.

		-ben
-- 
"You will be reincarnated as a toad; and you will be much happier."


diff -urN v2.4.19-pre8/arch/i386/kernel/vm86.c work/arch/i386/kernel/vm86.c
--- v2.4.19-pre8/arch/i386/kernel/vm86.c	Thu Mar  7 16:39:56 2002
+++ work/arch/i386/kernel/vm86.c	Thu May 23 16:21:38 2002
@@ -97,21 +97,22 @@
 	pte_t *pte;
 	int i;
 
+	spin_lock(&tsk->mm->page_table_lock);
 	pgd = pgd_offset(tsk->mm, 0xA0000);
 	if (pgd_none(*pgd))
-		return;
+		goto out;
 	if (pgd_bad(*pgd)) {
 		pgd_ERROR(*pgd);
 		pgd_clear(pgd);
-		return;
+		goto out;
 	}
 	pmd = pmd_offset(pgd, 0xA0000);
 	if (pmd_none(*pmd))
-		return;
+		goto out;
 	if (pmd_bad(*pmd)) {
 		pmd_ERROR(*pmd);
 		pmd_clear(pmd);
-		return;
+		goto out;
 	}
 	pte = pte_offset(pmd, 0xA0000);
 	for (i = 0; i < 32; i++) {
@@ -119,6 +120,8 @@
 			set_pte(pte, pte_wrprotect(*pte));
 		pte++;
 	}
+out:
+	spin_unlock(&tsk->mm->page_table_lock);
 	flush_tlb();
 }
 

----- End forwarded message -----

-- 
"You will be reincarnated as a toad; and you will be much happier."
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [bcrl@redhat.com: [PATCH] 2.4.19-pre8 vm86 smp locking fix]
  2002-05-23 20:57 [bcrl@redhat.com: [PATCH] 2.4.19-pre8 vm86 smp locking fix] Benjamin LaHaise
@ 2002-05-23 22:33 ` William Lee Irwin III
  0 siblings, 0 replies; 2+ messages in thread
From: William Lee Irwin III @ 2002-05-23 22:33 UTC (permalink / raw)
  To: Benjamin LaHaise; +Cc: linux-mm

On Thu, May 23, 2002 at 04:57:36PM -0400, Benjamin LaHaise wrote:
> arch/i386/kernel/vm86.c performs page table operations without obtaining 
> any locks.  This patch obtains page_table_lock around the the table walk 
> and modification.

Looks correct to me; IMHO it should be applied.


Cheers,
Bill
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-05-23 22:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-05-23 20:57 [bcrl@redhat.com: [PATCH] 2.4.19-pre8 vm86 smp locking fix] Benjamin LaHaise
2002-05-23 22:33 ` William Lee Irwin III

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox