Re: 2.6.27-rc4: icmp_sk() uses smp_processor_id() in preemptible code | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
On Fri, 2008-08-22 at 04:54 -0700, David Miller wrote: > From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> > Date: Thu, 21 Aug 2008 22:50:00 +1000 > > > adobriyan@xxxxxxxxx wrote: > > > Steps to reproduce: > > > > > > CONFIG_PREEMPT=y > > > CONFIG_DEBUG_PREEMPT=y > > > tracepath <something> > > > > > > icmp6_sk() is similar (I haven't checked at runtime, though). > > > > > > BUG: using smp_processor_id() in preemptible [00000000] code: tracepath/3205 > > > caller is icmp_sk+0x15/0x30 > > > Pid: 3205, comm: tracepath Not tainted 2.6.27-rc4 #1 > > > > > > Call Trace: > > > [<ffffffff8031af14>] debug_smp_processor_id+0xe4/0xf0 > > > [<ffffffff80409405>] icmp_sk+0x15/0x30 > > > [<ffffffff8040a17b>] icmp_send+0x4b/0x3f0 > > > > Caused by: > > > > commit 405666db84b984b68fc75794069f424c02e5796c > > Author: Denis V. Lunev <den@xxxxxxxxxx> > > Date: Fri Feb 29 11:16:46 2008 -0800 > > > > [ICMP]: Pass proper ICMP socket into icmp(v6)_xmit_(un)lock. > > > > We need to disable preemption (was provided by disabling BH) before > > getting the per-cpu ICMP socket. > > Denis, please fix this. > > The icmp_sk was always evaluated inside of icmp*_xmit_lock() > exactly because we needed the BH disabling in order for the > smp_processor_id() evaluation to be safe. > > It's probably better to pass the namespace into the lock and > unlock routines. for sure. I am sorry for the delay, I am ill and at home. I'll try to do my best and cook the patch today. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
[Kernel List] [Site Home] [Ethernet Bridging] [Git] [IETF Annouce] [Linux Assembly] [VLAN] [Networking] [Security] [Bugtraq] [Rubini] [Photo] [Singles Social Netowrking] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Virtualization] [Linux Security] [Linux IDE] [Linux RAID] [Linux SCSI] [Linux Wireless] [DDR & Rambus] [Free Dating] [Linux Resources] [Wireless Reading Device]
![]() |
![]() |