Re: [PATCH v2] x86/dumpstack: Fix misleading instruction pointer error message

From: Thomas Gleixner
Date: Mon Nov 16 2020 - 18:38:25 EST


On Mon, Nov 16 2020 at 15:04, Andy Lutomirski wrote:

> On Mon, Nov 16, 2020 at 2:01 PM Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>> arch/x86/kernel/dumpstack.c | 23 +++++++++++++++++++----
>> 1 file changed, 19 insertions(+), 4 deletions(-)
>>
>> --- a/arch/x86/kernel/dumpstack.c
>> +++ b/arch/x86/kernel/dumpstack.c
>> @@ -78,6 +78,9 @@ static int copy_code(struct pt_regs *reg
>> if (!user_mode(regs))
>> return copy_from_kernel_nofault(buf, (u8 *)src, nbytes);
>>
>> + /* The user space code from other tasks cannot be accessed. */
>> + if (regs != task_pt_regs(current))
>> + return -EPERM;
>
> Depending on exactly where this gets called, this may not be
> sufficient. You should also check nmi_uaccess_okay().

which is what copy_from_user_nmi() already does.