[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fdae31ab-02ca-79f8-445e-adb5ac8dcb01@kernel.org>
Date: Wed, 26 May 2021 15:37:09 -0700
From: Andy Lutomirski <luto@...nel.org>
To: "Yu, Yu-cheng" <yu-cheng.yu@...el.com>,
Dmitry Vyukov <dvyukov@...gle.com>
Cc: syzbot <syzbot+2067e764dbcd10721e2e@...kaller.appspotmail.com>,
Borislav Petkov <bp@...en8.de>, Borislav Petkov <bp@...e.de>,
Dave Hansen <dave.hansen@...ux.intel.com>,
fenghua.yu@...el.com, "H. Peter Anvin" <hpa@...or.com>,
LKML <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
syzkaller-bugs <syzkaller-bugs@...glegroups.com>,
Thomas Gleixner <tglx@...utronix.de>, tony.luck@...el.com,
the arch/x86 maintainers <x86@...nel.org>
Subject: Re: [syzbot] WARNING in ex_handler_fprestore
On 5/26/21 2:21 PM, Yu, Yu-cheng wrote:
> On 5/26/2021 12:00 AM, Dmitry Vyukov wrote:
>> On Wed, May 26, 2021 at 2:33 AM Andy Lutomirski <luto@...nel.org> wrote:
>>>
>>> On 5/24/21 1:51 AM, syzbot wrote:
>>>> Hello,
>>>>
>>>> syzbot found the following issue on:
>>>>
>>>> HEAD commit: 45af60e7 Merge tag 'for-5.13-rc2-tag' of
>>>> git://git.kernel...
>>>> git tree: upstream
>>>> console output:
>>>> https://syzkaller.appspot.com/x/log.txt?x=1591e9f7d00000
>>>> kernel config:
>>>> https://syzkaller.appspot.com/x/.config?x=18fade5827eb74f7
>>>> dashboard link:
>>>> https://syzkaller.appspot.com/bug?extid=2067e764dbcd10721e2e
>>>> compiler: Debian clang version 11.0.1-2
>>>> syz repro:
>>>> https://syzkaller.appspot.com/x/repro.syz?x=11be6bd1d00000
>>>
>>> Hi syz people and x86 people-
>>>
>>> I entirely believe that this bug is real and that syzbot bisected it
>>> correctly, but I'm puzzled by the reproducer. It says:
>>>
>>> ptrace$setregs(0xd, r0, 0x0, &(0x7f0000000080))
>>>
>>> I would really, really expect this to result from PTRACE_SETREGSET or
>>> PTRACE_SETFPREGS, but this is PTRACE_SETREGS.
>>>
>>> Am I missing something really obvious here?
>>
>> Hi Andy,
>>
>> Sometimes syzkaller uses data format from one syscall variant, but
>> actually invokes another.
>> But here it does _not_ seem to be the case: 0xd is actually
>> PTRACE_SETREGS. And the other ptrace calls in the reproducer are
>> PTRACE_SEIZE and PTRACE_SINGLESTEP.
>> So I would assume somehow it happened with PTRACE_SETREGS.
>> Is there any indication from hardware as to what's wrong with fpregs?
>>
>
> PTRACE_SETREGS can change segment registers. The PTRACE_SETREGS is
> using some uninitialized memory area. One possibility would be that
> XRSTORS has a memory operand outside of segment limits.
It's a regression caused by your fpu__clear_user() patch. tglx and I
are working on it.
The syzbot report is confusing but correct.
Powered by blists - more mailing lists