]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commit - arch/s390/kernel/entry.S
s390/entry: fix svc number for TIF_SYSCALL system call restart
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 9 Oct 2012 11:33:53 +0000 (13:33 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 9 Oct 2012 12:17:02 +0000 (14:17 +0200)
commit450e47da67499aeb6f1700e8f84747460c11ab56
tree1b08137d04483cf5b352d4b848a368a409d06209
parentfc7e48aad35bf98c84cf21aed5c2f100c5ce009b
s390/entry: fix svc number for TIF_SYSCALL system call restart

The load of the svc number in the TIF_SYSCALL restart path needs to be
done with an instruction that loads all 64 bits of %r1, 'lh' only loads
32 bits. If the upper half of %r1 is not zero and has the msb set,
entry64.S will try to execute an svc with a really large number.
What will be in the upper half of %r1 depends on the code generated by
gcc for the functions on the do_signal() callchain.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/entry64.S