Re: [Xen-devel] [PATCH] [v2] xen: hypercall: fix out-of-bounds memcpy

From: Andrew Cooper
Date: Mon Feb 05 2018 - 10:19:11 EST


On 05/02/18 15:03, Arnd Bergmann wrote:

Snipping deleted code to make things clearer:

> + if (cmd > ARRAY_SIZE(physdevop_len))
> + return -ENOSYS;
>
> + len = physdevop_len[cmd];
> + memcpy(&op.u, arg, len);

You'll want an array_nospec() or whatever its called these days. This
code is SP1-leaky.

Userspace controls cmd and can retrieve len by timing how many adjacent
cache lines were pulled in my memcpy().

~Andrew