drivers/block/xen-blkfront.c | 4 ---- 1 file changed, 4 deletions(-)
The backport of commit 8f5a695d99000fc ("xen/blkfront: don't take local
copy of a request from the ring page") to stable 4.4 kernel introduced
a bug when adding the needed blkif_ring_get_request() function, as
info->ring.req_prod_pvt was incremented twice now.
Fix that be deleting the now superfluous increments after calling that
function.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
drivers/block/xen-blkfront.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 1e44b7880200..ae2c47e99c88 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -493,8 +493,6 @@ static int blkif_queue_discard_req(struct request *req)
else
ring_req->u.discard.flag = 0;
- info->ring.req_prod_pvt++;
-
/* Copy the request to the ring page. */
*final_ring_req = *ring_req;
info->shadow[id].inflight = true;
@@ -711,8 +709,6 @@ static int blkif_queue_rw_req(struct request *req)
if (setup.segments)
kunmap_atomic(setup.segments);
- info->ring.req_prod_pvt++;
-
/* Copy request(s) to the ring page. */
*final_ring_req = *ring_req;
info->shadow[id].inflight = true;
--
2.26.2
On Thu, Dec 23, 2021 at 11:53:08AM +0100, Juergen Gross wrote:
> The backport of commit 8f5a695d99000fc ("xen/blkfront: don't take local
> copy of a request from the ring page") to stable 4.4 kernel introduced
> a bug when adding the needed blkif_ring_get_request() function, as
> info->ring.req_prod_pvt was incremented twice now.
>
> Fix that be deleting the now superfluous increments after calling that
> function.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> drivers/block/xen-blkfront.c | 4 ----
> 1 file changed, 4 deletions(-)
So this is only needed in 4.4.y? No other backports were incorrect?
thanks,
greg k-h
On 23.12.21 11:57, Greg KH wrote:
> On Thu, Dec 23, 2021 at 11:53:08AM +0100, Juergen Gross wrote:
>> The backport of commit 8f5a695d99000fc ("xen/blkfront: don't take local
>> copy of a request from the ring page") to stable 4.4 kernel introduced
>> a bug when adding the needed blkif_ring_get_request() function, as
>> info->ring.req_prod_pvt was incremented twice now.
>>
>> Fix that be deleting the now superfluous increments after calling that
>> function.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> ---
>> drivers/block/xen-blkfront.c | 4 ----
>> 1 file changed, 4 deletions(-)
>
> So this is only needed in 4.4.y? No other backports were incorrect?
Yes. 4.4 only.
Juergen
This is a note to let you know that I've just added the patch titled
xen/blkfront: fix bug in backported patch
to the 4.4-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:
xen-blkfront-fix-bug-in-backported-patch.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.
From jgross@suse.com Mon Dec 27 13:38:43 2021
From: Juergen Gross <jgross@suse.com>
Date: Thu, 23 Dec 2021 11:53:08 +0100
Subject: xen/blkfront: fix bug in backported patch
To: stable@vger.kernel.org
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>
Message-ID: <20211223105308.17077-1-jgross@suse.com>
From: Juergen Gross <jgross@suse.com>
The backport of commit 8f5a695d99000fc ("xen/blkfront: don't take local
copy of a request from the ring page") to stable 4.4 kernel introduced
a bug when adding the needed blkif_ring_get_request() function, as
info->ring.req_prod_pvt was incremented twice now.
Fix that be deleting the now superfluous increments after calling that
function.
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/block/xen-blkfront.c | 4 ----
1 file changed, 4 deletions(-)
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -493,8 +493,6 @@ static int blkif_queue_discard_req(struc
else
ring_req->u.discard.flag = 0;
- info->ring.req_prod_pvt++;
-
/* Copy the request to the ring page. */
*final_ring_req = *ring_req;
info->shadow[id].inflight = true;
@@ -711,8 +709,6 @@ static int blkif_queue_rw_req(struct req
if (setup.segments)
kunmap_atomic(setup.segments);
- info->ring.req_prod_pvt++;
-
/* Copy request(s) to the ring page. */
*final_ring_req = *ring_req;
info->shadow[id].inflight = true;
Patches currently in stable-queue which might be from jgross@suse.com are
queue-4.4/xen-blkfront-fix-bug-in-backported-patch.patch
© 2016 - 2026 Red Hat, Inc.