On 11/06/2017 06:39 AM, Marc-André Lureau wrote:
> Remove most of the special-casing of hugetlbfs now that sealing
> is supported.
>
> Signed-off-by: Marc-André Lureau
Reviewed-by: Mike Kravetz
--
Mike Kravetz
> ---
> tools/testing/selftests/memfd/memfd_test.c | 150
> +++--
> 1 file changed, 15 insertions(+), 135 deletions(-)
>
> diff --git a/tools/testing/selftests/memfd/memfd_test.c
> b/tools/testing/selftests/memfd/memfd_test.c
> index 845e5f67b6f0..cca957a06525 100644
> --- a/tools/testing/selftests/memfd/memfd_test.c
> +++ b/tools/testing/selftests/memfd/memfd_test.c
> @@ -513,6 +513,10 @@ static void mfd_assert_grow_write(int fd)
> static char *buf;
> ssize_t l;
>
> + /* hugetlbfs does not support write */
> + if (hugetlbfs_test)
> + return;
> +
> buf = malloc(mfd_def_size * 8);
> if (!buf) {
> printf("malloc(%d) failed: %m\n", mfd_def_size * 8);
> @@ -533,6 +537,10 @@ static void mfd_fail_grow_write(int fd)
> static char *buf;
> ssize_t l;
>
> + /* hugetlbfs does not support write */
> + if (hugetlbfs_test)
> + return;
> +
> buf = malloc(mfd_def_size * 8);
> if (!buf) {
> printf("malloc(%d) failed: %m\n", mfd_def_size * 8);
> @@ -627,18 +635,13 @@ static void test_create(void)
> fd = mfd_assert_new("", 0, MFD_CLOEXEC);
> close(fd);
>
> - if (!hugetlbfs_test) {
> - /* verify MFD_ALLOW_SEALING is allowed */
> - fd = mfd_assert_new("", 0, MFD_ALLOW_SEALING);
> - close(fd);
> -
> - /* verify MFD_ALLOW_SEALING | MFD_CLOEXEC is allowed */
> - fd = mfd_assert_new("", 0, MFD_ALLOW_SEALING | MFD_CLOEXEC);
> - close(fd);
> - } else {
> - /* sealing is not supported on hugetlbfs */
> - mfd_fail_new("", MFD_ALLOW_SEALING);
> - }
> + /* verify MFD_ALLOW_SEALING is allowed */
> + fd = mfd_assert_new("", 0, MFD_ALLOW_SEALING);
> + close(fd);
> +
> + /* verify MFD_ALLOW_SEALING | MFD_CLOEXEC is allowed */
> + fd = mfd_assert_new("", 0, MFD_ALLOW_SEALING | MFD_CLOEXEC);
> + close(fd);
> }
>
> /*
> @@ -649,10 +652,6 @@ static void test_basic(void)
> {
> int fd;
>
> - /* hugetlbfs does not contain sealing support */
> - if (hugetlbfs_test)
> - return;
> -
> printf("%s BASIC\n", MEMFD_STR);
>
> fd = mfd_assert_new("kern_memfd_basic",
> @@ -697,28 +696,6 @@ static void test_basic(void)
> close(fd);
> }
>
> -/*
> - * hugetlbfs doesn't support seals or write, so just verify grow and shrink
> - * on a hugetlbfs file created via memfd_create.
> - */
> -static void test_hugetlbfs_grow_shrink(void)
> -{
> - int fd;
> -
> - printf("%s HUGETLBFS-GROW-SHRINK\n", MEMFD_STR);
> -
> - fd = mfd_assert_new("kern_memfd_seal_write",
> - mfd_def_size,
> - MFD_CLOEXEC);
> -
> - mfd_assert_read(fd);
> - mfd_assert_write(fd);
> - mfd_assert_shrink(fd);
> - mfd_assert_grow(fd);
> -
> - close(fd);
> -}
> -
> /*
> * Test SEAL_WRITE
> * Test whether SEAL_WRITE actually prevents modifications.
> @@ -727,13 +704,6 @@ static void test_seal_write(void)
> {
> int fd;
>
> - /*
> - * hugetlbfs does not contain sealing or write support. Just test
> - * basic grow and shrink via test_hugetlbfs_grow_shrink.
> - */
> - if (hugetlbfs_test)
> - return test_hugetlbfs_grow_shrink();
> -
> printf("%s SEAL-WRITE\n", MEMFD_STR);
>
> fd = mfd_assert_new("kern_memfd_seal_write",
> @@ -760,10 +730,6 @@ static void test_seal_shrink(void)
> {
> int fd;
>
> - /* hugetlbfs does not contain sealing support */
> - if (hugetlbfs_test)
> - return;
> -
> printf("%s SEAL-SHRINK\n", MEMFD_STR);
>
> fd = mfd_assert_new("kern_memfd_seal_shrink",
> @@ -790,10 +756,6 @@ static void test_seal_grow(void)
> {
> int fd;
>
> - /* hugetlbfs does not contain sealing support */
> - if (hugetlbfs_test)
> - return;
> -
> printf("%s SEAL-GROW\n", MEMFD_STR);
>
> fd = mfd_assert_new("kern_memfd_seal_grow",
> @@ -820,10 +782,6 @@ static void test_seal_resize(void)
> {
> int fd;
>
> - /* hugetlbfs does not contain sealing support */
> - if (hugetlbfs_test)
> - return;
> -
> printf("%s SEAL-RESIZE\n", MEMFD_STR);
>
> fd = mfd_assert_new("kern_memfd_seal_resize",
> @@ -842,32 +800,6 @@ static void test_seal_resize(void)
> close(fd);
> }
>
> -/*
> - * hugetlbfs does not support seals. Basic test to dup the memfd created
> - * fd and perform some basic operations on it.
> - */
> -static void hugetlbfs_dup(char *b_suffix)
> -{
> - int fd, fd2;
> -
> - printf("%s HUGETLBFS-DUP %s\n", MEMFD_STR, b_suffix);
> -
> - fd = mfd_assert_new("kern_memfd_share_dup",
>