]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mm: use folio_expected_ref_count() helper for reference counting
authorShivank Garg <shivankg@amd.com>
Wed, 11 Jun 2025 05:27:07 +0000 (05:27 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 10 Jul 2025 05:42:08 +0000 (22:42 -0700)
Replace open-coded folio reference count calculations with the
folio_expected_ref_count().

No functional changes intended.

Link: https://lkml.kernel.org/r/20250611052706.515408-2-shivankg@amd.com
Signed-off-by: Shivank Garg <shivankg@amd.com>
Acked-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alistair Popple <apopple@nvidia.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Marc Rutland <mark.rutland@arm.com>
Cc: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Namhyung kim <namhyung@kernel.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
kernel/events/uprobes.c
mm/memfd.c

index 4c965ba77f9f8cb96cc539b770e7bbe886ea3b37..8a601df8707208b8f94d78a97b2a84db2f4bc7e7 100644 (file)
@@ -436,8 +436,7 @@ static int __uprobe_write_opcode(struct vm_area_struct *vma,
         * there are no unexpected folio references ...
         */
        if (is_register || userfaultfd_missing(vma) ||
-           (folio_ref_count(folio) != folio_mapcount(folio) + 1 +
-            folio_test_swapcache(folio) * folio_nr_pages(folio)))
+           (folio_ref_count(folio) != folio_expected_ref_count(folio) + 1))
                goto remap;
 
        /*
index 4fc98abe662775a01114622bfb7b0e9bd63a48b6..65a107f72e399d63683a6f313a171fa8be001dd5 100644 (file)
@@ -32,8 +32,7 @@
 
 static bool memfd_folio_has_extra_refs(struct folio *folio)
 {
-       return folio_ref_count(folio) - folio_mapcount(folio) !=
-              folio_nr_pages(folio);
+       return folio_ref_count(folio) != folio_expected_ref_count(folio);
 }
 
 static void memfd_tag_pins(struct xa_state *xas)