mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] 7: 2.5.29-mmap
@ 2002-08-03 18:16 Russell King
  0 siblings, 0 replies; only message in thread
From: Russell King @ 2002-08-03 18:16 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel

This patch has been verified to apply cleanly to 2.5.30

This patch goes back almost 2 years.  First sent on: 30 September 2000
Ignored every time.

The following patch is required so that munmap(0x8000, *) does not cause
ARM kernels to crash.  The problem is that the machine vectors are at
virtual address 0.  Unfortunately, when free_pgtables() is called, it
clears first level page tables starting at 0 in this case, and takes
out the machine vectors.  This then results in an unrecoverable hang.

We already have FIRST_USER_PGD_NR to define the first entry in the pgd
which may be cleared, so we use this to clamp "start_index"
appropriately.  The following patch does this.  Tested on ARM.

 mm/mmap.c |    2 ++
 1 files changed, 2 insertions

diff -urN orig/mm/mmap.c linux/mm/mmap.c
--- orig/mm/mmap.c	Sat Jul 27 13:55:25 2002
+++ linux/mm/mmap.c	Sat Jul 27 14:14:43 2002
@@ -888,6 +888,8 @@
 	 * old method of shifting the VA >> by PGDIR_SHIFT doesn't work.
 	 */
 	start_index = pgd_index(first);
+	if (start_index < FIRST_USER_PGD_NR)
+		start_index = FIRST_USER_PGD_NR;
 	end_index = pgd_index(last);
 	if (end_index > start_index) {
 		clear_page_tables(tlb, start_index, end_index - start_index);


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-08-03 18:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-08-03 18:16 [PATCH] 7: 2.5.29-mmap Russell King

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

all inboxes | Powered by JetHome®