• Olivier Fourdan's avatar
    ip maddr show” on an infiniband address causes a stack corruption · 7f71c0ca
    Olivier Fourdan authored
    “ip maddr show” on an infiniband address causes a stack corruption
    because the length of the address for Infiniband (20 bytes, as
    described in kernel doc Documentation/infiniband/ipoib.txt) does not
    fit on the 16 bytes of the field in which it gets stored.
    
    The proposed patch increases the size of the hardware address from 4
    __u32 to 8 and also adds a check to avoid overriding the available
    size while parsing the hardware address.
    
    This bug affects current upstream code AFAICT.
    
    Hope this helps,
    Cheers,
    Olivier.
    
    “ip maddr show ib0” causes a stack corruption because the length of the address
    for Infiniband (20 see kernel doc Documentation/infiniband/ipoib.txt) does not
    fit on the 16 bytes of the field in which it gets stored.
    
    The proposed patch increases the size of the hardware address from 4 u32 to 8
    and adds a check to avoid overriding the available size while parsing the
    hardware address.
    7f71c0ca
ipmaddr.c 6.87 KB