Highmem issues with MMC filesystem

Russell King - ARM Linux linux at arm.linux.org.uk
Thu Mar 18 13:51:21 EDT 2010


On Thu, Mar 18, 2010 at 12:17:50PM -0400, Nicolas Pitre wrote:
> On Thu, 18 Mar 2010, Russell King - ARM Linux wrote:
> > What exactly is the problem that we're discussing?  Is it that the data
> > on the block device is becoming corrupted, or is the data being read off
> > the block device corrupted?
> 
> Data read from a DMA based block device is corrupted in memory and 
> causing all sorts of misbehavior such as segmentation faults in user 
> space, or EXT2 complaining about broken filesystem metadata.

Isn't ext2 metadata read into lowmem pages?

The ext2 bitmap code sources its backing store from the old fs buffercache
code, which can only use lowmem - so the ext2 bitmaps are in lowmem (see
set_bh_page).  The superblock comes from the buffercache (grep for sb_bread)
as well, so that's lowmem, and it looks to me like inode reading also
comes via the buffercache.

It seems that all ext2 metadata is in lowmem, so I don't get the highmem
interaction causing ext2 fs metadata corruption.



More information about the linux-arm-kernel mailing list