1. 29 1月, 2013 1 次提交
  2. 26 1月, 2013 2 次提交
  3. 24 1月, 2013 1 次提交
  4. 19 1月, 2013 2 次提交
  5. 18 1月, 2013 1 次提交
  6. 17 1月, 2013 5 次提交
    • S
      cfg80211: check radar interface combinations · 11c4a075
      Simon Wunderlich 提交于
      To ease further DFS development regarding interface combinations, use
      the interface combinations structure to test for radar capabilities.
      Drivers can specify which channel widths they support, and in which
      modes. Right now only a single AP interface is allowed, but as the
      DFS code evolves other combinations can be enabled.
      Signed-off-by: NSimon Wunderlich <siwu@hrz.tu-chemnitz.de>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      11c4a075
    • J
      cfg80211: Allow use_mfp to be specified with the connect command · cee00a95
      Jouni Malinen 提交于
      The NL80211_ATTR_USE_MFP attribute was originally added for
      NL80211_CMD_ASSOCIATE, but it is actually as useful (if not even more
      useful) with NL80211_CMD_CONNECT, so process that attribute with the
      connect command, too.
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      cee00a95
    • A
      nl80211: allow user-space to set address for P2P_DEVICE · 1c18f145
      Arend van Spriel 提交于
      As per email discussion Jouni Malinen pointed out that:
      
      "P2P message exchanges can be executed on the current operating channel
      of any operation (both P2P and non-P2P station). These can be on 5 GHz
      and even on 60 GHz (so yes, you _can_ do GO Negotiation on 60 GHz).
      
      As an example, it would be possible to receive a GO Negotiation Request
      frame on a 5 GHz only radio and then to complete GO Negotiation on that
      band. This can happen both when connected to a P2P group (through client
      discoverability mechanism) and when connected to a legacy AP (assuming
      the station receive Probe Request frame from full scan in the beginning
      of P2P device discovery)."
      
      This means that P2P messages can be sent over different radio devices.
      However, these should use the same P2P device address so it should be
      able to provision this from user-space. This patch adds a parameter for
      this to struct vif_params which should only be used during creation of
      the P2P device interface.
      
      Cc: Jouni Malinen <j@w1.fi>
      Cc: Greg Goldman <ggoldman@broadcom.com>
      Cc: Jithu Jance <jithu@broadcom.com>
      Signed-off-by: NArend van Spriel <arend@broadcom.com>
      [add error checking]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      1c18f145
    • M
      {cfg,nl}80211: mesh power mode primitives and userspace access · 3b1c5a53
      Marco Porsch 提交于
      Add the nl80211_mesh_power_mode enumeration which holds possible
      values for the mesh power mode. These modes are unknown, active,
      light sleep and deep sleep.
      
      Add power_mode entry to the mesh config structure to hold the
      user-configured default mesh power mode. This value will be used
      for new peer links.
      
      Add the dot11MeshAwakeWindowDuration value to the mesh config.
      The awake window is a duration in TU describing how long the STA
      will stay awake after transmitting its beacon in PS mode.
      
      Add access routines to:
       - get/set local link-specific power mode (STA)
       - get remote STA's link-specific power mode (STA)
       - get remote STA's non-peer power mode (STA)
       - get/set default mesh power mode (mesh config)
       - get/set mesh awake window duration (mesh config)
      
      All config changes may be done at mesh runtime and take effect
      immediately.
      Signed-off-by: NMarco Porsch <marco@cozybit.com>
      Signed-off-by: NIvan Bezyazychnyy <ivan.bezyazychnyy@gmail.com>
      Signed-off-by: NMike Krinkin <krinkin.m.u@gmail.com>
      [fix commit message line length, error handling in set station]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      3b1c5a53
    • M
      {cfg,nl,mac}80211: set beacon interval and DTIM period on mesh join · 9bdbf04d
      Marco Porsch 提交于
      Move the default mesh beacon interval and DTIM period to cfg80211
      and make them accessible to nl80211. This enables setting both
      values when joining an MBSS.
      
      Previously the DTIM parameter was not set by mac80211 so the
      driver's default value was used.
      Signed-off-by: NMarco Porsch <marco@cozybit.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      9bdbf04d
  7. 16 1月, 2013 2 次提交
  8. 14 1月, 2013 1 次提交
  9. 10 1月, 2013 4 次提交
  10. 03 1月, 2013 7 次提交
  11. 15 12月, 2012 2 次提交
    • C
      inet: Fix kmemleak in tcp_v4/6_syn_recv_sock and dccp_v4/6_request_recv_sock · e337e24d
      Christoph Paasch 提交于
      If in either of the above functions inet_csk_route_child_sock() or
      __inet_inherit_port() fails, the newsk will not be freed:
      
      unreferenced object 0xffff88022e8a92c0 (size 1592):
        comm "softirq", pid 0, jiffies 4294946244 (age 726.160s)
        hex dump (first 32 bytes):
          0a 01 01 01 0a 01 01 02 00 00 00 00 a7 cc 16 00  ................
          02 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00  ................
        backtrace:
          [<ffffffff8153d190>] kmemleak_alloc+0x21/0x3e
          [<ffffffff810ab3e7>] kmem_cache_alloc+0xb5/0xc5
          [<ffffffff8149b65b>] sk_prot_alloc.isra.53+0x2b/0xcd
          [<ffffffff8149b784>] sk_clone_lock+0x16/0x21e
          [<ffffffff814d711a>] inet_csk_clone_lock+0x10/0x7b
          [<ffffffff814ebbc3>] tcp_create_openreq_child+0x21/0x481
          [<ffffffff814e8fa5>] tcp_v4_syn_recv_sock+0x3a/0x23b
          [<ffffffff814ec5ba>] tcp_check_req+0x29f/0x416
          [<ffffffff814e8e10>] tcp_v4_do_rcv+0x161/0x2bc
          [<ffffffff814eb917>] tcp_v4_rcv+0x6c9/0x701
          [<ffffffff814cea9f>] ip_local_deliver_finish+0x70/0xc4
          [<ffffffff814cec20>] ip_local_deliver+0x4e/0x7f
          [<ffffffff814ce9f8>] ip_rcv_finish+0x1fc/0x233
          [<ffffffff814cee68>] ip_rcv+0x217/0x267
          [<ffffffff814a7bbe>] __netif_receive_skb+0x49e/0x553
          [<ffffffff814a7cc3>] netif_receive_skb+0x50/0x82
      
      This happens, because sk_clone_lock initializes sk_refcnt to 2, and thus
      a single sock_put() is not enough to free the memory. Additionally, things
      like xfrm, memcg, cookie_values,... may have been initialized.
      We have to free them properly.
      
      This is fixed by forcing a call to tcp_done(), ending up in
      inet_csk_destroy_sock, doing the final sock_put(). tcp_done() is necessary,
      because it ends up doing all the cleanup on xfrm, memcg, cookie_values,
      xfrm,...
      
      Before calling tcp_done, we have to set the socket to SOCK_DEAD, to
      force it entering inet_csk_destroy_sock. To avoid the warning in
      inet_csk_destroy_sock, inet_num has to be set to 0.
      As inet_csk_destroy_sock does a dec on orphan_count, we first have to
      increase it.
      
      Calling tcp_done() allows us to remove the calls to
      tcp_clear_xmit_timer() and tcp_cleanup_congestion_control().
      
      A similar approach is taken for dccp by calling dccp_done().
      
      This is in the kernel since 093d2823 (tproxy: fix hash locking issue
      when using port redirection in __inet_inherit_port()), thus since
      version >= 2.6.37.
      Signed-off-by: NChristoph Paasch <christoph.paasch@uclouvain.be>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e337e24d
    • D
      ipv6: Change skb->data before using icmpv6_notify() to propagate redirect · 093d04d4
      Duan Jiong 提交于
      In function ndisc_redirect_rcv(), the skb->data points to the transport
      header, but function icmpv6_notify() need the skb->data points to the
      inner IP packet. So before using icmpv6_notify() to propagate redirect,
      change skb->data to point the inner IP packet that triggered the sending
      of the Redirect, and introduce struct rd_msg to make it easy.
      Signed-off-by: NDuan Jiong <djduanjiong@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      093d04d4
  12. 13 12月, 2012 1 次提交
  13. 12 12月, 2012 2 次提交
    • E
      pkt_sched: avoid requeues if possible · 1abbe139
      Eric Dumazet 提交于
      With BQL being deployed, we can more likely have following behavior :
      
      We dequeue a packet from qdisc in dequeue_skb(), then we realize target
      tx queue is in XOFF state in sch_direct_xmit(), and we have to hold the
      skb into gso_skb for later.
      
      This shows in stats (tc -s qdisc dev eth0) as requeues.
      
      Problem of these requeues is that high priority packets can not be
      dequeued as long as this (possibly low prio and big TSO packet) is not
      removed from gso_skb.
      
      At 1Gbps speed, a full size TSO packet is 500 us of extra latency.
      
      In some cases, we know that all packets dequeued from a qdisc are
      for a particular and known txq :
      
      - If device is non multi queue
      - For all MQ/MQPRIO slave qdiscs
      
      This patch introduces a new qdisc flag, TCQ_F_ONETXQUEUE to mark
      this capability, so that dequeue_skb() is allowed to dequeue a packet
      only if the associated txq is not stopped.
      
      This indeed reduce latencies for high prio packets (or improve fairness
      with sfq/fq_codel), and almost remove qdisc 'requeues'.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Jamal Hadi Salim <jhs@mojatatu.com>
      Cc: John Fastabend <john.r.fastabend@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1abbe139
    • E
      net: fix a race in gro_cell_poll() · f8e8f97c
      Eric Dumazet 提交于
      Dmitry Kravkov reported packet drops for GRE packets since GRO support
      was added.
      
      There is a race in gro_cell_poll() because we call napi_complete()
      without any synchronization with a concurrent gro_cells_receive()
      
      Once bug was triggered, we queued packets but did not schedule NAPI
      poll.
      
      We can fix this issue using the spinlock protected the napi_skbs queue,
      as we have to hold it to perform skb dequeue anyway.
      
      As we open-code skb_dequeue(), we no longer need to mask IRQS, as both
      producer and consumer run under BH context.
      
      Bug added in commit c9e6bc64 (net: add gro_cells infrastructure)
      Reported-by: NDmitry Kravkov <dmitry@broadcom.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Tested-by: NDmitry Kravkov <dmitry@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f8e8f97c
  14. 08 12月, 2012 2 次提交
    • Y
      tcp: bug fix Fast Open client retransmission · 93b174ad
      Yuchung Cheng 提交于
      If SYN-ACK partially acks SYN-data, the client retransmits the
      remaining data by tcp_retransmit_skb(). This increments lost recovery
      state variables like tp->retrans_out in Open state. If loss recovery
      happens before the retransmission is acked, it triggers the WARN_ON
      check in tcp_fastretrans_alert(). For example: the client sends
      SYN-data, gets SYN-ACK acking only ISN, retransmits data, sends
      another 4 data packets and get 3 dupacks.
      
      Since the retransmission is not caused by network drop it should not
      update the recovery state variables. Further the server may return a
      smaller MSS than the cached MSS used for SYN-data, so the retranmission
      needs a loop. Otherwise some data will not be retransmitted until timeout
      or other loss recovery events.
      Signed-off-by: NYuchung Cheng <ycheng@google.com>
      Acked-by: NNeal Cardwell <ncardwell@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      93b174ad
    • T
      sctp: Add RCU protection to assoc->transport_addr_list · 45122ca2
      Thomas Graf 提交于
      peer.transport_addr_list is currently only protected by sk_sock
      which is inpractical to acquire for procfs dumping purposes.
      
      This patch adds RCU protection allowing for the procfs readers to
      enter RCU read-side critical sections.
      
      Modification of the list continues to be serialized via sk_lock.
      
      V2: Use list_del_rcu() in sctp_association_free() to be safe
          Skip transports marked dead when dumping for procfs
      
      Cc: Vlad Yasevich <vyasevich@gmail.com>
      Cc: Neil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NThomas Graf <tgraf@suug.ch>
      Acked-by: NVlad Yasevich <vyasevich@gmail.com>
      Acked-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      45122ca2
  15. 05 12月, 2012 2 次提交
  16. 04 12月, 2012 5 次提交