summaryrefslogtreecommitdiff
path: root/kernel/module/debug_kmemleak.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/module/debug_kmemleak.c')
-rw-r--r--kernel/module/debug_kmemleak.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/kernel/module/debug_kmemleak.c b/kernel/module/debug_kmemleak.c
new file mode 100644
index 000000000000..df873dad049d
--- /dev/null
+++ b/kernel/module/debug_kmemleak.c
@@ -0,0 +1,21 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Module kmemleak support
+ *
+ * Copyright (C) 2009 Catalin Marinas
+ */
+
+#include <linux/module.h>
+#include <linux/kmemleak.h>
+#include "internal.h"
+
+void kmemleak_load_module(const struct module *mod,
+ const struct load_info *info)
+{
+ /* only scan writable, non-executable sections */
+ for_each_mod_mem_type(type) {
+ if (type != MOD_DATA && type != MOD_INIT_DATA &&
+ !mod->mem[type].is_rox)
+ kmemleak_no_scan(mod->mem[type].base);
+ }
+}