Re: [Xen-devel] [PATCH] xen/x86: Update topology map for PV VCPUs
From: Jan Beulich
Date: Thu Oct 06 2016 - 08:14:22 EST
>>> On 05.10.16 at 19:09, <boris.ostrovsky@xxxxxxxxxx> wrote:
> Early during boot topology_update_package_map() computes
> logical_pkg_ids for all present processors.
>
> Later, when processors are brought up, identify_cpu() updates
> these values based on phys_pkg_id which is a function of
> initial_apicid. On PV guests the latter may point to a
> non-existing node, causing logical_pkg_ids to be set to -1.
>
> Intel's RAPL uses logical_pkg_id (as topology_logical_package_id())
> to index its arrays and therefore in this case will point to index
> 65535 (since logical_pkg_id is a u16). This could lead to either a
> crash or may actually access random memory location.
Another clear indication that such fields should never be touched
(and hence consumers either be fixed or disabled) when running as
PV guest under Xen.
Jan