|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/vlapic: Bugfixes and improvements to vlapic_{read, write}()
>>> On 09.08.18 at 11:50, <andrew.cooper3@xxxxxxxxxx> wrote:
> Firstly, there is no 'offset' boundary check on the non-32-bit write path
> before the call to vlapic_read_aligned(), which allows an attacker to read
> beyond the end of vlapic->regs->data[], which is only 1024 bytes long.
>
> However, as the backing memory is a domheap page, and misaligned accesses get
> chunked down to single bytes across page boundaries, I can't spot any
> XSA-worthy problems which occur from the overrun.
>
> On real hardware, bad accesses don't instantly crash the machine. Their
> behaviour is undefined, but the domain_crash() prohibits sensible testing.
> Behave more like other x86 MMIO and terminate bad accesses with appropriate
> defaults.
>
> While making these changes, clean up and simplify the the smaller-access
> handling. In particular, avoid pointer based mechansims for 1/2-byte reads so
> as to avoid forcing the value to be spilled to the stack.
>
> add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-175 (-175)
> function old new delta
> vlapic_read 211 142 -69
> vlapic_write 304 198 -106
>
> Finally, there are a plethora of read/write functions in the vlapic namespace,
> so rename these to vlapic_mmio_{read,write}() to make their purpose more
> clear.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |