Skip to content
  • David S. Miller's avatar
    net: Fix range checks in tcf_valid_offset(). · da521b2c
    David S. Miller authored
    
    
    This function has three bugs:
    
    1) The offset should be valid most of the time, this is just
       a sanity check, therefore we should use "likely" not "unlikely"
    
    2) This is the only place where we can check for arithmetic overflow
       of the pointer plus the length.
    
    3) The existing range checks are off by one, the valid range is
       skb->head to skb_tail_pointer(), inclusive.
    
    Based almost entirely upon a patch by Ralph Loader.
    
    Reported-by: default avatarRalph Loader <suckfish@ihug.co.nz>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    da521b2c