Re: [tip: core/urgent] rseq: Reject unknown flags on rseq unregister

From: Borislav Petkov
Date: Wed Dec 25 2019 - 06:39:44 EST


On Wed, Dec 25, 2019 at 10:38:53AM -0000, tip-bot2 for Mathieu Desnoyers wrote:
> The following commit has been merged into the core/urgent branch of tip:
>
> Commit-ID: 66528a4575eee9f5a5270219894ab6178f146e84
> Gitweb: https://git.kernel.org/tip/66528a4575eee9f5a5270219894ab6178f146e84
> Author: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>
> AuthorDate: Wed, 11 Dec 2019 11:17:11 -05:00
> Committer: Ingo Molnar <mingo@xxxxxxxxxx>
> CommitterDate: Wed, 25 Dec 2019 10:41:20 +01:00
>
> rseq: Reject unknown flags on rseq unregister
>
> It is preferrable to reject unknown flags within rseq unregistration
> rather than to ignore them. It is an oversight caused by the fact that
> the check for unknown flags is after the rseq unregister flag check.
>
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Link: https://lkml.kernel.org/r/20191211161713.4490-2-mathieu.desnoyers@xxxxxxxxxxxx
> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
> ---
> kernel/rseq.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/rseq.c b/kernel/rseq.c
> index 27c48eb..a4f86a9 100644
> --- a/kernel/rseq.c
> +++ b/kernel/rseq.c
> @@ -310,6 +310,8 @@ SYSCALL_DEFINE4(rseq, struct rseq __user *, rseq, u32, rseq_len,
> int ret;
>
> if (flags & RSEQ_FLAG_UNREGISTER) {
> + if (flags & ~RSEQ_FLAG_UNREGISTER)
> + return -EINVAL;
> /* Unregister rseq for current thread. */
> if (current->rseq != rseq || !current->rseq)
> return -EINVAL;

Cc: stable perhaps?

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette