Message ID | 1422653293-8442-1-git-send-email-chris.j.arges@canonical.com |
---|---|
State | New |
Headers | show |
On Fri, Jan 30, 2015 at 03:28:13PM -0600, Chris J Arges wrote: > From: Laurent Dufour <ldufour@linux.vnet.ibm.com> > > BugLink: http://bugs.launchpad.net/bugs/1415919 > > 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> > Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> > (cherry picked from commit e6eb2eba494d6f99e69ca3c3748cd37a2544ab38) > Signed-off-by: Chris J Arges <chris.j.arges@canonical.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 c6c497b..e660d20 100644 > --- a/arch/powerpc/xmon/xmon.c > +++ b/arch/powerpc/xmon/xmon.c > @@ -292,6 +292,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 > > > -- > kernel-team mailing list > kernel-team@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/kernel-team Applied to Trusty and Utopic master-next
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c index c6c497b..e660d20 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c @@ -292,6 +292,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];