hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/mm/init-mm.c
....@@ -5,10 +5,11 @@
55 #include <linux/spinlock.h>
66 #include <linux/list.h>
77 #include <linux/cpumask.h>
8
+#include <linux/mman.h>
9
+#include <linux/pgtable.h>
810
911 #include <linux/atomic.h>
1012 #include <linux/user_namespace.h>
11
-#include <asm/pgtable.h>
1213 #include <asm/mmu.h>
1314
1415 #ifndef INIT_MM_CONTEXT
....@@ -27,14 +28,18 @@
2728 */
2829 struct mm_struct init_mm = {
2930 .mm_rb = RB_ROOT,
31
+#ifdef CONFIG_SPECULATIVE_PAGE_FAULT
32
+ .mm_rb_lock = __RW_LOCK_UNLOCKED(init_mm.mm_rb_lock),
33
+#endif
3034 .pgd = swapper_pg_dir,
3135 .mm_users = ATOMIC_INIT(2),
3236 .mm_count = ATOMIC_INIT(1),
33
- .mmap_sem = __RWSEM_INITIALIZER(init_mm.mmap_sem),
37
+ .write_protect_seq = SEQCNT_ZERO(init_mm.write_protect_seq),
38
+ MMAP_LOCK_INITIALIZER(init_mm)
3439 .page_table_lock = __SPIN_LOCK_UNLOCKED(init_mm.page_table_lock),
3540 .arg_lock = __SPIN_LOCK_UNLOCKED(init_mm.arg_lock),
3641 .mmlist = LIST_HEAD_INIT(init_mm.mmlist),
3742 .user_ns = &init_user_ns,
38
- .cpu_bitmap = { [BITS_TO_LONGS(NR_CPUS)] = 0},
43
+ .cpu_bitmap = CPU_BITS_NONE,
3944 INIT_MM_CONTEXT(init_mm)
4045 };