All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Lameter <cl@linux.com>
To: Tejun Heo <tj@kernel.org>
Cc: akpm@linuxfoundation.org, rostedt@goodmis.org,
	linux-kernel@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Eric Dumazet <edumazet@google.com>,
	David Miller <davem@davemloft.net>
Subject: [PATCH 1/6] net: ip4_datagram_connect: Use correct form of statistics update
Date: Tue, 15 Oct 2013 12:47:23 -0500	[thread overview]
Message-ID: <20131015174745.197380080@linux.com> (raw)
In-Reply-To: 20131015174722.615394057@linux.com

[-- Attachment #1: fix_snmp --]
[-- Type: text/plain, Size: 2161 bytes --]

ip4_datagram_connect is called with BH processing enabled. Therefore
we cannot use IP_INC_STATS_BH but must use IP_INC_STATS which disables
BH handling before incrementing the counter.

The following trace is triggered without this patch:

[ 9293.806634] __this_cpu_add operation in preemptible [00000000] code: ntpd/2150
[ 9293.813894] caller is __this_cpu_preempt_check+0x38/0x60
[ 9293.813896] CPU: 2 PID: 2150 Comm: ntpd Tainted: GF            3.12.0-rc4+ #178
[ 9293.813897] Hardware name: Hewlett-Packard HP Z230 SFF Workstation/1906, BIOS L51 v01.10 07/05/2013
[ 9293.813898]  0000000000000002 ffff8803f33fddc8 ffffffff816d57c4 ffff8803f33fdfd8
[ 9293.813903]  ffff8803f33fddf8 ffffffff8137341c ffff8800366b0380 00000000ffffff9b
[ 9293.813905]  ffff8800366b0680 ffffffffffffff9b ffff8803f33fde38 ffffffff81373478
[ 9293.813916] Call Trace:
[ 9293.813920]  [<ffffffff816d57c4>] dump_stack+0x4e/0x82
[ 9293.813921]  [<ffffffff8137341c>] check_preemption_disabled+0xec/0x110
[ 9293.813923]  [<ffffffff81373478>] __this_cpu_preempt_check+0x38/0x60  
[ 9293.813926]  [<ffffffff8163cd5d>] ip4_datagram_connect+0x2cd/0x2f0    
[ 9293.813929]  [<ffffffff8164b73e>] inet_dgram_connect+0x2e/0x80
[ 9293.813934]  [<ffffffff815c766b>] SYSC_connect+0xdb/0x100
[ 9293.813938]  [<ffffffff81006e6f>] ? mask_8259A+0x2f/0x30 
[ 9293.813940]  [<ffffffff81010505>] ? syscall_trace_enter+0x155/0x270
[ 9293.813942]  [<ffffffff815c7b2e>] SyS_connect+0xe/0x10
[ 9293.813944]  [<ffffffff816e4d13>] tracesys+0xe1/0xe6  

Cc: Eric Dumazet <edumazet@google.com>
Cc: netdev@vger.kernel.org
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Christoph Lameter <cl@linux.com>

Index: linux/net/ipv4/datagram.c
===================================================================
--- linux.orig/net/ipv4/datagram.c	2013-08-08 02:55:00.900983548 -0500
+++ linux/net/ipv4/datagram.c	2013-10-09 15:02:51.999123322 -0500
@@ -57,7 +57,7 @@ int ip4_datagram_connect(struct sock *sk
 	if (IS_ERR(rt)) {
 		err = PTR_ERR(rt);
 		if (err == -ENETUNREACH)
-			IP_INC_STATS_BH(sock_net(sk), IPSTATS_MIB_OUTNOROUTES);
+			IP_INC_STATS(sock_net(sk), IPSTATS_MIB_OUTNOROUTES);
 		goto out;
 	}
 


  reply	other threads:[~2013-10-15 17:55 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-15 17:47 [PATCH 0/6] percpu: Implement Preemption checks for __this_cpu operations V4b Christoph Lameter
2013-10-15 17:47 ` Christoph Lameter [this message]
2013-10-15 18:36   ` [PATCH 1/6] net: ip4_datagram_connect: Use correct form of statistics update Eric Dumazet
2013-10-16  6:09     ` Ingo Molnar
2013-10-16  8:35   ` Peter Zijlstra
2013-10-16  9:14     ` Eric Dumazet
2013-10-16  9:26       ` Ingo Molnar
2013-10-16 14:27         ` Christoph Lameter
2013-10-16 14:37           ` Eric Dumazet
2013-10-15 17:47 ` [PATCH 2/6] percpu: Add raw_cpu_ops Christoph Lameter
2013-10-15 17:47 ` [PATCH 3/6] mm: Use raw_cpu ops for determining current NUMA node Christoph Lameter
2013-10-16  8:38   ` Peter Zijlstra
2013-10-16 14:22     ` Christoph Lameter
2013-10-15 17:47 ` [PATCH 4/6] Use raw_cpu_write for initialization of per cpu refcount Christoph Lameter
2013-10-16  8:43   ` Peter Zijlstra
2013-10-15 17:47 ` [PATCH 5/6] net: __this_cpu_inc in route.c Christoph Lameter
2013-10-16  8:46   ` Peter Zijlstra
2013-10-16  9:22     ` Eric Dumazet
2013-10-16 10:25       ` Peter Zijlstra
2013-10-16 15:07         ` Christoph Lameter
2013-10-15 17:47 ` [PATCH 6/6] percpu: Add preemption checks to __this_cpu ops Christoph Lameter
2013-10-16  8:49   ` Peter Zijlstra
2013-10-16 15:09     ` Christoph Lameter
2013-10-16 15:36       ` Peter Zijlstra
2013-10-16 15:55         ` Christoph Lameter
2013-10-16 16:25           ` Peter Zijlstra
2013-10-16 16:52             ` Steven Rostedt
2013-10-16 17:11               ` Peter Zijlstra
2013-10-16 17:39                 ` Steven Rostedt
2013-10-16 18:38             ` Peter Zijlstra
2013-10-17 19:22               ` Christoph Lameter
2013-10-17 21:13                 ` Peter Zijlstra
     [not found] <20131011175518.634285474@linux.com>
2013-10-11 17:54 ` [PATCH 1/6] net: ip4_datagram_connect: Use correct form of statistics update Christoph Lameter
2013-10-11 18:32   ` Eric Dumazet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131015174745.197380080@linux.com \
    --to=cl@linux.com \
    --cc=akpm@linuxfoundation.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=tj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.