Clean up temp dir in failure cases 88/11688/1
authorDave Barach <dbarach@cisco.com>
Tue, 10 Apr 2018 15:00:50 +0000 (11:00 -0400)
committerDave Barach <dbarach@cisco.com>
Wed, 11 Apr 2018 15:32:38 +0000 (11:32 -0400)
Change-Id: Icfb99a09726c01e96ff14967afbafa4116e02eff
Signed-off-by: Dave Barach <dbarach@cisco.com>
src/vppinfra/linux/mem.c

index 475e3dc..d479da3 100644 (file)
@@ -127,6 +127,7 @@ clib_mem_vm_ext_alloc (clib_mem_vm_alloc_t * a)
 
          if (mount ("none", (char *) mount_dir, "hugetlbfs", 0, NULL))
            {
+             rmdir ((char *) mount_dir);
              err = clib_error_return_unix (0, "mount hugetlb directory '%s'",
                                            mount_dir);
              goto error;
@@ -136,6 +137,8 @@ clib_mem_vm_ext_alloc (clib_mem_vm_alloc_t * a)
 
          if ((fd = open ((char *) filename, O_CREAT | O_RDWR, 0755)) == -1)
            {
+             umount2 ((char *) mount_dir, MNT_DETACH);
+             rmdir ((char *) mount_dir);
              err = clib_error_return_unix (0, "open");
              goto error;
            }