Re: [PATCH] x86/traps: 'Fix' safety of read_registers() in #DF path

2020-10-16 Thread Jan Beulich
On 16.10.2020 14:07, Andrew Cooper wrote: > On 16/10/2020 12:55, Jan Beulich wrote: >> On 16.10.2020 13:24, Andrew Cooper wrote: >>> On a tangent, what are your views WRT backport beyond 4.14? >>> >>> Back then, it was #DB which was adjacent to the guard frame (which was >>> not present), but it do

Re: [PATCH] x86/traps: 'Fix' safety of read_registers() in #DF path

2020-10-16 Thread Andrew Cooper
On 16/10/2020 12:55, Jan Beulich wrote: > On 16.10.2020 13:24, Andrew Cooper wrote: >> On a tangent, what are your views WRT backport beyond 4.14? >> >> Back then, it was #DB which was adjacent to the guard frame (which was >> not present), but it doesn't use show_registers() by default, so I think

Re: [PATCH] x86/traps: 'Fix' safety of read_registers() in #DF path

2020-10-16 Thread Jan Beulich
On 16.10.2020 13:24, Andrew Cooper wrote: > On a tangent, what are your views WRT backport beyond 4.14? > > Back then, it was #DB which was adjacent to the guard frame (which was > not present), but it doesn't use show_registers() by default, so I think > the problem is mostly hidden. I wasn't fu

Re: [PATCH] x86/traps: 'Fix' safety of read_registers() in #DF path

2020-10-16 Thread Andrew Cooper
On 16/10/2020 12:03, Jan Beulich wrote: > On 16.10.2020 12:58, Andrew Cooper wrote: >> On 15/10/2020 08:27, Jan Beulich wrote: >>> On 14.10.2020 20:00, Andrew Cooper wrote: On 13/10/2020 16:51, Jan Beulich wrote: > On 12.10.2020 15:49, Andrew Cooper wrote: >> All interrupts and excepti

Re: [PATCH] x86/traps: 'Fix' safety of read_registers() in #DF path

2020-10-16 Thread Jan Beulich
On 16.10.2020 12:58, Andrew Cooper wrote: > On 15/10/2020 08:27, Jan Beulich wrote: >> On 14.10.2020 20:00, Andrew Cooper wrote: >>> On 13/10/2020 16:51, Jan Beulich wrote: On 12.10.2020 15:49, Andrew Cooper wrote: > All interrupts and exceptions pass a struct cpu_user_regs up into C. Thi

Re: [PATCH] x86/traps: 'Fix' safety of read_registers() in #DF path

2020-10-16 Thread Andrew Cooper
On 15/10/2020 08:27, Jan Beulich wrote: > On 14.10.2020 20:00, Andrew Cooper wrote: >> On 13/10/2020 16:51, Jan Beulich wrote: >>> On 12.10.2020 15:49, Andrew Cooper wrote: All interrupts and exceptions pass a struct cpu_user_regs up into C. This contains the legacy vm86 fields from 32bi

Re: [PATCH] x86/traps: 'Fix' safety of read_registers() in #DF path

2020-10-15 Thread Jan Beulich
On 14.10.2020 20:00, Andrew Cooper wrote: > On 13/10/2020 16:51, Jan Beulich wrote: >> On 12.10.2020 15:49, Andrew Cooper wrote: >>> All interrupts and exceptions pass a struct cpu_user_regs up into C. This >>> contains the legacy vm86 fields from 32bit days, which are beyond the >>> hardware-push

Re: [PATCH] x86/traps: 'Fix' safety of read_registers() in #DF path

2020-10-14 Thread Andrew Cooper
On 13/10/2020 16:51, Jan Beulich wrote: > On 12.10.2020 15:49, Andrew Cooper wrote: >> All interrupts and exceptions pass a struct cpu_user_regs up into C. This >> contains the legacy vm86 fields from 32bit days, which are beyond the >> hardware-pushed frame. >> >> Accessing these fields is genera

Re: [PATCH] x86/traps: 'Fix' safety of read_registers() in #DF path

2020-10-13 Thread Jan Beulich
On 12.10.2020 15:49, Andrew Cooper wrote: > All interrupts and exceptions pass a struct cpu_user_regs up into C. This > contains the legacy vm86 fields from 32bit days, which are beyond the > hardware-pushed frame. > > Accessing these fields is generally illegal, as they are logically out of > bo

[PATCH] x86/traps: 'Fix' safety of read_registers() in #DF path

2020-10-12 Thread Andrew Cooper
All interrupts and exceptions pass a struct cpu_user_regs up into C. This contains the legacy vm86 fields from 32bit days, which are beyond the hardware-pushed frame. Accessing these fields is generally illegal, as they are logically out of bounds for anything other than an interrupt/exception hi