• Willem de Bruijn's avatar
    net-packet: fix null pointer exception in rollover mode · 4633c9e0
    Willem de Bruijn authored
    Rollover can be enabled as flag or mode. Allocate state in both cases.
    This solves a NULL pointer exception in fanout_demux_rollover on
    referencing po->rollover if using mode rollover.
    
    Also make sure that in rollover mode each silo is tried (contrary
    to rollover flag, where the main socket is excluded after an initial
    try_self).
    
    Tested:
      Passes tools/testing/net/psock_fanout.c, which tests both modes and
      flag. My previous tests were limited to bench_rollover, which only
      stresses the flag. The test now completes safely. it still gives an
      error for mode rollover, because it does not expect the new headroom
      (ROOM_NORMAL) requirement. I will send a separate patch to the test.
    
    Fixes: 0648ab70 ("packet: rollover prepare: per-socket state")
    Signed-off-by: default avatarWillem de Bruijn <willemb@google.com>
    
    ----
    
    I should have run this test and caught this before submission, of
    course. Apologies for the oversight.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4633c9e0
af_packet.c 101 KB