1. 12 Nov, 2009 2 commits
    • Anton Vorontsov's avatar
      skbuff: Do not allow skb recycling with disabled IRQs · e84af6dd
      Anton Vorontsov authored
      NAPI drivers try to recycle SKBs in their polling routine, but we
      generally don't know the context in which the polling will be called,
      and the skb recycling itself may require IRQs to be enabled.
      
      This patch adds irqs_disabled() test to the skb_recycle_check()
      routine, so that we'll not let the drivers hit the skb recycling
      path with IRQs disabled.
      
      As a side effect, this patch actually disables skb recycling for some
      [broken] drivers. E.g. gianfar driver grabs an irqsave spinlock during
      TX ring processing, and then tries to recycle an skb, and that caused
      the following badness:
      
      nf_conntrack version 0.5.0 (1008 buckets, 4032 max)
      ------------[ cut here ]------------
      Badness at kernel/softirq.c:143
      NIP: c003e3c4 LR: c423a528 CTR: c003e344
      ...
      NIP [c003e3c4] local_bh_enable+0x80/0xc4
      LR [c423a528] destroy_conntrack+0xd4/0x13c [nf_conntrack]
      Call Trace:
      [c15d1b60] [c003e32c] local_bh_disable+0x1c/0x34 (unreliable)
      [c15d1b70] [c423a528] destroy_conntrack+0xd4/0x13c [nf_conntrack]
      [c15d1b80] [c02c6370] nf_conntrack_destroy+0x3c/0x70
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e84af6dd
    • David S. Miller's avatar
      ipv6: Remove unused var in inet6_dump_ifinfo() · 434a8a58
      David S. Miller authored
      Reported by Stephen Rothwell:
      
      --------------------
      Today's linux-next build (x86_64 allmodconfig) produced this warning:
      
      net/ipv6/addrconf.c: In function 'inet6_dump_ifinfo':
      net/ipv6/addrconf.c:3833: warning: unused variable 'err'
      
      Introduced by commit 84d2697d ("ipv6:
      speedup inet6_dump_ifinfo()").
      --------------------
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      434a8a58
  2. 11 Nov, 2009 34 commits
  3. 10 Nov, 2009 4 commits