ef08570700
binfo variable was overriden by sscanf (xenbus_gather) with incorrect format. Result: there was no RO/removable etc flags set.
15 lines
557 B
Diff
15 lines
557 B
Diff
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
|