The noinstr attribute is to be specified before the return type in the same way 'inline' is used. Similar cases were recently fixed for x86 in commit 7f6fa101dfac ("x86: Correct noinstr qualifiers"), but the generic entry code was based on the the original version and did not carry the fix over.
Showing the changes to kernel (1 of 1 file). Show all
Unified · Split
| @@ -256,7 +256,7 @@ noinstr void irqentry_exit_to_user_mode(struct pt_regs *regs) · 255 unmodified lines | |||
| 256 | exit_to_user_mode(); | 256 | exit_to_user_mode(); |
| 257 | } | 257 | } |
| 258 | 258 | ||
| 259 | irqentry_state_t noinstr irqentry_enter(struct pt_regs *regs) | 259 | noinstr irqentry_state_t irqentry_enter(struct pt_regs *regs) |
| 260 | { | 260 | { |
| 261 | irqentry_state_t ret = { | 261 | irqentry_state_t ret = { |
| 262 | .exit_rcu = false, | 262 | .exit_rcu = false, |
| @@ -333,7 +333,7 @@ void irqentry_exit_cond_resched(void) · 70 unmodified lines | |||
| 333 | } | 333 | } |
| 334 | } | 334 | } |
| 335 | 335 | ||
| 336 | void noinstr irqentry_exit(struct pt_regs *regs, irqentry_state_t state) | 336 | noinstr void irqentry_exit(struct pt_regs *regs, irqentry_state_t state) |
| 337 | { | 337 | { |
| 338 | lockdep_assert_irqs_disabled(); | 338 | lockdep_assert_irqs_disabled(); |
| 339 | 339 | ||