summaryrefslogtreecommitdiffstats
path: root/src/kernel/tests/include/tst_memutils.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/tests/include/tst_memutils.h')
-rw-r--r--src/kernel/tests/include/tst_memutils.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/kernel/tests/include/tst_memutils.h b/src/kernel/tests/include/tst_memutils.h
new file mode 100644
index 0000000..91dad07
--- /dev/null
+++ b/src/kernel/tests/include/tst_memutils.h
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (c) 2020 SUSE LLC <mdoucha@suse.cz>
+ */
+
+#ifndef TST_MEMUTILS_H__
+#define TST_MEMUTILS_H__
+
+/*
+ * Fill up to maxsize physical memory with fillchar, then free it for reuse.
+ * If maxsize is zero, fill as much memory as possible. This function is
+ * intended for data disclosure vulnerability tests to reduce the probability
+ * that a vulnerable kernel will leak a block of memory that was full of
+ * zeroes by chance.
+ *
+ * The function keeps a safety margin to avoid invoking OOM killer and
+ * respects the limitations of available address space. (Less than 3GB can be
+ * polluted on a 32bit system regardless of available physical RAM.)
+ */
+void tst_pollute_memory(size_t maxsize, int fillchar);
+
+#endif /* TST_MEMUTILS_H__ */