1. 23 4月, 2010 19 次提交
  2. 22 4月, 2010 12 次提交
  3. 21 4月, 2010 9 次提交
    • D
      tcp: Fix ipv6 checksumming on response packets for real. · f71b70e1
      David S. Miller 提交于
      Commit 6651ffc8
      ("ipv6: Fix tcp_v6_send_response transport header setting.")
      fixed one half of why ipv6 tcp response checksums were
      invalid, but it's not the whole story.
      
      If we're going to use CHECKSUM_PARTIAL for these things (which we are
      since commit 2e8e18ef "tcp: Set
      CHECKSUM_UNNECESSARY in tcp_init_nondata_skb"), we can't be setting
      buff->csum as we always have been here in tcp_v6_send_response.  We
      need to leave it at zero.
      
      Kill that line and checksums are good again.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f71b70e1
    • D
      Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 · 87eb3670
      David S. Miller 提交于
      Conflicts:
      	drivers/net/wireless/iwlwifi/iwl-6000.c
      	net/core/dev.c
      87eb3670
    • D
      net: Fix an RCU warning in dev_pick_tx() · 05d17608
      David Howells 提交于
      Fix the following RCU warning in dev_pick_tx():
      
      ===================================================
      [ INFO: suspicious rcu_dereference_check() usage. ]
      ---------------------------------------------------
      net/core/dev.c:1993 invoked rcu_dereference_check() without protection!
      
      other info that might help us debug this:
      
      rcu_scheduler_active = 1, debug_locks = 0
      2 locks held by swapper/0:
       #0:  (&idev->mc_ifc_timer){+.-...}, at: [<ffffffff81039e65>] run_timer_softirq+0x17b/0x278
       #1:  (rcu_read_lock_bh){.+....}, at: [<ffffffff812ea3eb>] dev_queue_xmit+0x14e/0x4dc
      
      stack backtrace:
      Pid: 0, comm: swapper Not tainted 2.6.34-rc5-cachefs #4
      Call Trace:
       <IRQ>  [<ffffffff810516c4>] lockdep_rcu_dereference+0xaa/0xb2
       [<ffffffff812ea4f6>] dev_queue_xmit+0x259/0x4dc
       [<ffffffff812ea3eb>] ? dev_queue_xmit+0x14e/0x4dc
       [<ffffffff81052324>] ? trace_hardirqs_on+0xd/0xf
       [<ffffffff81035362>] ? local_bh_enable_ip+0xbc/0xc1
       [<ffffffff812f0954>] neigh_resolve_output+0x24b/0x27c
       [<ffffffff8134f673>] ip6_output_finish+0x7c/0xb4
       [<ffffffff81350c34>] ip6_output2+0x256/0x261
       [<ffffffff81052324>] ? trace_hardirqs_on+0xd/0xf
       [<ffffffff813517fb>] ip6_output+0xbbc/0xbcb
       [<ffffffff8135bc5d>] ? fib6_force_start_gc+0x2b/0x2d
       [<ffffffff81368acb>] mld_sendpack+0x273/0x39d
       [<ffffffff81368858>] ? mld_sendpack+0x0/0x39d
       [<ffffffff81052099>] ? mark_held_locks+0x52/0x70
       [<ffffffff813692fc>] mld_ifc_timer_expire+0x24f/0x288
       [<ffffffff81039ed6>] run_timer_softirq+0x1ec/0x278
       [<ffffffff81039e65>] ? run_timer_softirq+0x17b/0x278
       [<ffffffff813690ad>] ? mld_ifc_timer_expire+0x0/0x288
       [<ffffffff81035531>] ? __do_softirq+0x69/0x140
       [<ffffffff8103556a>] __do_softirq+0xa2/0x140
       [<ffffffff81002e0c>] call_softirq+0x1c/0x28
       [<ffffffff81004b54>] do_softirq+0x38/0x80
       [<ffffffff81034f06>] irq_exit+0x45/0x47
       [<ffffffff810177c3>] smp_apic_timer_interrupt+0x88/0x96
       [<ffffffff810028d3>] apic_timer_interrupt+0x13/0x20
       <EOI>  [<ffffffff810488dd>] ? __atomic_notifier_call_chain+0x0/0x86
       [<ffffffff810096bf>] ? mwait_idle+0x6e/0x78
       [<ffffffff810096b6>] ? mwait_idle+0x65/0x78
       [<ffffffff810011cb>] cpu_idle+0x4d/0x83
       [<ffffffff81380b05>] rest_init+0xb9/0xc0
       [<ffffffff81380a4c>] ? rest_init+0x0/0xc0
       [<ffffffff8168dcf0>] start_kernel+0x392/0x39d
       [<ffffffff8168d2a3>] x86_64_start_reservations+0xb3/0xb7
       [<ffffffff8168d38b>] x86_64_start_kernel+0xe4/0xeb
      
      An rcu_dereference() should be an rcu_dereference_bh().
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      05d17608
    • D
      e04997b1
    • H
      ipv6: Fix tcp_v6_send_response transport header setting. · 6651ffc8
      Herbert Xu 提交于
      My recent patch to remove the open-coded checksum sequence in
      tcp_v6_send_response broke it as we did not set the transport
      header pointer on the new packet.
      
      Actually, there is code there trying to set the transport
      header properly, but it sets it for the wrong skb ('skb'
      instead of 'buff').
      
      This bug was introduced by commit
      a8fdf2b3 ("ipv6: Fix
      tcp_v6_send_response(): it didn't set skb transport header")
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6651ffc8
    • R
      net: Remove two unnecessary exports (skbuff). · ccb7c773
      Rami Rosen 提交于
      There is no need to export skb_under_panic() and skb_over_panic() in
      skbuff.c, since these methods are used only in skbuff.c ; this patch
      removes these two exports. It also marks these functions as 'static'
      and removeS the extern declarations of them from
      include/linux/skbuff.h
      Signed-off-by: NRami Rosen <ramirose@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ccb7c773
    • E
      net: Fix various endianness glitches · 0eae88f3
      Eric Dumazet 提交于
      Sparse can help us find endianness bugs, but we need to make some
      cleanups to be able to more easily spot real bugs.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0eae88f3
    • E
      bridge: add a missing ntohs() · 8eabf95c
      Eric Dumazet 提交于
      grec_nsrcs is in network order, we should convert to host horder in
      br_multicast_igmp3_report()
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Acked-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8eabf95c
    • D
      tg3: Enable GRO by default. · cb903bf4
      David S. Miller 提交于
      This was merely an oversight when I added the *_gro_receive()
      calls.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cb903bf4