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 | 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 | 261 | irqentry_state_t ret = { |
| 262 | 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 | 338 | lockdep_assert_irqs_disabled(); |
| 339 | 339 | |