Re: [PATCH v2 0/9] memfd: add sealing to hugetlb-backed memory
From: Mike Kravetz
Date: Mon Nov 06 2017 - 20:47:58 EST
On 11/06/2017 06:39 AM, Marc-Andrà Lureau wrote:
> 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 for doing this.
I will create a patch to restructure the code such that memfd_create (and
file sealing) is split out and will depend on CONFIG_TMPFS -or-
CONFIG_HUGETLBFS. I think this can wait to go in until after this patch
series. Unless, someone prefers that it go in first?
--
Mike Kravetz
>
> 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
>