diff mbox series

[3/6] powerpc/pseries: Return -EIO instead of -EINTR for H_ABORTED error

Message ID 20221106205839.600442-4-nayna@linux.ibm.com (mailing list archive)
State Accepted
Commit bb8e4c7cb759b90a04f2e94056b50288ff46a0ed
Headers show
Series powerpc/pseries - bugfixes/cleanups for PLPKS driver | expand

Commit Message

Nayna Jain Nov. 6, 2022, 8:58 p.m. UTC
Some commands for eg. "cat" might continue to retry on encountering
EINTR. This is not expected for original error code H_ABORTED.

Map H_ABORTED to more relevant Linux error code EIO.

Fixes: 2454a7af0f2a ("powerpc/pseries: define driver for Platform KeyStore")
Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
---
 arch/powerpc/platforms/pseries/plpks.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Andrew Donnellan Nov. 30, 2022, 2:55 a.m. UTC | #1
On Sun, 2022-11-06 at 15:58 -0500, Nayna Jain wrote:
> Some commands for eg. "cat" might continue to retry on encountering
> EINTR. This is not expected for original error code H_ABORTED.
> 
> Map H_ABORTED to more relevant Linux error code EIO.
> 
> Fixes: 2454a7af0f2a ("powerpc/pseries: define driver for Platform
> KeyStore")
> Signed-off-by: Nayna Jain <nayna@linux.ibm.com>

The interface spec states that, for PKS-related hcalls, H_Aborted means
"error occurred processing request" rather than something that would
specifically map to EINTR, so I think EIO is appropriate here.

Reviewed-by: Andrew Donnellan <ajd@linux.ibm.com>

> ---
>  arch/powerpc/platforms/pseries/plpks.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/platforms/pseries/plpks.c
> b/arch/powerpc/platforms/pseries/plpks.c
> index 32ce4d780d8f..cbea447122ca 100644
> --- a/arch/powerpc/platforms/pseries/plpks.c
> +++ b/arch/powerpc/platforms/pseries/plpks.c
> @@ -111,7 +111,7 @@ static int pseries_status_to_err(int rc)
>                 err = -EEXIST;
>                 break;
>         case H_ABORTED:
> -               err = -EINTR;
> +               err = -EIO;
>                 break;
>         default:
>                 err = -EINVAL;
diff mbox series

Patch

diff --git a/arch/powerpc/platforms/pseries/plpks.c b/arch/powerpc/platforms/pseries/plpks.c
index 32ce4d780d8f..cbea447122ca 100644
--- a/arch/powerpc/platforms/pseries/plpks.c
+++ b/arch/powerpc/platforms/pseries/plpks.c
@@ -111,7 +111,7 @@  static int pseries_status_to_err(int rc)
 		err = -EEXIST;
 		break;
 	case H_ABORTED:
-		err = -EINTR;
+		err = -EIO;
 		break;
 	default:
 		err = -EINVAL;