FAILED: patch "[PATCH] virtio_blk: Fix signedness bug in virtblk_prep_rq()" failed to apply to 6.0-stable tree
Subsystems (4)
[email protected]
maintainerThe patch below does not apply to the 6.0-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
Possible dependencies:
a26116c1e740 ("virtio_blk: Fix signedness bug in virtblk_prep_rq()") 258896fcc786 ("virtio-blk: use a helper to handle request queuing errors")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From a26116c1e74028914f281851488546c91cbae57d Mon Sep 17 00:00:00 2001
From: Rafael Mendonca <[email protected]>
Date: Fri, 21 Oct 2022 17:41:26 -0300
Subject: [PATCH] virtio_blk: Fix signedness bug in virtblk_prep_rq()
The virtblk_map_data() function returns negative error codes, however, the 'nents' field of vbr->sg_table is an unsigned int, which causes the error handling not to work correctly.
Message-Id: <[email protected]>
drivers/block/virtio_blk.c +4 -2
@@ -334,14 +334,16 @@ static blk_status_t virtblk_prep_rq(struct blk_mq_hw_ctx *hctx, struct virtblk_req *vbr) {blk_status_t status; +int num; status =virtblk_setup_cmd (vblk->vdev, req, vbr);if (unlikely (status))return status; - vbr->sg_table.nents =virtblk_map_data (hctx, req, vbr); -if (unlikely (vbr->sg_table.nents <0 )) + num =virtblk_map_data (hctx, req, vbr); +if (unlikely (num <0 ))return virtblk_fail_to_queue (req, -ENOMEM ); + vbr->sg_table.nents = num;blk_mq_start_request (req);