1. 17 2月, 2010 1 次提交
  2. 16 2月, 2010 2 次提交
  3. 15 2月, 2010 1 次提交
  4. 13 2月, 2010 2 次提交
    • J
      xfrm: use proper kernel types · a6337463
      jamal 提交于
      kernel side should use uxx instead of __uxx types
      Signed-off-by: NJamal Hadi Salim <hadi@cyberus.ca>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a6337463
    • P
      ipv6: fib: fix crash when changing large fib while dumping it · 2bec5a36
      Patrick McHardy 提交于
      When the fib size exceeds what can be dumped in a single skb, the
      dump is suspended and resumed once the last skb has been received
      by userspace. When the fib is changed while the dump is suspended,
      the walker might contain stale pointers, causing a crash when the
      dump is resumed.
      
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000018
      IP: [<ffffffffa01bce04>] fib6_walk_continue+0xbb/0x124 [ipv6]
      PGD 5347a067 PUD 65c7067 PMD 0
      Oops: 0000 [#1] PREEMPT SMP
      ...
      RIP: 0010:[<ffffffffa01bce04>]
      [<ffffffffa01bce04>] fib6_walk_continue+0xbb/0x124 [ipv6]
      ...
      Call Trace:
       [<ffffffff8104aca3>] ? mutex_spin_on_owner+0x59/0x71
       [<ffffffffa01bd105>] inet6_dump_fib+0x11b/0x1b9 [ipv6]
       [<ffffffff81371af4>] netlink_dump+0x5b/0x19e
       [<ffffffff8134f288>] ? consume_skb+0x28/0x2a
       [<ffffffff81373b69>] netlink_recvmsg+0x1ab/0x2c6
       [<ffffffff81372781>] ? netlink_unicast+0xfa/0x151
       [<ffffffff813483e0>] __sock_recvmsg+0x6d/0x79
       [<ffffffff81348a53>] sock_recvmsg+0xca/0xe3
       [<ffffffff81066d4b>] ? autoremove_wake_function+0x0/0x38
       [<ffffffff811ed1f8>] ? radix_tree_lookup_slot+0xe/0x10
       [<ffffffff810b3ed7>] ? find_get_page+0x90/0xa5
       [<ffffffff810b5dc5>] ? filemap_fault+0x201/0x34f
       [<ffffffff810ef152>] ? fget_light+0x2f/0xac
       [<ffffffff813519e7>] ? verify_iovec+0x4f/0x94
       [<ffffffff81349a65>] sys_recvmsg+0x14d/0x223
      
      Store the serial number when beginning to walk the fib and reload
      pointers when continuing to walk after a change occured. Similar
      to other dumping functions, this might cause unrelated entries to
      be missed when entries are deleted.
      Tested-by: NBen Greear <greearb@candelatech.com>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2bec5a36
  5. 12 2月, 2010 1 次提交
  6. 11 2月, 2010 4 次提交
  7. 10 2月, 2010 1 次提交
  8. 09 2月, 2010 5 次提交
    • K
      mac80211: remove get_tx_stats() driver op · 349e6b72
      Kalle Valo 提交于
      get_tx_stats() driver operation is not currently used anywhere in mac80211
      and there are no plans to use it in the not-so-near future. So it can go
      without anyone missing it.
      Signed-off-by: NKalle Valo <kalle.valo@iki.fi>
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      349e6b72
    • J
      mac80211: allow station add/remove to sleep · 34e89507
      Johannes Berg 提交于
      Many drivers would like to sleep during station
      addition and removal, and currently have a high
      complexity there from not being able to.
      
      This introduces two new callbacks sta_add() and
      sta_remove() that drivers can implement instead
      of using sta_notify() and that can sleep, and
      the new sta_add() callback is also allowed to
      fail.
      
      The reason we didn't do this previously is that
      the IBSS code wants to insert stations from the
      RX path, which is a tasklet, so cannot sleep.
      This patch will keep the station allocation in
      that path, but moves adding the station to the
      driver out of line. Since the addition can now
      fail, we can have IBSS peer structs the driver
      rejected -- in that case we still talk to the
      station but never tell the driver about it in
      the control.sta pointer. If there will ever be
      a driver that has a low limit on the number of
      stations and that cannot talk to any stations
      that are not known to it, we need to do come up
      with a new strategy of handling larger IBSSs,
      maybe quicker expiry or rejecting peers.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      34e89507
    • J
      wireless: update radiotap parser · 33e5a2f7
      Johannes Berg 提交于
      Upstream radiotap has adopted the namespace
      proposal David Young made and I then took care
      of, for which I had adapted the radiotap parser
      as a library outside the kernel. This brings
      the in-kernel parser up to speed.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      33e5a2f7
    • P
      netfilter: nf_conntrack: fix hash resizing with namespaces · d696c7bd
      Patrick McHardy 提交于
      As noticed by Jon Masters <jonathan@jonmasters.org>, the conntrack hash
      size is global and not per namespace, but modifiable at runtime through
      /sys/module/nf_conntrack/hashsize. Changing the hash size will only
      resize the hash in the current namespace however, so other namespaces
      will use an invalid hash size. This can cause crashes when enlarging
      the hashsize, or false negative lookups when shrinking it.
      
      Move the hash size into the per-namespace data and only use the global
      hash size to initialize the per-namespace value when instanciating a
      new namespace. Additionally restrict hash resizing to init_net for
      now as other namespaces are not handled currently.
      
      Cc: stable@kernel.org
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d696c7bd
    • E
      netfilter: nf_conntrack: per netns nf_conntrack_cachep · 5b3501fa
      Eric Dumazet 提交于
      nf_conntrack_cachep is currently shared by all netns instances, but
      because of SLAB_DESTROY_BY_RCU special semantics, this is wrong.
      
      If we use a shared slab cache, one object can instantly flight between
      one hash table (netns ONE) to another one (netns TWO), and concurrent
      reader (doing a lookup in netns ONE, 'finding' an object of netns TWO)
      can be fooled without notice, because no RCU grace period has to be
      observed between object freeing and its reuse.
      
      We dont have this problem with UDP/TCP slab caches because TCP/UDP
      hashtables are global to the machine (and each object has a pointer to
      its netns).
      
      If we use per netns conntrack hash tables, we also *must* use per netns
      conntrack slab caches, to guarantee an object can not escape from one
      namespace to another one.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      [Patrick: added unique slab name allocation]
      Cc: stable@kernel.org
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      5b3501fa
  9. 04 2月, 2010 1 次提交
    • P
      netfilter: xtables: add CT target · 84f3bb9a
      Patrick McHardy 提交于
      Add a new target for the raw table, which can be used to specify conntrack
      parameters for specific connections, f.i. the conntrack helper.
      
      The target attaches a "template" connection tracking entry to the skb, which
      is used by the conntrack core when initializing a new conntrack.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      84f3bb9a
  10. 03 2月, 2010 4 次提交
    • P
      netfilter: nf_conntrack: support conntrack templates · b2a15a60
      Patrick McHardy 提交于
      Support initializing selected parameters of new conntrack entries from a
      "conntrack template", which is a specially marked conntrack entry attached
      to the skb.
      
      Currently the helper and the event delivery masks can be initialized this
      way.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      b2a15a60
    • P
      netfilter: ctnetlink: support selective event delivery · 0cebe4b4
      Patrick McHardy 提交于
      Add two masks for conntrack end expectation events to struct nf_conntrack_ecache
      and use them to filter events. Their default value is "all events" when the
      event sysctl is on and "no events" when it is off. A following patch will add
      specific initializations. Expectation events depend on the ecache struct of
      their master conntrack.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      0cebe4b4
    • P
      netfilter: nf_conntrack: split up IPCT_STATUS event · 858b3133
      Patrick McHardy 提交于
      Split up the IPCT_STATUS event into an IPCT_REPLY event, which is generated
      when the IPS_SEEN_REPLY bit is set, and an IPCT_ASSURED event, which is
      generated when the IPS_ASSURED bit is set.
      
      In combination with a following patch to support selective event delivery,
      this can be used for "sparse" conntrack replication: start replicating the
      conntrack entry after it reached the ASSURED state and that way it's SYN-flood
      resistant.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      858b3133
    • P
      netfilter: ctnetlink: only assign helpers for matching protocols · 794e6871
      Patrick McHardy 提交于
      Make sure not to assign a helper for a different network or transport
      layer protocol to a connection.
      
      Additionally change expectation deletion by helper to compare the name
      directly - there might be multiple helper registrations using the same
      name, currently one of them is chosen in an unpredictable manner and
      only those expectations are removed.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      794e6871
  11. 02 2月, 2010 2 次提交
  12. 29 1月, 2010 1 次提交
  13. 28 1月, 2010 1 次提交
  14. 27 1月, 2010 2 次提交
  15. 26 1月, 2010 1 次提交
  16. 25 1月, 2010 1 次提交
  17. 24 1月, 2010 1 次提交
  18. 23 1月, 2010 4 次提交
  19. 20 1月, 2010 2 次提交
  20. 18 1月, 2010 2 次提交
  21. 16 1月, 2010 1 次提交