linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/2] Cleanup for memfd_create()
@ 2025-01-09 18:59 Isaac J. Manjarres
  2025-01-09 18:59 ` [PATCH v3 1/2] mm/memfd: Refactor and cleanup the logic in memfd_create() Isaac J. Manjarres
  2025-01-09 18:59 ` [PATCH v3 2/2] mm/memfd: Use strncpy_from_user() to read memfd name Isaac J. Manjarres
  0 siblings, 2 replies; 9+ messages in thread
From: Isaac J. Manjarres @ 2025-01-09 18:59 UTC (permalink / raw)
  To: lorenzo.stoakes, Andrew Morton
  Cc: kaleshsingh, jstultz, aliceryhl, surenb, Isaac J. Manjarres,
	kernel-team, linux-mm, linux-kernel

memfd_create() handles all of its logic in a single function. Some of
the logic in the function is also somewhat contrived (i.e. copying the
memfd name from userpace).

This series aims to cleanup memfd_create() by splitting out the logic
into helper functions, and simplifying the memfd name copying to make
the code easier to follow.

This has no intended functional changes.

Note: to apply this series over mm-unstable, please revert v2 of
the series:

commit 729d8812ffd5 ("mm/memfd: Use strncpy_from_user() to read memfd name")
commit 24847e33d746 ("mm/memfd: Refactor and cleanup the logic in memfd_create()")

The base commit from mm-unstable that I used was:

commit 1cdadc307463 ("mm: compaction: skip memory compaction when there are not enough migratable pages")

Thank you Alice and Lorenzo for reviewing v2 of this series and for your
feedback!

Changes from v2 ==> v3:

- Removed namespacing from the new helper functions names.
- Updated names for helper functions to better describe what they do.
- Changed the argument to the flags sanitization function to be a
  pointer to not discard changes to the flags.
- Restored original ordering of how the fd and file structure were
  allocated.
- Simplified the constant used for allocating the buffer for the memfd
  name to NAME_MAX.
- Updated a comment about the return value of strncpy_from_user().
- Added Alice's "Reviewed-by" tag to the last patch in the series.

Changes from v1 ==> v2:

- Rebased on top of the mm-unstable branch instead of Linus' master
  branch. Base commit on mm-unstable: ca95745c20ad ("mm/memmap: prevent
  double scanning of memmap by kmemleak").

Links:

v1: https://lore.kernel.org/all/20250102230658.1112261-1-isaacmanjarres@google.com/#t
v2: https://lore.kernel.org/all/20250107184804.4074147-1-isaacmanjarres@google.com/

Isaac J. Manjarres (2):
  mm/memfd: Refactor and cleanup the logic in memfd_create()
  mm/memfd: Use strncpy_from_user() to read memfd name

 mm/memfd.c | 96 +++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 62 insertions(+), 34 deletions(-)

-- 
2.47.1.613.gc27f4b7a9f-goog



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-01-10 16:43 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-09 18:59 [PATCH v3 0/2] Cleanup for memfd_create() Isaac J. Manjarres
2025-01-09 18:59 ` [PATCH v3 1/2] mm/memfd: Refactor and cleanup the logic in memfd_create() Isaac J. Manjarres
2025-01-10  9:12   ` Alice Ryhl
2025-01-10 16:41     ` Isaac Manjarres
2025-01-10 12:47   ` Lorenzo Stoakes
2025-01-10 16:42     ` Isaac Manjarres
2025-01-09 18:59 ` [PATCH v3 2/2] mm/memfd: Use strncpy_from_user() to read memfd name Isaac J. Manjarres
2025-01-10 12:48   ` Lorenzo Stoakes
2025-01-10 16:43     ` Isaac Manjarres

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox