• Jeffrey Knockel's avatar
    Patch for 3.2.x, 3.4.x IP identifier regression · 607d8297
    Jeffrey Knockel authored
    With commits 73f156a6 ("inetpeer: get rid of ip_id_count") and
    04ca6973 ("ip: make IP identifiers less predictable"), IP
    identifiers are generated from a counter chosen from an array of
    counters indexed by the hash of the outgoing packet header's source
    address, destination address, and protocol number.  Thus, in
    __ip_make_skb(), we must now call ip_select_ident() only after setting
    these fields in the IP header to prevent IP identifiers from being
    generated from bogus counters.
    
    IP id sequence before fix: 18174, 5789, 5953, 59420, 59637, ...
    After fix: 5967, 6185, 6374, 6600, 6795, 6892, 7051, 7288, ...
    Signed-off-by: default avatarJeffrey Knockel <jeffk@cs.unm.edu>
    Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
    Cc: Eric Dumazet <edumazet@google.com>
    607d8297
ip_output.c 37.5 KB