summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorAhmed S. Darwish <a.darwish@linutronix.de>2020-06-03 16:49:48 +0200
committerSasha Levin <sashal@kernel.org>2020-06-29 20:07:56 -0400
commit578c6ed26c57ec8e96bf7baf9b1b56d25eb8f918 (patch)
tree4e66291055615149f61aabf7ccd0b861aae3c8a9 /crypto
parent885237aebb80b80086602f81686531241e028fc0 (diff)
downloadlinux-stable-578c6ed26c57ec8e96bf7baf9b1b56d25eb8f918.tar.gz
linux-stable-578c6ed26c57ec8e96bf7baf9b1b56d25eb8f918.tar.bz2
linux-stable-578c6ed26c57ec8e96bf7baf9b1b56d25eb8f918.zip
block: nr_sects_write(): Disable preemption on seqcount write
[ Upstream commit 15b81ce5abdc4b502aa31dff2d415b79d2349d2f ] For optimized block readers not holding a mutex, the "number of sectors" 64-bit value is protected from tearing on 32-bit architectures by a sequence counter. Disable preemption before entering that sequence counter's write side critical section. Otherwise, the read side can preempt the write side section and spin for the entire scheduler tick. If the reader belongs to a real-time scheduling class, it can spin forever and the kernel will livelock. Fixes: c83f6bf98dc1 ("block: add partition resize function to blkpg ioctl") Cc: <stable@vger.kernel.org> Signed-off-by: Ahmed S. Darwish <a.darwish@linutronix.de> Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'crypto')
0 files changed, 0 insertions, 0 deletions