On Mon, 03 May 2010 16:58:46 +0200, Eric Dumazet said: > Le lundi 03 mai 2010 à 10:30 -0400, Valdis.Kletnieks@xxxxxx a écrit : > > [ 9.129872] net/netfilter/nf_log.c:55 invoked rcu_dereference_check() without protection! > Thanks for the report ! > > [PATCH] net: nf_log RCU fixes > > nf_log_register() and nf_log_unregister() use a mutex to have exclusive > access to nf_logers[]. Use appropriate rcu_dereference_protected() > lockdep annotation. Confirming that one fixed. Now it lives a whole 36 seconds before whinging: [ 35.328729] =================================================== [ 35.328803] [ INFO: suspicious rcu_dereference_check() usage. ] [ 35.328837] --------------------------------------------------- [ 35.328872] net/ipv6/addrconf.c:2977 invoked rcu_dereference_check() without protection! [ 35.328926] [ 35.328927] other info that might help us debug this: [ 35.328928] [ 35.329016] [ 35.329016] rcu_scheduler_active = 1, debug_locks = 0 [ 35.329089] 2 locks held by ifconfig/2680: [ 35.329120] #0: (&p->lock){+.+.+.}, at: [<ffffffff810f5db8>] seq_read+0x3a/0x42d [ 35.329217] #1: (rcu_read_lock_bh){.+....}, at: [<ffffffff814eec68>] rcu_read_lock_bh+0x0/0x35 [ 35.329322] [ 35.329323] stack backtrace: [ 35.329380] Pid: 2680, comm: ifconfig Tainted: G W 2.6.34-rc5-mmotm0428 #3 [ 35.329439] Call Trace: [ 35.329471] [<ffffffff81064832>] lockdep_rcu_dereference+0xaa/0xb2 [ 35.329514] [<ffffffff814ef3ae>] if6_get_next+0x34/0x6d [ 35.329554] [<ffffffff814ef3f8>] if6_seq_next+0x11/0x18 [ 35.329595] [<ffffffff810f6083>] seq_read+0x305/0x42d [ 35.329635] [<ffffffff810f5d7e>] ? seq_read+0x0/0x42d [ 35.329676] [<ffffffff81129e8c>] proc_reg_read+0x8d/0xac [ 35.329717] [<ffffffff810db7e0>] vfs_read+0xe0/0x140 [ 35.329758] [<ffffffff810db8f6>] sys_read+0x45/0x69 [ 35.329799] [<ffffffff810025eb>] system_call_fastpath+0x16/0x1b Maybe I need to go and stick the "RCU whinge multiple times" patch on this kernel and get it over with. :)
Attachment:
pgp6Tnsbtegdm.pgp
Description: PGP signature