android_kernel_samsung_msm8976/arch/sparc
Dmitry V. Levin 39e88dd4da sparc64: fix incorrect sign extension in sys_sparc64_personality
commit 525fd5a94e1be0776fa652df5c687697db508c91 upstream.

The value returned by sys_personality has type "long int".
It is saved to a variable of type "int", which is not a problem
yet because the type of task_struct->pesonality is "unsigned int".
The problem is the sign extension from "int" to "long int"
that happens on return from sys_sparc64_personality.

For example, a userspace call personality((unsigned) -EINVAL) will
result to any subsequent personality call, including absolutely
harmless read-only personality(0xffffffff) call, failing with
errno set to EINVAL.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-03-03 15:06:23 -08:00
..
boot sparc: Fix piggyback with newer binutils. 2012-12-03 11:24:25 -08:00
configs
crypto crypto: sparc - initialize blkcipher.ivsize 2015-10-27 09:44:49 +09:00
include sparc64: Fix userspace FPU register corruptions. 2015-08-16 20:51:38 -07:00
kernel sparc64: fix incorrect sign extension in sys_sparc64_personality 2016-03-03 15:06:23 -08:00
lib sparc64: Fix userspace FPU register corruptions. 2015-08-16 20:51:38 -07:00
math-emu arch/sparc/math-emu/math_32.c: drop stray break operator 2014-08-14 09:24:16 +08:00
mm vm: add VM_FAULT_SIGSEGV handling support 2015-04-29 10:34:00 +02:00
net net: filter: fix sparc32 typo 2014-06-26 15:12:38 -04:00
oprofile
power nosave: consolidate __nosave_{begin,end} in <asm/sections.h> 2015-05-06 21:56:28 +02:00
prom arch: sparc: prom: looping issue, need additional length check in the outside looping 2013-06-19 02:10:29 -07:00
Kbuild
Kconfig locking/mutex: Disable optimistic spinning on some architectures 2014-07-28 08:00:07 -07:00
Kconfig.debug
Makefile sparc64: Hibernation support 2013-03-20 11:06:54 -07:00