diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2021-01-30 23:08:11 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2021-02-09 00:02:07 +1100 |
commit | c0ef717305f51e29b5ce0c78a6bfe566b3283415 (patch) | |
tree | ace3b74a551d4a9bd94686d86c812bde96716e83 /arch/powerpc/kvm/book3s_hv.c | |
parent | c144bc719234500e292c0545de99822bd8a78a6b (diff) | |
download | lwn-c0ef717305f51e29b5ce0c78a6bfe566b3283415.tar.gz lwn-c0ef717305f51e29b5ce0c78a6bfe566b3283415.zip |
powerpc/64s: interrupt exit improve bounding of interrupt recursion
When replaying pending soft-masked interrupts when an interrupt returns
to an irqs-enabled context, there is a special case required if this was
an asynchronous interrupt to avoid unbounded interrupt recursion.
This case was not tested for in the case the asynchronous interrupt hit
in user context, because a subsequent nested interrupt would by definition
hit in kernel mode, which then exits via the kernel path which does test
this case.
There is no reason to allow this for such interrupts. While recursion is
bounded at the next level, it's simpler and uses less stack to apply the
replay logic consistently.
This also expands the comment which was really pretty poor and didn't
explain the problem (I can say that because I wrote it).
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210130130852.2952424-2-npiggin@gmail.com
Diffstat (limited to 'arch/powerpc/kvm/book3s_hv.c')
0 files changed, 0 insertions, 0 deletions