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

From: Marc-Andrà Lureau
Date: Mon Nov 06 2017 - 09:39:55 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!

v1->v2: after Mike review,
- 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
hugetlbfs: implement memfd sealing
shmem: add sealing support to hugetlb-backed memfd
memfd-tests: 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 | 45 ++++++
tools/testing/selftests/memfd/common.h | 9 ++
tools/testing/selftests/memfd/fuse_test.c | 36 +++--
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, 195 insertions(+), 232 deletions(-)
create mode 100644 tools/testing/selftests/memfd/common.c
create mode 100644 tools/testing/selftests/memfd/common.h

--
2.15.0.rc0.40.gaefcc5f6f