Skip to content

Commit 989c2f5

Browse files
ioworker0akpm00
authored andcommitted
mm: silence data-race in update_hiwater_rss
KCSAN reports a data race on mm_cluster.hiwater_rss, which can be accessed concurrently from various paths like page migration and memory unmapping without synchronization. Since hiwater_rss is a statistical field for accounting purposes, this data race is benign. Annotate both the read and write accesses with data_race() to make KCSAN happy. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Lance Yang <[email protected]> Reported-by: [email protected] Closes: https://lore.kernel.org/linux-mm/[email protected] Acked-by: Vlastimil Babka <[email protected]> Cc: David Hildenbrand <[email protected]> Cc: Jann Horn <[email protected]> Cc: Liam Howlett <[email protected]> Cc: Lorenzo Stoakes <[email protected]> Cc: Marco Elver <[email protected]> Cc: Rik van Riel <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
1 parent cde31ec commit 989c2f5

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

include/linux/mm.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2742,7 +2742,7 @@ static inline void update_hiwater_rss(struct mm_struct *mm)
27422742
unsigned long _rss = get_mm_rss(mm);
27432743

27442744
if (data_race(mm->hiwater_rss) < _rss)
2745-
(mm)->hiwater_rss = _rss;
2745+
data_race(mm->hiwater_rss = _rss);
27462746
}
27472747

27482748
static inline void update_hiwater_vm(struct mm_struct *mm)

0 commit comments

Comments
 (0)