File tree 1 file changed +4
-0
lines changed
1 file changed +4
-0
lines changed Original file line number Diff line number Diff line change @@ -781,6 +781,7 @@ void xen_mm_pin_all(void)
781
781
{
782
782
struct page * page ;
783
783
784
+ spin_lock (& init_mm .page_table_lock );
784
785
spin_lock (& pgd_lock );
785
786
786
787
list_for_each_entry (page , & pgd_list , lru ) {
@@ -791,6 +792,7 @@ void xen_mm_pin_all(void)
791
792
}
792
793
793
794
spin_unlock (& pgd_lock );
795
+ spin_unlock (& init_mm .page_table_lock );
794
796
}
795
797
796
798
static void __init xen_mark_pinned (struct mm_struct * mm , struct page * page ,
@@ -887,6 +889,7 @@ void xen_mm_unpin_all(void)
887
889
{
888
890
struct page * page ;
889
891
892
+ spin_lock (& init_mm .page_table_lock );
890
893
spin_lock (& pgd_lock );
891
894
892
895
list_for_each_entry (page , & pgd_list , lru ) {
@@ -898,6 +901,7 @@ void xen_mm_unpin_all(void)
898
901
}
899
902
900
903
spin_unlock (& pgd_lock );
904
+ spin_unlock (& init_mm .page_table_lock );
901
905
}
902
906
903
907
static void xen_enter_mmap (struct mm_struct * mm )
You can’t perform that action at this time.
0 commit comments