Re: [patch] cache flush bug in mm/filemap.c (all kernels >= 2.5.30(atleast))

From: Roman Zippel (zippel@linux-m68k.org)
Date: Wed May 28 2003 - 11:38:54 EST


Hi,

On Tue, 27 May 2003, David S. Miller wrote:

> The point I don't like about update_mmu_cache() is that it's called
> _after_ set_pte(). Practically it's maybe not a problem right now, but
> the cache synchronization should happen before set_pte().
>
> update_mmu_cache() is specifically supposed to always occur before
> anyone could try to use the mapping created.
>
> If this is ever violated, it will be fixed because it is a BUG().

set_pte() establishes the mapping, this means another cpu can get the pte
and start reading the data e.g. into the instruction cache, but if that
cpu still has dirty data in the data cache (e.g. a write() or a disk
read), the following update_mmu_cache() might be too late.

bye, Roman

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/