lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 28 Jul 2007 01:38:59 -0700
From:	Andrew Morton <akpm@...ux-foundation.org>
To:	"Miles Lane" <miles.lane@...il.com>
Cc:	LKML <linux-kernel@...r.kernel.org>,
	"Dag Brattli" <dagb@...uit.no>, samuel@...tiz.org,
	Paul Menage <menage@...gle.com>
Subject: Re: 2.6.23-rc1-mm1 -- INFO: possible recursive locking detected --
 (&hashbin->hb_spinlock){....}, at: [<c03d95d3>] irias_seq_show+0xba/0x1a8

On Sat, 28 Jul 2007 00:01:23 -0700 "Miles Lane" <miles.lane@...il.com> wrote:

> Looking to see whether reading /proc files made things unhappy:
> 
>        find /proc/ | xargs cat
>        find /proc/ -name "[g-z]*" | xargs cat
>        find /proc/ -name "[a-g]*" | xargs file
> 
> dmesg shows:

I'm unable to reproduce this.

> process `cat' is using deprecated sysctl (syscall)
> net.ipv6.neigh.default.retrans_time; Use
> net.ipv6.neigh.default.retrans_time_ms instead.
> 
> =============================================
> [ INFO: possible recursive locking detected ]
> 2.6.23-rc1-mm1 #15
> ---------------------------------------------
> cat/5333 is trying to acquire lock:
>  (&hashbin->hb_spinlock){....}, at: [<c03d95d3>] irias_seq_show+0xba/0x1a8
> 
> but task is already holding lock:
>  (&hashbin->hb_spinlock){....}, at: [<c03d96e7>] irias_seq_start+0x14/0x4e
> 
> other info that might help us debug this:
> 2 locks held by cat/5333:
>  #0:  (&p->lock){--..}, at: [<c042f868>] mutex_lock+0x1c/0x1f
>  #1:  (&hashbin->hb_spinlock){....}, at: [<c03d96e7>] irias_seq_start+0x14/0x4e
> 
> stack backtrace:
>  [<c01050bf>] show_trace_log_lvl+0x1a/0x2f
>  [<c0105c70>] show_trace+0x12/0x14
>  [<c0105d90>] dump_stack+0x16/0x18
>  [<c0144545>] __lock_acquire+0x18d/0xc20
>  [<c0145049>] lock_acquire+0x71/0x8b
>  [<c0430ae7>] _spin_lock+0x35/0x42
>  [<c03d95d3>] irias_seq_show+0xba/0x1a8
>  [<c0197754>] seq_read+0x192/0x266
>  [<c01adbb1>] proc_reg_read+0x63/0x76
>  [<c0181398>] vfs_read+0x8e/0x117
>  [<c01817c9>] sys_read+0x3d/0x61
>  [<c010401e>] sysenter_past_esp+0x5f/0x99
>  =======================

It'd be useful if you could display the name of each /proc file as it is
read, so we know which one went boom.

> BUG: unable to handle kernel NULL pointer dereference at virtual
> address 0000003c
>  printing eip:
> c01536a7
> *pde = 00000000
> Oops: 0000 [#1]
> PREEMPT SMP
> Modules linked in: binfmt_misc cpufreq_conservative cpufreq_powersave
> cpufreq_performance sbp2 parport_pc lp parport snd_intel8x0
> snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss pcmcia snd_pcm
> snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event
> snd_seq firewire_ohci snd_timer yenta_socket firewire_core
> snd_seq_device sdhci rsrc_nonstatic tifm_7xx1 crc_itu_t tifm_core
> pcmcia_core mmc_core ipw2200 snd rng_core iTCO_wdt iTCO_vendor_support
> soundcore shpchp pci_hotplug snd_page_alloc rtc 8139cp 8139too mii
> ehci_hcd uhci_hcd ohci1394 ieee1394 usbcore
> CPU:    0
> EIP:    0060:[<c01536a7>]    Not tainted VLI
> EFLAGS: 00210286   (2.6.23-rc1-mm1 #15)
> EIP is at container_path+0x20/0x7b
> eax: c6e8b05f   ebx: c6e8b060   ecx: 00001000   edx: c0880434
> esi: 00000000   edi: c6e8a060   ebp: c5ccff14   esp: c5ccff00
> ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
> Process cat (pid: 5412, ti=c5ccf000 task=c6cf6390 task.ti=c5ccf000)
> Stack: c6e8a060 c0880434 c1c58000 c6f01c60 c6e8a060 c5ccff30 c0154ad2 c10dd100
>        fffffffd c5c9f500 c6f01c60 00000001 c5ccff70 c01976b1 00000400 08054000
>        c5c9f500 c6f01c80 00000000 c5ccff60 08054000 00000400 c5ccffb0 00000000
> Call Trace:
>  [<c01050bf>] show_trace_log_lvl+0x1a/0x2f
>  [<c0105171>] show_stack_log_lvl+0x9d/0xac
>  [<c0105371>] show_registers+0x1f1/0x332
>  [<c01055c4>] die+0x112/0x247
>  [<c011d0ee>] do_page_fault+0x4ea/0x5c8
>  [<c0431312>] error_code+0x72/0x78
>  [<c0154ad2>] proc_cpuset_show+0x5e/0xb9
>  [<c01976b1>] seq_read+0xef/0x266
>  [<c0181398>] vfs_read+0x8e/0x117
>  [<c01817c9>] sys_read+0x3d/0x61
>  [<c010401e>] sysenter_past_esp+0x5f/0x99
>  =======================
> INFO: lockdep is turned off.
> Code: 00 89 d8 83 c4 0c 5b 5e 5f 5d c3 55 89 e5 57 56 53 83 ec 08 89
> 45 f0 89 55 ec 89 d3 01 cb 8d 43 ff c6 43 ff 00 8b 55 f0 8b 72 1c <8b>
> 56 3c 29 d0 3b 45 ec 72 45 89 d1 c1 e9 02 8b 76 40 89 c7 f3
> EIP: [<c01536a7>] container_path+0x20/0x7b SS:ESP 0068:c5ccff00

Ditto, thanks.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ