summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Busch <kbusch@kernel.org>2022-06-10 12:58:20 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-08-17 14:23:08 +0200
commit925a0117ac6873bdc1f70f430c5c58eb36ec9560 (patch)
tree0012e24a34009c2f79f5d0b1f3e9b0bd96fb266c
parent9abd50506fe4f86019b1230620c9e540805f857a (diff)
downloadlinux-stable-925a0117ac6873bdc1f70f430c5c58eb36ec9560.tar.gz
linux-stable-925a0117ac6873bdc1f70f430c5c58eb36ec9560.tar.bz2
linux-stable-925a0117ac6873bdc1f70f430c5c58eb36ec9560.zip
block: fix infinite loop for invalid zone append
[ Upstream commit b82d9fa257cb3725c49d94d2aeafc4677c34448a ] Returning 0 early from __bio_iov_append_get_pages() for the max_append_sectors warning just creates an infinite loop since 0 means success, and the bio will never fill from the unadvancing iov_iter. We could turn the return into an error value, but it will already be turned into an error value later on, so just remove the warning. Clearly no one ever hit it anyway. Fixes: 0512a75b98f84 ("block: Introduce REQ_OP_ZONE_APPEND") Signed-off-by: Keith Busch <kbusch@kernel.org> Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Link: https://lore.kernel.org/r/20220610195830.3574005-2-kbusch@fb.com Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--block/bio.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/block/bio.c b/block/bio.c
index b8a8bfba714f..b117765d58c0 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -1141,9 +1141,6 @@ static int __bio_iov_append_get_pages(struct bio *bio, struct iov_iter *iter)
size_t offset;
int ret = 0;
- if (WARN_ON_ONCE(!max_append_sectors))
- return 0;
-
/*
* Move page array up in the allocated memory for the bio vecs as far as
* possible so that we can start filling biovecs from the beginning