aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/memory.h6
-rw-r--r--mm/memory.c10
2 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/memory.h b/include/linux/memory.h
index 3fdc10806d31..86a6c0f0518d 100644
--- a/include/linux/memory.h
+++ b/include/linux/memory.h
@@ -99,4 +99,10 @@ enum mem_add_context { BOOT, HOTPLUG };
99#define hotplug_memory_notifier(fn, pri) do { } while (0) 99#define hotplug_memory_notifier(fn, pri) do { } while (0)
100#endif 100#endif
101 101
102/*
103 * Kernel text modification mutex, used for code patching. Users of this lock
104 * can sleep.
105 */
106extern struct mutex text_mutex;
107
102#endif /* _LINUX_MEMORY_H_ */ 108#endif /* _LINUX_MEMORY_H_ */
diff --git a/mm/memory.c b/mm/memory.c
index baa999e87cd2..05fab3bc5b4b 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -48,6 +48,8 @@
48#include <linux/rmap.h> 48#include <linux/rmap.h>
49#include <linux/module.h> 49#include <linux/module.h>
50#include <linux/delayacct.h> 50#include <linux/delayacct.h>
51#include <linux/kprobes.h>
52#include <linux/mutex.h>
51#include <linux/init.h> 53#include <linux/init.h>
52#include <linux/writeback.h> 54#include <linux/writeback.h>
53#include <linux/memcontrol.h> 55#include <linux/memcontrol.h>
@@ -99,6 +101,14 @@ int randomize_va_space __read_mostly =
99 2; 101 2;
100#endif 102#endif
101 103
104/*
105 * mutex protecting text section modification (dynamic code patching).
106 * some users need to sleep (allocating memory...) while they hold this lock.
107 *
108 * NOT exported to modules - patching kernel text is a really delicate matter.
109 */
110DEFINE_MUTEX(text_mutex);
111
102static int __init disable_randmaps(char *s) 112static int __init disable_randmaps(char *s)
103{ 113{
104 randomize_va_space = 0; 114 randomize_va_space = 0;