[PATCH v4 00/15] mm/shmem: various (urgent?) fixes
From: David Hildenbrand (Arm)
Date: Thu Oct 29 2026 - 06:46:28 EST
Hi,
Thanks everyone for the fast review and tests!
I'm planning on picking these myself and routing them through mm-core.
This is a handful of fixes for shmem/tmpfs. I sneaked in a related
hugetlb fix that stalled upstream.
Some of the stuff is more urgent (patch #1, F_SEAL_EXEC, truncation
hangs), others are less urgent but still rather unpleasant.
The majority are fixes from Anthropic that I cleaned up or reworked.
While doing that, I found a bunch of other issues and tried to fix them
somewhat cleanly.
Mote details, including other issues not fixed by this series can be
found in the cover letter of v1.
Signed-off-by: David Hildenbrand (Arm) <david@xxxxxxxxxx>
---
Changes in v4:
- "mm/shmem: honour F_SEAL_EXEC when an ACL is set"
- #define shmem_set_acl simple_set_acl
- Document remaining race in "mm/shmem: hold off eviction in shmem_writeout()"
- Link to v3: https://patch.msgid.link/20261028-fixes_shmem-v3-0-4ce3baf2db4b@xxxxxxxxxx
Changes in v3:
- Rebased on mm-stable
- Fixup for shmem_set_acl() no longer required
- Re-include the commit I dropped by accident
- Apply tags
- Link to v2: https://patch.msgid.link/20261027-fixes_shmem-v2-0-86a00952acb9@xxxxxxxxxx
Changes in v2:
- Rebased on mm-stable
- Fixup shmem_set_acl() compilation issue after rebase
- Dropped: "mm/shmem: avoid moving the truncation start backwards"
- Fixed up: "mm/shmem: stop retrying folios that cannot be split"
- In "hugetlbfs: enforce F_SEAL_EXEC in setattr", check for S_ISREG
- Smaller patch description fixups
- Picked up tags
- Link to v1: https://patch.msgid.link/20261026-fixes_shmem-v1-0-703206d5fa0c@xxxxxxxxxx
---
Chris Mason (4):
mm/mempolicy: charge shared policy nodes
mm/shmem: honour F_SEAL_EXEC when an ACL is set
mm/shmem: stop retrying folios that cannot be split
mm/shmem: preserve data in clean folios when splitting fails
David Hildenbrand (Arm) (7):
mm/shmem: discard whole new large folios on fallocate rollback
mm/shmem: rescan after nonuniform folio splitting
mm/shmem: fix truncate hang in large swap entry
mm/shmem: preserve allocation errors when swapping in large entries
mm/shmem: fix truncate loop after boundary swapin failure
mm/shmem: fix accounting of swapin-error markers
mm/shmem: fix truncation of files containing only swapin-error markers
Eva Kurchatova (1):
hugetlbfs: enforce F_SEAL_EXEC in setattr
Josef Bacik (3):
tmpfs: keep the quota soft limits of an unused id
tmpfs: preserve explicitly disabled quota limits
mm/shmem: hold off eviction in shmem_writeout()
fs/hugetlbfs/inode.c | 8 +++
include/linux/memfd.h | 9 +++
mm/mempolicy.c | 4 +-
mm/shmem.c | 168 ++++++++++++++++++++++++++++++++++----------------
mm/shmem_quota.c | 28 +++++----
5 files changed, 149 insertions(+), 68 deletions(-)
---
base-commit: 65ba8f34ec886ec72b2c07ddc8cf3d815c32869d
change-id: 20261025-fixes_shmem-2782719b130e
--
Cheers,
David