* directory.
  */
 
+#define _GNU_SOURCE
 #include <stdlib.h>
 #include <stdio.h>
 #include <unistd.h>
 #define __USE_GNU
 #include <fcntl.h>
 
-#define USAGE  "USAGE: %s <hugepagefile_name>\n"
 #define MIN_FREE_PAGES 20
 #define NR_HUGE_PAGES  10      /* common number of pages to map/allocate */
 
        int fd;
        int ret;
 
-       if (argc != 2) {
-               printf(USAGE, argv[0]);
-               exit(1);
-       }
-
        huge_page_size = default_huge_page_size();
        if (!huge_page_size) {
                printf("Unable to determine huge page size, exiting!\n");
                exit(1);
        }
 
-       fd = open(argv[1], O_CREAT | O_RDWR, 0755);
+       fd = memfd_create(argv[0], MFD_HUGETLB);
        if (fd < 0) {
-               perror("Open failed");
+               perror("memfd_create() failed");
                exit(1);
        }
 
        (void)munmap(addr2, NR_HUGE_PAGES * huge_page_size);
 
        close(fd);
-       unlink(argv[1]);
        return 0;
 }