1. 26 Nov, 2011 28 commits
  2. 25 Nov, 2011 2 commits
  3. 24 Nov, 2011 6 commits
  4. 23 Nov, 2011 4 commits
    • Eric Dumazet's avatar
      net: treewide use of RCU_INIT_POINTER · 2cfa5a04
      Eric Dumazet authored
      rcu_assign_pointer(ptr, NULL) can be safely replaced by
      RCU_INIT_POINTER(ptr, NULL)
      
      (old rcu_assign_pointer() macro was testing the NULL value and could
      omit the smp_wmb(), but this had to be removed because of compiler
      warnings)
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2cfa5a04
    • Jun Zhao's avatar
      ipv4 : igmp : fix error handle in ip_mc_add_src() · 685f94e6
      Jun Zhao authored
      When add sources to interface failure, need to roll back the sfcount[MODE]
      to before state. We need to match it corresponding.
      Acked-by: default avatarDavid L Stevens <dlstevens@us.ibm.com>
      Acked-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarJun Zhao <mypopydev@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      685f94e6
    • Eric Dumazet's avatar
      ipv6: tcp: fix tcp_v6_conn_request() · 4d0fe50c
      Eric Dumazet authored
      Since linux 2.6.26 (commit c6aefafb : Add IPv6 support to TCP SYN
      cookies), we can drop a SYN packet reusing a TIME_WAIT socket.
      
      (As a matter of fact we fail to send the SYNACK answer)
      
      As the client resends its SYN packet after a one second timeout, we
      accept it, because first packet removed the TIME_WAIT socket before
      being dropped.
      
      This probably explains why nobody ever noticed or complained.
      Reported-by: default avatarJesse Young <jlyo@jlyo.org>
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4d0fe50c
    • Xander Hover's avatar
      b44: Use dev_kfree_skb_irq() in b44_tx() · 15ac2b08
      Xander Hover authored
      Reported issues when using dev_kfree_skb() on UP systems and
      systems with low numbers of cores.  dev_kfree_skb_irq() will
      properly save IRQ state before freeing the skb.
      
      Tested on 3.1.1 and 3.2_rc2
      
      Example of reproducible trace of kernel 3.1.1
      ------------[ cut here ]------------
         WARNING: at kernel/softirq.c:159 local_bh_enable+0x32/0x79()
         ...
         Pid: 0, comm: swapper Not tainted 3.1.1-gentoo #1
         Call Trace:
          [<c1022970>] warn_slowpath_common+0x65/0x7a
          [<c102699e>] ? local_bh_enable+0x32/0x79
          [<c1022994>] warn_slowpath_null+0xf/0x13
          [<c102699e>] local_bh_enable+0x32/0x79
          [<c134bfd8>] destroy_conntrack+0x7c/0x9b
          [<c134890b>] nf_conntrack_destroy+0x1f/0x26
          [<c132e3a6>] skb_release_head_state+0x74/0x83
          [<c132e286>] __kfree_skb+0xb/0x6b
          [<c132e30a>] consume_skb+0x24/0x26
          [<c127c925>] b44_poll+0xaa/0x449
          [<c1333ca1>] net_rx_action+0x3f/0xea
          [<c1026a44>] __do_softirq+0x5f/0xd5
          [<c10269e5>] ? local_bh_enable+0x79/0x79
          <IRQ>  [<c1026c32>] ? irq_exit+0x34/0x8d
          [<c1003628>] ? do_IRQ+0x74/0x87
          [<c13f5329>] ? common_interrupt+0x29/0x30
          [<c1006e18>] ? default_idle+0x29/0x3e
          [<c10015a7>] ? cpu_idle+0x2f/0x5d
          [<c13e91c5>] ? rest_init+0x79/0x7b
          [<c15c66a9>] ? start_kernel+0x297/0x29c
          [<c15c60b0>] ? i386_start_kernel+0xb0/0xb7
         ---[ end trace 583f33bb1aa207a9 ]---
      Signed-off-by: default avatarXander Hover <LKML@hover.be>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      15ac2b08