On Mon, 2019-08-19 at 06:40:25 UTC, Christophe Leroy wrote: > If a page is already mapped RW without the DIRTY flag, the DIRTY > flag is never set and a TLB store miss exception is taken forever. > > This is easily reproduced with the following app: > > void main(void) > { > volatile char *ptr = mmap(0, 4096, PROT_READ | PROT_WRITE, MAP_SHARED | > MAP_ANONYMOUS, -1, 0); > > *ptr = *ptr; > } > > When DIRTY flag is not set, bail out of TLB miss handler and take > a minor page fault which will set the DIRTY flag. > > Fixes: f8b58c64eaef ("powerpc/603: let's handle PAGE_DIRTY directly") > Cc: sta...@vger.kernel.org > Reported-by: Doug Crawford <doug.crawf...@intelight-its.com> > Signed-off-by: Christophe Leroy <christophe.le...@c-s.fr>
Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/415480dce2ef03bb8335deebd2f402f475443ce0 cheers