1. 10 11月, 2014 1 次提交
  2. 07 11月, 2014 1 次提交
  3. 06 11月, 2014 4 次提交
  4. 03 11月, 2014 1 次提交
  5. 02 11月, 2014 6 次提交
  6. 29 10月, 2014 2 次提交
  7. 27 10月, 2014 3 次提交
  8. 26 10月, 2014 3 次提交
  9. 25 10月, 2014 8 次提交
  10. 01 10月, 2014 2 次提交
  11. 24 9月, 2014 1 次提交
    • S
      ieee802154: 6lowpan: ensure header compression does not corrupt ipv6 header · f19f4f95
      Simon Vincent 提交于
      The 6lowpan ipv6 header compression was causing problems for other interfaces
      that expected a ipv6 header to still be in place, as we were replacing the
      ipv6 header with a compressed version. This happened if you sent a packet to a
      multicast address as the packet would be output on 802.15.4, ethernet, and also
      be sent to the loopback interface. The skb data was shared between these
      interfaces so all interfaces ended up with a compressed ipv6 header.
      
      The solution is to ensure that before we do any header compression we are not
      sharing the skb or skb data with any other interface. If we are then we must
      take a copy of the skb and skb data before modifying the ipv6 header.
      The only place we can copy the skb is inside the xmit function so we don't
      leave dangling references to skb.
      
      This patch moves all the header compression to inside the xmit function. Very
      little code has been changed it has mostly been moved from lowpan_header_create
      to lowpan_xmit. At the top of the xmit function we now check if the skb is
      shared and if so copy it. In lowpan_header_create all we do now is store the
      source and destination addresses for use later when we compress the header.
      Signed-off-by: NSimon Vincent <simon.vincent@xsilon.com>
      Signed-off-by: NAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      f19f4f95
  12. 20 8月, 2014 3 次提交
  13. 14 8月, 2014 1 次提交
  14. 03 8月, 2014 2 次提交
  15. 28 7月, 2014 2 次提交
    • N
      inet: frag: set limits and make init_net's high_thresh limit global · 1bab4c75
      Nikolay Aleksandrov 提交于
      This patch makes init_net's high_thresh limit to be the maximum for all
      namespaces, thus introducing a global memory limit threshold equal to the
      sum of the individual high_thresh limits which are capped.
      It also introduces some sane minimums for low_thresh as it shouldn't be
      able to drop below 0 (or > high_thresh in the unsigned case), and
      overall low_thresh should not ever be above high_thresh, so we make the
      following relations for a namespace:
      init_net:
       high_thresh - max(not capped), min(init_net low_thresh)
       low_thresh - max(init_net high_thresh), min (0)
      
      all other namespaces:
       high_thresh = max(init_net high_thresh), min(namespace's low_thresh)
       low_thresh = max(namespace's high_thresh), min(0)
      
      The major issue with having low_thresh > high_thresh is that we'll
      schedule eviction but never evict anything and thus rely only on the
      timers.
      Signed-off-by: NNikolay Aleksandrov <nikolay@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1bab4c75
    • F
      inet: frag: use seqlock for hash rebuild · ab1c724f
      Florian Westphal 提交于
      rehash is rare operation, don't force readers to take
      the read-side rwlock.
      
      Instead, we only have to detect the (rare) case where
      the secret was altered while we are trying to insert
      a new inetfrag queue into the table.
      
      If it was changed, drop the bucket lock and recompute
      the hash to get the 'new' chain bucket that we have to
      insert into.
      
      Joint work with Nikolay Aleksandrov.
      Signed-off-by: NFlorian Westphal <fw@strlen.de>
      Signed-off-by: NNikolay Aleksandrov <nikolay@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ab1c724f