1. 29 10月, 2014 7 次提交
  2. 28 10月, 2014 8 次提交
    • A
      bpf: split eBPF out of NET · f89b7755
      Alexei Starovoitov 提交于
      introduce two configs:
      - hidden CONFIG_BPF to select eBPF interpreter that classic socket filters
        depend on
      - visible CONFIG_BPF_SYSCALL (default off) that tracing and sockets can use
      
      that solves several problems:
      - tracing and others that wish to use eBPF don't need to depend on NET.
        They can use BPF_SYSCALL to allow loading from userspace or select BPF
        to use it directly from kernel in NET-less configs.
      - in 3.18 programs cannot be attached to events yet, so don't force it on
      - when the rest of eBPF infra is there in 3.19+, it's still useful to
        switch it off to minimize kernel size
      
      bloat-o-meter on x64 shows:
      add/remove: 0/60 grow/shrink: 0/2 up/down: 0/-15601 (-15601)
      
      tested with many different config combinations. Hopefully didn't miss anything.
      Signed-off-by: NAlexei Starovoitov <ast@plumgrid.com>
      Acked-by: NDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f89b7755
    • D
      Merge branch 'cxgb4-net' · 8ae3c911
      David S. Miller 提交于
      Anish Bhatt says:
      
      ====================
      cxgb4 : DCBx fixes for apps/host lldp agents
      
      This patchset  contains some minor fixes for cxgb4 DCBx code. Chiefly, cxgb4
      was not cleaning up any apps added to kernel app table when link was lost.
      Disabling DCBx in firmware would automatically set DCBx state to host-managed
      and enabled, we now wait for an explicit enable call from an lldp agent instead
      
      First patch was originally sent to net-next, but considering it applies to
      correcting behaviour of code already in net, I think it qualifies as a bug fix.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8ae3c911
    • A
      cxgb4 : Handle dcb enable correctly · 3bb06261
      Anish Bhatt 提交于
      Disabling DCBx in firmware automatically enables DCBx for control via host
      lldp agents. Wait for an explicit setstate call from an lldp agents to enable
       DCBx instead.
      
      Fixes: 76bcb31e ("cxgb4 : Add DCBx support codebase and dcbnl_ops")
      Signed-off-by: NAnish Bhatt <anish@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3bb06261
    • A
      cxgb4 : Improve handling of DCB negotiation or loss thereof · 2376c879
      Anish Bhatt 提交于
      Clear out any DCB apps we might have added to kernel table when we lose DCB
      sync (or IEEE equivalent event). These were previously left behind and not
      cleaned up correctly. IEEE allows individual components to work independently,
       so improve check for IEEE completion by specifying individual components.
      
      Fixes: 10b00466 ("cxgb4: IEEE fixes for DCBx state machine")
      Signed-off-by: NAnish Bhatt <anish@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2376c879
    • D
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf · 5d26b1f5
      David S. Miller 提交于
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter fixes for net
      
      The following patchset contains Netfilter fixes for your net tree,
      they are:
      
      1) Allow to recycle a TCP port in conntrack when the change role from
         server to client, from Marcelo Leitner.
      
      2) Fix possible off by one access in ip_set_nfnl_get_byindex(), patch
         from Dan Carpenter.
      
      3) alloc_percpu returns NULL on error, no need for IS_ERR() in nf_tables
         chain statistic updates. From Sabrina Dubroca.
      
      4) Don't compile ip options in bridge netfilter, this mangles the packet
         and bridge should not alter layer >= 3 headers when forwarding packets.
         Patch from Herbert Xu and tested by Florian Westphal.
      
      5) Account the final NLMSG_DONE message when calculating the size of the
         nflog netlink batches. Patch from Florian Westphal.
      
      6) Fix a possible netlink attribute length overflow with large packets.
         Again from Florian Westphal.
      
      7) Release the skbuff if nfnetlink_log fails to put the final
         NLMSG_DONE message. This fixes a leak on error. This shouldn't ever
         happen though, otherwise this means we miscalculate the netlink batch
         size, so spot a warning if this ever happens so we can track down the
         problem. This patch from Houcheng Lin.
      
      8) Look at the right list when recycling targets in the nft_compat,
         patch from Arturo Borrero.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5d26b1f5
    • A
      netfilter: nft_compat: fix wrong target lookup in nft_target_select_ops() · 7965ee93
      Arturo Borrero 提交于
      The code looks for an already loaded target, and the correct list to search
      is nft_target_list, not nft_match_list.
      Signed-off-by: NArturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
      Signed-off-by: NPablo Neira Ayuso <pablo@netfilter.org>
      7965ee93
    • J
      Merge tag 'mac80211-for-john-2014-10-23' of... · 99c81406
      John W. Linville 提交于
      Merge tag 'mac80211-for-john-2014-10-23' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
      
      Johannes Berg <johannes@sipsolutions.net> says:
      
      "Here are a few fixes for the wireless stack: one fixes the
      RTS rate, one for a debugfs file, one to return the correct
      channel to userspace, a sanity check for a userspace value
      and the remaining two are just documentation fixes."
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      99c81406
    • J
      Merge tag 'iwlwifi-for-john-2014-10-23' of... · fad1dbc8
      John W. Linville 提交于
      Merge tag 'iwlwifi-for-john-2014-10-23' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes
      
      Emmanuel Grumbach <egrumbach@gmail.com> says:
      
      "I revert here a patch that caused interoperability issues.
      dvm gets a fix for a bug that was reported by many users.
      Two minor fixes for BT Coex and platform power fix that helps
      reducing latency when the PCIe link goes to low power states."
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      fad1dbc8
  3. 27 10月, 2014 4 次提交
  4. 26 10月, 2014 8 次提交
    • G
      drivers: net: xgene: Rewrite buggy loop in xgene_enet_ecc_init() · b71e821d
      Geert Uytterhoeven 提交于
      drivers/net/ethernet/apm/xgene/xgene_enet_sgmac.c: In function ‘xgene_enet_ecc_init’:
      drivers/net/ethernet/apm/xgene/xgene_enet_sgmac.c:126: warning: ‘data’ may be used uninitialized in this function
      
      Depending on the arbitrary value on the stack, the loop may terminate
      too early, and cause a bogus -ENODEV failure.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b71e821d
    • D
      i40e: _MASK vs _SHIFT typo in i40e_handle_mdd_event() · 013f6579
      Dan Carpenter 提交于
      We accidentally mask by the _SHIFT variable.  It means that "event" is
      always zero.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Tested-by: NJim Young <jamesx.m.young@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      013f6579
    • E
      macvlan: fix a race on port dismantle and possible skb leaks · fe0ca732
      Eric Dumazet 提交于
      We need to cancel the work queue after rcu grace period,
      otherwise it can be rescheduled by incoming packets.
      
      We need to purge queue if some skbs are still in it.
      
      We can use __skb_queue_head_init() variant in
      macvlan_process_broadcast()
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Fixes: 412ca155 ("macvlan: Move broadcasts into a work queue")
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fe0ca732
    • E
      tcp: md5: do not use alloc_percpu() · 349ce993
      Eric Dumazet 提交于
      percpu tcp_md5sig_pool contains memory blobs that ultimately
      go through sg_set_buf().
      
      -> sg_set_page(sg, virt_to_page(buf), buflen, offset_in_page(buf));
      
      This requires that whole area is in a physically contiguous portion
      of memory. And that @buf is not backed by vmalloc().
      
      Given that alloc_percpu() can use vmalloc() areas, this does not
      fit the requirements.
      
      Replace alloc_percpu() by a static DEFINE_PER_CPU() as tcp_md5sig_pool
      is small anyway, there is no gain to dynamically allocate it.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Fixes: 765cf997 ("tcp: md5: remove one indirection level in tcp_md5sig_pool")
      Reported-by: NCrestez Dan Leonard <cdleonard@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      349ce993
    • D
      Merge branch 'xen-netback' · 4cc40af0
      David S. Miller 提交于
      David Vrabel says:
      
      ====================
      xen-netback: guest Rx queue drain and stall fixes
      
      This series fixes two critical xen-netback bugs.
      
      1. Netback may consume all of host memory by queuing an unlimited
         number of skb on the internal guest Rx queue.  This behaviour is
         guest triggerable.
      
      2. Carrier flapping under high traffic rates which reduces
         performance.
      
      The first patch is a prerequite.  Removing support for frontends with
      feature-rx-notify makes it easier to reason about the correctness of
      netback since it no longer has to support this outdated and broken
      mode.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4cc40af0
    • D
      xen-netback: reintroduce guest Rx stall detection · ecf08d2d
      David Vrabel 提交于
      If a frontend not receiving packets it is useful to detect this and
      turn off the carrier so packets are dropped early instead of being
      queued and drained when they expire.
      
      A to-guest queue is stalled if it doesn't have enough free slots for a
      an extended period of time (default 60 s).
      
      If at least one queue is stalled, the carrier is turned off (in the
      expectation that the other queues will soon stall as well).  The
      carrier is only turned on once all queues are ready.
      
      When the frontend connects, all the queues start in the stalled state
      and only become ready once the frontend queues enough Rx requests.
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      Reviewed-by: NWei Liu <wei.liu2@citrix.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ecf08d2d
    • D
      xen-netback: fix unlimited guest Rx internal queue and carrier flapping · f48da8b1
      David Vrabel 提交于
      Netback needs to discard old to-guest skb's (guest Rx queue drain) and
      it needs detect guest Rx stalls (to disable the carrier so packets are
      discarded earlier), but the current implementation is very broken.
      
      1. The check in hard_start_xmit of the slot availability did not
         consider the number of packets that were already in the guest Rx
         queue.  This could allow the queue to grow without bound.
      
         The guest stops consuming packets and the ring was allowed to fill
         leaving S slot free.  Netback queues a packet requiring more than S
         slots (ensuring that the ring stays with S slots free).  Netback
         queue indefinately packets provided that then require S or fewer
         slots.
      
      2. The Rx stall detection is not triggered in this case since the
         (host) Tx queue is not stopped.
      
      3. If the Tx queue is stopped and a guest Rx interrupt occurs, netback
         will consider this an Rx purge event which may result in it taking
         the carrier down unnecessarily.  It also considers a queue with
         only 1 slot free as unstalled (even though the next packet might
         not fit in this).
      
      The internal guest Rx queue is limited by a byte length (to 512 Kib,
      enough for half the ring).  The (host) Tx queue is stopped and started
      based on this limit.  This sets an upper bound on the amount of memory
      used by packets on the internal queue.
      
      This allows the estimatation of the number of slots for an skb to be
      removed (it wasn't a very good estimate anyway).  Instead, the guest
      Rx thread just waits for enough free slots for a maximum sized packet.
      
      skbs queued on the internal queue have an 'expires' time (set to the
      current time plus the drain timeout).  The guest Rx thread will detect
      when the skb at the head of the queue has expired and discard expired
      skbs.  This sets a clear upper bound on the length of time an skb can
      be queued for.  For a guest being destroyed the maximum time needed to
      wait for all the packets it sent to be dropped is still the drain
      timeout (10 s) since it will not be sending new packets.
      
      Rx stall detection is reintroduced in a later commit.
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      Reviewed-by: NWei Liu <wei.liu2@citrix.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f48da8b1
    • D
      xen-netback: make feature-rx-notify mandatory · bc96f648
      David Vrabel 提交于
      Frontends that do not provide feature-rx-notify may stall because
      netback depends on the notification from frontend to wake the guest Rx
      thread (even if can_queue is false).
      
      This could be fixed but feature-rx-notify was introduced in 2006 and I
      am not aware of any frontends that do not implement this.
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      Acked-by: NWei Liu <wei.liu2@citrix.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bc96f648
  5. 25 10月, 2014 1 次提交
  6. 24 10月, 2014 12 次提交