On Mon, Apr 06, 2015 at 08:13:25AM +0000, Naoya Horiguchi wrote: > With page flag sanitization patchset, an invalid usage of ClearPageReclaim() > is detected in set_page_dirty(). > This can be called from __unmap_hugepage_range(), so let's check PageReclaim > flag before trying to clear it to avoid the misuse. > > Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> > --- > mm/page-writeback.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/mm/page-writeback.c b/mm/page-writeback.c > index 22f3714d35e6..38aa0d8f19d3 100644 > --- a/mm/page-writeback.c > +++ b/mm/page-writeback.c > @@ -2225,7 +2225,8 @@ int set_page_dirty(struct page *page) > * it will confuse readahead and make it restart the size rampup > * process. But it's a trivial problem. > */ > - ClearPageReclaim(page); > + if (PageReclaim(page)) > + ClearPageReclaim(page); > #ifdef CONFIG_BLOCK > if (!spd) > spd = __set_page_dirty_buffers; > -- > 2.1.0 -- Kirill A. Shutemov -- 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>