| From 4352b47ab7918108b389a48d2163c9a4c2aaf139 Mon Sep 17 00:00:00 2001 |
| From: Marek Marczykowski <marmarek@mimuw.edu.pl> |
| Date: Tue, 3 May 2011 12:04:52 -0400 |
| Subject: xen-blkfront: fix data size for xenbus_gather in blkfront_connect |
| |
| From: Marek Marczykowski <marmarek@mimuw.edu.pl> |
| |
| commit 4352b47ab7918108b389a48d2163c9a4c2aaf139 upstream. |
| |
| barrier variable is int, not long. This overflow caused another variable |
| override: "err" (in PV code) and "binfo" (in xenlinux code - |
| drivers/xen/blkfront/blkfront.c). The later caused incorrect device |
| flags (RO/removable etc). |
| |
| Signed-off-by: Marek Marczykowski <marmarek@mimuw.edu.pl> |
| Acked-by: Ian Campbell <Ian.Campbell@citrix.com> |
| [v1: Changed title] |
| Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/block/xen-blkfront.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/block/xen-blkfront.c |
| +++ b/drivers/block/xen-blkfront.c |
| @@ -889,7 +889,7 @@ static void blkfront_connect(struct blkf |
| } |
| |
| err = xenbus_gather(XBT_NIL, info->xbdev->otherend, |
| - "feature-barrier", "%lu", &info->feature_barrier, |
| + "feature-barrier", "%d", &info->feature_barrier, |
| NULL); |
| if (err) |
| info->feature_barrier = 0; |