[PATCH 3/8] powerpc/pseries: pack update_props_workarea to map correctly to rtas buffer header
Nathan Fontenot
nfont at linux.vnet.ibm.com
Mon Aug 19 23:46:19 EST 2013
On 08/15/2013 12:23 AM, Tyrel Datwyler wrote:
> The work area buffer returned by the ibm,update-properties rtas call contains
> 20 bytes of header information prior to the property value descriptor data.
> Currently update_dt_node tries to advance over this header using sizeof(upwa).
> The update_props_workarea struct contains 20 bytes worth of fields, that map
> to the relevant header data, but the sizeof the structure is 24 bytes due to
> 4 bytes of padding at the end of the structure. Packing the structure ensures
> that we don't advance too far over the rtas buffer.
>
> Signed-off-by: Tyrel Datwyler <tyreld at linux.vnet.ibm.com>
Acked-by: Nathan Fontenot <nfont at linux.vnet.ibm.com>
> ---
> arch/powerpc/platforms/pseries/mobility.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c
> index aaae85d..023e354 100644
> --- a/arch/powerpc/platforms/pseries/mobility.c
> +++ b/arch/powerpc/platforms/pseries/mobility.c
> @@ -28,7 +28,7 @@ struct update_props_workarea {
> u32 state;
> u64 reserved;
> u32 nprops;
> -};
> +} __packed;
>
> #define NODE_ACTION_MASK 0xff000000
> #define NODE_COUNT_MASK 0x00ffffff
>
More information about the Linuxppc-dev
mailing list