[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230726214103.3261108-1-jannh@google.com>
Date: Wed, 26 Jul 2023 23:41:01 +0200
From: Jann Horn <jannh@...gle.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Linus Torvalds <torvalds@...uxfoundation.org>,
Peter Zijlstra <peterz@...radead.org>,
Suren Baghdasaryan <surenb@...gle.com>,
Matthew Wilcox <willy@...radead.org>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
Alan Stern <stern@...land.harvard.edu>,
Andrea Parri <parri.andrea@...il.com>,
Will Deacon <will@...nel.org>,
Boqun Feng <boqun.feng@...il.com>,
Nicholas Piggin <npiggin@...il.com>,
David Howells <dhowells@...hat.com>,
Jade Alglave <j.alglave@....ac.uk>,
Luc Maranget <luc.maranget@...ia.fr>,
"Paul E. McKenney" <paulmck@...nel.org>,
Akira Yokosawa <akiyks@...il.com>,
Daniel Lustig <dlustig@...dia.com>,
Joel Fernandes <joel@...lfernandes.org>
Subject: [PATCH 0/2] fix vma->anon_vma check for per-VMA locking; fix anon_vma memory ordering
Hi!
Patch 1 here is a straightforward fix for a race in per-VMA locking code
that can lead to use-after-free; I hope we can get this one into
mainline and stable quickly.
Patch 2 is a fix for what I believe is a longstanding memory ordering
issue in how vma->anon_vma is used across the MM subsystem; I expect
that this one will have to go through a few iterations of review and
potentially rewrites, because memory ordering is tricky.
(If someone else wants to take over patch 2, I would be very happy.)
These patches don't really belong together all that much, I'm just
sending them as a series because they'd otherwise conflict.
I am CCing:
- Suren because patch 1 touches his code
- Matthew Wilcox because he is also currently working on per-VMA
locking stuff
- all the maintainers/reviewers for the Kernel Memory Consistency Model
so they can help figure out the READ_ONCE() vs smp_load_acquire()
thing
- people involved in the previous discussion on the security list
Jann Horn (2):
mm: lock_vma_under_rcu() must check vma->anon_vma under vma lock
mm: Fix anon_vma memory ordering
include/linux/rmap.h | 15 ++++++++++++++-
mm/huge_memory.c | 4 +++-
mm/khugepaged.c | 2 +-
mm/ksm.c | 16 +++++++++++-----
mm/memory.c | 32 ++++++++++++++++++++------------
mm/mmap.c | 13 ++++++++++---
mm/rmap.c | 6 ++++--
mm/swapfile.c | 3 ++-
8 files changed, 65 insertions(+), 26 deletions(-)
base-commit: 20ea1e7d13c1b544fe67c4a8dc3943bb1ab33e6f
--
2.41.0.487.g6d72f3e995-goog
Powered by blists - more mailing lists