There is no need to update these values unconditionally if there is no event pending.
Unified · Split
| @@ -464,11 +464,12 @@ void __rseq_handle_notify_resume(struct ksignal *ksig, struct pt_regs *regs) · 463 unmodified lines | |||
| 464 | t->rseq_event_pending = false; | 464 | t->rseq_event_pending = false; |
| 465 | } | 465 | } |
| 466 | 466 | ||
| 467 | if (IS_ENABLED(CONFIG_DEBUG_RSEQ) || event) { | 467 | if (!IS_ENABLED(CONFIG_DEBUG_RSEQ) && !event) |
| 468 | ret = rseq_ip_fixup(regs, event); | 468 | return; |
| 469 | if (unlikely(ret < 0)) | 469 | |
| 470 | goto error; | 470 | ret = rseq_ip_fixup(regs, event); |
| 471 | } | 471 | if (unlikely(ret < 0)) |
| 472 | goto error; | ||
| 472 | 473 | ||
| 473 | if (unlikely(rseq_update_cpu_node_id(t))) | 474 | if (unlikely(rseq_update_cpu_node_id(t))) |
| 474 | goto error; | 475 | goto error; |