summaryrefslogtreecommitdiff
path: root/lib/memweight.c
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2016-06-20 08:35:20 (GMT)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2016-06-28 07:32:27 (GMT)
commitdc4aace160165bd15400a79f9f5ab97405278f48 (patch)
treeb9bda648dbb6be08deea6af9fd4e6061e16a1797 /lib/memweight.c
parent109ab954713bd07c96f65ceddab4886069a110ab (diff)
downloadlinux-dc4aace160165bd15400a79f9f5ab97405278f48.tar.xz
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>
Diffstat (limited to 'lib/memweight.c')
0 files changed, 0 insertions, 0 deletions