[PATCH v2 0/2] mm/hugetlb: Fix issues on file sealing and fork

From: Peter Xu
Date: Mon May 03 2021 - 19:44:09 EST

- Move seal check to be after setting VM_HUGETLB [Mike]
- Rewrite commit message for patch 2, explaining more on why it got broken
- Add r-bs for Mike

Hugh reported issue with F_SEAL_FUTURE_WRITE not applied correctly to
hugetlbfs, which I can easily verify using the memfd_test program, which seems
that the program is hardly run with hugetlbfs pages (as by default shmem).

Meanwhile I found another probably even more severe issue on that hugetlb fork
won't wr-protect child cow pages, so child can potentially write to parent
private pages. Patch 2 addresses that.

After this series applied, "memfd_test hugetlbfs" should start to pass.

Please review, thanks.

Peter Xu (2):
mm/hugetlb: Fix F_SEAL_FUTURE_WRITE
mm/hugetlb: Fix cow where page writtable in child

fs/hugetlbfs/inode.c | 5 +++++
include/linux/mm.h | 32 ++++++++++++++++++++++++++++++++
mm/hugetlb.c | 1 +
mm/shmem.c | 22 ++++------------------
4 files changed, 42 insertions(+), 18 deletions(-)