In order to make this function publicly available rename it so it can still be inlined. An additional enter_from_user_mode() function will be added with a later commit.
Showing the changes to kernel (1 of 1 file). Show all
Unified · Split
| @@ -11,7 +11,7 @@ · 10 unmodified lines | |||
| 11 | #include <trace/events/syscalls.h> | 11 | #include <trace/events/syscalls.h> |
| 12 | 12 | ||
| 13 | /** | 13 | /** |
| 14 | * enter_from_user_mode - Establish state when coming from user mode | 14 | * __enter_from_user_mode - Establish state when coming from user mode |
| 15 | * | 15 | * |
| 16 | * Syscall/interrupt entry disables interrupts, but user mode is traced as | 16 | * Syscall/interrupt entry disables interrupts, but user mode is traced as |
| 17 | * interrupts enabled. Also with NO_HZ_FULL RCU might be idle. | 17 | * interrupts enabled. Also with NO_HZ_FULL RCU might be idle. |
| @@ -20,7 +20,7 @@ · 2 unmodified lines | |||
| 20 | * 2) Invoke context tracking if enabled to reactivate RCU | 20 | * 2) Invoke context tracking if enabled to reactivate RCU |
| 21 | * 3) Trace interrupts off state | 21 | * 3) Trace interrupts off state |
| 22 | */ | 22 | */ |
| 23 | static __always_inline void enter_from_user_mode(struct pt_regs *regs) | 23 | static __always_inline void __enter_from_user_mode(struct pt_regs *regs) |
| 24 | { | 24 | { |
| 25 | arch_check_user_regs(regs); | 25 | arch_check_user_regs(regs); |
| 26 | lockdep_hardirqs_off(CALLER_ADDR0); | 26 | lockdep_hardirqs_off(CALLER_ADDR0); |
| @@ -103,7 +103,7 @@ noinstr long syscall_enter_from_user_mode(struct pt_regs *regs, long syscall) · 76 unmodified lines | |||
| 103 | { | 103 | { |
| 104 | long ret; | 104 | long ret; |
| 105 | 105 | ||
| 106 | enter_from_user_mode(regs); | 106 | __enter_from_user_mode(regs); |
| 107 | 107 | ||
| 108 | instrumentation_begin(); | 108 | instrumentation_begin(); |
| 109 | local_irq_enable(); | 109 | local_irq_enable(); |
| @@ -115,7 +115,7 @@ noinstr long syscall_enter_from_user_mode(struct pt_regs *regs, long syscall) · 5 unmodified lines | |||
| 115 | 115 | ||
| 116 | noinstr void syscall_enter_from_user_mode_prepare(struct pt_regs *regs) | 116 | noinstr void syscall_enter_from_user_mode_prepare(struct pt_regs *regs) |
| 117 | { | 117 | { |
| 118 | enter_from_user_mode(regs); | 118 | __enter_from_user_mode(regs); |
| 119 | instrumentation_begin(); | 119 | instrumentation_begin(); |
| 120 | local_irq_enable(); | 120 | local_irq_enable(); |
| 121 | instrumentation_end(); | 121 | instrumentation_end(); |
| @@ -304,7 +304,7 @@ __visible noinstr void syscall_exit_to_user_mode(struct pt_regs *regs) · 182 unmodified lines | |||
| 304 | 304 | ||
| 305 | noinstr void irqentry_enter_from_user_mode(struct pt_regs *regs) | 305 | noinstr void irqentry_enter_from_user_mode(struct pt_regs *regs) |
| 306 | { | 306 | { |
| 307 | enter_from_user_mode(regs); | 307 | __enter_from_user_mode(regs); |
| 308 | } | 308 | } |
| 309 | 309 | ||
| 310 | noinstr void irqentry_exit_to_user_mode(struct pt_regs *regs) | 310 | noinstr void irqentry_exit_to_user_mode(struct pt_regs *regs) |