Patchwork [3.5.y.z,extended,stable] Patch "xen/blkback: Don't trust the handle from the frontend." has been added to staging queue

login
register
mail settings
Submitter Luis Henriques
Date March 4, 2013, 8:48 p.m.
Message ID <1362430136-22058-1-git-send-email-luis.henriques@canonical.com>
Download mbox | patch
Permalink /patch/224794/
State New
Headers show

Comments

Luis Henriques - March 4, 2013, 8:48 p.m.
This is a note to let you know that I have just added a patch titled

    xen/blkback: Don't trust the handle from the frontend.

to the linux-3.5.y-queue branch of the 3.5.y.z extended stable tree 
which can be found at:

 http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.5.y-queue

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.5.y.z tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable

Thanks.
-Luis

------

From 386927b0c93e2f86e8a08076194483910626f121 Mon Sep 17 00:00:00 2001
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Wed, 16 Jan 2013 11:36:23 -0500
Subject: [PATCH] xen/blkback: Don't trust the handle from the frontend.

commit 01c681d4c70d64cb72142a2823f27c4146a02e63 upstream.

The 'handle' is the device that the request is from. For the life-time
of the ring we copy it from a request to a response so that the frontend
is not surprised by it. But we do not need it - when we start processing
I/Os we have our own 'struct phys_req' which has only most essential
information about the request. In fact the 'vbd_translate' ends up
over-writing the preq.dev with a value from the backend.

This assignment of preq.dev with the 'handle' value is superfluous
so lets not do it.

Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 drivers/block/xen-blkback/blkback.c | 1 -
 1 file changed, 1 deletion(-)

--
1.8.1.2
Jan Beulich - March 5, 2013, 8:12 a.m.
>>> On 04.03.13 at 21:48, Luis Henriques <luis.henriques@canonical.com> wrote:
> This is a note to let you know that I have just added a patch titled
> 
>     xen/blkback: Don't trust the handle from the frontend.
> 
> to the linux-3.5.y-queue branch of the 3.5.y.z extended stable tree 
> which can be found at:
> 
>  
> http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux- 
> 3.5.y-queue
> 
> If you, or anyone else, feels it should not be added to this tree, please 
> reply to this email.

Yesterday we settled on dropping this from stable branches.

Jan

> For more information about the 3.5.y.z tree, see
> https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable 
> 
> Thanks.
> -Luis
> 
> ------
> 
> From 386927b0c93e2f86e8a08076194483910626f121 Mon Sep 17 00:00:00 2001
> From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Date: Wed, 16 Jan 2013 11:36:23 -0500
> Subject: [PATCH] xen/blkback: Don't trust the handle from the frontend.
> 
> commit 01c681d4c70d64cb72142a2823f27c4146a02e63 upstream.
> 
> The 'handle' is the device that the request is from. For the life-time
> of the ring we copy it from a request to a response so that the frontend
> is not surprised by it. But we do not need it - when we start processing
> I/Os we have our own 'struct phys_req' which has only most essential
> information about the request. In fact the 'vbd_translate' ends up
> over-writing the preq.dev with a value from the backend.
> 
> This assignment of preq.dev with the 'handle' value is superfluous
> so lets not do it.
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
> ---
>  drivers/block/xen-blkback/blkback.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/block/xen-blkback/blkback.c 
> b/drivers/block/xen-blkback/blkback.c
> index c6decb9..73d8c92 100644
> --- a/drivers/block/xen-blkback/blkback.c
> +++ b/drivers/block/xen-blkback/blkback.c
> @@ -623,7 +623,6 @@ static int dispatch_rw_block_io(struct xen_blkif *blkif,
>  		goto fail_response;
>  	}
> 
> -	preq.dev           = req->u.rw.handle;
>  	preq.sector_number = req->u.rw.sector_number;
>  	preq.nr_sects      = 0;
> 
> --
> 1.8.1.2
Luis Henriques - March 5, 2013, 9:41 a.m.
On Tue, Mar 05, 2013 at 08:12:10AM +0000, Jan Beulich wrote:
> >>> On 04.03.13 at 21:48, Luis Henriques <luis.henriques@canonical.com> wrote:
> > This is a note to let you know that I have just added a patch titled
> > 
> >     xen/blkback: Don't trust the handle from the frontend.
> > 
> > to the linux-3.5.y-queue branch of the 3.5.y.z extended stable tree 
> > which can be found at:
> > 
> >  
> > http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux- 
> > 3.5.y-queue
> > 
> > If you, or anyone else, feels it should not be added to this tree, please 
> > reply to this email.
> 
> Yesterday we settled on dropping this from stable branches.
> 
> Jan

Ok, thanks for the update.  I'll drop it from 3.5.

Cheers,
--
Luis

>
> > For more information about the 3.5.y.z tree, see
> > https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable 
> > 
> > Thanks.
> > -Luis
> > 
> > ------
> > 
> > From 386927b0c93e2f86e8a08076194483910626f121 Mon Sep 17 00:00:00 2001
> > From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > Date: Wed, 16 Jan 2013 11:36:23 -0500
> > Subject: [PATCH] xen/blkback: Don't trust the handle from the frontend.
> > 
> > commit 01c681d4c70d64cb72142a2823f27c4146a02e63 upstream.
> > 
> > The 'handle' is the device that the request is from. For the life-time
> > of the ring we copy it from a request to a response so that the frontend
> > is not surprised by it. But we do not need it - when we start processing
> > I/Os we have our own 'struct phys_req' which has only most essential
> > information about the request. In fact the 'vbd_translate' ends up
> > over-writing the preq.dev with a value from the backend.
> > 
> > This assignment of preq.dev with the 'handle' value is superfluous
> > so lets not do it.
> > 
> > Acked-by: Jan Beulich <jbeulich@suse.com>
> > Acked-by: Ian Campbell <ian.campbell@citrix.com>
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
> > ---
> >  drivers/block/xen-blkback/blkback.c | 1 -
> >  1 file changed, 1 deletion(-)
> > 
> > diff --git a/drivers/block/xen-blkback/blkback.c 
> > b/drivers/block/xen-blkback/blkback.c
> > index c6decb9..73d8c92 100644
> > --- a/drivers/block/xen-blkback/blkback.c
> > +++ b/drivers/block/xen-blkback/blkback.c
> > @@ -623,7 +623,6 @@ static int dispatch_rw_block_io(struct xen_blkif *blkif,
> >  		goto fail_response;
> >  	}
> > 
> > -	preq.dev           = req->u.rw.handle;
> >  	preq.sector_number = req->u.rw.sector_number;
> >  	preq.nr_sects      = 0;
> > 
> > --
> > 1.8.1.2
> 
> 
>

Patch

diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index c6decb9..73d8c92 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -623,7 +623,6 @@  static int dispatch_rw_block_io(struct xen_blkif *blkif,
 		goto fail_response;
 	}

-	preq.dev           = req->u.rw.handle;
 	preq.sector_number = req->u.rw.sector_number;
 	preq.nr_sects      = 0;