• Krzysztof Mazur's avatar
    pppoatm: drop frames to not-ready vcc · 071d9393
    Krzysztof Mazur authored
    The vcc_destroy_socket() closes vcc before the protocol is detached
    from vcc by calling vcc->push() with NULL skb. This leaves some time
    window, where the protocol may call vcc->send() on closed vcc
    and crash.
    
    Now pppoatm_send(), like vcc_sendmsg(), checks for vcc flags that
    indicate that vcc is not ready. If the vcc is not ready we just
    drop frame. Queueing frames is much more complicated because we
    don't have callbacks that inform us about vcc flags changes.
    Signed-off-by: default avatarKrzysztof Mazur <krzysiek@podlesie.net>
    Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
    071d9393
pppoatm.c 14.5 KB