[kernel] r16130 - in dists/sid/linux-2.6/debian: . patches/bugfix/all/stable patches/features/all/openvz patches/series

Ben Hutchings benh at alioth.debian.org
Fri Aug 13 22:16:00 UTC 2010


Author: benh
Date: Fri Aug 13 22:15:56 2010
New Revision: 16130

Log:
Add stable 2.6.32.19

Adjust context in openvz.patch.

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.32.19.patch
      - copied, changed from r16129, dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.32.19-rc1
Deleted:
   dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.32.19-rc1
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/features/all/openvz/openvz.patch
   dists/sid/linux-2.6/debian/patches/series/21

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	Fri Aug 13 03:29:13 2010	(r16129)
+++ dists/sid/linux-2.6/debian/changelog	Fri Aug 13 22:15:56 2010	(r16130)
@@ -1,7 +1,7 @@
 linux-2.6 (2.6.32-21) UNRELEASED; urgency=low
 
   [ Ben Hutchings ]
-  * Add stable 2.6.32.19-rc1
+  * Add stable 2.6.32.19:
     - Revert ABI change in sched.h
 
  -- Ben Hutchings <ben at decadent.org.uk>  Thu, 12 Aug 2010 23:20:55 +0100

Copied and modified: dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.32.19.patch (from r16129, dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.32.19-rc1)
==============================================================================
--- dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.32.19-rc1	Fri Aug 13 03:29:13 2010	(r16129, copy source)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.32.19.patch	Fri Aug 13 22:15:56 2010	(r16130)
@@ -1,3 +1,5 @@
+diff --git a/Makefile b/Makefile
+index e86dbf7..64e538c 100644
 diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
 index 1c4119c..e516aa2 100644
 --- a/arch/arm/Kconfig
@@ -820,6 +822,22 @@
  	vsyscall_gtod_data.clock.shift = clock->shift;
  	vsyscall_gtod_data.wall_time_sec = wall_time->tv_sec;
  	vsyscall_gtod_data.wall_time_nsec = wall_time->tv_nsec;
+diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
+index f4cee90..1739358 100644
+--- a/arch/x86/mm/fault.c
++++ b/arch/x86/mm/fault.c
+@@ -801,8 +801,10 @@ do_sigbus(struct pt_regs *regs, unsigned long error_code, unsigned long address,
+ 	up_read(&mm->mmap_sem);
+ 
+ 	/* Kernel mode? Handle exceptions or die: */
+-	if (!(error_code & PF_USER))
++	if (!(error_code & PF_USER)) {
+ 		no_context(regs, error_code, address);
++		return;
++	}
+ 
+ 	/* User-space => ok to do another page fault: */
+ 	if (is_prefetch(regs, error_code, address))
 diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
 index 5a4398a..7d095ad 100644
 --- a/arch/x86/mm/init_64.c
@@ -8549,6 +8567,49 @@
  
  	/*
  	 * Torn down by someone else?
+diff --git a/mm/memory.c b/mm/memory.c
+index 348e206..76d1b21 100644
+--- a/mm/memory.c
++++ b/mm/memory.c
+@@ -2630,6 +2630,26 @@ out_release:
+ }
+ 
+ /*
++ * This is like a special single-page "expand_downwards()",
++ * except we must first make sure that 'address-PAGE_SIZE'
++ * doesn't hit another vma.
++ *
++ * The "find_vma()" will do the right thing even if we wrap
++ */
++static inline int check_stack_guard_page(struct vm_area_struct *vma, unsigned long address)
++{
++	address &= PAGE_MASK;
++	if ((vma->vm_flags & VM_GROWSDOWN) && address == vma->vm_start) {
++		address -= PAGE_SIZE;
++		if (find_vma(vma->vm_mm, address) != vma)
++			return -ENOMEM;
++
++		expand_stack(vma, address);
++	}
++	return 0;
++}
++
++/*
+  * We enter with non-exclusive mmap_sem (to exclude vma changes,
+  * but allow concurrent faults), and pte mapped but not yet locked.
+  * We return with mmap_sem still held, but pte unmapped and unlocked.
+@@ -2642,6 +2662,11 @@ 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);
++		return VM_FAULT_SIGBUS;
++	}
++
+ 	if (!(flags & FAULT_FLAG_WRITE)) {
+ 		entry = pte_mkspecial(pfn_pte(my_zero_pfn(address),
+ 						vma->vm_page_prot));
 diff --git a/mm/swapfile.c b/mm/swapfile.c
 index 9c590ee..270e136 100644
 --- a/mm/swapfile.c

Modified: dists/sid/linux-2.6/debian/patches/features/all/openvz/openvz.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/openvz/openvz.patch	Fri Aug 13 03:29:13 2010	(r16129)
+++ dists/sid/linux-2.6/debian/patches/features/all/openvz/openvz.patch	Fri Aug 13 22:15:56 2010	(r16130)
@@ -76738,8 +76738,8 @@
  	pte_t entry;
 +	struct page_beancounter *pbc = NULL;
  
- 	if (!(flags & FAULT_FLAG_WRITE)) {
- 		entry = pte_mkspecial(pfn_pte(my_zero_pfn(address),
+	if (check_stack_guard_page(vma, address) < 0) {
+		pte_unmap(page_table);
 @@ -2645,6 +2732,9 @@ static int do_anonymous_page(struct mm_struct *mm, struct vm_area_struct *vma,
  	/* Allocate our own private page. */
  	pte_unmap(page_table);

Modified: dists/sid/linux-2.6/debian/patches/series/21
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/21	Fri Aug 13 03:29:13 2010	(r16129)
+++ dists/sid/linux-2.6/debian/patches/series/21	Fri Aug 13 22:15:56 2010	(r16130)
@@ -1,6 +1,6 @@
 - bugfix/all/ext4-fix-freeze-deadlock-under-IO.patch
 - features/all/USB-option-Use-generic-USB-wwan-code-2.patch
-+ bugfix/all/stable/2.6.32.19-rc1
++ bugfix/all/stable/2.6.32.19.patch
 + debian/fs-buffer.c-Avoid-ABI-change-in-2.6.32.19.patch
 + debian/revert-sched-cputime-Introduce-thread_group_times.patch
 + features/all/USB-option-Use-generic-USB-wwan-code-3.patch



More information about the Kernel-svn-changes mailing list