[PATCH v3 0/9] memfd: add sealing to hugetlb-backed memory

From: Marc-Andrà Lureau
Date: Tue Nov 07 2017 - 07:32:48 EST


Hi,

Recently, Mike Kravetz added hugetlbfs support to memfd. However, he
didn't add sealing support. One of the reasons to use memfd is to have
shared memory sealing when doing IPC or sharing memory with another
process with some extra safety. qemu uses shared memory & hugetables
with vhost-user (used by dpdk), so it is reasonable to use memfd
now instead for convenience and security reasons.

Thanks!

v3:
- do remaining MFD_DEF_SIZE/mfd_def_size substitutions
- fix missing unistd.h include in common.c
- tweaked a bit commit message prefixes
- added reviewed-by tags

v2:
- add "memfd-hugetlb:" prefix in memfd-test
- run fuse test on hugetlb backend memory
- rename function memfd_file_get_seals() -> memfd_file_seals_ptr()
- update commit messages
- added reviewed-by tags

RFC->v1:
- split rfc patch, after early review feedback
- added patch for memfd-test changes
- fix build with hugetlbfs disabled
- small code and commit messages improvements

Marc-Andrà Lureau (9):
shmem: unexport shmem_add_seals()/shmem_get_seals()
shmem: rename functions that are memfd-related
hugetlb: expose hugetlbfs_inode_info in header
hugetlb: implement memfd sealing
shmem: add sealing support to hugetlb-backed memfd
memfd-test: test hugetlbfs sealing
memfd-test: add 'memfd-hugetlb:' prefix when testing hugetlbfs
memfd-test: move common code to a shared unit
memfd-test: run fuse test on hugetlb backend memory

fs/fcntl.c | 2 +-
fs/hugetlbfs/inode.c | 39 +++--
include/linux/hugetlb.h | 11 ++
include/linux/shmem_fs.h | 6 +-
mm/shmem.c | 59 ++++---
tools/testing/selftests/memfd/Makefile | 5 +
tools/testing/selftests/memfd/common.c | 46 ++++++
tools/testing/selftests/memfd/common.h | 9 ++
tools/testing/selftests/memfd/fuse_test.c | 44 +++--
tools/testing/selftests/memfd/memfd_test.c | 212 ++++---------------------
tools/testing/selftests/memfd/run_fuse_test.sh | 2 +-
tools/testing/selftests/memfd/run_tests.sh | 1 +
12 files changed, 200 insertions(+), 236 deletions(-)
create mode 100644 tools/testing/selftests/memfd/common.c
create mode 100644 tools/testing/selftests/memfd/common.h

--
2.15.0.125.g8f49766d64