1. 02 5月, 2013 3 次提交
    • N
      netpoll: convert mutex into a semaphore · bd7c4b60
      Neil Horman 提交于
      Bart Van Assche recently reported a warning to me:
      
      <IRQ>  [<ffffffff8103d79f>] warn_slowpath_common+0x7f/0xc0
      [<ffffffff8103d7fa>] warn_slowpath_null+0x1a/0x20
      [<ffffffff814761dd>] mutex_trylock+0x16d/0x180
      [<ffffffff813968c9>] netpoll_poll_dev+0x49/0xc30
      [<ffffffff8136a2d2>] ? __alloc_skb+0x82/0x2a0
      [<ffffffff81397715>] netpoll_send_skb_on_dev+0x265/0x410
      [<ffffffff81397c5a>] netpoll_send_udp+0x28a/0x3a0
      [<ffffffffa0541843>] ? write_msg+0x53/0x110 [netconsole]
      [<ffffffffa05418bf>] write_msg+0xcf/0x110 [netconsole]
      [<ffffffff8103eba1>] call_console_drivers.constprop.17+0xa1/0x1c0
      [<ffffffff8103fb76>] console_unlock+0x2d6/0x450
      [<ffffffff8104011e>] vprintk_emit+0x1ee/0x510
      [<ffffffff8146f9f6>] printk+0x4d/0x4f
      [<ffffffffa0004f1d>] scsi_print_command+0x7d/0xe0 [scsi_mod]
      
      This resulted from my commit ca99ca14 which introduced a mutex_trylock
      operation in a path that could execute in interrupt context.  When mutex
      debugging is enabled, the above warns the user when we are in fact
      exectuting in interrupt context
      interrupt context.
      
      After some discussion, It seems that a semaphore is the proper mechanism to use
      here.  While mutexes are defined to be unusable in interrupt context, no such
      condition exists for semaphores (save for the fact that the non blocking api
      calls, like up and down_trylock must be used when in irq context).
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      Reported-by: NBart Van Assche <bvanassche@acm.org>
      CC: Bart Van Assche <bvanassche@acm.org>
      CC: David Miller <davem@davemloft.net>
      CC: netdev@vger.kernel.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bd7c4b60
    • P
      netlink: Fix skb ref counting. · ae6164ad
      Pravin B Shelar 提交于
      Commit f9c22888 (netlink:
      implement memory mapped recvmsg) increamented skb->users
      ref count twice for a dump op which does not look right.
      
      Following patch fixes that.
      
      CC: Patrick McHardy <kaber@trash.net>
      Signed-off-by: NPravin B Shelar <pshelar@nicira.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ae6164ad
    • J
      net_sched: act_ipt forward compat with xtables · 0dcffd09
      Jamal Hadi Salim 提交于
      Deal with changes in newer xtables while maintaining backward
      compatibility. Thanks to Jan Engelhardt for suggestions.
      Signed-off-by: NJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0dcffd09
  2. 01 5月, 2013 1 次提交
  3. 30 4月, 2013 31 次提交
  4. 29 4月, 2013 2 次提交
    • R
      bridge: Add fdb dst check during fdb update · b0a397fb
      roopa 提交于
      Current bridge fdb update code does not seem to update the port
      during fdb update. This patch adds a check for fdb dst (port)
      change during fdb update. Also rearranges the call to
      fdb_notify to send only one notification for create and update.
      
      Changelog:
      v2 - Change notify flag to bool
      Signed-off-by: NRoopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: NStephen Hemminger <stephen@networkplumber.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b0a397fb
    • H
      ipvs: ip_vs_sip_fill_param() BUG: bad check of return value · f7a1dd6e
      Hans Schillstrom 提交于
      The reason for this patch is crash in kmemdup
      caused by returning from get_callid with uniialized
      matchoff and matchlen.
      
      Removing Zero check of matchlen since it's done by ct_sip_get_header()
      
      BUG: unable to handle kernel paging request at ffff880457b5763f
      IP: [<ffffffff810df7fc>] kmemdup+0x2e/0x35
      PGD 27f6067 PUD 0
      Oops: 0000 [#1] PREEMPT SMP
      Modules linked in: xt_state xt_helper nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_mangle xt_connmark xt_conntrack ip6_tables nf_conntrack_ftp ip_vs_ftp nf_nat xt_tcpudp iptable_mangle xt_mark ip_tables x_tables ip_vs_rr ip_vs_lblcr ip_vs_pe_sip ip_vs nf_conntrack_sip nf_conntrack bonding igb i2c_algo_bit i2c_core
      CPU 5
      Pid: 0, comm: swapper/5 Not tainted 3.9.0-rc5+ #5                  /S1200KP
      RIP: 0010:[<ffffffff810df7fc>]  [<ffffffff810df7fc>] kmemdup+0x2e/0x35
      RSP: 0018:ffff8803fea03648  EFLAGS: 00010282
      RAX: ffff8803d61063e0 RBX: 0000000000000003 RCX: 0000000000000003
      RDX: 0000000000000003 RSI: ffff880457b5763f RDI: ffff8803d61063e0
      RBP: ffff8803fea03658 R08: 0000000000000008 R09: 0000000000000011
      R10: 0000000000000011 R11: 00ffffffff81a8a3 R12: ffff880457b5763f
      R13: ffff8803d67f786a R14: ffff8803fea03730 R15: ffffffffa0098e90
      FS:  0000000000000000(0000) GS:ffff8803fea00000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: ffff880457b5763f CR3: 0000000001a0c000 CR4: 00000000001407e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process swapper/5 (pid: 0, threadinfo ffff8803ee18c000, task ffff8803ee18a480)
      Stack:
       ffff8803d822a080 000000000000001c ffff8803fea036c8 ffffffffa000937a
       ffffffff81f0d8a0 000000038135fdd5 ffff880300000014 ffff880300110000
       ffffffff150118ac ffff8803d7e8a000 ffff88031e0118ac 0000000000000000
      Call Trace:
       <IRQ>
      
       [<ffffffffa000937a>] ip_vs_sip_fill_param+0x13a/0x187 [ip_vs_pe_sip]
       [<ffffffffa007b209>] ip_vs_sched_persist+0x2c6/0x9c3 [ip_vs]
       [<ffffffff8107dc53>] ? __lock_acquire+0x677/0x1697
       [<ffffffff8100972e>] ? native_sched_clock+0x3c/0x7d
       [<ffffffff8100972e>] ? native_sched_clock+0x3c/0x7d
       [<ffffffff810649bc>] ? sched_clock_cpu+0x43/0xcf
       [<ffffffffa007bb1e>] ip_vs_schedule+0x181/0x4ba [ip_vs]
      ...
      Signed-off-by: NHans Schillstrom <hans@schillstrom.com>
      Acked-by: NJulian Anastasov <ja@ssi.bg>
      Signed-off-by: NSimon Horman <horms@verge.net.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f7a1dd6e
  5. 27 4月, 2013 2 次提交
  6. 26 4月, 2013 1 次提交