hc
2024-11-01 2f529f9b558ca1c1bd74be7437a84e4711743404
kernel/arch/arm64/include/asm/uaccess.h
....@@ -113,7 +113,7 @@
113113 {
114114 unsigned long flags, ttbr;
115115
116
- local_irq_save(flags);
116
+ flags = hard_local_irq_save();
117117 ttbr = read_sysreg(ttbr1_el1);
118118 ttbr &= ~TTBR_ASID_MASK;
119119 /* reserved_pg_dir placed before swapper_pg_dir */
....@@ -122,7 +122,7 @@
122122 /* Set reserved ASID */
123123 write_sysreg(ttbr, ttbr1_el1);
124124 isb();
125
- local_irq_restore(flags);
125
+ hard_local_irq_restore(flags);
126126 }
127127
128128 static inline void __uaccess_ttbr0_enable(void)
....@@ -134,7 +134,7 @@
134134 * variable and the MSR. A context switch could trigger an ASID
135135 * roll-over and an update of 'ttbr0'.
136136 */
137
- local_irq_save(flags);
137
+ flags = hard_local_irq_save();
138138 ttbr0 = READ_ONCE(current_thread_info()->ttbr0);
139139
140140 /* Restore active ASID */
....@@ -147,7 +147,7 @@
147147 /* Restore user page table */
148148 write_sysreg(ttbr0, ttbr0_el1);
149149 isb();
150
- local_irq_restore(flags);
150
+ hard_local_irq_restore(flags);
151151 }
152152
153153 static inline bool uaccess_ttbr0_disable(void)