Re: [Xen-devel] [PATCH] xen: don't use privcmd_call() from xen_mc_flush()

From: Juergen Gross
Date: Wed Jun 13 2018 - 07:12:41 EST


On 13/06/18 12:20, Jan Beulich wrote:
>>>> On 13.06.18 at 12:05, <JBeulich@xxxxxxxx> wrote:
>>>>> On 13.06.18 at 11:58, <jgross@xxxxxxxx> wrote:
>>> Using privcmd_call() for a singleton multicall seems to be wrong, as
>>> privcmd_call() is using stac()/clac() to enable hypervisor access to
>>> Linux user space.
>>>
>>> Add a new xen_single_call() function to be use for that purpose.
>>>
>>> Reported-by: Jan Beulich <jbeulich@xxxxxxxx>
>>> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
>>
>> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
>
> Actually I've only now realized that this isn't a real problem right now:
> PV can't use SMAP (we don't provide a virtualized version of it), and
> HVM/PVH can't use multicalls (which may have to change for PVH Dom0,
> so having the change in place is helpful anyway), so the whole
> in-kernel logic to collect and issue batches should be unreachable there.
>
> But perhaps the commit message would benefit from a little bit of
> re-wording.

Hmm, right.

What about:

"Using privcmd_call() for a singleton multicall seems to be wrong, as
privcmd_call() is using stac()/clac() to enable hypervisor access to
Linux user space.

Even if currently not a problem (pv domains can't use SMAP while HVM
and PVH domains can't use multicalls) things might change when
PVH dom0 support is added to the kernel."


Juergen