[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