• Andy Gay's avatar
    Fix struct alignment with cris architecture · af1b6a41
    Andy Gay authored
    [IPROUTE]: Fix struct alignment with cris architecture
    
    gcc for the cris arch does not pad structures to the next multiple of 4
    bytes, as the i386 gcc does.
    
    This causes errors like this when displaying xfrm policies:
    
    # ip x p
    !!!Deficit 3, rta_len=300
    src 192.168.251.32/29 dst 192.168.251.32/29
            dir in priority 0
    !!!Deficit 3, rta_len=180
    src 0.0.0.0/0 dst 192.168.251.32/29
            dir in priority 2208
    ....
    
    Similar errors are seen from ip x s.
    
    This patch fixes the errors when printing. I'm not sure whether we
    should worry about other uses of the affected structs, I've not seen any
    other bad effects from this though, so hopefully this is enough.
    
    (Thanks to Herbert Xu for pointing out that NLMSG_SPACE is the correct
    macro to use here.)
    
    Tested against 2.6.17.6 kernel on i386, and 2.6.16.1 kernel on cris.
    Signed-off-by: default avatarAndy Gay <andy@andynet.net>
    Signed-off-by: default avatarStephen Hemminger <shemminger@osdl.org>
    af1b6a41
xfrm_policy.c 18.3 KB