diff options
author | 2010-04-09 13:43:00 +0200 | |
---|---|---|
committer | 2010-04-09 13:43:02 +0200 | |
commit | 176b1803ce4690d0dd94e16f118dbd14af045034 (patch) | |
tree | 92601341680bf89e42ed0073bd5086d16405356c /drivers/infiniband/core/user_mad.c | |
parent | [S390] sclp_async: potential buffer overflow (diff) | |
download | wireguard-linux-176b1803ce4690d0dd94e16f118dbd14af045034.tar.xz wireguard-linux-176b1803ce4690d0dd94e16f118dbd14af045034.zip |
[S390] fix io_return critical section cleanup
If a machine check interrupts the io interrupt handler on one of the
instructions between io_return and io_leave the critical section
cleanup code will move the return psw to io_work_loop. By doing that
the switch from the asynchronous interrupt stack to the process stack
is skipped. If e.g. TIF_NEED_RESCHED is set things break because
the scheduler is called with the asynchronous interrupts stack.
Moving the psw back to io_return instead fixes the problem.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/infiniband/core/user_mad.c')
0 files changed, 0 insertions, 0 deletions