From: Marek Marczykowski Date: Tue, 3 May 2011 16:04:52 +0000 (-0400) Subject: xen-blkfront: fix data size for xenbus_gather in blkfront_connect X-Git-Tag: v2.6.34.13~140 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5f89d486598fd0c5e5e18793093251a392ebd598;p=thirdparty%2Fkernel%2Fstable.git xen-blkfront: fix data size for xenbus_gather in blkfront_connect 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 Acked-by: Ian Campbell [v1: Changed title] Signed-off-by: Konrad Rzeszutek Wilk Signed-off-by: Paul Gortmaker --- diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index 82ed403147c06..5d5e1eac6a5c8 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c @@ -890,7 +890,7 @@ static void blkfront_connect(struct blkfront_info *info) } 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;