svm: force fixed memfd mapping if va provided 39/30639/5
authorFlorin Coras <fcoras@cisco.com>
Wed, 6 Jan 2021 07:15:49 +0000 (23:15 -0800)
committerDave Barach <openvpp@barachs.net>
Wed, 6 Jan 2021 19:00:37 +0000 (19:00 +0000)
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I6a2cc596cf0b7f29d3ae1c05b1bb6b748b558175

src/svm/ssvm.c

index 1a677fc..f93f40d 100644 (file)
@@ -304,9 +304,6 @@ ssvm_client_init_memfd (ssvm_private_t * memfd)
       return SSVM_API_ERROR_MMAP;
     }
 
-  if (memfd->requested_va)
-    mmap_flags |= MAP_FIXED;
-
   /*
    * Map the segment once, to look at the shared header
    */
@@ -324,6 +321,9 @@ ssvm_client_init_memfd (ssvm_private_t * memfd)
   memfd->ssvm_size = sh->ssvm_size;
   munmap (sh, page_size);
 
+  if (memfd->requested_va)
+    mmap_flags |= MAP_FIXED;
+
   /*
    * Remap the segment at the 'right' address
    */