Re: [PATCH] thp: call pmdp_invalidate() with correct virtual address

From: Linus Torvalds
Date: Wed Feb 24 2016 - 13:49:13 EST


On Wed, Feb 24, 2016 at 7:58 AM, Kirill A. Shutemov
<kirill.shutemov@xxxxxxxxxxxxxxx> wrote:
> Sebastian Ott and Gerald Schaefer reported random crashes on s390.
> It was bisected to my THP refcounting patchset.
>
> The problem is that pmdp_invalidated() called with wrong virtual
> address. It got offset up by HPAGE_PMD_SIZE by loop over ptes.
>
> The solution is to introduce new variable to be used in loop and don't
> touch 'haddr'.

Thanks, I applied this directly rather than wait for this to go
through Andrew (which would have been "proper channels").

This issue has been worrying me for a while now and was my main core
worry for 4.5. Good to have it resolved, and thanks to everybody who
tested and got involved.

Linus