linux-sg2042/arch/s390
Heiko Carstens dc4aace160 s390/uaccess: fix __put_get_user_asm define
The __put_get_user_asm defines an inline assmembly which makes use of
the asm register construct. The parameters passed to that define may
also contain function calls.

It is a gcc restriction that between register asm statements and the
use of any such annotated variables function calls may clobber the
register / variable contents. Or in other words: gcc would generate
broken code.

This can be achieved e.g. with the following code:

    get_user(x, func() ? a : b);

where the call of func would clobber register zero which is used by
the __put_get_user_asm define.
To avoid this add two static inline functions which don't have these
side effects.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-06-28 09:32:27 +02:00
..
appldata s390: appldata: drop owner assignment from platform_drivers 2014-10-20 16:20:13 +02:00
boot kbuild: delete unnecessary "@:" 2016-04-20 10:36:57 +02:00
configs s390: Updated kernel config files 2016-06-15 16:37:07 +02:00
crypto s390/crc32-vx: add crypto API module for optimized CRC-32 algorithms 2016-06-15 16:36:34 +02:00
hypfs s390: avoid extable collisions 2016-06-13 15:58:26 +02:00
include s390/uaccess: fix __put_get_user_asm define 2016-06-28 09:32:27 +02:00
kernel s390/cpuinfo: rename cpu field to cpu number 2016-06-28 09:32:26 +02:00
kvm s390/time: remove ETR support 2016-06-13 15:58:21 +02:00
lib s390/uaccess: fix whitespace damage 2016-06-13 15:58:25 +02:00
mm s390/mm: fix compile for PAGE_DEFAULT_KEY != 0 2016-06-14 16:54:05 +02:00
net s390/bpf: fix recache skb->data/hlen for skb_vlan_push/pop 2016-05-19 09:14:27 +02:00
numa s390/topology: add drawer scheduling domain level 2016-06-13 15:58:27 +02:00
oprofile s390/oprofile: remove hardware sampler support 2016-06-28 09:32:22 +02:00
pci s390/pci: ensure to not cross a dma segment boundary 2016-06-13 15:58:24 +02:00
tools s390/facilities: add helper tool to generate facility lists 2015-12-18 14:59:20 +01:00
Kbuild s390/numa: add core infrastructure 2015-08-03 18:40:25 +02:00
Kconfig s390/topology: add drawer scheduling domain level 2016-06-13 15:58:27 +02:00
Kconfig.debug arch: consolidate CONFIG_STRICT_DEVM in lib/Kconfig.debug 2016-01-09 06:30:49 -08:00
Makefile s390/facilities: add helper tool to generate facility lists 2015-12-18 14:59:20 +01:00
defconfig s390: Updated kernel config files 2016-06-15 16:37:07 +02:00