Revision 61f01dd941ba9e06d2bf05994450ecc3d61b6b8b authored by Andy Lutomirski on 26 April 2015, 23:47:59 UTC, committed by Linus Torvalds on 27 April 2015, 00:57:38 UTC
AMD CPUs don't reinitialize the SS descriptor on SYSRET, so SYSRET with SS == 0 results in an invalid usermode state in which SS is apparently equal to __USER_DS but causes #SS if used. Work around the issue by setting SS to __KERNEL_DS __switch_to, thus ensuring that SYSRET never happens with SS set to NULL. This was exposed by a recent vDSO cleanup. Fixes: e7d6eefaaa44 x86/vdso32/syscall.S: Do not load __USER32_DS to %ss Signed-off-by: Andy Lutomirski <luto@kernel.org> Cc: Peter Anvin <hpa@zytor.com> Cc: Borislav Petkov <bp@alien8.de> Cc: Denys Vlasenko <vda.linux@googlemail.com> Cc: Brian Gerst <brgerst@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 1190944
File | Mode | Size |
---|---|---|
include | ||
Kconfig | -rw-r--r-- | 7.2 KB |
Makefile | -rw-r--r-- | 1.5 KB |
Makefile.boot | -rw-r--r-- | 56 bytes |
common.c | -rw-r--r-- | 10.5 KB |
common.h | -rw-r--r-- | 1.5 KB |
cpuidle.c | -rw-r--r-- | 1.4 KB |
crag6410.h | -rw-r--r-- | 784 bytes |
dev-audio.c | -rw-r--r-- | 5.4 KB |
dev-uart.c | -rw-r--r-- | 1.8 KB |
irq-pm.c | -rw-r--r-- | 3.2 KB |
mach-anw6410.c | -rw-r--r-- | 5.9 KB |
mach-crag6410-module.c | -rw-r--r-- | 10.7 KB |
mach-crag6410.c | -rw-r--r-- | 20.6 KB |
mach-hmt.c | -rw-r--r-- | 6.3 KB |
mach-mini6410.c | -rw-r--r-- | 8.7 KB |
mach-ncp.c | -rw-r--r-- | 2.4 KB |
mach-real6410.c | -rw-r--r-- | 7.9 KB |
mach-s3c64xx-dt.c | -rw-r--r-- | 1.8 KB |
mach-smartq.c | -rw-r--r-- | 9.1 KB |
mach-smartq.h | -rw-r--r-- | 488 bytes |
mach-smartq5.c | -rw-r--r-- | 3.5 KB |
mach-smartq7.c | -rw-r--r-- | 3.8 KB |
mach-smdk6400.c | -rw-r--r-- | 2.4 KB |
mach-smdk6410.c | -rw-r--r-- | 16.7 KB |
pl080.c | -rw-r--r-- | 5.3 KB |
pm.c | -rw-r--r-- | 8.1 KB |
regs-gpio-memport.h | -rw-r--r-- | 709 bytes |
regs-modem.h | -rw-r--r-- | 1022 bytes |
regs-srom.h | -rw-r--r-- | 1.8 KB |
regs-sys.h | -rw-r--r-- | 843 bytes |
regs-syscon-power.h | -rw-r--r-- | 4.1 KB |
s3c6400.c | -rw-r--r-- | 2.1 KB |
s3c6410.c | -rw-r--r-- | 2.3 KB |
setup-fb-24bpp.c | -rw-r--r-- | 792 bytes |
setup-i2c0.c | -rw-r--r-- | 802 bytes |
setup-i2c1.c | -rw-r--r-- | 802 bytes |
setup-ide.c | -rw-r--r-- | 1.2 KB |
setup-keypad.c | -rw-r--r-- | 828 bytes |
setup-sdhci-gpio.c | -rw-r--r-- | 1.8 KB |
setup-spi.c | -rw-r--r-- | 734 bytes |
setup-usb-phy.c | -rw-r--r-- | 2.1 KB |
sleep.S | -rw-r--r-- | 2.1 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...