summaryrefslogtreecommitdiffstats
path: root/arch/riscv/lib
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2020-02-03 18:33:42 +0100
committerJens Axboe <axboe@kernel.dk>2020-02-04 01:27:47 +0100
commit01d7a356872eec22ef34a33a5f9cfa917d145468 (patch)
tree7d5a9a4359507134ddc254f6afbc9adabe064519 /arch/riscv/lib
parentio_uring: put the flag changing code in the same spot (diff)
downloadlinux-01d7a356872eec22ef34a33a5f9cfa917d145468.tar.xz
linux-01d7a356872eec22ef34a33a5f9cfa917d145468.zip
aio: prevent potential eventfd recursion on poll
If we have nested or circular eventfd wakeups, then we can deadlock if we run them inline from our poll waitqueue wakeup handler. It's also possible to have very long chains of notifications, to the extent where we could risk blowing the stack. Check the eventfd recursion count before calling eventfd_signal(). If it's non-zero, then punt the signaling to async context. This is always safe, as it takes us out-of-line in terms of stack and locking context. Cc: stable@vger.kernel.org # 4.19+ Reviewed-by: Jeff Moyer <jmoyer@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'arch/riscv/lib')
0 files changed, 0 insertions, 0 deletions