[PATCH v2 0/3][request for stable 3.10 inclusion] vm: make stack guard page errors return VM_FAULT_SIGSEGV rather than SIGBUS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, Greg,

V2:
Backport commit 7fb08eca ("x86: mm: move mmap_sem unlock from
mm_fault_error() to caller)" to solve lock problem on x86.

V1:
The commit 88b5d12 ("mm: propagate error from stack expansion even for
guard page") for 3.10-stable makes the testcase get "bus error", while
it had "segmentation fault" in older kernels.

===== testcase =====
int main(void)
{
	main();
	return 0;
}
====================

These 2 patches fix it by adding a VM_FAULT_SIGSEGV in all architecture
fault handlers.

[PATCH 1/3] is asjusted to ignore un-supported arch and driver in 3.10.
And some files are separated or renamed in newer kernel, so [PATCH 1/3]
is also adjusted to add the VM_FAULT_SIGSEGV handling in the original
files in 3.10.

thanks,
Sheng

Linus Torvalds (3):
  vm: add VM_FAULT_SIGSEGV handling support
  vm: make stack guard page errors return VM_FAULT_SIGSEGV rather than
    SIGBUS
  x86: mm: move mmap_sem unlock from mm_fault_error() to caller

 arch/alpha/mm/fault.c                   |  2 ++
 arch/arc/mm/fault.c                     |  2 ++
 arch/avr32/mm/fault.c                   |  2 ++
 arch/cris/mm/fault.c                    |  2 ++
 arch/frv/mm/fault.c                     |  2 ++
 arch/ia64/mm/fault.c                    |  2 ++
 arch/m32r/mm/fault.c                    |  2 ++
 arch/m68k/mm/fault.c                    |  2 ++
 arch/metag/mm/fault.c                   |  2 ++
 arch/microblaze/mm/fault.c              |  2 ++
 arch/mips/mm/fault.c                    |  2 ++
 arch/mn10300/mm/fault.c                 |  2 ++
 arch/openrisc/mm/fault.c                |  2 ++
 arch/parisc/mm/fault.c                  |  2 ++
 arch/powerpc/mm/fault.c                 |  2 ++
 arch/powerpc/platforms/cell/spu_fault.c |  2 +-
 arch/s390/mm/fault.c                    |  6 ++++++
 arch/score/mm/fault.c                   |  2 ++
 arch/sh/mm/fault.c                      |  2 ++
 arch/sparc/mm/fault_32.c                |  2 ++
 arch/sparc/mm/fault_64.c                |  2 ++
 arch/tile/mm/fault.c                    |  2 ++
 arch/um/kernel/trap.c                   |  2 ++
 arch/x86/mm/fault.c                     | 10 +++-------
 arch/xtensa/mm/fault.c                  |  2 ++
 include/linux/mm.h                      |  5 +++--
 mm/ksm.c                                |  2 +-
 mm/memory.c                             |  7 ++++---
 28 files changed, 62 insertions(+), 14 deletions(-)

-- 
1.8.3.4

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]