On Mon, Jun 30, 2014 at 05:32:16PM -0700, Andi Kleen wrote: > From: Andi Kleen <ak@xxxxxxxxxxxxxxx> > > When a hwpoison page is locked it could change state > due to parallel modifications. Check after the lock > if the page is still the same compound page. > > [v2: Removed earlier non LRU check which should be already > covered elsewhere] > > Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> > Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Is it -stable matter? Maybe 2.6.38+ can profit from this. Thanks, Naoya Horiguchi > --- > mm/memory-failure.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/mm/memory-failure.c b/mm/memory-failure.c > index cd8989c..99e5077 100644 > --- a/mm/memory-failure.c > +++ b/mm/memory-failure.c > @@ -1168,6 +1168,16 @@ int memory_failure(unsigned long pfn, int trapno, int flags) > lock_page(hpage); > > /* > + * The page could have changed compound pages during the locking. > + * If this happens just bail out. > + */ > + if (compound_head(p) != hpage) { > + action_result(pfn, "different compound page after locking", IGNORED); > + res = -EBUSY; > + goto out; > + } > + > + /* > * We use page flags to determine what action should be taken, but > * the flags can be modified by the error containment action. One > * example is an mlocked page, where PG_mlocked is cleared by > -- > 1.9.3 > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@xxxxxxxxx. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a> > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>