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 v3 of the series: commit 3147192ed457 ("mm/memfd: use strncpy_from_user() to read memfd name") commit 1212f60db000 ("mm/memfd: refactor and cleanup the logic in memfd_create()") The base commit from mm-unstable that I used was: commit 0703fa3785f1 ("mm: remove PageTransTail()") Thank you Alice and Lorenzo for reviewing v3 of this series and for your feedback! Changes from v3 ==> v4: - Removed an unnecessary comment at the end of memfd_create() that I added. - Added Alice and Lorenzo's "Reviewed-by" tags to both patches in the series. - Rebased on top of the latest commit of the mm-unstable branch as mentioned above. 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@xxxxxxxxxx/#t v2: https://lore.kernel.org/all/20250107184804.4074147-1-isaacmanjarres@xxxxxxxxxx/ v3: https://lore.kernel.org/all/20250109185908.1006310-1-isaacmanjarres@xxxxxxxxxx/ 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 | 95 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 61 insertions(+), 34 deletions(-) -- 2.47.1.613.gc27f4b7a9f-goog