blkfront: fix overflow in connect function

binfo variable was overriden by sscanf (xenbus_gather) with incorrect format.
Result: there was no RO/removable etc flags set.
devel-3.9
Marek Marczykowski 13 years ago
parent e04cb8419e
commit ef08570700

@ -0,0 +1,14 @@
barrier variable is int, not long. This overflow caused another variable
override: err (in PV code) and binfo (in xenlinux code).
--- linux-2.6.38.3/drivers/xen/blkfront/blkfront.c.orig 2011-05-02 01:56:29.572723580 +0200
+++ linux-2.6.38.3/drivers/xen/blkfront/blkfront.c 2011-05-02 12:44:20.512128661 +0200
@@ -364,7 +364,7 @@
}
err = xenbus_gather(XBT_NIL, info->xbdev->otherend,
- "feature-barrier", "%lu", &barrier,
+ "feature-barrier", "%u", &barrier,
NULL);
/*
* If there's no "feature-barrier" defined, then it means

@ -844,3 +844,4 @@
patches.xen/xen-x86_64-unmapped-initrd
patches.qubes/nuke_balloon_minimum_target.patch
patches.fixes/xen-blkfront-connect-overflow.patch

Loading…
Cancel
Save