kuap.c (26e041208291bfdea1cb9e26bc94a0f9499efe15) | kuap.c (5222a1d5142ec4f9ec063b274b80e20639584dbc) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2 3#include <asm/kup.h> 4#include <asm/smp.h> 5 | 1// SPDX-License-Identifier: GPL-2.0-or-later 2 3#include <asm/kup.h> 4#include <asm/smp.h> 5 |
6void kuap_lock_all_ool(void) 7{ 8 kuap_lock_all(); 9} 10EXPORT_SYMBOL(kuap_lock_all_ool); 11 12void kuap_unlock_all_ool(void) 13{ 14 kuap_unlock_all(); 15} 16EXPORT_SYMBOL(kuap_unlock_all_ool); 17 | |
18void setup_kuap(bool disabled) 19{ 20 if (!disabled) { | 6void setup_kuap(bool disabled) 7{ 8 if (!disabled) { |
21 kuap_lock_all_ool(); | 9 update_user_segments(mfsr(0) | SR_KS); 10 isync(); /* Context sync required after mtsr() */ |
22 init_mm.context.sr0 |= SR_KS; 23 current->thread.sr0 |= SR_KS; 24 } 25 26 if (smp_processor_id() != boot_cpuid) 27 return; 28 29 if (disabled) 30 cur_cpu_spec->mmu_features &= ~MMU_FTR_KUAP; 31 else 32 pr_info("Activating Kernel Userspace Access Protection\n"); 33} | 11 init_mm.context.sr0 |= SR_KS; 12 current->thread.sr0 |= SR_KS; 13 } 14 15 if (smp_processor_id() != boot_cpuid) 16 return; 17 18 if (disabled) 19 cur_cpu_spec->mmu_features &= ~MMU_FTR_KUAP; 20 else 21 pr_info("Activating Kernel Userspace Access Protection\n"); 22} |