Patch "block: fix infinite loop for invalid zone append" has been added to the 5.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    block: fix infinite loop for invalid zone append

to the 5.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     block-fix-infinite-loop-for-invalid-zone-append.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit fc6eaa08f88e0042edd03856f32dfa0bace09812
Author: Keith Busch <kbusch@xxxxxxxxxx>
Date:   Fri Jun 10 12:58:20 2022 -0700

    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@xxxxxxxxxx>
    Reviewed-by: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx>
    Reviewed-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Johannes Thumshirn <johannes.thumshirn@xxxxxxx>
    Link: https://lore.kernel.org/r/20220610195830.3574005-2-kbusch@xxxxxx
    Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/block/bio.c b/block/bio.c
index f8d26ce7b61b..6d6e7b96b002 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -1057,9 +1057,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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux