On Wed, Apr 19, 2017 at 04:53:07PM +1000, Sam Bobroff wrote: > From: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> > > commit 7ed23e1bae8bf7e37fd555066550a00b95a3a98b upstream. > > On Power8 & Power9 the early CPU inititialisation in __init_HFSCR() > turns on HFSCR[TM] (Hypervisor Facility Status and Control Register > [Transactional Memory]), but that doesn't take into account that TM > might be disabled by CPU features, or disabled by the kernel being built > with CONFIG_PPC_TRANSACTIONAL_MEM=n. > > So later in boot, when we have setup the CPU features, clear HSCR[TM] if > the TM CPU feature has been disabled. We use CPU_FTR_TM_COMP to account > for the CONFIG_PPC_TRANSACTIONAL_MEM=n case. > > Without this a KVM guest might try use TM, even if told not to, and > cause an oops in the host kernel. Typically the oops is seen in > __kvmppc_vcore_entry() and may or may not be fatal to the host, but is > always bad news. > > In practice all shipping CPU revisions do support TM, and all host > kernels we are aware of build with TM support enabled, so no one should > actually be able to hit this in the wild. > > Fixes: 2a3563b023e5 ("powerpc: Setup in HFSCR for POWER8") > Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> > Tested-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> > [mpe: Rewrite change log with input from Sam, add Fixes/stable] > Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > [sb: Backported to linux-4.4.y: adjusted context] > Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> > --- > Hi Stable, > > This is a fixed version of a patch that did not apply cleanly on > linux-4.4.y. The patch context had changed slightly. Thanks, now queued up! greg k-h