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

From: Mathieu Desnoyers
Date: Mon Jan 06 2020 - 14:14:52 EST


----- On Dec 26, 2019, at 5:32 PM, Mathieu Desnoyers mathieu.desnoyers@xxxxxxxxxxxx wrote:

> ----- On Dec 25, 2019, at 6:39 AM, Borislav Petkov bp@xxxxxxxxx wrote:
>
>> 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?
>
> This could indeed be a candidate for stable, even though it's just a stricter
> checking of unknown flags (returning an error rather than ignoring them).
>
> Adding stable in CC here.

For the records, I had stable in CC in my original patch submission. The stable CC has
been stripped when it was merged into the tip tree.

Thanks,

Mathieu

>
> Thanks,
>
> Mathieu
>
>
> --
> Mathieu Desnoyers
> EfficiOS Inc.
> http://www.efficios.com

--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com