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

From: Jan Beulich
Date: Wed Jun 13 2018 - 08:56:22 EST


>>> On 13.06.18 at 13:12, <jgross@xxxxxxxx> wrote:
> 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."

SGTM

Jan