1. 01 Jun, 2013 2 commits
  2. 31 May, 2013 6 commits
    • Jay Vosburgh's avatar
      net/core: dev_mc_sync_multiple calls wrong helper · b190a508
      Jay Vosburgh authored
      The dev_mc_sync_multiple function is currently calling
      __hw_addr_sync, and not __hw_addr_sync_multiple.  This will result in
      addresses only being synced to the first device from the set.
      
      	Corrected by calling the _multiple variant.
      Signed-off-by: default avatarJay Vosburgh <fubar@us.ibm.com>
      Reviewed-by: default avatarVlad Yasevich <vyasevic@redhat.com>
      Tested-by: default avatarShawn Bohrer <sbohrer@rgmadvisors.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b190a508
    • Jay Vosburgh's avatar
      net/core: __hw_addr_sync_one / _multiple broken · 29ca2f8f
      Jay Vosburgh authored
      Currently, __hw_addr_sync_one is called in a loop by
      __hw_addr_sync_multiple to sync each of a "from" device's hw addresses
      to a "to" device.  __hw_addr_sync_one calls __hw_addr_add_ex to attempt
      to add each address.  __hw_addr_add_ex is called with global=false, and
      sync=true.
      
      	__hw_addr_add_ex checks to see if the new address matches an
      address already on the list.  If so, it tests global and sync.  In this
      case, sync=true, and it then checks if the address is already synced,
      and if so, returns 0.
      
      	This 0 return causes __hw_addr_sync_one to increment the sync_cnt
      and refcount for the "from" list's address entry, even though the address
      is already synced and has a reference and sync_cnt.  This will cause
      the sync_cnt and refcount to increment without bound every time an
      addresses is added to the "from" device and synced to the "to" device.
      
      	The fix here has two parts:
      
      	First, when __hw_addr_add_ex finds the address already exists
      and is synced, return -EEXIST instead of 0.
      
      	Second, __hw_addr_sync_one checks the error return for -EEXIST,
      and if so, it (a) does not add a refcount/sync_cnt, and (b) returns 0
      itself so that __hw_addr_sync_multiple will not return an error.
      Signed-off-by: default avatarJay Vosburgh <fubar@us.ibm.com>
      Reviewed-by: default avatarVlad Yasevich <vyasevic@redhat.com>
      Tested-by: default avatarShawn Bohrer <sbohrer@rgmadvisors.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      29ca2f8f
    • Jay Vosburgh's avatar
      net/core: __hw_addr_unsync_one "from" address not marked synced · 60ba834c
      Jay Vosburgh authored
      When an address is added to a subordinate interface (the "to"
      list), the address entry in the "from" list is not marked "synced" as
      the entry added to the "to" list is.
      
      	When performing the unsync operation (e.g., dev_mc_unsync),
      __hw_addr_unsync_one calls __hw_addr_del_entry with the "synced"
      parameter set to true for the case when the address reference is being
      released from the "from" list.  This causes a test inside to fail,
      with the result being that the reference count on the "from" address
      is not properly decremeted and the address on the "from" list will
      never be freed.
      
      	Correct this by having __hw_addr_unsync_one call the
      __hw_addr_del_entry function with the "sync" flag set to false for the
      "remove from the from list" case.
      Signed-off-by: default avatarJay Vosburgh <fubar@us.ibm.com>
      Reviewed-by: default avatarVlad Yasevich <vyasevic@redhat.com>
      Tested-by: default avatarShawn Bohrer <sbohrer@rgmadvisors.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      60ba834c
    • Jay Vosburgh's avatar
      net/core: __hw_addr_create_ex does not initialize sync_cnt · 9747ba66
      Jay Vosburgh authored
      The sync_cnt field is not being initialized, which can result
      in arbitrary values in the field.  Fixed by initializing it to zero.
      Signed-off-by: default avatarJay Vosburgh <fubar@us.ibm.com>
      Reviewed-by: default avatarVlad Yasevich <vyasevic@redhat.com>
      Tested-by: default avatarShawn Bohrer <sbohrer@rgmadvisors.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9747ba66
    • Nicolas Dichtel's avatar
      snmp6: remove IPSTATS_MIB_CSUMERRORS · fda3f402
      Nicolas Dichtel authored
      This stat is not relevant in IPv6, there is no checksum in IPv6 header.
      Just leave a comment to explain the hole.
      Signed-off-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fda3f402
    • David S. Miller's avatar
      Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless · fb68e2f4
      David S. Miller authored
      John W. Linville says:
      
      ====================
      Please pull this batch of fixes intended for the 3.10 stream...
      
      Regarding the NFC bits, Samuel says:
      
      "This is the first batch of NFC fixes for 3.10, and it contains:
      
      - 3 fixes for the NFC MEI support:
              * We now depend on the correct Kconfig symbol.
              * We register an MEI event callback whenever we enable an NFC device,
                otherwise we fail to read anything after an enable/disable cycle.
              * We only disable an MEI device from its disable mey_phy_ops,
                preventing useless consecutive disable calls.
      
      - An NFC Makefile cleanup, as I forgot to remove a commented out line when
        moving the LLCP code to the NFC top level directory."
      
      As for the mac80211 bits, Johannes says:
      
      "This time I have a fix from Stanislaw for a stupid mistake I made in the
      auth/assoc timeout changes, a fix from Felix for 64-bit traffic counters
      and one from Helmut for address mask handling in mac80211. I also have a
      few fixes myself for four different crashes reported by a few people."
      
      And Johannes says this about the iwlwifi bit:
      
      "This fixes a brown paper-bag bug that we really should've caught in
      review. More details in the changelog for the fix."
      
      On top of that...
      
      Arend van Spriel and Hante Meuleman cooperate to send a series of AP
      and P2P mode fixes for brcmfmac.
      
      Gabor Juhos corrects a register offset for AR9550, avoiding a bus
      error.
      
      Dan Carpenter provides a fixup to some dmesg output in the atmel
      driver.
      
      And, finally...
      
      Felix Fietkau not only gives us a trio of small AR934x fixes, but
      also refactors the ath9k aggregation session start/stop handling
      (using the generic mac80211 support) in order to avoid a deadlock.
      
      Please let me know if there are problems!
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fb68e2f4
  3. 30 May, 2013 3 commits
  4. 29 May, 2013 6 commits
  5. 28 May, 2013 12 commits
  6. 27 May, 2013 5 commits
  7. 26 May, 2013 3 commits
  8. 24 May, 2013 3 commits