1. 23 1月, 2014 15 次提交
  2. 22 1月, 2014 2 次提交
  3. 18 1月, 2014 2 次提交
  4. 17 1月, 2014 1 次提交
  5. 15 1月, 2014 1 次提交
  6. 14 1月, 2014 3 次提交
    • V
      bonding: fix __get_active_agg() RCU logic · 49b7624e
      Veaceslav Falico 提交于
      Currently, the implementation is meaningless - once again, we take the
      slave structure and use it after we've exited RCU critical section.
      
      Fix this by removing the rcu_read_lock() from __get_active_agg(), and
      ensuring that all its callers are holding RCU.
      
      Fixes: be79bd04 ("bonding: add RCU for bond_3ad_state_machine_handler()")
      CC: dingtianhong@huawei.com
      CC: Jay Vosburgh <fubar@us.ibm.com>
      CC: Andy Gospodarek <andy@greyhouse.net>
      Signed-off-by: NVeaceslav Falico <vfalico@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      49b7624e
    • V
      bonding: fix __get_first_agg RCU usage · 768b9549
      Veaceslav Falico 提交于
      Currently, the RCU read lock usage is just wrong - it gets the slave struct
      under RCU and continues to use it when RCU lock is released.
      
      However, it's still safe to do this cause we didn't need the
      rcu_read_lock() initially - all of the __get_first_agg() callers are either
      holding RCU read lock or the RTNL lock, so that we can't sync while in it.
      
      Fixes: be79bd04 ("bonding: add RCU for bond_3ad_state_machine_handler()")
      CC: dingtianhong@huawei.com
      CC: Jay Vosburgh <fubar@us.ibm.com>
      CC: Andy Gospodarek <andy@greyhouse.net>
      Signed-off-by: NVeaceslav Falico <vfalico@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      768b9549
    • V
      bonding: fix bond_3ad_set_carrier() RCU usage · c1bc9644
      Veaceslav Falico 提交于
      Currently, its usage is just plainly wrong. It first gets a slave under
      RCU, and, after releasing the RCU lock, continues to use it - whilst it can
      be freed.
      
      Fix this by ensuring that bond_3ad_set_carrier() holds RCU till it uses its
      slave (or its agg).
      
      Fixes: be79bd04 ("bonding: add RCU for bond_3ad_state_machine_handler()")
      CC: dingtianhong@huawei.com
      CC: Jay Vosburgh <fubar@us.ibm.com>
      CC: Andy Gospodarek <andy@greyhouse.net>
      Signed-off-by: NVeaceslav Falico <vfalico@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c1bc9644
  7. 13 1月, 2014 3 次提交
  8. 11 1月, 2014 1 次提交
    • J
      net: core: explicitly select a txq before doing l2 forwarding · f663dd9a
      Jason Wang 提交于
      Currently, the tx queue were selected implicitly in ndo_dfwd_start_xmit(). The
      will cause several issues:
      
      - NETIF_F_LLTX were removed for macvlan, so txq lock were done for macvlan
        instead of lower device which misses the necessary txq synchronization for
        lower device such as txq stopping or frozen required by dev watchdog or
        control path.
      - dev_hard_start_xmit() was called with NULL txq which bypasses the net device
        watchdog.
      - dev_hard_start_xmit() does not check txq everywhere which will lead a crash
        when tso is disabled for lower device.
      
      Fix this by explicitly introducing a new param for .ndo_select_queue() for just
      selecting queues in the case of l2 forwarding offload. netdev_pick_tx() was also
      extended to accept this parameter and dev_queue_xmit_accel() was used to do l2
      forwarding transmission.
      
      With this fixes, NETIF_F_LLTX could be preserved for macvlan and there's no need
      to check txq against NULL in dev_hard_start_xmit(). Also there's no need to keep
      a dedicated ndo_dfwd_start_xmit() and we can just reuse the code of
      dev_queue_xmit() to do the transmission.
      
      In the future, it was also required for macvtap l2 forwarding support since it
      provides a necessary synchronization method.
      
      Cc: John Fastabend <john.r.fastabend@intel.com>
      Cc: Neil Horman <nhorman@tuxdriver.com>
      Cc: e1000-devel@lists.sourceforge.net
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Acked-by: NNeil Horman <nhorman@tuxdriver.com>
      Acked-by: NJohn Fastabend <john.r.fastabend@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f663dd9a
  9. 07 1月, 2014 1 次提交
  10. 04 1月, 2014 5 次提交
  11. 02 1月, 2014 6 次提交