From: Mike Rapoport <rppt@kernel.org>
To: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
"David S . Miller" <davem@davemloft.net>,
Andreas Larsson <andreas@gaisler.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
Andy Lutomirski <luto@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
"H . Peter Anvin" <hpa@zytor.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>, Jan Kara <jack@suse.cz>,
Kees Cook <kees@kernel.org>, David Hildenbrand <david@redhat.com>,
Zi Yan <ziy@nvidia.com>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
"Liam R . Howlett" <Liam.Howlett@oracle.com>,
Nico Pache <npache@redhat.com>,
Ryan Roberts <ryan.roberts@arm.com>, Dev Jain <dev.jain@arm.com>,
Barry Song <baohua@kernel.org>, Xu Xin <xu.xin16@zte.com.cn>,
Chengming Zhou <chengming.zhou@linux.dev>,
Vlastimil Babka <vbabka@suse.cz>,
Suren Baghdasaryan <surenb@google.com>,
Michal Hocko <mhocko@suse.com>,
David Rientjes <rientjes@google.com>,
Shakeel Butt <shakeel.butt@linux.dev>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
Kan Liang <kan.liang@linux.intel.com>,
Masami Hiramatsu <mhiramat@kernel.org>,
Oleg Nesterov <oleg@redhat.com>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Steven Rostedt <rostedt@goodmis.org>,
Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
Valentin Schneider <vschneid@redhat.com>,
Jason Gunthorpe <jgg@ziepe.ca>,
John Hubbard <jhubbard@nvidia.com>, Peter Xu <peterx@redhat.com>,
Jann Horn <jannh@google.com>, Pedro Falcato <pfalcato@suse.de>,
Matthew Wilcox <willy@infradead.org>,
Mateusz Guzik <mjguzik@gmail.com>,
linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,
sparclinux@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org,
linux-perf-users@vger.kernel.org
Subject: Re: [PATCH 05/10] mm: convert uprobes to mm_flags_*() accessors
Date: Thu, 14 Aug 2025 11:33:59 +0300 [thread overview]
Message-ID: <aJ2fd3iD6GqZ_LWw@kernel.org> (raw)
In-Reply-To: <1d4fe5963904cc0c707da1f53fbfe6471d3eff10.1755012943.git.lorenzo.stoakes@oracle.com>
On Tue, Aug 12, 2025 at 04:44:14PM +0100, Lorenzo Stoakes wrote:
> As part of the effort to move to mm->flags becoming a bitmap field, convert
> existing users to making use of the mm_flags_*() accessors which will, when
> the conversion is complete, be the only means of accessing mm_struct flags.
>
> No functional change intended.
>
> Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
> ---
> kernel/events/uprobes.c | 32 ++++++++++++++++----------------
> 1 file changed, 16 insertions(+), 16 deletions(-)
>
> diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c
> index 7ca1940607bd..31a12b60055f 100644
> --- a/kernel/events/uprobes.c
> +++ b/kernel/events/uprobes.c
> @@ -1153,15 +1153,15 @@ static int install_breakpoint(struct uprobe *uprobe, struct vm_area_struct *vma,
> * set MMF_HAS_UPROBES in advance for uprobe_pre_sstep_notifier(),
> * the task can hit this breakpoint right after __replace_page().
> */
> - first_uprobe = !test_bit(MMF_HAS_UPROBES, &mm->flags);
> + first_uprobe = !mm_flags_test(MMF_HAS_UPROBES, mm);
> if (first_uprobe)
> - set_bit(MMF_HAS_UPROBES, &mm->flags);
> + mm_flags_set(MMF_HAS_UPROBES, mm);
>
> ret = set_swbp(&uprobe->arch, vma, vaddr);
> if (!ret)
> - clear_bit(MMF_RECALC_UPROBES, &mm->flags);
> + mm_flags_clear(MMF_RECALC_UPROBES, mm);
> else if (first_uprobe)
> - clear_bit(MMF_HAS_UPROBES, &mm->flags);
> + mm_flags_clear(MMF_HAS_UPROBES, mm);
>
> return ret;
> }
> @@ -1171,7 +1171,7 @@ static int remove_breakpoint(struct uprobe *uprobe, struct vm_area_struct *vma,
> {
> struct mm_struct *mm = vma->vm_mm;
>
> - set_bit(MMF_RECALC_UPROBES, &mm->flags);
> + mm_flags_set(MMF_RECALC_UPROBES, mm);
> return set_orig_insn(&uprobe->arch, vma, vaddr);
> }
>
> @@ -1303,7 +1303,7 @@ register_for_each_vma(struct uprobe *uprobe, struct uprobe_consumer *new)
> /* consult only the "caller", new consumer. */
> if (consumer_filter(new, mm))
> err = install_breakpoint(uprobe, vma, info->vaddr);
> - } else if (test_bit(MMF_HAS_UPROBES, &mm->flags)) {
> + } else if (mm_flags_test(MMF_HAS_UPROBES, mm)) {
> if (!filter_chain(uprobe, mm))
> err |= remove_breakpoint(uprobe, vma, info->vaddr);
> }
> @@ -1595,7 +1595,7 @@ int uprobe_mmap(struct vm_area_struct *vma)
>
> if (vma->vm_file &&
> (vma->vm_flags & (VM_WRITE|VM_SHARED)) == VM_WRITE &&
> - test_bit(MMF_HAS_UPROBES, &vma->vm_mm->flags))
> + mm_flags_test(MMF_HAS_UPROBES, vma->vm_mm))
> delayed_ref_ctr_inc(vma);
>
> if (!valid_vma(vma, true))
> @@ -1655,12 +1655,12 @@ void uprobe_munmap(struct vm_area_struct *vma, unsigned long start, unsigned lon
> if (!atomic_read(&vma->vm_mm->mm_users)) /* called by mmput() ? */
> return;
>
> - if (!test_bit(MMF_HAS_UPROBES, &vma->vm_mm->flags) ||
> - test_bit(MMF_RECALC_UPROBES, &vma->vm_mm->flags))
> + if (!mm_flags_test(MMF_HAS_UPROBES, vma->vm_mm) ||
> + mm_flags_test(MMF_RECALC_UPROBES, vma->vm_mm))
> return;
>
> if (vma_has_uprobes(vma, start, end))
> - set_bit(MMF_RECALC_UPROBES, &vma->vm_mm->flags);
> + mm_flags_set(MMF_RECALC_UPROBES, vma->vm_mm);
> }
>
> static vm_fault_t xol_fault(const struct vm_special_mapping *sm,
> @@ -1823,10 +1823,10 @@ void uprobe_end_dup_mmap(void)
>
> void uprobe_dup_mmap(struct mm_struct *oldmm, struct mm_struct *newmm)
> {
> - if (test_bit(MMF_HAS_UPROBES, &oldmm->flags)) {
> - set_bit(MMF_HAS_UPROBES, &newmm->flags);
> + if (mm_flags_test(MMF_HAS_UPROBES, oldmm)) {
> + mm_flags_set(MMF_HAS_UPROBES, newmm);
> /* unconditionally, dup_mmap() skips VM_DONTCOPY vmas */
> - set_bit(MMF_RECALC_UPROBES, &newmm->flags);
> + mm_flags_set(MMF_RECALC_UPROBES, newmm);
> }
> }
>
> @@ -2370,7 +2370,7 @@ static void mmf_recalc_uprobes(struct mm_struct *mm)
> return;
> }
>
> - clear_bit(MMF_HAS_UPROBES, &mm->flags);
> + mm_flags_clear(MMF_HAS_UPROBES, mm);
> }
>
> static int is_trap_at_addr(struct mm_struct *mm, unsigned long vaddr)
> @@ -2468,7 +2468,7 @@ static struct uprobe *find_active_uprobe_rcu(unsigned long bp_vaddr, int *is_swb
> *is_swbp = -EFAULT;
> }
>
> - if (!uprobe && test_and_clear_bit(MMF_RECALC_UPROBES, &mm->flags))
> + if (!uprobe && mm_flags_test_and_clear(MMF_RECALC_UPROBES, mm))
> mmf_recalc_uprobes(mm);
> mmap_read_unlock(mm);
>
> @@ -2818,7 +2818,7 @@ int uprobe_pre_sstep_notifier(struct pt_regs *regs)
> if (!current->mm)
> return 0;
>
> - if (!test_bit(MMF_HAS_UPROBES, ¤t->mm->flags) &&
> + if (!mm_flags_test(MMF_HAS_UPROBES, current->mm) &&
> (!current->utask || !current->utask->return_instances))
> return 0;
>
> --
> 2.50.1
>
--
Sincerely yours,
Mike.
next prev parent reply other threads:[~2025-08-14 8:34 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-12 15:44 [PATCH 00/10] mm: make mm->flags a bitmap and 64-bit on all arches Lorenzo Stoakes
2025-08-12 15:44 ` [PATCH 01/10] mm: add bitmap mm->flags field Lorenzo Stoakes
2025-08-12 16:20 ` Liam R. Howlett
2025-08-13 19:53 ` Lorenzo Stoakes
2025-08-26 12:48 ` David Hildenbrand
2025-08-12 15:44 ` [PATCH 02/10] mm: convert core mm to mm_flags_*() accessors Lorenzo Stoakes
2025-08-12 16:32 ` Liam R. Howlett
2025-08-12 22:52 ` Andrew Morton
2025-08-13 4:11 ` Lorenzo Stoakes
2025-08-14 8:27 ` Mike Rapoport
2025-08-15 6:07 ` Baolin Wang
2025-08-26 12:50 ` David Hildenbrand
2025-08-26 12:58 ` Lorenzo Stoakes
2025-09-16 19:49 ` Chris Mason
2025-09-17 0:16 ` Mateusz Guzik
2025-09-17 5:20 ` Lorenzo Stoakes
2025-09-17 5:22 ` Mateusz Guzik
2025-09-17 5:13 ` Lorenzo Stoakes
2025-09-17 5:16 ` Lorenzo Stoakes
2025-09-17 23:40 ` Andrew Morton
2025-09-18 5:56 ` Lorenzo Stoakes
2025-08-12 15:44 ` [PATCH 03/10] mm: convert prctl " Lorenzo Stoakes
2025-08-12 16:34 ` Liam R. Howlett
2025-08-14 8:29 ` Mike Rapoport
2025-08-26 12:50 ` David Hildenbrand
2025-08-12 15:44 ` [PATCH 04/10] mm: convert arch-specific code " Lorenzo Stoakes
2025-08-12 17:19 ` Liam R. Howlett
2025-08-13 14:10 ` Lorenzo Stoakes
2025-08-14 8:30 ` Mike Rapoport
2025-08-26 12:51 ` David Hildenbrand
2025-08-12 15:44 ` [PATCH 05/10] mm: convert uprobes " Lorenzo Stoakes
2025-08-12 17:24 ` Liam R. Howlett
2025-08-14 8:33 ` Mike Rapoport [this message]
2025-08-26 12:51 ` David Hildenbrand
2025-08-12 15:44 ` [PATCH 06/10] mm: update coredump logic to correctly use bitmap mm flags Lorenzo Stoakes
2025-08-12 17:26 ` Liam R. Howlett
2025-08-14 8:37 ` Mike Rapoport
2025-08-15 13:52 ` Christian Brauner
2025-08-15 14:12 ` Lorenzo Stoakes
2025-08-26 11:33 ` Lorenzo Stoakes
2025-08-26 12:52 ` David Hildenbrand
2025-08-12 15:44 ` [PATCH 07/10] mm: correct sign-extension issue in MMF_* flag masks Lorenzo Stoakes
2025-08-12 17:30 ` Liam R. Howlett
2025-08-14 8:38 ` Mike Rapoport
2025-08-26 13:05 ` David Hildenbrand
2025-08-26 13:59 ` Lorenzo Stoakes
2025-08-26 14:08 ` Lorenzo Stoakes
2025-08-12 15:44 ` [PATCH 08/10] mm: update fork mm->flags initialisation to use bitmap Lorenzo Stoakes
2025-08-12 17:31 ` Liam R. Howlett
2025-08-14 8:39 ` Mike Rapoport
2025-08-26 13:12 ` David Hildenbrand
2025-08-26 14:21 ` Lorenzo Stoakes
2025-08-26 14:28 ` David Hildenbrand
2025-08-26 14:32 ` Lorenzo Stoakes
2025-08-26 15:24 ` David Hildenbrand
2025-08-26 15:39 ` Lorenzo Stoakes
2025-08-26 15:53 ` David Hildenbrand
2025-08-26 16:26 ` Lorenzo Stoakes
2025-08-12 15:44 ` [PATCH 09/10] mm: convert remaining users to mm_flags_*() accessors Lorenzo Stoakes
2025-08-12 17:32 ` Liam R. Howlett
2025-08-14 8:42 ` Mike Rapoport
2025-08-26 13:13 ` David Hildenbrand
2025-08-12 15:44 ` [PATCH 10/10] mm: replace mm->flags with bitmap entirely and set to 64 bits Lorenzo Stoakes
2025-08-12 17:35 ` Liam R. Howlett
2025-08-12 17:43 ` Lorenzo Stoakes
2025-08-14 8:43 ` Mike Rapoport
2025-08-26 13:14 ` David Hildenbrand
2025-08-26 13:22 ` Lorenzo Stoakes
2025-08-12 20:13 ` [PATCH 00/10] mm: make mm->flags a bitmap and 64-bit on all arches SeongJae Park
2025-08-13 4:18 ` Lorenzo Stoakes
2025-08-13 16:24 ` SeongJae Park
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aJ2fd3iD6GqZ_LWw@kernel.org \
--to=rppt@kernel.org \
--cc=Liam.Howlett@oracle.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=agordeev@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=alexander.shishkin@linux.intel.com \
--cc=andreas@gaisler.com \
--cc=baohua@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=borntraeger@linux.ibm.com \
--cc=bp@alien8.de \
--cc=brauner@kernel.org \
--cc=bsegall@google.com \
--cc=chengming.zhou@linux.dev \
--cc=dave.hansen@linux.intel.com \
--cc=davem@davemloft.net \
--cc=david@redhat.com \
--cc=dev.jain@arm.com \
--cc=dietmar.eggemann@arm.com \
--cc=gerald.schaefer@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=hpa@zytor.com \
--cc=irogers@google.com \
--cc=jack@suse.cz \
--cc=jannh@google.com \
--cc=jgg@ziepe.ca \
--cc=jhubbard@nvidia.com \
--cc=jolsa@kernel.org \
--cc=juri.lelli@redhat.com \
--cc=kan.liang@linux.intel.com \
--cc=kees@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=luto@kernel.org \
--cc=mark.rutland@arm.com \
--cc=mgorman@suse.de \
--cc=mhiramat@kernel.org \
--cc=mhocko@suse.com \
--cc=mingo@redhat.com \
--cc=mjguzik@gmail.com \
--cc=namhyung@kernel.org \
--cc=npache@redhat.com \
--cc=oleg@redhat.com \
--cc=peterx@redhat.com \
--cc=peterz@infradead.org \
--cc=pfalcato@suse.de \
--cc=rientjes@google.com \
--cc=rostedt@goodmis.org \
--cc=ryan.roberts@arm.com \
--cc=shakeel.butt@linux.dev \
--cc=sparclinux@vger.kernel.org \
--cc=surenb@google.com \
--cc=svens@linux.ibm.com \
--cc=tglx@linutronix.de \
--cc=vbabka@suse.cz \
--cc=vincent.guittot@linaro.org \
--cc=viro@zeniv.linux.org.uk \
--cc=vschneid@redhat.com \
--cc=willy@infradead.org \
--cc=xu.xin16@zte.com.cn \
--cc=ziy@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.