[PATCH] L1TF support in PowerPC SYSFS.

Anthony Steinhauser asteinhauser at google.com
Mon Nov 4 21:28:55 AEDT 2019


Hi Michael,

I tested in on Power9 Talos II Boston 004e 1202, PowerNV T2P9D01.
Links can be naturally dropped. They're just for explanation.

Best,


On Sat, Nov 2, 2019 at 12:11 PM Michael Ellerman <mpe at ellerman.id.au> wrote:
>
> Hi Anthony,
>
> Thanks for the patch.
>
> asteinhauser at google.com writes:
> > From: Anthony Steinhauser <asteinhauser at google.com>
> >
> > PowerPC CPUs are vulnerable to L1TF to the same extent as to Meltdown.
> > It is also mitigated by flushing the L1D on privilege transition.
> > Currently the SYSFS gives a false negative on L1TF on CPUs that I verified
> > to be vulnerable.
>
> Can you include the details of which CPUs you tested?
>
> > https://www.ibm.com/blogs/psirt/potential-impact-processors-power-family/
> > https://github.com/google/safeside/pull/52
> > Signed-off-by: Anthony Steinhauser <asteinhauser at google.com>
> > ---
>
> I don't usually retain links in the change log, because they bit rot, so
> I'll drop those, but they will remain in the email archive.
>
> > diff --git a/arch/powerpc/kernel/security.c b/arch/powerpc/kernel/security.c
> > index 7cfcb294b11c..a1a5017c5170 100644
> > --- a/arch/powerpc/kernel/security.c
> > +++ b/arch/powerpc/kernel/security.c
> > @@ -135,7 +135,8 @@ void setup_spectre_v2(void)
> >  #endif /* CONFIG_PPC_FSL_BOOK3E */
> >
> >  #ifdef CONFIG_PPC_BOOK3S_64
> > -ssize_t cpu_show_meltdown(struct device *dev, struct device_attribute *attr, char *buf)
> > +static ssize_t cpu_show_delayed_fault_common(
>
> I guess that's an accurate name.
>
> I probably would have just had cpu_show_l1tf() call cpu_show_meltdown(),
> but I guess either approach is fine.
>
> cheers
>
>
> > @@ -167,6 +168,16 @@ ssize_t cpu_show_meltdown(struct device *dev, struct device_attribute *attr, cha
> >
> >       return sprintf(buf, "Vulnerable\n");
> >  }
> > +
> > +ssize_t cpu_show_l1tf(struct device *dev, struct device_attribute *attr, char *buf)
> > +{
> > +     return cpu_show_delayed_fault_common(dev, attr, buf);
> > +}
> > +
> > +ssize_t cpu_show_meltdown(struct device *dev, struct device_attribute *attr, char *buf)
> > +{
> > +     return cpu_show_delayed_fault_common(dev, attr, buf);
> > +}
> >  #endif
> >
> >  ssize_t cpu_show_spectre_v1(struct device *dev, struct device_attribute *attr, char *buf)
> > --
> > 2.24.0.rc0.303.g954a862665-goog


More information about the Linuxppc-dev mailing list