All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Richard Moser <nigelenki@comcast.net>
To: John Richard Moser <nigelenki@comcast.net>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [REPOST][PATCH][RFC] Clean-up:  TASK_UNMAPPED_BASE and mmap_base
Date: Thu, 08 Jun 2006 12:09:16 -0400	[thread overview]
Message-ID: <44884BAC.7050909@comcast.net> (raw)
In-Reply-To: <44862CE3.7040406@comcast.net>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Reposting this with the attachment inline.

John Richard Moser wrote:
> This patch applies to 2.6.17-rc6 to replace several occurrences of
> TASK_UNMAPPED_BASE with current->mm->mmap_base, mm->mmap_base, or base,
> as appropriate.
> 
> I am not entirely sure what all of the code I messed with is doing, to
> be quite honest.  Code that seemed to be initializing a task and setting
> up the mmap() base I left with TASK_UNMAPPED_BASE; code that seemed to
> be trying to figure out what the mmap() base was I replaced with
> mm->mmap_base.
> 
> Because of this, I may have made a couple errors.  Could I get some
> comments on whether any of this is dirty and why?  I'll make appropriate
> changes and re-submit.  This only took 2 hours anyway.
> 
> 
> 
> ------------------------------------------------------------------------
diff -urNp linux-2.6.17-rc6/arch/alpha/kernel/osf_sys.c linux-2.6.17-rc6-fix_tub/arch/alpha/kernel/osf_sys.c
- --- linux-2.6.17-rc6/arch/alpha/kernel/osf_sys.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/arch/alpha/kernel/osf_sys.c	2006-06-06 20:20:27.000000000 -0400
@@ -1279,8 +1279,8 @@ arch_get_unmapped_area(struct file *filp
 			return addr;
 	}

- -	/* Next, try allocating at TASK_UNMAPPED_BASE.  */
- -	addr = arch_get_unmapped_area_1 (PAGE_ALIGN(TASK_UNMAPPED_BASE),
+	/* Next, try allocating at current->mm->mmap_base.  */
+	addr = arch_get_unmapped_area_1 (PAGE_ALIGN(current->mm->mmap_base),
 					 len, limit);
 	if (addr != (unsigned long) -ENOMEM)
 		return addr;
diff -urNp linux-2.6.17-rc6/arch/arm/mm/mmap.c linux-2.6.17-rc6-fix_tub/arch/arm/mm/mmap.c
- --- linux-2.6.17-rc6/arch/arm/mm/mmap.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/arch/arm/mm/mmap.c	2006-06-06 20:31:59.000000000 -0400
@@ -76,7 +76,7 @@ arch_get_unmapped_area(struct file *filp
 	if (len > mm->cached_hole_size) {
 	        start_addr = addr = mm->free_area_cache;
 	} else {
- -	        start_addr = addr = TASK_UNMAPPED_BASE;
+	        start_addr = addr = mm->mmap_base;
 	        mm->cached_hole_size = 0;
 	}

@@ -93,8 +93,8 @@ full_search:
 			 * Start a new search - just in case we missed
 			 * some holes.
 			 */
- -			if (start_addr != TASK_UNMAPPED_BASE) {
- -				start_addr = addr = TASK_UNMAPPED_BASE;
+			if (start_addr != mm->mmap_base) {
+				start_addr = addr = mm->mmap_base;
 				mm->cached_hole_size = 0;
 				goto full_search;
 			}
diff -urNp linux-2.6.17-rc6/arch/i386/mm/hugetlbpage.c linux-2.6.17-rc6-fix_tub/arch/i386/mm/hugetlbpage.c
- --- linux-2.6.17-rc6/arch/i386/mm/hugetlbpage.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/arch/i386/mm/hugetlbpage.c	2006-06-06 20:44:53.000000000 -0400
@@ -126,7 +126,7 @@ static unsigned long hugetlb_get_unmappe
 	if (len > mm->cached_hole_size) {
 	        start_addr = mm->free_area_cache;
 	} else {
- -	        start_addr = TASK_UNMAPPED_BASE;
+	        start_addr = mm->mmap_base;
 	        mm->cached_hole_size = 0;
 	}

@@ -140,8 +140,8 @@ full_search:
 			 * Start a new search - just in case we missed
 			 * some holes.
 			 */
- -			if (start_addr != TASK_UNMAPPED_BASE) {
- -				start_addr = TASK_UNMAPPED_BASE;
+			if (start_addr != mm->mmap_base) {
+				start_addr = mm->mmap_base;
 				mm->cached_hole_size = 0;
 				goto full_search;
 			}
@@ -232,7 +232,7 @@ fail:
 	 * can happen with large stack limits and large mmap()
 	 * allocations.
 	 */
- -	mm->free_area_cache = TASK_UNMAPPED_BASE;
+	mm->free_area_cache = base;
 	mm->cached_hole_size = ~0UL;
 	addr = hugetlb_get_unmapped_area_bottomup(file, addr0,
 			len, pgoff, flags);
diff -urNp linux-2.6.17-rc6/arch/ia64/kernel/sys_ia64.c linux-2.6.17-rc6-fix_tub/arch/ia64/kernel/sys_ia64.c
- --- linux-2.6.17-rc6/arch/ia64/kernel/sys_ia64.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/arch/ia64/kernel/sys_ia64.c	2006-06-06 20:52:09.000000000 -0400
@@ -56,9 +56,9 @@ arch_get_unmapped_area (struct file *fil
 	for (vma = find_vma(mm, addr); ; vma = vma->vm_next) {
 		/* At this point:  (!vma || addr < vma->vm_end). */
 		if (TASK_SIZE - len < addr || RGN_MAP_LIMIT - len < REGION_OFFSET(addr)) {
- -			if (start_addr != TASK_UNMAPPED_BASE) {
+			if (start_addr != mm->mmap_base) {
 				/* Start a new search --- just in case we missed some holes.  */
- -				addr = TASK_UNMAPPED_BASE;
+				addr = mm->mmap_base;
 				goto full_search;
 			}
 			return -ENOMEM;
diff -urNp linux-2.6.17-rc6/arch/mips/kernel/syscall.c linux-2.6.17-rc6-fix_tub/arch/mips/kernel/syscall.c
- --- linux-2.6.17-rc6/arch/mips/kernel/syscall.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/arch/mips/kernel/syscall.c	2006-06-06 20:53:45.000000000 -0400
@@ -99,7 +99,7 @@ unsigned long arch_get_unmapped_area(str
 		    (!vmm || addr + len <= vmm->vm_start))
 			return addr;
 	}
- -	addr = TASK_UNMAPPED_BASE;
+	addr = current->mm->mmap_base;
 	if (do_color_align)
 		addr = COLOUR_ALIGN(addr, pgoff);
 	else
diff -urNp linux-2.6.17-rc6/arch/parisc/kernel/sys_parisc.c linux-2.6.17-rc6-fix_tub/arch/parisc/kernel/sys_parisc.c
- --- linux-2.6.17-rc6/arch/parisc/kernel/sys_parisc.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/arch/parisc/kernel/sys_parisc.c	2006-06-06 20:20:27.000000000 -0400
@@ -105,7 +105,7 @@ unsigned long arch_get_unmapped_area(str
 	if (len > TASK_SIZE)
 		return -ENOMEM;
 	if (!addr)
- -		addr = TASK_UNMAPPED_BASE;
+		addr = current->mm->mmap_base;

 	if (filp) {
 		addr = get_shared_area(filp->f_mapping, addr, len, pgoff);
diff -urNp linux-2.6.17-rc6/arch/powerpc/mm/hugetlbpage.c linux-2.6.17-rc6-fix_tub/arch/powerpc/mm/hugetlbpage.c
- --- linux-2.6.17-rc6/arch/powerpc/mm/hugetlbpage.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/arch/powerpc/mm/hugetlbpage.c	2006-06-06 20:56:21.000000000 -0400
@@ -573,7 +573,7 @@ unsigned long arch_get_unmapped_area(str
 	if (len > mm->cached_hole_size) {
 	        start_addr = addr = mm->free_area_cache;
 	} else {
- -	        start_addr = addr = TASK_UNMAPPED_BASE;
+	        start_addr = addr = mm->mmap_base;
 	        mm->cached_hole_size = 0;
 	}

@@ -606,8 +606,8 @@ full_search:
 	}

 	/* Make sure we didn't miss any holes */
- -	if (start_addr != TASK_UNMAPPED_BASE) {
- -		start_addr = addr = TASK_UNMAPPED_BASE;
+	if (start_addr != mm->mmap_base) {
+		start_addr = addr = mm->mmap_base;
 		mm->cached_hole_size = 0;
 		goto full_search;
 	}
@@ -721,7 +721,7 @@ fail:
 	 * can happen with large stack limits and large mmap()
 	 * allocations.
 	 */
- -	mm->free_area_cache = TASK_UNMAPPED_BASE;
+	mm->free_area_cache = base;
 	mm->cached_hole_size = ~0UL;
 	addr = arch_get_unmapped_area(filp, addr0, len, pgoff, flags);
 	/*
diff -urNp linux-2.6.17-rc6/arch/powerpc/mm/slb.c linux-2.6.17-rc6-fix_tub/arch/powerpc/mm/slb.c
- --- linux-2.6.17-rc6/arch/powerpc/mm/slb.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/arch/powerpc/mm/slb.c	2006-06-06 21:06:24.000000000 -0400
@@ -128,11 +128,11 @@ void switch_slb(struct task_struct *tsk,

 	/*
 	 * preload some userspace segments into the SLB.
+	 *
+	 * I'm pretty sure the task's mmap base is correct
+	 * for its processor mode (32/64 bit) --JM
 	 */
- -	if (test_tsk_thread_flag(tsk, TIF_32BIT))
- -		unmapped_base = TASK_UNMAPPED_BASE_USER32;
- -	else
- -		unmapped_base = TASK_UNMAPPED_BASE_USER64;
+	unmapped_base = mm->mmap_base;

 	if (is_kernel_addr(pc))
 		return;
diff -urNp linux-2.6.17-rc6/arch/powerpc/mm/stab.c linux-2.6.17-rc6-fix_tub/arch/powerpc/mm/stab.c
- --- linux-2.6.17-rc6/arch/powerpc/mm/stab.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/arch/powerpc/mm/stab.c	2006-06-06 21:07:39.000000000 -0400
@@ -204,11 +204,12 @@ void switch_stab(struct task_struct *tsk
 	get_paca()->pgdir = mm->pgd;
 #endif /* CONFIG_PPC_64K_PAGES */

- -	/* Now preload some entries for the new task */
- -	if (test_tsk_thread_flag(tsk, TIF_32BIT))
- -		unmapped_base = TASK_UNMAPPED_BASE_USER32;
- -	else
- -		unmapped_base = TASK_UNMAPPED_BASE_USER64;
+	/*
+	 *  Now preload some entries for the new task
+	 *
+	 *  The task's current mmap base is probably right.
+	 */
+	unmapped_base = mm->mmap_base;

 	__ste_allocate(pc, mm);

diff -urNp linux-2.6.17-rc6/arch/sh/kernel/sys_sh.c linux-2.6.17-rc6-fix_tub/arch/sh/kernel/sys_sh.c
- --- linux-2.6.17-rc6/arch/sh/kernel/sys_sh.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/arch/sh/kernel/sys_sh.c	2006-06-06 21:13:39.000000000 -0400
@@ -81,7 +81,7 @@ unsigned long arch_get_unmapped_area(str
 	}
 	if (len <= mm->cached_hole_size) {
 	        mm->cached_hole_size = 0;
- -		mm->free_area_cache = TASK_UNMAPPED_BASE;
+		mm->free_area_cache = mm->mmap_base;
 	}
 	if (flags & MAP_PRIVATE)
 		addr = PAGE_ALIGN(mm->free_area_cache);
@@ -97,8 +97,8 @@ full_search:
 			 * Start a new search - just in case we missed
 			 * some holes.
 			 */
- -			if (start_addr != TASK_UNMAPPED_BASE) {
- -				start_addr = addr = TASK_UNMAPPED_BASE;
+			if (start_addr != mm->mmap_base) {
+				start_addr = addr = mm->mmap_base;
 				mm->cached_hole_size = 0;
 				goto full_search;
 			}
diff -urNp linux-2.6.17-rc6/arch/sh64/kernel/sys_sh64.c linux-2.6.17-rc6-fix_tub/arch/sh64/kernel/sys_sh64.c
- --- linux-2.6.17-rc6/arch/sh64/kernel/sys_sh64.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/arch/sh64/kernel/sys_sh64.c	2006-06-06 20:20:27.000000000 -0400
@@ -112,7 +112,7 @@ unsigned long arch_get_unmapped_area(str
 	if (len > TASK_SIZE)
 		return -ENOMEM;
 	if (!addr)
- -		addr = TASK_UNMAPPED_BASE;
+		addr = current->mm->mmap_base;

 	if (flags & MAP_PRIVATE)
 		addr = PAGE_ALIGN(addr);
diff -urNp linux-2.6.17-rc6/arch/sparc/kernel/sys_sparc.c linux-2.6.17-rc6-fix_tub/arch/sparc/kernel/sys_sparc.c
- --- linux-2.6.17-rc6/arch/sparc/kernel/sys_sparc.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/arch/sparc/kernel/sys_sparc.c	2006-06-06 20:20:27.000000000 -0400
@@ -56,7 +56,7 @@ unsigned long arch_get_unmapped_area(str
 	if (ARCH_SUN4C_SUN4 && len > 0x20000000)
 		return -ENOMEM;
 	if (!addr)
- -		addr = TASK_UNMAPPED_BASE;
+		addr = current->mm->mmap_base;

 	if (flags & MAP_SHARED)
 		addr = COLOUR_ALIGN(addr);
diff -urNp linux-2.6.17-rc6/arch/sparc64/kernel/sys_sparc.c linux-2.6.17-rc6-fix_tub/arch/sparc64/kernel/sys_sparc.c
- --- linux-2.6.17-rc6/arch/sparc64/kernel/sys_sparc.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/arch/sparc64/kernel/sys_sparc.c	2006-06-06 21:16:27.000000000 -0400
@@ -155,7 +155,7 @@ unsigned long arch_get_unmapped_area(str
 	if (len > mm->cached_hole_size) {
 	        start_addr = addr = mm->free_area_cache;
 	} else {
- -	        start_addr = addr = TASK_UNMAPPED_BASE;
+	        start_addr = addr = mm->mmap_base;
 	        mm->cached_hole_size = 0;
 	}

@@ -175,8 +175,8 @@ full_search:
 			vma = find_vma(mm, VA_EXCLUDE_END);
 		}
 		if (unlikely(task_size < addr)) {
- -			if (start_addr != TASK_UNMAPPED_BASE) {
- -				start_addr = addr = TASK_UNMAPPED_BASE;
+			if (start_addr != mm->mmap_base) {
+				start_addr = addr = mm->mmap_base;
 				mm->cached_hole_size = 0;
 				goto full_search;
 			}
@@ -302,7 +302,7 @@ bottomup:
 	 * allocations.
 	 */
 	mm->cached_hole_size = ~0UL;
- -  	mm->free_area_cache = TASK_UNMAPPED_BASE;
+  	mm->free_area_cache = mm->mmap_base;
 	addr = arch_get_unmapped_area(filp, addr0, len, pgoff, flags);
 	/*
 	 * Restore the topdown base:
diff -urNp linux-2.6.17-rc6/arch/sparc64/mm/hugetlbpage.c linux-2.6.17-rc6-fix_tub/arch/sparc64/mm/hugetlbpage.c
- --- linux-2.6.17-rc6/arch/sparc64/mm/hugetlbpage.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/arch/sparc64/mm/hugetlbpage.c	2006-06-06 21:18:03.000000000 -0400
@@ -47,7 +47,7 @@ static unsigned long hugetlb_get_unmappe
 	if (len > mm->cached_hole_size) {
 	        start_addr = addr = mm->free_area_cache;
 	} else {
- -	        start_addr = addr = TASK_UNMAPPED_BASE;
+	        start_addr = addr = mm->mmap_base;
 	        mm->cached_hole_size = 0;
 	}

@@ -64,8 +64,8 @@ full_search:
 			vma = find_vma(mm, VA_EXCLUDE_END);
 		}
 		if (unlikely(task_size < addr)) {
- -			if (start_addr != TASK_UNMAPPED_BASE) {
- -				start_addr = addr = TASK_UNMAPPED_BASE;
+			if (start_addr != mm->mmap_base) {
+				start_addr = addr = mm->mmap_base;
 				mm->cached_hole_size = 0;
 				goto full_search;
 			}
@@ -149,7 +149,7 @@ bottomup:
 	 * allocations.
 	 */
 	mm->cached_hole_size = ~0UL;
- -  	mm->free_area_cache = TASK_UNMAPPED_BASE;
+  	mm->free_area_cache = mm->mmap_base;
 	addr = arch_get_unmapped_area(filp, addr0, len, pgoff, flags);
 	/*
 	 * Restore the topdown base:
diff -urNp linux-2.6.17-rc6/arch/x86_64/kernel/sys_x86_64.c linux-2.6.17-rc6-fix_tub/arch/x86_64/kernel/sys_x86_64.c
- --- linux-2.6.17-rc6/arch/x86_64/kernel/sys_x86_64.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/arch/x86_64/kernel/sys_x86_64.c	2006-06-06 21:22:39.000000000 -0400
@@ -79,7 +79,7 @@ static void find_start_end(unsigned long
 		*begin = 0x40000000;
 		*end = 0x80000000;		
 	} else {
- -		*begin = TASK_UNMAPPED_BASE;
+		*begin = current->mm->mmap_base;
 		*end = TASK_SIZE;
 	}
 }
diff -urNp linux-2.6.17-rc6/fs/hugetlbfs/inode.c linux-2.6.17-rc6-fix_tub/fs/hugetlbfs/inode.c
- --- linux-2.6.17-rc6/fs/hugetlbfs/inode.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/fs/hugetlbfs/inode.c	2006-06-06 21:23:38.000000000 -0400
@@ -133,7 +133,7 @@ hugetlb_get_unmapped_area(struct file *f
 	start_addr = mm->free_area_cache;

 	if (len <= mm->cached_hole_size)
- -		start_addr = TASK_UNMAPPED_BASE;
+		start_addr = mm->mmap_base;

 full_search:
 	addr = ALIGN(start_addr, HPAGE_SIZE);
@@ -145,8 +145,8 @@ full_search:
 			 * Start a new search - just in case we missed
 			 * some holes.
 			 */
- -			if (start_addr != TASK_UNMAPPED_BASE) {
- -				start_addr = TASK_UNMAPPED_BASE;
+			if (start_addr != mm->mmap_base) {
+				start_addr = mm->mmap_base;
 				goto full_search;
 			}
 			return -ENOMEM;
diff -urNp linux-2.6.17-rc6/kernel/fork.c linux-2.6.17-rc6-fix_tub/kernel/fork.c
- --- linux-2.6.17-rc6/kernel/fork.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/kernel/fork.c	2006-06-06 20:20:27.000000000 -0400
@@ -324,7 +324,7 @@ static struct mm_struct * mm_init(struct
 	spin_lock_init(&mm->page_table_lock);
 	rwlock_init(&mm->ioctx_list_lock);
 	mm->ioctx_list = NULL;
- -	mm->free_area_cache = TASK_UNMAPPED_BASE;
+	mm->free_area_cache = mm->mmap_base;
 	mm->cached_hole_size = ~0UL;

 	if (likely(!mm_alloc_pgd(mm))) {
diff -urNp linux-2.6.17-rc6/mm/mmap.c linux-2.6.17-rc6-fix_tub/mm/mmap.c
- --- linux-2.6.17-rc6/mm/mmap.c	2006-06-06 19:37:52.000000000 -0400
+++ linux-2.6.17-rc6-fix_tub/mm/mmap.c	2006-06-06 21:25:48.000000000 -0400
@@ -1188,7 +1188,7 @@ arch_get_unmapped_area(struct file *filp
 	if (len > mm->cached_hole_size) {
 	        start_addr = addr = mm->free_area_cache;
 	} else {
- -	        start_addr = addr = TASK_UNMAPPED_BASE;
+	        start_addr = addr = mm->mmap_base;
 	        mm->cached_hole_size = 0;
 	}

@@ -1200,8 +1200,8 @@ full_search:
 			 * Start a new search - just in case we missed
 			 * some holes.
 			 */
- -			if (start_addr != TASK_UNMAPPED_BASE) {
- -				addr = TASK_UNMAPPED_BASE;
+			if (start_addr != mm->mmap_base) {
+				addr = mm->mmap_base;
 			        start_addr = addr;
 				mm->cached_hole_size = 0;
 				goto full_search;
@@ -1227,7 +1227,7 @@ void arch_unmap_area(struct mm_struct *m
 	/*
 	 * Is this a new hole at the lowest possible address?
 	 */
- -	if (addr >= TASK_UNMAPPED_BASE && addr < mm->free_area_cache) {
+	if (addr >= mm->mmap_base && addr < mm->free_area_cache) {
 		mm->free_area_cache = addr;
 		mm->cached_hole_size = ~0UL;
 	}
@@ -1309,7 +1309,7 @@ bottomup:
 	 * allocations.
 	 */
 	mm->cached_hole_size = ~0UL;
- -  	mm->free_area_cache = TASK_UNMAPPED_BASE;
+  	mm->free_area_cache = mm->mmap_base;
 	addr = arch_get_unmapped_area(filp, addr0, len, pgoff, flags);
 	/*
 	 * Restore the topdown base:
> --- END
- --
All content of all messages exchanged herein are left in the
Public Domain, unless otherwise explicitly stated.

    Creative brains are a valuable, limited resource. They shouldn't be
    wasted on re-inventing the wheel when there are so many fascinating
    new problems waiting out there.
                                                 -- Eric Steven Raymond

    We will enslave their women, eat their children and rape their
    cattle!
                  -- Bosc, Evil alien overlord from the fifth dimension
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQIVAwUBRIhLqgs1xW0HCTEFAQI0pQ/+KivmGjMgmB8CAh1W6SCwG+iaJsjIv0id
z0+9928fW0iuu/4znsEqAnQS4Ye6qFdGdn0r6ZWpMoVjbwih2qLGFx3PHcQitrD5
0FY7JKA8LfGVZpeWJyvDzi1dTRwTeRZbGecrJXOI1xt6AaitkrZuFVGma210FelF
F/7dyy8lh+W2Ji0+T3UegVIw/JtGCOAdK2SXDFQfZnybRrsrHFBFABRzh+XBF0MU
7DdQjVlxyI+T5/AfcWMnMHm+boC9lXj94x+o/Mx6E37MVItWHwuwksTbNvM1T2o7
rP4Elc6o8xiFsxeung+PNPD2yOVljsZQpRNhWwCGwVwZWZSIxfj/Mqq8WdGm4yS+
PJrwahXcI2kTnIoC0/WgwKZHt6J2yGNMnzSYRKKcGsH61JFJ3XsRb3nRXy4QLytF
FRLscwMogapb/dqwA7vC6G1NZEZzJqQFuhJfnFRoOaFLbrQSfIsC4o+du1OCI21p
jTG9kl9xdAzX+Af6/4nF//jS/oe/BbHLxunoBPcMaqTS3W9/WpU23yXz5A/+5cwE
FPmEuirwzVuTXvPlb8MGCXNstPxW0YWRToJxHQS+5TONLuQ3xYSD6G2QXkbDRPG1
JZ7URGTXeoiw5Qea9TCarbbzFEL4GiwL/Pspa6QM1HRKiu5wlQ3CWM5oyTBu3ZLV
1zfe8thYUlM=
=4fLB
-----END PGP SIGNATURE-----

      parent reply	other threads:[~2006-06-08 16:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-07  1:33 [PATCH][RFC] Clean-up: TASK_UNMAPPED_BASE and mmap_base John Richard Moser
2006-06-08 12:24 ` Arjan van de Ven
2006-06-08 15:35   ` John Richard Moser
2006-06-08 16:02     ` Randy.Dunlap
2006-06-08 16:01       ` John Richard Moser
2006-06-08 16:09 ` John Richard Moser [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44884BAC.7050909@comcast.net \
    --to=nigelenki@comcast.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.