Messages in this thread | | | Subject | Re: [syzbot] WARNING in ex_handler_fprestore | From | Andy Lutomirski <> | Date | Wed, 26 May 2021 15:37:09 -0700 |
| |
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@kernel.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.
| |