Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-19 Thread Dmitry Vyukov
On Fri, Dec 15, 2017 at 5:44 PM, Ingo Molnar wrote: > > * Andy Lutomirski wrote: > >> On Fri, Dec 15, 2017 at 2:02 AM, Dmitry Vyukov wrote: >> > On Fri, Dec 15, 2017 at 10:58 AM, Wanpeng Li wrote: >> >> 2017-12-15 17:51 GMT+08:00 David Hildenbrand : >> >>> >> int main() >> { >>

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-15 Thread Ingo Molnar
* Andy Lutomirski wrote: > On Fri, Dec 15, 2017 at 2:02 AM, Dmitry Vyukov wrote: > > On Fri, Dec 15, 2017 at 10:58 AM, Wanpeng Li wrote: > >> 2017-12-15 17:51 GMT+08:00 David Hildenbrand : > >>> > int main() > { > int fd = open("/dev/kvm", 0x80102ul); > int vm = ioctl(f

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-15 Thread Andy Lutomirski
On Fri, Dec 15, 2017 at 2:02 AM, Dmitry Vyukov wrote: > On Fri, Dec 15, 2017 at 10:58 AM, Wanpeng Li wrote: >> 2017-12-15 17:51 GMT+08:00 David Hildenbrand : >>> int main() { int fd = open("/dev/kvm", 0x80102ul); int vm = ioctl(fd, KVM_CREATE_VM, 0); int cpu = ioct

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-15 Thread Dmitry Vyukov
On Fri, Dec 15, 2017 at 10:58 AM, Wanpeng Li wrote: > 2017-12-15 17:51 GMT+08:00 David Hildenbrand : >> >>> int main() >>> { >>> int fd = open("/dev/kvm", 0x80102ul); >>> int vm = ioctl(fd, KVM_CREATE_VM, 0); >>> int cpu = ioctl(vm, KVM_CREATE_VCPU, 4); >> >> Not even a memory region :) So

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-15 Thread Wanpeng Li
2017-12-15 17:51 GMT+08:00 David Hildenbrand : > >> int main() >> { >> int fd = open("/dev/kvm", 0x80102ul); >> int vm = ioctl(fd, KVM_CREATE_VM, 0); >> int cpu = ioctl(vm, KVM_CREATE_VCPU, 4); > > Not even a memory region :) So maybe the first memory access directly > triggers a fault? > >>

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-15 Thread David Hildenbrand
> int main() > { > int fd = open("/dev/kvm", 0x80102ul); > int vm = ioctl(fd, KVM_CREATE_VM, 0); > int cpu = ioctl(vm, KVM_CREATE_VCPU, 4); Not even a memory region :) So maybe the first memory access directly triggers a fault? > ioctl(cpu, KVM_RUN, 0); > return 0; > } > > And, yes,

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-15 Thread Thomas Gleixner
On Fri, 15 Dec 2017, Dmitry Vyukov wrote: > I've built this exact kernel and here is __switch_to disasm: > https://gist.githubusercontent.com/dvyukov/8137559f7da08fbe32f9018972a4498c/raw/0ef2abf723b117f0d0f0306fd50e216d50c5cecb/gistfile1.txt > > __switch_to+0x95b seems to point to (?): > > ff

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-15 Thread Wanpeng Li
2017-12-15 17:38 GMT+08:00 Dmitry Vyukov : > On Fri, Dec 15, 2017 at 10:13 AM, Dmitry Vyukov wrote: >> On Fri, Dec 15, 2017 at 10:07 AM, Dmitry Vyukov wrote: >>> On Thu, Dec 14, 2017 at 10:39 PM, Linus Torvalds >>> wrote: On Thu, Dec 14, 2017 at 1:27 PM, Andy Lutomirski wrote: > On Thu

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-15 Thread Dmitry Vyukov
On Fri, Dec 15, 2017 at 10:13 AM, Dmitry Vyukov wrote: > On Fri, Dec 15, 2017 at 10:07 AM, Dmitry Vyukov wrote: >> On Thu, Dec 14, 2017 at 10:39 PM, Linus Torvalds >> wrote: >>> On Thu, Dec 14, 2017 at 1:27 PM, Andy Lutomirski wrote: On Thu, Dec 14, 2017 at 11:28 AM, Linus Torvalds w

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-15 Thread Dmitry Vyukov
On Fri, Dec 15, 2017 at 10:07 AM, Dmitry Vyukov wrote: > On Thu, Dec 14, 2017 at 10:39 PM, Linus Torvalds > wrote: >> On Thu, Dec 14, 2017 at 1:27 PM, Andy Lutomirski wrote: >>> On Thu, Dec 14, 2017 at 11:28 AM, Linus Torvalds >>> wrote: I don't think that's the case. "int3" is entirely sy

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-15 Thread Dmitry Vyukov
On Thu, Dec 14, 2017 at 10:39 PM, Linus Torvalds wrote: > On Thu, Dec 14, 2017 at 1:27 PM, Andy Lutomirski wrote: >> On Thu, Dec 14, 2017 at 11:28 AM, Linus Torvalds >> wrote: >>> I don't think that's the case. "int3" is entirely synchronous, and >>> doesn't have the same odd issues as a breakpo

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-14 Thread Linus Torvalds
On Thu, Dec 14, 2017 at 1:27 PM, Andy Lutomirski wrote: > On Thu, Dec 14, 2017 at 11:28 AM, Linus Torvalds > wrote: >> I don't think that's the case. "int3" is entirely synchronous, and >> doesn't have the same odd issues as a breakpoint trap (which honors RF >> etc). It's literally just a one-by

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-14 Thread Andy Lutomirski
On Thu, Dec 14, 2017 at 11:28 AM, Linus Torvalds wrote: > On Thu, Dec 14, 2017 at 10:54 AM, Andy Lutomirski wrote: >> >> 2. It actually tries to handle the breakpoint. A breakpoint is a >> benign exception, so any exception encountered while delivering it >> would result in serial delivery. > >

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-14 Thread Linus Torvalds
On Thu, Dec 14, 2017 at 10:54 AM, Andy Lutomirski wrote: > > 2. It actually tries to handle the breakpoint. A breakpoint is a > benign exception, so any exception encountered while delivering it > would result in serial delivery. I don't think that's the case. "int3" is entirely synchronous, and

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-14 Thread Andy Lutomirski
On Thu, Dec 14, 2017 at 10:42 AM, Linus Torvalds wrote: > On Thu, Dec 14, 2017 at 9:12 AM, Thomas Gleixner wrote: >> On Sun, 3 Dec 2017, syzbot wrote: >>> BUG: unable to handle kernel paging request at fff8 >>> Oops: 0002 [#1] SMP KASAN > > System write of a non-existent page. > >>> R

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-14 Thread Linus Torvalds
On Thu, Dec 14, 2017 at 9:12 AM, Thomas Gleixner wrote: > On Sun, 3 Dec 2017, syzbot wrote: >> BUG: unable to handle kernel paging request at fff8 >> Oops: 0002 [#1] SMP KASAN System write of a non-existent page. >> RIP: 0010:switch_fpu_prepare arch/x86/include/asm/fpu/internal.h:535

Re: BUG: unable to handle kernel paging request in __switch_to

2017-12-14 Thread Thomas Gleixner
On Sun, 3 Dec 2017, syzbot wrote: > BUG: unable to handle kernel paging request at fff8 > IP: switch_fpu_prepare arch/x86/include/asm/fpu/internal.h:535 [inline] > IP: __switch_to+0x95b/0x1330 arch/x86/kernel/process_64.c:407 > PGD 5e28067 P4D 5e28067 PUD 5e2a067 PMD 0 > Oops: 0002 [#1]