• Florian Fainelli's avatar
    net: systemport: Guard against unmapped TX ring · e83b1715
    Florian Fainelli authored
    Because SYSTEMPORT is a (semi) normal network device, the stack may attempt to
    queue packets on it oustide of the DSA slave transmit path.  When that happens,
    the DSA layer has not had a chance to tag packets with the appropriate per-port
    and per-queue information, and if that happens and we don't have a port 0 queue
    0 available (e.g: on boards where this does not exist), we will hit a NULL
    pointer de-reference in bcm_sysport_select_queue().
    
    Guard against such cases by testing for the TX ring validity.
    
    Fixes: 84ff33eeb23d ("net: systemport: Establish DSA network device queue mapping")
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e83b1715
bcmsysport.c 66.8 KB