1. 21 10月, 2014 3 次提交
  2. 20 10月, 2014 3 次提交
    • J
      cfg80211: Specify frame and reason code for NL80211_CMD_DEL_STATION · 98856866
      Jouni Malinen 提交于
      The optional NL80211_ATTR_MGMT_SUBTYPE and NL80211_ATTR_REASON_CODE
      attributes can now be included in NL80211_CMD_DEL_STATION to indicate to
      the driver which frame (Deauthentication/Disassociation) and reason code
      in that frame should be used to indicate removal to the specific
      station. This is used by drivers that implement AP SME and generate
      those frames internally.
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      98856866
    • K
      mac80211: minstrels: fix buffer overflow in HT debugfs rc_stats · 11b2357d
      Karl Beldan 提交于
      ATM an HT rc_stats line is 106 chars.
      Times 8(MCS_GROUP_RATES)*3(SS)*2(GI)*2(BW) + CCK(4), i.e. x100, this is
      well above the current 8192 - sizeof(*ms) currently allocated.
      
      Fix this by squeezing the output as follows (not that we're short on
      memory but this also improves readability and range, the new format adds
      one more digit to *ok/*cum and ok/cum):
      
      - Before (HT) (106 ch):
      type           rate     throughput  ewma prob   this prob  retry   this succ/attempt   success    attempts
      CCK/LP          5.5M           0.0        0.0         0.0      0              0(  0)         0           0
      HT20/LGI ABCDP MCS0            0.0        0.0         0.0      1              0(  0)         0           0
      - After (75 ch):
      type           rate     tpt eprob *prob ret  *ok(*cum)        ok(      cum)
      CCK/LP          5.5M    0.0   0.0   0.0   0    0(   0)         0(        0)
      HT20/LGI ABCDP MCS0     0.0   0.0   0.0   1    0(   0)         0(        0)
      
      - Align non-HT format Before (non-HT) (83 ch):
      rate      throughput  ewma prob  this prob  this succ/attempt   success    attempts
      ABCDP  6         0.0        0.0        0.0             0(  0)         0           0
            54         0.0        0.0        0.0             0(  0)         0           0
      - After (61 ch):
      rate          tpt eprob *prob  *ok(*cum)        ok(      cum)
      ABCDP  1      0.0   0.0   0.0    0(   0)         0(        0)
            54      0.0   0.0   0.0    0(   0)         0(        0)
      
      *This also adds dynamic checks for overflow, lowers the size of the
      non-HT request (allowing > 30 entries) and replaces the buddy-rounded
      allocations (s/sizeof(*ms) + 8192/8192).
      Signed-off-by: NKarl Beldan <karl.beldan@rivierawaves.com>
      Acked-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      11b2357d
    • J
      cfg80211: Convert del_station() callback to use a param struct · 89c771e5
      Jouni Malinen 提交于
      This makes it easier to add new parameters for the del_station calls
      without having to modify all drivers that use this.
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      89c771e5
  3. 14 10月, 2014 1 次提交
    • K
      mac80211: fix typo in starting baserate for rts_cts_rate_idx · c7abf25a
      Karl Beldan 提交于
      It affects non-(V)HT rates and can lead to selecting an rts_cts rate
      that is not a basic rate or way superior to the reference rate (ATM
      rates[0] used for the 1st attempt of the protected frame data).
      
      E.g, assuming drivers register growing (bitrate) sorted tables of
      ieee80211_rate-s, having :
      - rates[0].idx == d'2 and basic_rates == b'10100
      will select rts_cts idx b'10011 & ~d'(BIT(2)-1), i.e. 1, likewise
      - rates[0].idx == d'2 and basic_rates == b'10001
      will select rts_cts idx b'10000
      The first is not a basic rate and the second is > rates[0].
      
      Also, wrt severity of the addressed misbehavior, ATM we only have one
      rts_cts_rate_idx rather than one per rate table entry, so this idx might
      still point to bitrates > rates[1..MAX_RATES].
      
      Fixes: 5253ffb8 ("mac80211: always pick a basic rate to tx RTS/CTS for pre-HT rates")
      Cc: stable@vger.kernel.org
      Signed-off-by: NKarl Beldan <karl.beldan@rivierawaves.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      c7abf25a
  4. 10 10月, 2014 3 次提交
  5. 09 10月, 2014 15 次提交
  6. 08 10月, 2014 6 次提交
    • F
      wimax: convert printk to pr_foo() · 28b7deae
      Fabian Frederick 提交于
      Use current logging functions and add module name prefix.
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      28b7deae
    • F
      af_unix: remove 0 assignment on static · 505e907d
      Fabian Frederick 提交于
      static values are automatically initialized to 0
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      505e907d
    • D
      ipv6: Do not warn for informational ICMP messages, regardless of type. · ea85a0a2
      David S. Miller 提交于
      There is no reason to emit a log message for these.
      
      Based upon a suggestion from Hannes Frederic Sowa.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      ea85a0a2
    • H
      bridge: Save frag_max_size between PRE_ROUTING and POST_ROUTING · 93fdd47e
      Herbert Xu 提交于
      As we may defragment the packet in IPv4 PRE_ROUTING and refragment
      it after POST_ROUTING we should save the value of frag_max_size.
      
      This is still very wrong as the bridge is supposed to leave the
      packets intact, meaning that the right thing to do is to use the
      original frag_list for fragmentation.
      
      Unfortunately we don't currently guarantee that the frag_list is
      left untouched throughout netfilter so until this changes this is
      the best we can do.
      
      There is also a spot in FORWARD where it appears that we can
      forward a packet without going through fragmentation, mark it
      so that we can fix it later.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      93fdd47e
    • J
      tipc: fix bug in multicast congestion handling · 908344cd
      Jon Maloy 提交于
      One aim of commit 50100a5e ("tipc:
      use pseudo message to wake up sockets after link congestion") was
      to handle link congestion abatement in a uniform way for both unicast
      and multicast transmit. However, the latter doesn't work correctly,
      and has been broken since the referenced commit was applied.
      
      If a user now sends a burst of multicast messages that is big
      enough to cause broadcast link congestion, it will be put to sleep,
      and not be waked up when the congestion abates as it should be.
      
      This has two reasons. First, the flag that is used, TIPC_WAKEUP_USERS,
      is set correctly, but in the wrong field. Instead of setting it in the
      'action_flags' field of the arrival node struct, it is by mistake set
      in the dummy node struct that is owned by the broadcast link, where it
      will never tested for. Second, we cannot use the same flag for waking
      up unicast and multicast users, since the function tipc_node_unlock()
      needs to pick the wakeup pseudo messages to deliver from different
      queues. It must hence be able to distinguish between the two cases.
      
      This commit solves this problem by adding a new flag
      TIPC_WAKEUP_BCAST_USERS, and a new function tipc_bclink_wakeup_user().
      The latter is to be called by tipc_node_unlock() when the named flag,
      now set in the correct field, is encountered.
      
      v2: using explicit 'unsigned int' declaration instead of 'uint', as
      per comment from David Miller.
      Signed-off-by: NJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      908344cd
    • E
      net: better IFF_XMIT_DST_RELEASE support · 02875878
      Eric Dumazet 提交于
      Testing xmit_more support with netperf and connected UDP sockets,
      I found strange dst refcount false sharing.
      
      Current handling of IFF_XMIT_DST_RELEASE is not optimal.
      
      Dropping dst in validate_xmit_skb() is certainly too late in case
      packet was queued by cpu X but dequeued by cpu Y
      
      The logical point to take care of drop/force is in __dev_queue_xmit()
      before even taking qdisc lock.
      
      As Julian Anastasov pointed out, need for skb_dst() might come from some
      packet schedulers or classifiers.
      
      This patch adds new helper to cleanly express needs of various drivers
      or qdiscs/classifiers.
      
      Drivers that need skb_dst() in their ndo_start_xmit() should call
      following helper in their setup instead of the prior :
      
      	dev->priv_flags &= ~IFF_XMIT_DST_RELEASE;
      ->
      	netif_keep_dst(dev);
      
      Instead of using a single bit, we use two bits, one being
      eventually rebuilt in bonding/team drivers.
      
      The other one, is permanent and blocks IFF_XMIT_DST_RELEASE being
      rebuilt in bonding/team. Eventually, we could add something
      smarter later.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Julian Anastasov <ja@ssi.bg>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      02875878
  7. 07 10月, 2014 9 次提交