]> git.karo-electronics.de Git - linux-beck.git/commit
powerpc/le: Big endian arguments for ppc_rtas()
authorGreg Kurz <gkurz@linux.vnet.ibm.com>
Wed, 19 Mar 2014 16:02:51 +0000 (17:02 +0100)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Sun, 23 Mar 2014 22:48:36 +0000 (09:48 +1100)
commit599d2870425dcde3bf2a7d969d5977baa57feb8b
tree4afbecdcb10bbc2becd8bf61912dbedeb8b371f3
parente45fbae51553a57cb591abf24398ed79ecbf8923
powerpc/le: Big endian arguments for ppc_rtas()

The ppc_rtas() syscall allows userspace to interact directly with RTAS.
For the moment, it assumes every thing is big endian and returns either
EINVAL or EFAULT when called in a little endian environment.

As suggested by Benjamin, to avoid bugs when userspace wants to pass
a non 32 bit value to RTAS, it is far better to stick with a simple
rationale: ppc_rtas() should be called with a big endian rtas_args
structure.

With this patch, it is now up to userspace to forge big endian arguments,
as expected by RTAS.

Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/rtas.c