On Mon, Jul 17, 2023 at 07:30:08PM +0000, SeongJae Park wrote: > From: Ryan Roberts <ryan.roberts@xxxxxxx> > > commit c11d34fa139e4b0fb4249a30f37b178353533fa1 upstream. > > It is racy to non-atomically read a pte, then clear the young bit, then > write it back as this could discard dirty information. Further, it is bad > practice to directly set a pte entry within a table. Instead clearing > young must go through the arch-provided helper, > ptep_test_and_clear_young() to ensure it is modified atomically and to > give the arch code visibility and allow it to check (and potentially > modify) the operation. > > Link: https://lkml.kernel.org/r/20230602092949.545577-3-ryan.roberts@xxxxxxx > Fixes: 3f49584b262c ("mm/damon: implement primitives for the virtual memory address spaces"). > Signed-off-by: Ryan Roberts <ryan.roberts@xxxxxxx> > Reviewed-by: Zi Yan <ziy@xxxxxxxxxx> > Reviewed-by: SeongJae Park <sj@xxxxxxxxxx> > Reviewed-by: Mike Rapoport (IBM) <rppt@xxxxxxxxxx> > Cc: Christoph Hellwig <hch@xxxxxx> > Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> > Cc: Lorenzo Stoakes <lstoakes@xxxxxxxxx> > Cc: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> > Cc: Uladzislau Rezki (Sony) <urezki@xxxxxxxxx> > Cc: Yu Zhao <yuzhao@xxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Signed-off-by: SeongJae Park <sj@xxxxxxxxxx> > --- > This is a manual backport of the commit, which cannot cleanly > cherry-picked on 5.15.y[1], on 5.15.y, specifically 5.15.120. > > [1] https://lore.kernel.org/stable/2023071613-reminder-relapse-b922@gregkh/ Now queued up, thanks. greg k-h