* [PATCH] pseries/le: Fix another endiannes issue in RTAS call from xmon
[not found] <1421295950.11409.3.camel@ellerman.id.au>
@ 2015-01-15 17:23 ` Laurent Dufour
2015-01-15 19:44 ` Tyrel Datwyler
0 siblings, 1 reply; 2+ messages in thread
From: Laurent Dufour @ 2015-01-15 17:23 UTC (permalink / raw)
To: mpe; +Cc: linuxppc-dev, linux-kernel, paulus, Laurent Dufour, stable
The commit 3b8a3c010969 ("powerpc/pseries: Fix endiannes issue in RTAS
call from xmon") was fixing an endianness issue in the call made from
xmon to RTAS.
However, as Michael Ellerman noticed, this fix was not complete, the
token value was not byte swapped. This lead to call an unexpected and
most of the time unexisting RTAS function, which is silently ignored
by RTAS.
This fix addresses this hole.
Reported-by: Michael Ellerman <mpe@ellerman.id.au>
Cc: stable@vger.kernel.org
Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
---
arch/powerpc/xmon/xmon.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
index 5b150f0c5df9..13c6e200b24e 100644
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -337,6 +337,7 @@ static inline void disable_surveillance(void)
args.token = rtas_token("set-indicator");
if (args.token == RTAS_UNKNOWN_SERVICE)
return;
+ args.token = cpu_to_be32(args.token);
args.nargs = cpu_to_be32(3);
args.nret = cpu_to_be32(1);
args.rets = &args.args[3];
--
1.9.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] pseries/le: Fix another endiannes issue in RTAS call from xmon
2015-01-15 17:23 ` [PATCH] pseries/le: Fix another endiannes issue in RTAS call from xmon Laurent Dufour
@ 2015-01-15 19:44 ` Tyrel Datwyler
0 siblings, 0 replies; 2+ messages in thread
From: Tyrel Datwyler @ 2015-01-15 19:44 UTC (permalink / raw)
To: Laurent Dufour, mpe; +Cc: paulus, linuxppc-dev, linux-kernel, stable
On 01/15/2015 09:23 AM, Laurent Dufour wrote:
> The commit 3b8a3c010969 ("powerpc/pseries: Fix endiannes issue in RTAS
> call from xmon") was fixing an endianness issue in the call made from
> xmon to RTAS.
>
> However, as Michael Ellerman noticed, this fix was not complete, the
> token value was not byte swapped. This lead to call an unexpected and
> most of the time unexisting RTAS function, which is silently ignored
> by RTAS.
Nit. Not so much that is silently ignored by RTAS as much as
disable_surveillance silently doesn't check the return status of the
RTAS call. Maybe a check is warranted and reporting of non-success.
-Tyrel
>
> This fix addresses this hole.
>
> Reported-by: Michael Ellerman <mpe@ellerman.id.au>
> Cc: stable@vger.kernel.org
> Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
> ---
> arch/powerpc/xmon/xmon.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
> index 5b150f0c5df9..13c6e200b24e 100644
> --- a/arch/powerpc/xmon/xmon.c
> +++ b/arch/powerpc/xmon/xmon.c
> @@ -337,6 +337,7 @@ static inline void disable_surveillance(void)
> args.token = rtas_token("set-indicator");
> if (args.token == RTAS_UNKNOWN_SERVICE)
> return;
> + args.token = cpu_to_be32(args.token);
> args.nargs = cpu_to_be32(3);
> args.nret = cpu_to_be32(1);
> args.rets = &args.args[3];
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-01-15 19:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1421295950.11409.3.camel@ellerman.id.au>
2015-01-15 17:23 ` [PATCH] pseries/le: Fix another endiannes issue in RTAS call from xmon Laurent Dufour
2015-01-15 19:44 ` Tyrel Datwyler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).