OSDN Git Service

s390/unwind: avoid int overflow in outside_of_stack
authorVasily Gorbik <gor@linux.ibm.com>
Mon, 8 Jul 2019 12:24:38 +0000 (14:24 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Thu, 11 Jul 2019 18:40:02 +0000 (20:40 +0200)
commit9a159190414d461fdac7ae5bb749c2d532b35419
tree5a56c4dde47542d0b300506c1a7bb34df0242173
parent73df167c819e49d65576e3015f2b1385034baafb
s390/unwind: avoid int overflow in outside_of_stack

When current task is interrupted in-between stack frame allocation
and backchain write instructions new stack frame backchain pointer
is left uninitialized. That invalid backchain value is passed into
outside_of_stack for sanity check. Make sure int overflow does not happen
by subtracting stack_frame size from the stack "end" rather than adding
it to "random" backchain value.

Fixes: 41b0474c1b1c ("s390/unwind: introduce stack unwind API")
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/kernel/unwind_bc.c