aboutsummaryrefslogtreecommitdiffstats
path: root/fs/binfmt_elf.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/binfmt_elf.c')
-rw-r--r--fs/binfmt_elf.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index 6b659967898e..5f399ea1d20a 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -35,6 +35,7 @@
35#include <linux/utsname.h> 35#include <linux/utsname.h>
36#include <linux/coredump.h> 36#include <linux/coredump.h>
37#include <linux/sched.h> 37#include <linux/sched.h>
38#include <linux/dax.h>
38#include <asm/uaccess.h> 39#include <asm/uaccess.h>
39#include <asm/param.h> 40#include <asm/param.h>
40#include <asm/page.h> 41#include <asm/page.h>
@@ -1236,6 +1237,15 @@ static unsigned long vma_dump_size(struct vm_area_struct *vma,
1236 if (vma->vm_flags & VM_DONTDUMP) 1237 if (vma->vm_flags & VM_DONTDUMP)
1237 return 0; 1238 return 0;
1238 1239
1240 /* support for DAX */
1241 if (vma_is_dax(vma)) {
1242 if ((vma->vm_flags & VM_SHARED) && FILTER(DAX_SHARED))
1243 goto whole;
1244 if (!(vma->vm_flags & VM_SHARED) && FILTER(DAX_PRIVATE))
1245 goto whole;
1246 return 0;
1247 }
1248
1239 /* Hugetlb memory check */ 1249 /* Hugetlb memory check */
1240 if (vma->vm_flags & VM_HUGETLB) { 1250 if (vma->vm_flags & VM_HUGETLB) {
1241 if ((vma->vm_flags & VM_SHARED) && FILTER(HUGETLB_SHARED)) 1251 if ((vma->vm_flags & VM_SHARED) && FILTER(HUGETLB_SHARED))