]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
um: set DONTDUMP and DONTFORK flags on KASAN shadow memory
authorBenjamin Berg <benjamin.berg@intel.com>
Sun, 3 Nov 2024 15:05:02 +0000 (16:05 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 7 Nov 2024 16:36:30 +0000 (17:36 +0100)
There is no point in either dumping the KASAN shadow memory or doing
copy-on-write after a fork on these memory regions.

This considerably speeds up coredump generation.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Link: https://patch.msgid.link/20241103150506.1367695-1-benjamin@sipsolutions.net
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
arch/um/os-Linux/mem.c

index 857e3deab29358a881bbd7bae65724b7cedad600..72f302f4d197f8d84fbf2242af3aa0ac57fc27c4 100644 (file)
@@ -39,6 +39,18 @@ void kasan_map_memory(void *start, size_t len)
                        strerror(errno));
                exit(1);
        }
+
+       if (madvise(start, len, MADV_DONTDUMP)) {
+               os_info("Couldn't set MAD_DONTDUMP on shadow memory: %s\n.",
+                       strerror(errno));
+               exit(1);
+       }
+
+       if (madvise(start, len, MADV_DONTFORK)) {
+               os_info("Couldn't set MADV_DONTFORK on shadow memory: %s\n.",
+                       strerror(errno));
+               exit(1);
+       }
 }
 
 /* Set by make_tempfile() during early boot. */