Re: [PATCH 4.4] powerpc: Disable HFSCR[TM] if TM is not supported

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]