[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4A280BD4.9080908@canonical.com>
Date: Thu, 04 Jun 2009 20:00:52 +0200
From: Stefan Bader <stefan.bader@...onical.com>
To: pierre@...man.eu
CC: linux-kernel@...r.kernel.org, Andy Whitcroft <apw@...onical.com>
Subject: [PATCH] mmc: prevent dangling block device from accessing stale queues
Kernel: 2.6.30-rc7 based
Worked in 2.6.28 (probably only because things went at a different speed)
Testcase: Use ext3/ext4 on a SD card partitioned with one primary DOS partition
and leave it mounted while suspend/resume.
Result: After resume the partition table of the SD card has been erased.
The detailed description can be found at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/383668
In essence the mmc block device frees the generic request queue before the last
user of the gendisk has stopped using it leaving an invalid queue pointer which
get unfortunately re-used before more requests come in for the old device.
The bugfix will cause more I/O error messages and might not be the ultimate way
things should work, but it prevents data from getting lost.
Stefan
View attachment "0001-UBUNTU-Upstream-mmc-prevent-dangling-block-device-fr.patch" of type "text/x-diff" (2518 bytes)
Powered by blists - more mailing lists