1. 24 12月, 2009 1 次提交
  2. 22 12月, 2009 2 次提交
    • J
      mac80211: fix WMM AP settings application · 0183826b
      Johannes Berg 提交于
      My
        commit 77fdaa12
        Author: Johannes Berg <johannes@sipsolutions.net>
        Date:   Tue Jul 7 03:45:17 2009 +0200
      
            mac80211: rework MLME for multiple authentications
      
      inadvertedly broke WMM because it removed, along with
      a bunch of other now useless initialisations, the line
      initialising sdata->u.mgd.wmm_last_param_set to -1
      which would make it adopt any WMM parameter set. If,
      as is usually the case, the AP uses WMM parameter set
      sequence number zero, we'd never update it until the
      AP changes the sequence number.
      
      Add the missing initialisation back to get the WMM
      settings from the AP applied locally.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Cc: stable@kernel.org [2.6.31+]
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0183826b
    • J
      mac80211: fix peer HT capabilities · 9a418af5
      Johannes Berg 提交于
      I noticed yesterday, because Jeff had noticed
      a speed regression, cf. bug
      http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2138
      that the SM PS settings for peers were wrong.
      Instead of overwriting the SM PS settings with
      the local bits, we need to keep the remote bits.
      
      The bug was part of the original HT code from
      over two years ago, but unfortunately nobody
      noticed that it makes no sense -- we shouldn't
      be overwriting the peer's setting with our own
      but rather keep it intact when masking the peer
      capabilities with our own.
      
      While fixing that, I noticed that the masking of
      capabilities is completely useless for most of
      the bits, so also fix those other bits.
      
      Finally, I also noticed that PSMP_SUPPORT no
      longer exists in the final 802.11n version, so
      also remove that.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      9a418af5
  3. 19 12月, 2009 2 次提交
    • Y
      ipv6: fix an oops when force unload ipv6 module · 3705e11a
      Yang Hongyang 提交于
      When I do an ipv6 module force unload,I got the following oops:
      #rmmod -f ipv6
      ------------[ cut here ]------------
      kernel BUG at mm/slub.c:2969!
      invalid opcode: 0000 [#1] SMP
      last sysfs file: /sys/devices/pci0000:00/0000:00:11.0/0000:02:03.0/net/eth2/ifindex
      Modules linked in: ipv6(-) dm_multipath uinput ppdev tpm_tis tpm tpm_bios pcspkr pcnet32 mii parport_pc i2c_piix4 parport i2c_core floppy mptspi mptscsih mptbase scsi_transport_spi
      
      Pid: 2530, comm: rmmod Tainted: G  R        2.6.32 #2 440BX Desktop Reference Platform/VMware Virtual Platform
      EIP: 0060:[<c04b73f2>] EFLAGS: 00010246 CPU: 0
      EIP is at kfree+0x6a/0xdd
      EAX: 00000000 EBX: c09e86bc ECX: c043e4dd EDX: c14293e0
      ESI: e141f1d8 EDI: e140fc31 EBP: dec58ef0 ESP: dec58ed0
       DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
      Process rmmod (pid: 2530, ti=dec58000 task=decb1940 task.ti=dec58000)
      Stack:
       c14293e0 00000282 df624240 c0897d08 c09e86bc c09e86bc e141f1d8 dec58f1c
      <0> dec58f00 e140fc31 c09e84c4 e141f1bc dec58f14 c0689d21 dec58f1c e141f1bc
      <0> 00000000 dec58f2c c0689eff c09e84d8 c09e84d8 e141f1bc bff33a90 dec58f38
      Call Trace:
       [<e140fc31>] ? ipv6_frags_exit_net+0x22/0x32 [ipv6]
       [<c0689d21>] ? ops_exit_list+0x19/0x3d
       [<c0689eff>] ? unregister_pernet_operations+0x2a/0x51
       [<c0689f70>] ? unregister_pernet_subsys+0x17/0x24
       [<e140fbfe>] ? ipv6_frag_exit+0x21/0x32 [ipv6]
       [<e141a361>] ? inet6_exit+0x47/0x122 [ipv6]
       [<c045f5de>] ? sys_delete_module+0x198/0x1f6
       [<c04a8acf>] ? remove_vma+0x57/0x5d
       [<c070f63f>] ? do_page_fault+0x2e7/0x315
       [<c0403218>] ? sysenter_do_call+0x12/0x28
      Code: 86 00 00 00 40 c1 e8 0c c1 e0 05 01 d0 89 45 e0 66 83 38 00 79 06 8b 40 0c 89 45 e0 8b 55 e0 8b 02 84 c0 78 14 66 a9 00 c0 75 04 <0f> 0b eb fe 8b 45 e0 e8 35 15 fe ff eb 5d 8b 45 04 8b 55 e0 89
      EIP: [<c04b73f2>] kfree+0x6a/0xdd SS:ESP 0068:dec58ed0
      ---[ end trace 4475d1a5b0afa7e5 ]---
      
      It's because in ip6_frags_ns_sysctl_register,
      "table" only alloced when "net" is not equals
      to "init_net".So when we free "table" in 
      ip6_frags_ns_sysctl_unregister,we should check
      this first.
      
      This patch fix the problem.
      Signed-off-by: NYang Hongyang <yanghy@cn.fujitsu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3705e11a
    • A
      netns: fix net.ipv6.route.gc_min_interval_ms in netns · 9c69fabe
      Alexey Dobriyan 提交于
      sysctl table was copied, all right, but ->data for net.ipv6.route.gc_min_interval_ms
      was not reinitialized for "!= &init_net" case.
      
      In init_net everthing works by accident due to correct ->data initialization
      in source table.
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9c69fabe
  4. 18 12月, 2009 4 次提交
  5. 16 12月, 2009 3 次提交
    • E
      packet: dont call sleeping functions while holding rcu_read_lock() · 1a35ca80
      Eric Dumazet 提交于
      commit 654d1f8a (packet: less dev_put() calls)
      introduced a problem, calling potentially sleeping functions from a
      rcu_read_lock() protected section.
      
      Fix this by releasing lock before the sock_wmalloc()/memcpy_fromiovec() calls.
      
      After skb allocation and copy from user space, we redo device
      lookup and appropriate tests.
      Reported-and-tested-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1a35ca80
    • D
      tcp: Revert per-route SACK/DSACK/TIMESTAMP changes. · bb5b7c11
      David S. Miller 提交于
      It creates a regression, triggering badness for SYN_RECV
      sockets, for example:
      
      [19148.022102] Badness at net/ipv4/inet_connection_sock.c:293
      [19148.022570] NIP: c02a0914 LR: c02a0904 CTR: 00000000
      [19148.023035] REGS: eeecbd30 TRAP: 0700   Not tainted  (2.6.32)
      [19148.023496] MSR: 00029032 <EE,ME,CE,IR,DR>  CR: 24002442  XER: 00000000
      [19148.024012] TASK = eee9a820[1756] 'privoxy' THREAD: eeeca000
      
      This is likely caused by the change in the 'estab' parameter
      passed to tcp_parse_options() when invoked by the functions
      in net/ipv4/tcp_minisocks.c
      
      But even if that is fixed, the ->conn_request() changes made in
      this patch series is fundamentally wrong.  They try to use the
      listening socket's 'dst' to probe the route settings.  The
      listening socket doesn't even have a route, and you can't
      get the right route (the child request one) until much later
      after we setup all of the state, and it must be done by hand.
      
      This stuff really isn't ready, so the best thing to do is a
      full revert.  This reverts the following commits:
      
      f55017a9
      022c3f7d
      1aba721e
      cda42ebd
      345cda2f
      dc343475
      05eaade2
      6a2a2d6bSigned-off-by: NDavid S. Miller <davem@davemloft.net>
      bb5b7c11
    • S
      ipvs: zero usvc and udest · 258c8893
      Simon Horman 提交于
      Make sure that any otherwise uninitialised fields of usvc are zero.
      
      This has been obvserved to cause a problem whereby the port of
      fwmark services may end up as a non-zero value which causes
      scheduling of a destination server to fail for persisitent services.
      
      As observed by Deon van der Merwe <dvdm@truteq.co.za>.
      This fix suggested by Julian Anastasov <ja@ssi.bg>.
      
      For good measure also zero udest.
      
      Cc: Deon van der Merwe <dvdm@truteq.co.za>
      Acked-by: NJulian Anastasov <ja@ssi.bg>
      Signed-off-by: NSimon Horman <horms@verge.net.au>
      Cc: stable@kernel.org
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      258c8893
  6. 15 12月, 2009 3 次提交
  7. 14 12月, 2009 3 次提交
    • X
      ipvs: fix synchronization on connection close · 9abfe315
      Xiaotian Feng 提交于
      commit 9d3a0de7 makes slaves expire as they would do on the master
      with much shorter timeouts. But it introduces another problem:
      When we close a connection, on master server the connection became
      CLOSE_WAIT/TIME_WAIT, it was synced to slaves, but if master is
      finished within it's timeouts (CLOSE), it will not be synced to
      slaves. Then slaves will be kept on CLOSE_WAIT/TIME_WAIT until
      timeout reaches. Thus we should also sync with CLOSE.
      
      Cc: Wensong Zhang <wensong@linux-vs.org>
      Cc: Simon Horman <horms@verge.net.au>
      Cc: Julian Anastasov <ja@ssi.bg>
      Cc: David S. Miller <davem@davemloft.net>
      Signed-off-by: NXiaotian Feng <dfeng@redhat.com>
      Acked-by: NSimon Horman <horms@verge.net.au>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      9abfe315
    • E
      net: Fix userspace RTM_NEWLINK notifications. · d90a909e
      Eric W. Biederman 提交于
      I received some bug reports about userspace programs having problems
      because after RTM_NEWLINK was received they could not immediate access
      files under /proc/sys/net/ because they had not been registered yet.
      
      The original problem was trivially fixed by moving the userspace
      notification from rtnetlink_event() to the end of
      register_netdevice().
      
      When testing that change I discovered I was still getting RTM_NEWLINK
      events before I could access proc and I was also getting RTM_NEWLINK
      events after I was seeing RTM_DELLINK.  Things practically guaranteed
      to confuse userspace.
      
      After a little more investigation these extra notifications proved to
      be from the new notifiers NETDEV_POST_INIT and NETDEV_UNREGISTER_BATCH
      hitting the default case in rtnetlink_event, and triggering
      unnecessary RTM_NEWLINK messages.
      
      rtnetlink_event now explicitly handles NETDEV_UNREGISTER_BATCH and
      NETDEV_POST_INIT to avoid sending the incorrect userspace
      notifications.
      Signed-off-by: NEric W. Biederman <ebiederm@aristanetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d90a909e
    • E
      udp: udp_lib_get_port() fix · 5781b235
      Eric Dumazet 提交于
      Now we can have a large udp hash table, udp_lib_get_port() loop
      should be converted to a do {} while (cond) form,
      or we dont enter it at all if hash table size is exactly 65536.
      Reported-by: NYinghai Lu <yinghai@kernel.org>
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5781b235
  8. 12 12月, 2009 4 次提交
  9. 11 12月, 2009 4 次提交
  10. 10 12月, 2009 2 次提交
  11. 09 12月, 2009 9 次提交
  12. 08 12月, 2009 3 次提交