bug found in the core MTD driver code in 2.6.34 r97
Artem Bityutskiy
dedekind1 at gmail.com
Mon Apr 18 00:38:08 EDT 2011
On Thu, 2011-04-14 at 17:55 +0100, Mike Turner wrote:
> Hi folks,
>
> On the second and subsequent boots into my Gumstix NAND-resident ubifs RFS
> (Gumstix "minimal build" aimed at fast booting from NAND), it seems that
> udevadm - executing from the script /etc/init.d/udev - encounters a driver
> crash when drivers/mtd/ubi/gluebi.c:gluebi_read() passes the value
> 0xFFFFFFF0 as a "struct ubi_volume_desc *" argument to ubi_read() and
> thence ubi_leb_read().
OK, I see the issue now.
> Is this bug unique to my build, perhaps caused by an
> incomplete/wrong/missing patch, or is it the case in other builds?
Not this is just a bug. Your version of the kernel is old and the
upstream has changed, but I see there are problems with the error path
in upstream as well.
>
> I fixed it by making blktrans_open() behave exactly the same w.r.t. the
> return from get_mtd_device() as do all the other callers to that function.
> I presume that would be the correct approach?
Yeah, you may just fix up your kernel. You might as well try the
upstream kernel, fix it and submit a patch.
--
Best Regards,
Artem Bityutskiy (Артём Битюцкий)
More information about the linux-mtd
mailing list