• Simon Arlott's avatar
    ppp_generic: pull 2 bytes so that PPP_PROTO(skb) is valid · ea8420e9
    Simon Arlott authored
    In ppp_input(), PPP_PROTO(skb) may refer to invalid data in the skb.
    
    If this happens and (proto >= 0xc000 || proto == PPP_CCPFRAG) then
    the packet is passed directly to pppd.
    
    This occurs frequently when using PPPoE with an interface MTU
    greater than 1500 because the skb is more likely to be non-linear.
    
    The next 2 bytes need to be pulled in ppp_input(). The pull of 2
    bytes in ppp_receive_frame() has been removed as it is no longer
    required.
    Signed-off-by: default avatarSimon Arlott <simon@fire.lp0.eu>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ea8420e9
ppp_generic.c 67.8 KB