Re: [PATCH] powerpc/lpar: Don't crash on H_PROTECT errors
From: Tyrel Datwyler <hidden>
Date: 2016-02-29 16:50:44
On 02/29/2016 03:52 AM, Anshuman Khandual wrote:
quoted hunk ↗ jump to hunk
There are certain condition in which H_PROTECT can return error code other than H_NOT_FOUND and H_SUCCESS. One such being an attempt to update an hpte owned by adjunct partition. Return 0 in that case so that user space will retry the access. In adjunct case this mean we will not make much progress in the user space. But atleast we get a chance to kill the task and avoid taking down the entire box. Signed-off-by: Aneesh Kumar K.V <redacted> Signed-off-by: Anshuman Khandual <redacted> --- arch/powerpc/platforms/pseries/lpar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/arch/powerpc/platforms/pseries/lpar.c b/arch/powerpc/platforms/pseries/lpar.c index 477290a..31bcdaf 100644 --- a/arch/powerpc/platforms/pseries/lpar.c +++ b/arch/powerpc/platforms/pseries/lpar.c@@ -310,7 +310,7 @@ static long pSeries_lpar_hpte_updatepp(unsigned long slot, pr_devel("ok\n"); - BUG_ON(lpar_rc != H_SUCCESS); + WARN_RATELIMIT(lpar_rc != H_SUCCESS, "H_PROTECT returned %lu\n", lpar_rc);
In the event that we don't get H_NOT_FOUND (which is handled earlier in the function) or H_SUCCESS this patch assumes H_RESOURCE. It fails to handle H_PARAMETER which is also a valid return from the H_PROTECT hypercall. -Tyrel
return 0; }