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 - 2024 Red Hat, Inc.