[PATCH 0/2][request for 3.14 stable 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,
The commit 11e4f3b ("mm: propagate error from stack expansion even for
guard page") for 3.14-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/2] is asjusted to ignore un-supported arch in 3.14. And some
files are separated or renamed in newer kernel, so [PATCH 1/2] is also
adjusted to add the VM_FAULT_SIGSEGV handling in the original files
in 3.14.
[PATCH 2/2] is cherry-picked from upstream.

thanks,
Sheng

Linus Torvalds (1):
  vm: make stack guard page errors return VM_FAULT_SIGSEGV rather than
    SIGBUS

Sheng Yong (1):
  vm: add VM_FAULT_SIGSEGV handling support

 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                          | 2 ++
 arch/xtensa/mm/fault.c                       | 2 ++
 drivers/staging/lustre/lustre/llite/vvp_io.c | 2 +-
 include/linux/mm.h                           | 6 ++++--
 mm/ksm.c                                     | 2 +-
 mm/memory.c                                  | 7 ++++---
 29 files changed, 63 insertions(+), 8 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]