30 Jun, 2009

5 commits


29 Jun, 2009

7 commits


27 Jun, 2009

8 commits

  • When NAPI is disabled while we're in net_rx_action, we end up
    calling __napi_complete without flushing GRO packets. This is
    a bug as it would cause the GRO packets to linger, of course it
    also literally BUGs to catch error like this :)

    This patch changes it to napi_complete, with the obligatory IRQ
    reenabling. This should be safe because we've only just disabled
    IRQs and it does not materially affect the test conditions in
    between.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • As transparent proxying looks up the socket early and assigns
    it to the skb for later processing, we must drop any existing
    socket ownership prior to that in order to distinguish between
    the case where tproxy is active and where it is not.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • The mac80211 module uses rcu_call() thus it should use rcu_barrier()
    on module unload.

    The rcu_barrier() is placed in mech.c ieee80211_stop_mesh() which is
    invoked from ieee80211_stop() in case vif.type == NL80211_IFTYPE_MESH_POINT.

    Acked-by: Paul E. McKenney
    Acked-by: Johannes Berg
    Signed-off-by: Jesper Dangaard Brouer
    Signed-off-by: David S. Miller

    Jesper Dangaard Brouer
     
  • The sunrpc module uses rcu_call() thus it should use rcu_barrier() on
    module unload.

    Have not verified that the possibility for new call_rcu() callbacks
    has been disabled. As a hint for checking, the functions calling
    call_rcu() (unx_destroy_cred and generic_destroy_cred) are
    registered as crdestroy function pointer in struct rpc_credops.

    Acked-by: Paul E. McKenney
    Acked-by: Trond Myklebust
    Signed-off-by: Jesper Dangaard Brouer
    Signed-off-by: David S. Miller

    Jesper Dangaard Brouer
     
  • When unloading modules that uses call_rcu() callbacks, then we must
    use rcu_barrier(). This module uses syncronize_net() which is not
    enough to be sure that all callback has been completed.

    Acked-by: Paul E. McKenney
    Signed-off-by: Jesper Dangaard Brouer
    Signed-off-by: David S. Miller

    Jesper Dangaard Brouer
     
  • The ipv6 module uses rcu_call() thus it should use rcu_barrier() on
    module unload.

    Acked-by: Paul E. McKenney
    Signed-off-by: Jesper Dangaard Brouer
    Signed-off-by: David S. Miller

    Jesper Dangaard Brouer
     
  • The decnet module unloading as been disabled with a '#if 0' statement,
    because it have had issues.

    We add a rcu_barrier() anyhow for correctness.

    The maintainer (Chrissie Caulfield) will look into the unload issue
    when time permits.

    Acked-by: Paul E. McKenney
    Acked-by: Chrissie Caulfield
    Signed-off-by: Jesper Dangaard Brouer
    Signed-off-by: David S. Miller

    Jesper Dangaard Brouer
     
  • sky2 driver on PowerPC targets floods kernel log with following errors:

    eth1: hw csum failure.
    Call Trace:
    [ef84b8a0] [c00075e4] show_stack+0x50/0x160 (unreliable)
    [ef84b8d0] [c02fa178] netdev_rx_csum_fault+0x3c/0x5c
    [ef84b8f0] [c02f6920] __skb_checksum_complete_head+0x7c/0x84
    [ef84b900] [c02f693c] __skb_checksum_complete+0x14/0x24
    [ef84b910] [c0337e08] tcp_v4_rcv+0x4c8/0x6f8
    [ef84b940] [c031a9c8] ip_local_deliver+0x98/0x210
    [ef84b960] [c031a788] ip_rcv+0x38c/0x534
    [ef84b990] [c0300338] netif_receive_skb+0x260/0x36c
    [ef84b9c0] [c025de00] sky2_poll+0x5dc/0xcf8
    [ef84ba20] [c02fb7fc] net_rx_action+0xc0/0x144

    The NIC is Yukon-2 EC chip revision 1.

    Converting checksum field from le16 to CPU byte order fixes the issue.

    Signed-off-by: Anton Vorontsov
    Signed-off-by: David S. Miller

    Anton Vorontsov
     

26 Jun, 2009

5 commits


25 Jun, 2009

15 commits