public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] linux-patches r1764 - genpatches-2.6/trunk/2.6.34
@ 2010-08-21 21:11 Mike Pagano (mpagano)
  0 siblings, 0 replies; only message in thread
From: Mike Pagano (mpagano) @ 2010-08-21 21:11 UTC (permalink / raw
  To: gentoo-commits

Author: mpagano
Date: 2010-08-21 21:11:40 +0000 (Sat, 21 Aug 2010)
New Revision: 1764

Added:
   genpatches-2.6/trunk/2.6.34/1004_linux-2.6.34.5.patch
Removed:
   genpatches-2.6/trunk/2.6.34/1700_vmware-jiffies-include-fix.patch
   genpatches-2.6/trunk/2.6.34/1800_page-table-unmap-for-stack-guard-fix.patch
   genpatches-2.6/trunk/2.6.34/1805_fix-user-visible-effects-of-stack-guard-page.patch
Modified:
   genpatches-2.6/trunk/2.6.34/0000_README
Log:
Linux patch 2.6.34.5 and removal of redundant patches

Modified: genpatches-2.6/trunk/2.6.34/0000_README
===================================================================
--- genpatches-2.6/trunk/2.6.34/0000_README	2010-08-21 20:58:01 UTC (rev 1763)
+++ genpatches-2.6/trunk/2.6.34/0000_README	2010-08-21 21:11:40 UTC (rev 1764)
@@ -55,18 +55,10 @@
 From:   http://www.kernel.org
 Desc:   Linux 2.6.34.4
 
-Patch:  1700_vmware-jiffies-include-fix.patch
-From:	http://bugs.gentoo.org/show_bug.cgi?id=332949
-Desc:	Add missing include
+Patch:  1004_linux-2.6.34.5.patch
+From:   http://www.kernel.org
+Desc:   Linux 2.6.34.5
 
-Patch:  1800_page-table-unmap-for-stack-guard-fix.patch
-From:   https://bugzilla.kernel.org/show_bug.cgi?id=16588
-Desc:   Fix page table unmap for stack guard page properly
-
-Patch:  1805_fix-user-visible-effects-of-stack-guard-page.patch
-From:   http://bugs.gentoo.org/show_bug.cgi?id=333477
-Desc:   Make the stack guard page somewhat less visible to user space
-
 Patch:	2600_synaptic-cap-ID-check-fix.patch
 From:	http://bugs.gentoo.org/show_bug.cgi?id=328527
 Desc:	Synaptics capability ID check fix

Added: genpatches-2.6/trunk/2.6.34/1004_linux-2.6.34.5.patch
===================================================================
--- genpatches-2.6/trunk/2.6.34/1004_linux-2.6.34.5.patch	                        (rev 0)
+++ genpatches-2.6/trunk/2.6.34/1004_linux-2.6.34.5.patch	2010-08-21 21:11:40 UTC (rev 1764)
@@ -0,0 +1,93 @@
+diff --git a/arch/x86/kernel/cpu/vmware.c b/arch/x86/kernel/cpu/vmware.c
+index 562d5f0..e44e02d 100644
+--- a/arch/x86/kernel/cpu/vmware.c
++++ b/arch/x86/kernel/cpu/vmware.c
+@@ -23,6 +23,7 @@
+ 
+ #include <linux/dmi.h>
+ #include <linux/module.h>
++#include <linux/jiffies.h>
+ #include <asm/div64.h>
+ #include <asm/vmware.h>
+ #include <asm/x86_init.h>
+diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
+index 47f5b14..3544f60 100644
+--- a/fs/proc/task_mmu.c
++++ b/fs/proc/task_mmu.c
+@@ -210,6 +210,7 @@ static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
+ 	int flags = vma->vm_flags;
+ 	unsigned long ino = 0;
+ 	unsigned long long pgoff = 0;
++	unsigned long start;
+ 	dev_t dev = 0;
+ 	int len;
+ 
+@@ -220,8 +221,13 @@ static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
+ 		pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT;
+ 	}
+ 
++	/* We don't show the stack guard page in /proc/maps */
++	start = vma->vm_start;
++	if (vma->vm_flags & VM_GROWSDOWN)
++		start += PAGE_SIZE;
++
+ 	seq_printf(m, "%08lx-%08lx %c%c%c%c %08llx %02x:%02x %lu %n",
+-			vma->vm_start,
++			start,
+ 			vma->vm_end,
+ 			flags & VM_READ ? 'r' : '-',
+ 			flags & VM_WRITE ? 'w' : '-',
+diff --git a/mm/memory.c b/mm/memory.c
+index daa100f..e48eb86 100644
+--- a/mm/memory.c
++++ b/mm/memory.c
+@@ -2783,24 +2783,23 @@ static int do_anonymous_page(struct mm_struct *mm, struct vm_area_struct *vma,
+ 	spinlock_t *ptl;
+ 	pte_t entry;
+ 
+-	if (check_stack_guard_page(vma, address) < 0) {
+-		pte_unmap(page_table);
++	pte_unmap(page_table);
++
++	/* Check if we need to add a guard page to the stack */
++	if (check_stack_guard_page(vma, address) < 0)
+ 		return VM_FAULT_SIGBUS;
+-	}
+ 
++	/* Use the zero-page for reads */
+ 	if (!(flags & FAULT_FLAG_WRITE)) {
+ 		entry = pte_mkspecial(pfn_pte(my_zero_pfn(address),
+ 						vma->vm_page_prot));
+-		ptl = pte_lockptr(mm, pmd);
+-		spin_lock(ptl);
++		page_table = pte_offset_map_lock(mm, pmd, address, &ptl);
+ 		if (!pte_none(*page_table))
+ 			goto unlock;
+ 		goto setpte;
+ 	}
+ 
+ 	/* Allocate our own private page. */
+-	pte_unmap(page_table);
+-
+ 	if (unlikely(anon_vma_prepare(vma)))
+ 		goto oom;
+ 	page = alloc_zeroed_user_highpage_movable(vma, address);
+diff --git a/mm/mlock.c b/mm/mlock.c
+index 8f4e2df..8268859 100644
+--- a/mm/mlock.c
++++ b/mm/mlock.c
+@@ -167,6 +167,14 @@ static long __mlock_vma_pages_range(struct vm_area_struct *vma,
+ 	if (vma->vm_flags & VM_WRITE)
+ 		gup_flags |= FOLL_WRITE;
+ 
++	/* We don't try to access the guard page of a stack vma */
++	if (vma->vm_flags & VM_GROWSDOWN) {
++		if (start == vma->vm_start) {
++			start += PAGE_SIZE;
++			nr_pages--;
++		}
++	}
++
+ 	while (nr_pages > 0) {
+ 		int i;
+ 

Deleted: genpatches-2.6/trunk/2.6.34/1700_vmware-jiffies-include-fix.patch
===================================================================
--- genpatches-2.6/trunk/2.6.34/1700_vmware-jiffies-include-fix.patch	2010-08-21 20:58:01 UTC (rev 1763)
+++ genpatches-2.6/trunk/2.6.34/1700_vmware-jiffies-include-fix.patch	2010-08-21 21:11:40 UTC (rev 1764)
@@ -1,10 +0,0 @@
---- a/arch/x86/kernel/cpu/vmware.c	2010-08-16 13:45:53.000000000 -0400
-+++ b/arch/x86/kernel/cpu/vmware.c	2010-08-16 13:46:18.000000000 -0400
-@@ -26,6 +26,7 @@
- #include <asm/div64.h>
- #include <asm/vmware.h>
- #include <asm/x86_init.h>
-+#include <linux/jiffies.h>
- 
- #define CPUID_VMWARE_INFO_LEAF	0x40000000
- #define VMWARE_HYPERVISOR_MAGIC	0x564D5868

Deleted: genpatches-2.6/trunk/2.6.34/1800_page-table-unmap-for-stack-guard-fix.patch
===================================================================
--- genpatches-2.6/trunk/2.6.34/1800_page-table-unmap-for-stack-guard-fix.patch	2010-08-21 20:58:01 UTC (rev 1763)
+++ genpatches-2.6/trunk/2.6.34/1800_page-table-unmap-for-stack-guard-fix.patch	2010-08-21 21:11:40 UTC (rev 1764)
@@ -1,76 +0,0 @@
-From 11ac552477e32835cb6970bf0a70c210807f5673 Mon Sep 17 00:00:00 2001
-From: Linus Torvalds <torvalds@linux-foundation.org>
-Date: Sat, 14 Aug 2010 11:44:56 -0700
-Subject: [PATCH] mm: fix page table unmap for stack guard page properly
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf8
-Content-Transfer-Encoding: 8bit
-
-We do in fact need to unmap the page table _before_ doing the whole
-stack guard page logic, because if it is needed (mainly 32-bit x86 with
-PAE and CONFIG_HIGHPTE, but other architectures may use it too) then it
-will do a kmap_atomic/kunmap_atomic.
-
-And those kmaps will create an atomic region that we cannot do
-allocations in.  However, the whole stack expand code will need to do
-anon_vma_prepare() and vma_lock_anon_vma() and they cannot do that in an
-atomic region.
-
-Now, a better model might actually be to do the anon_vma_prepare() when
-_creating_ a VM_GROWSDOWN segment, and not have to worry about any of
-this at page fault time.  But in the meantime, this is the
-straightforward fix for the issue.
-
-See https://bugzilla.kernel.org/show_bug.cgi?id=16588 for details.
-
-Reported-by: Wylda <wylda@volny.cz>
-Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
-Reported-by: Mike Pagano <mpagano@gentoo.org>
-Reported-by: François Valenduc <francois.valenduc@tvcablenet.be>
-Tested-by: Ed Tomlinson <edt@aei.ca>
-Cc: Pekka Enberg <penberg@kernel.org>
-Cc: Greg KH <gregkh@suse.de>
-Cc: stable@kernel.org
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
----
- mm/memory.c |   13 ++++++-------
- 1 files changed, 6 insertions(+), 7 deletions(-)
-
-diff --git a/mm/memory.c b/mm/memory.c
-index 9b3b73f..b6e5fd2 100644
---- a/mm/memory.c
-+++ b/mm/memory.c
-@@ -2792,24 +2792,23 @@ static int do_anonymous_page(struct mm_struct *mm, struct vm_area_struct *vma,
- 	spinlock_t *ptl;
- 	pte_t entry;
- 
--	if (check_stack_guard_page(vma, address) < 0) {
--		pte_unmap(page_table);
-+	pte_unmap(page_table);
-+
-+	/* Check if we need to add a guard page to the stack */
-+	if (check_stack_guard_page(vma, address) < 0)
- 		return VM_FAULT_SIGBUS;
--	}
- 
-+	/* Use the zero-page for reads */
- 	if (!(flags & FAULT_FLAG_WRITE)) {
- 		entry = pte_mkspecial(pfn_pte(my_zero_pfn(address),
- 						vma->vm_page_prot));
--		ptl = pte_lockptr(mm, pmd);
--		spin_lock(ptl);
-+		page_table = pte_offset_map_lock(mm, pmd, address, &ptl);
- 		if (!pte_none(*page_table))
- 			goto unlock;
- 		goto setpte;
- 	}
- 
- 	/* Allocate our own private page. */
--	pte_unmap(page_table);
--
- 	if (unlikely(anon_vma_prepare(vma)))
- 		goto oom;
- 	page = alloc_zeroed_user_highpage_movable(vma, address);
--- 
-1.7.2.2
-

Deleted: genpatches-2.6/trunk/2.6.34/1805_fix-user-visible-effects-of-stack-guard-page.patch
===================================================================
--- genpatches-2.6/trunk/2.6.34/1805_fix-user-visible-effects-of-stack-guard-page.patch	2010-08-21 20:58:01 UTC (rev 1763)
+++ genpatches-2.6/trunk/2.6.34/1805_fix-user-visible-effects-of-stack-guard-page.patch	2010-08-21 21:11:40 UTC (rev 1764)
@@ -1,85 +0,0 @@
-From: Linus Torvalds <torvalds@linux-foundation.org>
-Date: Sun, 15 Aug 2010 18:35:52 +0000 (-0700)
-Subject: mm: fix up some user-visible effects of the stack guard page
-X-Git-Tag: v2.6.36-rc1~5
-X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=d7824370e26325c881b665350ce64fb0a4fde24a
-
-mm: fix up some user-visible effects of the stack guard page
-
-This commit makes the stack guard page somewhat less visible to user
-space. It does this by:
-
- - not showing the guard page in /proc/<pid>/maps
-
-   It looks like lvm-tools will actually read /proc/self/maps to figure
-   out where all its mappings are, and effectively do a specialized
-   "mlockall()" in user space.  By not showing the guard page as part of
-   the mapping (by just adding PAGE_SIZE to the start for grows-up
-   pages), lvm-tools ends up not being aware of it.
-
- - by also teaching the _real_ mlock() functionality not to try to lock
-   the guard page.
-
-   That would just expand the mapping down to create a new guard page,
-   so there really is no point in trying to lock it in place.
-
-It would perhaps be nice to show the guard page specially in
-/proc/<pid>/maps (or at least mark grow-down segments some way), but
-let's not open ourselves up to more breakage by user space from programs
-that depends on the exact deails of the 'maps' file.
-
-Special thanks to Henrique de Moraes Holschuh for diving into lvm-tools
-source code to see what was going on with the whole new warning.
-
-Reported-and-tested-by: François Valenduc <francois.valenduc@tvcablenet.be
-Reported-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
-Cc: stable@kernel.org
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
----
-
-diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
-index aea1d3f..439fc1f 100644
---- a/fs/proc/task_mmu.c
-+++ b/fs/proc/task_mmu.c
-@@ -210,6 +210,7 @@ static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
- 	int flags = vma->vm_flags;
- 	unsigned long ino = 0;
- 	unsigned long long pgoff = 0;
-+	unsigned long start;
- 	dev_t dev = 0;
- 	int len;
- 
-@@ -220,8 +221,13 @@ static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
- 		pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT;
- 	}
- 
-+	/* We don't show the stack guard page in /proc/maps */
-+	start = vma->vm_start;
-+	if (vma->vm_flags & VM_GROWSDOWN)
-+		start += PAGE_SIZE;
-+
- 	seq_printf(m, "%08lx-%08lx %c%c%c%c %08llx %02x:%02x %lu %n",
--			vma->vm_start,
-+			start,
- 			vma->vm_end,
- 			flags & VM_READ ? 'r' : '-',
- 			flags & VM_WRITE ? 'w' : '-',
-diff --git a/mm/mlock.c b/mm/mlock.c
-index 3f82720..49e5e4c 100644
---- a/mm/mlock.c
-+++ b/mm/mlock.c
-@@ -167,6 +167,14 @@ static long __mlock_vma_pages_range(struct vm_area_struct *vma,
- 	if (vma->vm_flags & VM_WRITE)
- 		gup_flags |= FOLL_WRITE;
- 
-+	/* We don't try to access the guard page of a stack vma */
-+	if (vma->vm_flags & VM_GROWSDOWN) {
-+		if (start == vma->vm_start) {
-+			start += PAGE_SIZE;
-+			nr_pages--;
-+		}
-+	}
-+
- 	while (nr_pages > 0) {
- 		int i;
- 




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

only message in thread, other threads:[~2010-08-21 21:11 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-21 21:11 [gentoo-commits] linux-patches r1764 - genpatches-2.6/trunk/2.6.34 Mike Pagano (mpagano)

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