| @@ -825,6 +825,7 @@ SYM_CODE_END(__bp_harden_el1_vectors) · 824 unmodified lines |
| 825 | * | 825 | * |
| 826 | */ | 826 | */ |
| 827 | SYM_FUNC_START(cpu_switch_to) | 827 | SYM_FUNC_START(cpu_switch_to) |
| | 828 | save_and_disable_daif x11 |
| 828 | mov x10, #THREAD_CPU_CONTEXT | 829 | mov x10, #THREAD_CPU_CONTEXT |
| 829 | add x8, x0, x10 | 830 | add x8, x0, x10 |
| 830 | mov x9, sp | 831 | mov x9, sp |
| @@ -848,6 +849,7 @@ SYM_FUNC_START(cpu_switch_to) · 17 unmodified lines |
| 848 | ptrauth_keys_install_kernel x1, x8, x9, x10 | 849 | ptrauth_keys_install_kernel x1, x8, x9, x10 |
| 849 | scs_save x0 | 850 | scs_save x0 |
| 850 | scs_load_current | 851 | scs_load_current |
| | 852 | restore_irq x11 |
| 851 | ret | 853 | ret |
| 852 | SYM_FUNC_END(cpu_switch_to) | 854 | SYM_FUNC_END(cpu_switch_to) |
| 853 | NOKPROBE(cpu_switch_to) | 855 | NOKPROBE(cpu_switch_to) |
| @@ -874,6 +876,7 @@ NOKPROBE(ret_from_fork) · 20 unmodified lines |
| 874 | * Calls func(regs) using this CPU's irq stack and shadow irq stack. | 876 | * Calls func(regs) using this CPU's irq stack and shadow irq stack. |
| 875 | */ | 877 | */ |
| 876 | SYM_FUNC_START(call_on_irq_stack) | 878 | SYM_FUNC_START(call_on_irq_stack) |
| | 879 | save_and_disable_daif x9 |
| 877 | #ifdef CONFIG_SHADOW_CALL_STACK | 880 | #ifdef CONFIG_SHADOW_CALL_STACK |
| 878 | get_current_task x16 | 881 | get_current_task x16 |
| 879 | scs_save x16 | 882 | scs_save x16 |
| @@ -888,8 +891,10 @@ SYM_FUNC_START(call_on_irq_stack) · 8 unmodified lines |
| 888 | | 891 | |
| 889 | /* Move to the new stack and call the function there */ | 892 | /* Move to the new stack and call the function there */ |
| 890 | add sp, x16, #IRQ_STACK_SIZE | 893 | add sp, x16, #IRQ_STACK_SIZE |
| | 894 | restore_irq x9 |
| 891 | blr x1 | 895 | blr x1 |
| 892 | | 896 | |
| | 897 | save_and_disable_daif x9 |
| 893 | /* | 898 | /* |
| 894 | * Restore the SP from the FP, and restore the FP and LR from the frame | 899 | * Restore the SP from the FP, and restore the FP and LR from the frame |
| 895 | * record. | 900 | * record. |
| @@ -897,6 +902,7 @@ SYM_FUNC_START(call_on_irq_stack) · 1 unmodified line |
| 897 | mov sp, x29 | 902 | mov sp, x29 |
| 898 | ldp x29, x30, [sp], #16 | 903 | ldp x29, x30, [sp], #16 |
| 899 | scs_load_current | 904 | scs_load_current |
| | 905 | restore_irq x9 |
| 900 | ret | 906 | ret |
| 901 | SYM_FUNC_END(call_on_irq_stack) | 907 | SYM_FUNC_END(call_on_irq_stack) |
| 902 | NOKPROBE(call_on_irq_stack) | 908 | NOKPROBE(call_on_irq_stack) |