diff options
author | Jiri Kosina <jkosina@suse.com> | 2025-03-26 13:50:46 +0100 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.com> | 2025-03-26 13:50:46 +0100 |
commit | 770493524e9f623826765eb97c64d699f4752e4f (patch) | |
tree | 304c718009aa32834511d45497adb8acba496088 /kernel/rseq.c | |
parent | e4f7cc8c36e7cab391683db682402ab2f185bf92 (diff) | |
parent | fe0fb58325e519008e2606a5aa2cff7ad23e212d (diff) |
Merge branch 'for-6.15/intel-ish' into for-linus
- intel-ish Kbuild cleanup (Jiri Kosina)
Diffstat (limited to 'kernel/rseq.c')
-rw-r--r-- | kernel/rseq.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/kernel/rseq.c b/kernel/rseq.c index 442aba29bc4c..2cb16091ec0a 100644 --- a/kernel/rseq.c +++ b/kernel/rseq.c @@ -507,9 +507,6 @@ SYSCALL_DEFINE4(rseq, struct rseq __user *, rseq, u32, rseq_len, return -EINVAL; if (!access_ok(rseq, rseq_len)) return -EFAULT; - current->rseq = rseq; - current->rseq_len = rseq_len; - current->rseq_sig = sig; #ifdef CONFIG_DEBUG_RSEQ /* * Initialize the in-kernel rseq fields copy for validation of @@ -522,6 +519,14 @@ SYSCALL_DEFINE4(rseq, struct rseq __user *, rseq, u32, rseq_len, return -EFAULT; #endif /* + * Activate the registration by setting the rseq area address, length + * and signature in the task struct. + */ + current->rseq = rseq; + current->rseq_len = rseq_len; + current->rseq_sig = sig; + + /* * If rseq was previously inactive, and has just been * registered, ensure the cpu_id_start and cpu_id fields * are updated before returning to user-space. |