* Possible memory leak via alloc_pid()
@ 2009-07-08 21:33 Catalin Marinas
2009-07-30 0:03 ` Andrew Morton
0 siblings, 1 reply; 11+ messages in thread
From: Catalin Marinas @ 2009-07-08 21:33 UTC (permalink / raw)
To: Linux Kernel Mailing List
Hi,
There's a kmemleak report of a struct pid allocation in alloc_pid()
which somehow gets lost:
unreferenced object 0xc307aa00 (size 44):
comm "gdm", pid 2734, jiffies 4294902040
backtrace:
[<c01e721a>] create_object+0xfa/0x250
[<c01e73cd>] kmemleak_alloc+0x5d/0x70
[<c01e0ad6>] kmem_cache_alloc+0x156/0x1a0
[<c01552f9>] alloc_pid+0x19/0x350
[<c013e6e0>] copy_process+0x800/0x1230
[<c013f17f>] do_fork+0x6f/0x370
[<c0101986>] sys_clone+0x36/0x40
[<c010319c>] sysenter_do_call+0x12/0x38
[<ffffffff>] 0xffffffff
This is the gdm fork for starting Xorg (with pid 2739). It first
logged me in automatically, after which I logged out and gdm started
another Xorg. The pid structure for the first Xorg is reported as a
leak. The Xorg with pid 2739 is no longer present on my system.
Using gdb vmlinux /proc/kcore shows that the pid->count is 2, so
that's why it probably wasn't freed by put_pid():
(gdb) print ({struct pid}0xc307aa00)
$20 = {count = {counter = 2}, level = 0, tasks = {{first = 0x0}, {
first = 0x0}, {first = 0x0}}, rcu = {next = 0xc24bfd64,
func = 0xc0154e90 <delayed_put_pid>}, numbers = {{nr = 2739,
ns = 0xc0737540, pid_chain = {next = 0x0, pprev = 0x200200}}}}
Note that kmemleak is aware of and scans pid_hash (which was recorded
in kmemleak as a 16KB object).
Regards.
--
Catalin
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: Possible memory leak via alloc_pid() 2009-07-08 21:33 Possible memory leak via alloc_pid() Catalin Marinas @ 2009-07-30 0:03 ` Andrew Morton 2009-07-30 0:36 ` Serge E. Hallyn 2009-07-30 21:29 ` Oleg Nesterov 0 siblings, 2 replies; 11+ messages in thread From: Andrew Morton @ 2009-07-30 0:03 UTC (permalink / raw) To: Catalin Marinas Cc: linux-kernel, Eric W. Biederman, Sukadev Bhattiprolu, Serge E. Hallyn, Oleg Nesterov On Wed, 8 Jul 2009 22:33:31 +0100 Catalin Marinas <catalin.marinas@arm.com> wrote: > Hi, > > There's a kmemleak report of a struct pid allocation in alloc_pid() > which somehow gets lost: > > unreferenced object 0xc307aa00 (size 44): > comm "gdm", pid 2734, jiffies 4294902040 > backtrace: > [<c01e721a>] create_object+0xfa/0x250 > [<c01e73cd>] kmemleak_alloc+0x5d/0x70 > [<c01e0ad6>] kmem_cache_alloc+0x156/0x1a0 > [<c01552f9>] alloc_pid+0x19/0x350 > [<c013e6e0>] copy_process+0x800/0x1230 > [<c013f17f>] do_fork+0x6f/0x370 > [<c0101986>] sys_clone+0x36/0x40 > [<c010319c>] sysenter_do_call+0x12/0x38 > [<ffffffff>] 0xffffffff > > This is the gdm fork for starting Xorg (with pid 2739). It first > logged me in automatically, after which I logged out and gdm started > another Xorg. The pid structure for the first Xorg is reported as a > leak. The Xorg with pid 2739 is no longer present on my system. > > Using gdb vmlinux /proc/kcore shows that the pid->count is 2, so > that's why it probably wasn't freed by put_pid(): > > (gdb) print ({struct pid}0xc307aa00) > $20 = {count = {counter = 2}, level = 0, tasks = {{first = 0x0}, { > first = 0x0}, {first = 0x0}}, rcu = {next = 0xc24bfd64, > func = 0xc0154e90 <delayed_put_pid>}, numbers = {{nr = 2739, > ns = 0xc0737540, pid_chain = {next = 0x0, pprev = 0x200200}}}} > > Note that kmemleak is aware of and scans pid_hash (which was recorded > in kmemleak as a 16KB object). > Thanks. Let's cc some recent pid fiddlers. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Possible memory leak via alloc_pid() 2009-07-30 0:03 ` Andrew Morton @ 2009-07-30 0:36 ` Serge E. Hallyn 2009-07-30 9:16 ` Catalin Marinas 2009-07-30 21:29 ` Oleg Nesterov 1 sibling, 1 reply; 11+ messages in thread From: Serge E. Hallyn @ 2009-07-30 0:36 UTC (permalink / raw) To: Andrew Morton Cc: Catalin Marinas, linux-kernel, Eric W. Biederman, Sukadev Bhattiprolu, Oleg Nesterov Quoting Andrew Morton (akpm@linux-foundation.org): > On Wed, 8 Jul 2009 22:33:31 +0100 > Catalin Marinas <catalin.marinas@arm.com> wrote: > > > Hi, > > > > There's a kmemleak report of a struct pid allocation in alloc_pid() > > which somehow gets lost: > > > > unreferenced object 0xc307aa00 (size 44): > > comm "gdm", pid 2734, jiffies 4294902040 > > backtrace: > > [<c01e721a>] create_object+0xfa/0x250 > > [<c01e73cd>] kmemleak_alloc+0x5d/0x70 > > [<c01e0ad6>] kmem_cache_alloc+0x156/0x1a0 > > [<c01552f9>] alloc_pid+0x19/0x350 > > [<c013e6e0>] copy_process+0x800/0x1230 > > [<c013f17f>] do_fork+0x6f/0x370 > > [<c0101986>] sys_clone+0x36/0x40 > > [<c010319c>] sysenter_do_call+0x12/0x38 > > [<ffffffff>] 0xffffffff > > > > This is the gdm fork for starting Xorg (with pid 2739). It first > > logged me in automatically, after which I logged out and gdm started > > another Xorg. The pid structure for the first Xorg is reported as a > > leak. The Xorg with pid 2739 is no longer present on my system. > > > > Using gdb vmlinux /proc/kcore shows that the pid->count is 2, so > > that's why it probably wasn't freed by put_pid(): > > > > (gdb) print ({struct pid}0xc307aa00) > > $20 = {count = {counter = 2}, level = 0, tasks = {{first = 0x0}, { > > first = 0x0}, {first = 0x0}}, rcu = {next = 0xc24bfd64, > > func = 0xc0154e90 <delayed_put_pid>}, numbers = {{nr = 2739, > > ns = 0xc0737540, pid_chain = {next = 0x0, pprev = 0x200200}}}} > > > > Note that kmemleak is aware of and scans pid_hash (which was recorded > > in kmemleak as a 16KB object). > > > > Thanks. Let's cc some recent pid fiddlers. Hi, thanks for the report. Note that kernel modules can increment those counds through find_get_pid(). Can you send your kernel .config and the output of lsmod? thanks, -serge ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Possible memory leak via alloc_pid() 2009-07-30 0:36 ` Serge E. Hallyn @ 2009-07-30 9:16 ` Catalin Marinas 0 siblings, 0 replies; 11+ messages in thread From: Catalin Marinas @ 2009-07-30 9:16 UTC (permalink / raw) To: Serge E. Hallyn Cc: Andrew Morton, linux-kernel, Eric W. Biederman, Sukadev Bhattiprolu, Oleg Nesterov On Wed, 2009-07-29 at 19:36 -0500, Serge E. Hallyn wrote: > Quoting Andrew Morton (akpm@linux-foundation.org): > > On Wed, 8 Jul 2009 22:33:31 +0100 > > Catalin Marinas <catalin.marinas@arm.com> wrote: > > > There's a kmemleak report of a struct pid allocation in alloc_pid() > > > which somehow gets lost: [...] > > > This is the gdm fork for starting Xorg (with pid 2739). It first > > > logged me in automatically, after which I logged out and gdm started > > > another Xorg. The pid structure for the first Xorg is reported as a > > > leak. The Xorg with pid 2739 is no longer present on my system. > > > > > > Using gdb vmlinux /proc/kcore shows that the pid->count is 2, so > > > that's why it probably wasn't freed by put_pid(): [...] > thanks for the report. Note that kernel modules can increment those > counds through find_get_pid(). It is possible that there are more *get_pid() calls than put_pid() but I couldn't track them. > Can you send your kernel .config and > the output of lsmod? I logged this as http://bugzilla.kernel.org/show_bug.cgi?id=13868. I uploaded the ARM .config file (no modules loaded). I'll upload the x86 config as well later today (it's on my home machine but it's pretty much the default Ubuntu 9.04 .config with CONFIG_KMEMLEAK enabled). Thanks. -- Catalin ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Possible memory leak via alloc_pid() 2009-07-30 0:03 ` Andrew Morton 2009-07-30 0:36 ` Serge E. Hallyn @ 2009-07-30 21:29 ` Oleg Nesterov 2009-07-31 10:16 ` Catalin Marinas 1 sibling, 1 reply; 11+ messages in thread From: Oleg Nesterov @ 2009-07-30 21:29 UTC (permalink / raw) To: Andrew Morton Cc: Catalin Marinas, linux-kernel, Eric W. Biederman, Sukadev Bhattiprolu, Serge E. Hallyn On 07/29, Andrew Morton wrote: > > On Wed, 8 Jul 2009 22:33:31 +0100 > Catalin Marinas <catalin.marinas@arm.com> wrote: > > > Hi, > > > > There's a kmemleak report of a struct pid allocation in alloc_pid() > > which somehow gets lost: > > > > unreferenced object 0xc307aa00 (size 44): > > comm "gdm", pid 2734, jiffies 4294902040 > > backtrace: > > [<c01e721a>] create_object+0xfa/0x250 > > [<c01e73cd>] kmemleak_alloc+0x5d/0x70 > > [<c01e0ad6>] kmem_cache_alloc+0x156/0x1a0 > > [<c01552f9>] alloc_pid+0x19/0x350 > > [<c013e6e0>] copy_process+0x800/0x1230 > > [<c013f17f>] do_fork+0x6f/0x370 > > [<c0101986>] sys_clone+0x36/0x40 > > [<c010319c>] sysenter_do_call+0x12/0x38 > > [<ffffffff>] 0xffffffff > > > > This is the gdm fork for starting Xorg (with pid 2739). It first > > logged me in automatically, after which I logged out and gdm started > > another Xorg. The pid structure for the first Xorg is reported as a > > leak. The Xorg with pid 2739 is no longer present on my system. > > > > Using gdb vmlinux /proc/kcore shows that the pid->count is 2, so > > that's why it probably wasn't freed by put_pid(): > > > > (gdb) print ({struct pid}0xc307aa00) > > $20 = {count = {counter = 2}, level = 0, tasks = {{first = 0x0}, { > > first = 0x0}, {first = 0x0}}, rcu = {next = 0xc24bfd64, > > func = 0xc0154e90 <delayed_put_pid>}, numbers = {{nr = 2739, > > ns = 0xc0737540, pid_chain = {next = 0x0, pprev = 0x200200}}}} > > > > Note that kmemleak is aware of and scans pid_hash (which was recorded > > in kmemleak as a 16KB object). This pid is detached and unhanshed. God knows who did the unbalanced get_pid(). Since you can reproduce the problem easily, perhaps you can use the hack above to track get/put ? $ echo pid_of_Xorg > /proc/sys/kernel/xxx Oleg. --- CPUHP/kernel/sysctl.c~TRACK_PID 2009-06-28 18:14:27.000000000 +0200 +++ CPUHP/kernel/sysctl.c 2009-07-30 23:12:43.000000000 +0200 @@ -244,6 +244,10 @@ static int min_wakeup_granularity_ns; static int max_wakeup_granularity_ns = NSEC_PER_SEC; /* 1 second */ #endif +extern int xxx_pid; +int set_xxx_pid(struct ctl_table *, int, struct file *, + void __user *, size_t *, loff_t *); + static struct ctl_table kern_table[] = { #ifdef CONFIG_SCHED_DEBUG { @@ -989,7 +993,15 @@ static struct ctl_table kern_table[] = { .proc_handler = &proc_dointvec, }, #endif - + { + .ctl_name = 666, + .procname = "xxx", + .data = &xxx_pid, + .maxlen = sizeof (int), + .mode = 0666, + .proc_handler = &set_xxx_pid, + .strategy = sysctl_intvec, + }, /* * NOTE: do not add new entries to this table unless you have read * Documentation/sysctl/ctl_unnumbered.txt --- CPUHP/include/linux/pid.h~TRACK_PID 2009-04-06 00:03:41.000000000 +0200 +++ CPUHP/include/linux/pid.h 2009-07-30 23:10:32.000000000 +0200 @@ -57,6 +57,7 @@ struct upid { struct pid { atomic_t count; + int trackme; unsigned int level; /* lists of tasks that use this pid */ struct hlist_head tasks[PIDTYPE_MAX]; @@ -74,8 +75,14 @@ struct pid_link static inline struct pid *get_pid(struct pid *pid) { - if (pid) + if (pid) { + if (pid->trackme) { + printk(KERN_INFO "XXXXX(%d) ++%d\n", + pid->numbers[0].nr, atomic_read(&pid->count)); + dump_stack(); + } atomic_inc(&pid->count); + } return pid; } --- CPUHP/kernel/pid.c~TRACK_PID 2009-07-13 17:39:44.000000000 +0200 +++ CPUHP/kernel/pid.c 2009-07-30 23:12:05.000000000 +0200 @@ -207,6 +207,12 @@ void put_pid(struct pid *pid) if (!pid) return; + if (pid->trackme) { + printk(KERN_INFO "XXXXX(%d) --%d\n", + pid->numbers[0].nr, atomic_read(&pid->count)); + dump_stack(); + } + ns = pid->numbers[pid->level].ns; if ((atomic_read(&pid->count) == 1) || atomic_dec_and_test(&pid->count)) { @@ -250,6 +256,7 @@ struct pid *alloc_pid(struct pid_namespa pid = kmem_cache_alloc(ns->pid_cachep, GFP_KERNEL); if (!pid) goto out; + pid->trackme = 0; tmp = ns; for (i = ns->level; i >= 0; i--) { @@ -491,6 +498,30 @@ struct pid *find_ge_pid(int nr, struct p return pid; } +int xxx_pid; + +int set_xxx_pid(ctl_table *table, int write, struct file *file, + void __user *buffer, size_t *length, loff_t *ppos) +{ + struct pid *pid; + + proc_dointvec_minmax(table, write, file, buffer, length, ppos); + if (!write) + return 0; + + rcu_read_lock(); + pid = find_vpid(xxx_pid); + if (pid) { + printk(KERN_INFO "XXXXX(%d) ==%d\n", xxx_pid, atomic_read(&pid->count)); + pid->trackme = 1; + } else { + printk(KERN_INFO "XXXXX(%d) not found\n", xxx_pid); + } + rcu_read_unlock(); + + return 0; +} + /* * The pid hash table is scaled according to the amount of memory in the * machine. From a minimum of 16 slots up to 4096 slots at one gigabyte or ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Possible memory leak via alloc_pid() 2009-07-30 21:29 ` Oleg Nesterov @ 2009-07-31 10:16 ` Catalin Marinas 2009-08-02 21:35 ` Oleg Nesterov 0 siblings, 1 reply; 11+ messages in thread From: Catalin Marinas @ 2009-07-31 10:16 UTC (permalink / raw) To: Oleg Nesterov Cc: Andrew Morton, linux-kernel, Eric W. Biederman, Sukadev Bhattiprolu, Serge E. Hallyn On Thu, 2009-07-30 at 23:29 +0200, Oleg Nesterov wrote: > On 07/29, Andrew Morton wrote: > > On Wed, 8 Jul 2009 22:33:31 +0100 > > Catalin Marinas <catalin.marinas@arm.com> wrote: > > > This is the gdm fork for starting Xorg (with pid 2739). It first > > > logged me in automatically, after which I logged out and gdm started > > > another Xorg. The pid structure for the first Xorg is reported as a > > > leak. The Xorg with pid 2739 is no longer present on my system. > > > > > > Using gdb vmlinux /proc/kcore shows that the pid->count is 2, so > > > that's why it probably wasn't freed by put_pid(): > > > > > > (gdb) print ({struct pid}0xc307aa00) > > > $20 = {count = {counter = 2}, level = 0, tasks = {{first = 0x0}, { > > > first = 0x0}, {first = 0x0}}, rcu = {next = 0xc24bfd64, > > > func = 0xc0154e90 <delayed_put_pid>}, numbers = {{nr = 2739, > > > ns = 0xc0737540, pid_chain = {next = 0x0, pprev = 0x200200}}}} > > > > > > Note that kmemleak is aware of and scans pid_hash (which was recorded > > > in kmemleak as a 16KB object). > > This pid is detached and unhanshed. God knows who did the unbalanced > get_pid(). > > Since you can reproduce the problem easily, perhaps you can use the > hack above to track get/put ? > > $ echo pid_of_Xorg > /proc/sys/kernel/xxx Below is the minicom capture. By the time Xorg dies, the count is 2. When logging out, there are two counter incrementing events via sys_wait4 and sys_ioctl, thoush I'm not sure whether they are unbalanced. It was tested on an ARM platform. pgrep Xorg 1519 10:~# pgrep Xorg > /proc/sys/kernel/xxx XXXXX(1519) ==22 XXXXX(1519) ++22 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c01234e9>] (tty_get_pgrp+0x29/0x4c) [<c01234e9>] (tty_get_pgrp+0x29/0x4c) from [<c009e7cb>] (do_task_stat+0xc3/0x3c4) [<c009e7cb>] (do_task_stat+0xc3/0x3c4) from [<c009ead7>] (proc_tgid_stat+0xb/0xc) [<c009ead7>] (proc_tgid_stat+0xb/0xc) from [<c009c6b5>] (proc_single_show+0x35/0x5c) [<c009c6b5>] (proc_single_show+0x35/0x5c) from [<c0085125>] (seq_read+0x125/0x294) [<c0085125>] (seq_read+0x125/0x294) from [<c00759c9>] (vfs_read+0x69/0x11c) [<c00759c9>] (vfs_read+0x69/0x11c) from [<c0075af5>] (sys_read+0x2d/0x48) [<c0075af5>] (sys_read+0x2d/0x48) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --23 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009e7db>] (do_task_stat+0xd3/0x3c4) [<c009e7db>] (do_task_stat+0xd3/0x3c4) from [<c009ead7>] (proc_tgid_stat+0xb/0xc) [<c009ead7>] (proc_tgid_stat+0xb/0xc) from [<c009c6b5>] (proc_single_show+0x35/0x5c) [<c009c6b5>] (proc_single_show+0x35/0x5c) from [<c0085125>] (seq_read+0x125/0x294) [<c0085125>] (seq_read+0x125/0x294) from [<c00759c9>] (vfs_read+0x69/0x11c) [<c00759c9>] (vfs_read+0x69/0x11c) from [<c0075af5>] (sys_read+0x2d/0x48) [<c0075af5>] (sys_read+0x2d/0x48) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) 10:~# ps -e PID TTY TIME CMD 1 ? 00:00:02 init 2 ? 00:00:00 kthreadd 3 ? 00:00:00 ksoftirqd/0 4 ? 00:00:00 watchdog/0 5 ? 00:00:00 rcu_sched_grace 6 ? 00:00:00 events/0 7 ? 0:00:00 khelper 10 ? 00:00:00 async/mgr 136 ? 00:00:00 kblockd/0 142 ? 00:00:00 ata/0 143 ? 00:00:00 ata_aux 147 ? 00:00:00 ksuspend_usbd 151 ? 00:00:00 khubd 154 ? 00:00:00 kseriod 160 ? 00:00:00 kmmcd 185 ? 00:00:00 khungtaskd 186 ? 00:00:00 pdflush 187 ? 00:00:00 pdflush 188 ? 00:00:00 kswapd0 275 ? 00:00:00 aio/0 294 ? 00:00:01 nfsiod 416 ? 00:00:00 kapmd 436 ? 00:00:00 scsi_eh_0 449 ? 00:00:00 mtdblockd 470 ? 00:00:00 kpsmoused 503 ? 00:00:00 usbhid_resumer 519 ? 00:00:04 rpciod/0 527 ? 00:00:25 kmemleak 607 ? 00:00:04 udevd 1141 ? 00:00:00 portmap 1154 ? 00:00:00 rpc.statd 1288 ? 00:00:00 dbus-daemon 1300 ? 00:00:00 lpd 1316 ? 00:00:00 ntpd 1330 ? 00:00:01 hald 1331 ? 00:00:00 hald-runner 1361 ? 00:00:00 gdm 1391 tty1 00:00:00 getty 1393 ttyAMA0 00:00:00 login 1395 ttyAMA1 00:00:00 getty 1405 ttyAMA0 00:01:02 bash 1419 ? 00:00:05 gdm 1426 tty2 00:00:00 getty 1519 tty3 00:00:01 Xorg 1527 ? 00:00:25 gdmgreeter 1535 ttyAMA0 00:00:00 ps # # CM: Xorg logout # 10:~# XXXXX(1519) ++22 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c0042971>] (find_get_pid+0x25/0x44) [<c0042971>] (find_get_pid+0x25/0x44) from [<c00393f5>] (sys_wait4+0x55/0x84) [<c00393f5>] (sys_wait4+0x55/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --23 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c007605d>] (__fput+0xdd/0x160) [<c007605d>] (__fput+0xdd/0x160) from [<c00760ff>] (fput+0x1f/0x20) [<c00760ff>] (fput+0x1f/0x20) from [<c0073d51>] (filp_close+0x39/0x40) [<c0073d51>] (filp_close+0x39/0x40) from [<c0073dbd>] (sys_close+0x65/0x98) [<c0073dbd>] (sys_close+0x65/0x98) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --22 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c012a8c9>] (vt_ioctl+0xbb5/0x131c) [<c012a8c9>] (vt_ioctl+0xbb5/0x131c) from [<c0124d65>] (tty_ioctl+0x5d9/0x620) [<c0124d65>] (tty_ioctl+0x5d9/0x620) from [<c007d705>] (vfs_ioctl+0x15/0x50) [<c007d705>] (vfs_ioctl+0x15/0x50) from [<c007db8d>] (do_vfs_ioctl+0x3a1/0x3c8) [<c007db8d>] (do_vfs_ioctl+0x3a1/0x3c8) from [<c007dbd7>] (sys_ioctl+0x23/0x34) [<c007dbd7>] (sys_ioctl+0x23/0x34) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) ++21 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c012a8e3>] (vt_ioctl+0xbcf/0x131c) [<c012a8e3>] (vt_ioctl+0xbcf/0x131c) from [<c0124d65>] (tty_ioctl+0x5d9/0x620) [<c0124d65>] (tty_ioctl+0x5d9/0x620) from [<c007d705>] (vfs_ioctl+0x15/0x50) [<c007d705>] (vfs_ioctl+0x15/0x50) from [<c007db8d>] (do_vfs_ioctl+0x3a1/0x3c8) [<c007db8d>] (do_vfs_ioctl+0x3a1/0x3c8) from [<c007dbd7>] (sys_ioctl+0x23/0x34) [<c007dbd7>] (sys_ioctl+0x23/0x34) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --22 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --21 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --20 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --19 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --18 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --17 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --16 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --15 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --14 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --13 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --12 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --11 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --10 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --9 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --8 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --7 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) [<c007f44d>] (__shrink_dcache_sb+0x191/0x1f4) from [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) [<c007f5e1>] (shrink_dcache_parent+0x25/0xb0) from [<c009d8f9>] (proc_flush_task+0x79/0x19c) [<c009d8f9>] (proc_flush_task+0x79/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --6 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c009b20d>] (proc_delete_inode+0x19/0x34) [<c009b20d>] (proc_delete_inode+0x19/0x34) from [<c0081843>] (generic_delete_inode+0x67/0xc4) [<c0081843>] (generic_delete_inode+0x67/0xc4) from [<c0080e6b>] (iput+0x3f/0x4c) [<c0080e6b>] (iput+0x3f/0x4c) from [<c007f205>] (dentry_iput+0x75/0x88) [<c007f205>] (dentry_iput+0x75/0x88) from [<c007f29d>] (d_kill+0x21/0x40) [<c007f29d>] (d_kill+0x21/0x40) from [<c0080609>] (dput+0xd9/0xf0) [<c0080609>] (dput+0xd9/0xf0) from [<c009d937>] (proc_flush_task+0xb7/0x19c) [<c009d937>] (proc_flush_task+0xb7/0x19c) from [<c00386df>] (release_task+0x27/0x380) [<c00386df>] (release_task+0x27/0x380) from [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) [<c0038f35>] (wait_consider_task+0x4fd/0x7b8) from [<c0039279>] (do_wait+0x89/0x1b0) [<c0039279>] (do_wait+0x89/0x1b0) from [<c0039413>] (sys_wait4+0x73/0x84) [<c0039413>] (sys_wait4+0x73/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --5 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c003941b>] (sys_wait4+0x7b/0x84) [<c003941b>] (sys_wait4+0x7b/0x84) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) XXXXX(1519) --4 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c0042a2d>] (delayed_put_pid+0x9/0xc) [<c0042a2d>] (delayed_put_pid+0x9/0xc) from [<c0056ecb>] (rcu_process_callbacks+0x43/0x50) [<c0056ecb>] (rcu_process_callbacks+0x43/0x50) from [<c003aae1>] (__do_softirq+0x75/0xe8) [<c003aae1>] (__do_softirq+0x75/0xe8) from [<c003ab91>] (irq_exit+0x3d/0x4c) [<c003ab91>] (irq_exit+0x3d/0x4c) from [<c002703d>] (_text+0x3d/0x50) [<c002703d>] (_text+0x3d/0x50) from [<c002774d>] (__irq_svc+0x4d/0xbc) Exception stack(0xc02eff78 to 0xc02effc0) ff60: 00000001 00000004 ff80: c02effa8 00249455 c02ee000 c0316f20 c0017c9c c02f2b98 70015e6c 411fc081 ffa0: 0000001f 00000000 c02ee040 c02effc0 c004c753 c0028c0e 00000033 ffffffff [<c002774d>] (__irq_svc+0x4d/0xbc) from [<c0028c0e>] (default_idle+0x1e/0x20) [<c0028c0e>] (default_idle+0x1e/0x20) from [<c0028f6b>] (cpu_idle+0x33/0x7c) [<c0028f6b>] (cpu_idle+0x33/0x7c) from [<c01f9a19>] (rest_init+0x51/0x64) [<c01f9a19>] (rest_init+0x51/0x64) from [<c000881d>] (start_kernel+0x1b5/0x1f8) [<c000881d>] (start_kernel+0x1b5/0x1f8) from [<7000803b>] (0x7000803b) XXXXX(1519) --3 [<c002c031>] (unwind_backtrace+0x1/0x80) from [<c01fc323>] (dump_stack+0xb/0xc) [<c01fc323>] (dump_stack+0xb/0xc) from [<c00429f5>] (put_pid+0x19/0x48) [<c00429f5>] (put_pid+0x19/0x48) from [<c012a8c9>] (vt_ioctl+0xbb5/0x131c) [<c012a8c9>] (vt_ioctl+0xbb5/0x131c) from [<c0124d65>] (tty_ioctl+0x5d9/0x620) [<c0124d65>] (tty_ioctl+0x5d9/0x620) from [<c007d705>] (vfs_ioctl+0x15/0x50) [<c007d705>] (vfs_ioctl+0x15/0x50) from [<c007db8d>] (do_vfs_ioctl+0x3a1/0x3c8) [<c007db8d>] (do_vfs_ioctl+0x3a1/0x3c8) from [<c007dbd7>] (sys_ioctl+0x23/0x34) [<c007dbd7>] (sys_ioctl+0x23/0x34) from [<c0027c41>] (ret_fast_syscall+0x1/0x40) 10:~# echo scan > /sys/kernel/debug/kmemleak kmemleak: 1 new suspected memory leaks (see /sys/kernel/debug/kmemleak) 10:~# cat /sys/kernel/debug/kmemleak unreferenced object 0xdfa30de0 (size 48): comm "gdm", pid 1419, jiffies 53918 hex dump (first 32 bytes): 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 04 24 36 de 25 2a 04 c0 .........$6.%*.. backtrace: [<c00737c3>] __save_stack_trace+0x17/0x1c [<c0073895>] create_object+0xcd/0x188 [<c01f9dfb>] kmemleak_alloc+0x1b/0x3c [<c007242d>] kmem_cache_alloc+0xa5/0xb4 [<c0042a6d>] alloc_pid+0x11/0x22c [<c0036685>] copy_process+0x831/0xc90 [<c0036bcf>] do_fork+0xeb/0x228 [<c002a4a5>] sys_clone+0x1d/0x20 [<c0027c41>] ret_fast_syscall+0x1/0x40 [<ffffffff>] 0xffffffff 10:~# -- Catalin ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Possible memory leak via alloc_pid() 2009-07-31 10:16 ` Catalin Marinas @ 2009-08-02 21:35 ` Oleg Nesterov 2009-08-03 1:44 ` Eric W. Biederman 2009-09-11 11:35 ` Catalin Marinas 0 siblings, 2 replies; 11+ messages in thread From: Oleg Nesterov @ 2009-08-02 21:35 UTC (permalink / raw) To: Catalin Marinas Cc: Andrew Morton, linux-kernel, Eric W. Biederman, Sukadev Bhattiprolu, Serge E. Hallyn On 07/31, Catalin Marinas wrote: > > On Thu, 2009-07-30 at 23:29 +0200, Oleg Nesterov wrote: > > > > Since you can reproduce the problem easily, perhaps you can use the > > hack above to track get/put ? > > > > $ echo pid_of_Xorg > /proc/sys/kernel/xxx > > Below is the minicom capture. By the time Xorg dies, the count is 2. Thanks a lot Catalin. > When logging out, there are two counter incrementing events via > sys_wait4 and sys_ioctl, thoush I'm not sure whether they are > unbalanced. wait4() is right, ioctl() looks fine too. > pgrep Xorg > 1519 > 10:~# pgrep Xorg > /proc/sys/kernel/xxx > XXXXX(1519) ==22 Unfortunately there is nothing which looks like a leak. I gueess it is too late to start the tracking. I'm afraid this won't really help too, but since nobody has a better idea for now, perhaps you can do another test? Pleas rename Xorg to Xorg.origin, and make a simple Xorg script which does something like #!/bin/sh echo $$ >> /proc/sys/kernel/xxx exec /path/to/Xorg.origin $* perhaps even this is too late, gdm can do a lot before execing. Please avoid pgrep/ps/etc, proc adds a lot of noise. Better yet, it would be nice to start/stop Xorg with /proc unmounted, but I don't know is this can work without /proc. Oleg. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Possible memory leak via alloc_pid() 2009-08-02 21:35 ` Oleg Nesterov @ 2009-08-03 1:44 ` Eric W. Biederman 2009-08-10 16:55 ` Catalin Marinas 2009-09-11 11:35 ` Catalin Marinas 1 sibling, 1 reply; 11+ messages in thread From: Eric W. Biederman @ 2009-08-03 1:44 UTC (permalink / raw) To: Oleg Nesterov Cc: Catalin Marinas, Andrew Morton, linux-kernel, Sukadev Bhattiprolu, Serge E. Hallyn Oleg Nesterov <oleg@redhat.com> writes: > On 07/31, Catalin Marinas wrote: >> >> On Thu, 2009-07-30 at 23:29 +0200, Oleg Nesterov wrote: >> > >> > Since you can reproduce the problem easily, perhaps you can use the >> > hack above to track get/put ? >> > >> > $ echo pid_of_Xorg > /proc/sys/kernel/xxx >> >> Below is the minicom capture. By the time Xorg dies, the count is 2. > > Thanks a lot Catalin. > >> When logging out, there are two counter incrementing events via >> sys_wait4 and sys_ioctl, thoush I'm not sure whether they are >> unbalanced. > > wait4() is right, ioctl() looks fine too. > >> pgrep Xorg >> 1519 >> 10:~# pgrep Xorg > /proc/sys/kernel/xxx >> XXXXX(1519) ==22 > > Unfortunately there is nothing which looks like a leak. I gueess it is > too late to start the tracking. > > I'm afraid this won't really help too, but since nobody has a better > idea for now, perhaps you can do another test? > > Pleas rename Xorg to Xorg.origin, and make a simple Xorg script which > does something like > > #!/bin/sh > > echo $$ >> /proc/sys/kernel/xxx > exec /path/to/Xorg.origin $* > > perhaps even this is too late, gdm can do a lot before execing. > > Please avoid pgrep/ps/etc, proc adds a lot of noise. Better yet, it > would be nice to start/stop Xorg with /proc unmounted, but I don't > know is this can work without /proc. Hmm. I'm starting to wonder if kmemleak is right. I don't know how it works but something about the way pids are used might be confusing it. Eric ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Possible memory leak via alloc_pid() 2009-08-03 1:44 ` Eric W. Biederman @ 2009-08-10 16:55 ` Catalin Marinas 2009-08-10 19:21 ` Eric W. Biederman 0 siblings, 1 reply; 11+ messages in thread From: Catalin Marinas @ 2009-08-10 16:55 UTC (permalink / raw) To: Eric W. Biederman Cc: Oleg Nesterov, Andrew Morton, linux-kernel, Sukadev Bhattiprolu, Serge E. Hallyn On Sun, 2009-08-02 at 18:44 -0700, Eric W. Biederman wrote: > Hmm. I'm starting to wonder if kmemleak is right. I don't know how > it works but something about the way pids are used might be confusing it. It could as well be a false positive but I can't find its source. Basically, the pid structure for the dead Xorg is still allocated minutes after Xorg died with a pid->count of 2. Kmemleak scans the data and bss sections, task stacks and most of the allocated objects (which are not reported as leaks) but cannot find a pointer to this pid structure (or anywhere inside it like pid->number.pid_chain). The supposedly leaked pid structure also have pid_chain.pprev == LIST_POISON2 which means that it was already removed from the pid_hash (this block of memory is scanned by kmemleak anyway). The free_pid() function was also called on this object according to the pid->rcu values but put_pid() couldn't free it because of pid->count. If this structure in not on pid_hash, is there any other place where its pointer may be stored for a long time? Otherwise it looks like a real leak (though not a big one). I'll do more tests in the next few days as suggested by Oleg. -- Catalin ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Possible memory leak via alloc_pid() 2009-08-10 16:55 ` Catalin Marinas @ 2009-08-10 19:21 ` Eric W. Biederman 0 siblings, 0 replies; 11+ messages in thread From: Eric W. Biederman @ 2009-08-10 19:21 UTC (permalink / raw) To: Catalin Marinas Cc: Oleg Nesterov, Andrew Morton, linux-kernel, Sukadev Bhattiprolu, Serge E. Hallyn Catalin Marinas <catalin.marinas@arm.com> writes: > On Sun, 2009-08-02 at 18:44 -0700, Eric W. Biederman wrote: >> Hmm. I'm starting to wonder if kmemleak is right. I don't know how >> it works but something about the way pids are used might be confusing it. > > It could as well be a false positive but I can't find its source. > > Basically, the pid structure for the dead Xorg is still allocated > minutes after Xorg died with a pid->count of 2. Kmemleak scans the data > and bss sections, task stacks and most of the allocated objects (which > are not reported as leaks) but cannot find a pointer to this pid > structure (or anywhere inside it like pid->number.pid_chain). > > The supposedly leaked pid structure also have pid_chain.pprev == > LIST_POISON2 which means that it was already removed from the pid_hash > (this block of memory is scanned by kmemleak anyway). > > The free_pid() function was also called on this object according to the > pid->rcu values but put_pid() couldn't free it because of pid->count. > > If this structure in not on pid_hash, is there any other place where its > pointer may be stored for a long time? Otherwise it looks like a real > leak (though not a big one). It depends on how it is used. Pids not on the pid_hash are perfectly fine. We use these kinds of long standing pid references to prevent any chance that pid rollover would be a problem. There are corner cases in the SIGIO path and a few other places where we have these kind of long standing pid references. Perhaps it comes from the tty switching code? > I'll do more tests in the next few days as suggested by Oleg. Thanks, and thanks for spotting into and looking into this. Eric ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Possible memory leak via alloc_pid() 2009-08-02 21:35 ` Oleg Nesterov 2009-08-03 1:44 ` Eric W. Biederman @ 2009-09-11 11:35 ` Catalin Marinas 1 sibling, 0 replies; 11+ messages in thread From: Catalin Marinas @ 2009-09-11 11:35 UTC (permalink / raw) To: Oleg Nesterov Cc: Andrew Morton, linux-kernel, Eric W. Biederman, Sukadev Bhattiprolu, Serge E. Hallyn Hi Oleg, Sorry for the long delay with this investigation, I got distracted to other tasks. Oleg Nesterov <oleg@redhat.com> wrote: > Pleas rename Xorg to Xorg.origin, and make a simple Xorg script which > does something like > > #!/bin/sh > > echo $$ >> /proc/sys/kernel/xxx > exec /path/to/Xorg.origin $* > > perhaps even this is too late, gdm can do a lot before execing. I did this change and I copied the output below. The refcount log starts at 12 but when the task exits, it is 2, hence the suspected leak. I also ran a dummy script (i.e. without the exec line above) and the refcount also starts at 12 but finishes at 0 (no leak). I think this suspected leak is something specific to what the X server does. XXXXX(1333) ==12 XXXXX(1333) ++12 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c0171844>] (__proc_set_tty+0x60/0x12c) [<c0171844>] (__proc_set_tty+0x60/0x12c) from [<c017437c>] (tty_open+0x39c/0x444) [<c017437c>] (tty_open+0x39c/0x444) from [<c00a2308>] (chrdev_open+0x178/0x198) [<c00a2308>] (chrdev_open+0x178/0x198) from [<c009dbcc>] (__dentry_open+0x14c/0x268) [<c009dbcc>] (__dentry_open+0x14c/0x268) from [<c009ddb0>] (nameidata_to_filp+0x44/0x58) [<c009ddb0>] (nameidata_to_filp+0x44/0x58) from [<c00aaa14>] (do_filp_open+0x408/0x820) [<c00aaa14>] (do_filp_open+0x408/0x820) from [<c009d9a0>] (do_sys_open+0x58/0x10c) [<c009d9a0>] (do_sys_open+0x58/0x10c) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) ++13 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c0171898>] (__proc_set_tty+0xb4/0x12c) [<c0171898>] (__proc_set_tty+0xb4/0x12c) from [<c017437c>] (tty_open+0x39c/0x444) [<c017437c>] (tty_open+0x39c/0x444) from [<c00a2308>] (chrdev_open+0x178/0x198) [<c00a2308>] (chrdev_open+0x178/0x198) from [<c009dbcc>] (__dentry_open+0x14c/0x268) [<c009dbcc>] (__dentry_open+0x14c/0x268) from [<c009ddb0>] (nameidata_to_filp+0x44/0x58) [<c009ddb0>] (nameidata_to_filp+0x44/0x58) from [<c00aaa14>] (do_filp_open+0x408/0x820) [<c00aaa14>] (do_filp_open+0x408/0x820) from [<c009d9a0>] (do_sys_open+0x58/0x10c) [<c009d9a0>] (do_sys_open+0x58/0x10c) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) ++14 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c017b8ac>] (vt_ioctl+0x1168/0x1c0c) [<c017b8ac>] (vt_ioctl+0x1168/0x1c0c) from [<c017385c>] (tty_ioctl+0x880/0x920) [<c017385c>] (tty_ioctl+0x880/0x920) from [<c00abc50>] (vfs_ioctl+0x2c/0x8c) [<c00abc50>] (vfs_ioctl+0x2c/0x8c) from [<c00ac2fc>] (do_vfs_ioctl+0x554/0x5b0) [<c00ac2fc>] (do_vfs_ioctl+0x554/0x5b0) from [<c00ac38c>] (sys_ioctl+0x34/0x54) [<c00ac38c>] (sys_ioctl+0x34/0x54) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) ++15 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c00ab42c>] (f_modown+0x60/0xcc) [<c00ab42c>] (f_modown+0x60/0xcc) from [<c00ab4b0>] (__f_setown+0x8/0x10) [<c00ab4b0>] (__f_setown+0x8/0x10) from [<c00ab8a4>] (sys_fcntl64+0x70/0x84) [<c00ab8a4>] (sys_fcntl64+0x70/0x84) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) ++16 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ace0>] (get_task_pid+0x40/0x60) [<c005ace0>] (get_task_pid+0x40/0x60) from [<c00d8898>] (proc_pid_make_inode+0x50/0x9c) [<c00d8898>] (proc_pid_make_inode+0x50/0x9c) from [<c00dacf4>] (proc_pident_instantiate+0x18/0x98) [<c00dacf4>] (proc_pident_instantiate+0x18/0x98) from [<c00daf08>] (proc_pident_lookup+0x90/0xd0) [<c00daf08>] (proc_pident_lookup+0x90/0xd0) from [<c00a75f0>] (do_lookup+0xbc/0x180) [<c00a75f0>] (do_lookup+0xbc/0x180) from [<c00a93ec>] (__link_path_walk+0x9d8/0xed8) [<c00a93ec>] (__link_path_walk+0x9d8/0xed8) from [<c00a9aac>] (path_walk+0x44/0x8c) [<c00a9aac>] (path_walk+0x44/0x8c) from [<c00a9b80>] (do_path_lookup+0x24/0x4c) [<c00a9b80>] (do_path_lookup+0x24/0x4c) from [<c00aa6c4>] (do_filp_open+0xb8/0x820) [<c00aa6c4>] (do_filp_open+0xb8/0x820) from [<c009d9a0>] (do_sys_open+0x58/0x10c) [<c009d9a0>] (do_sys_open+0x58/0x10c) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) ++17 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ac80>] (find_get_pid+0x30/0x50) [<c005ac80>] (find_get_pid+0x30/0x50) from [<c004cae0>] (sys_wait4+0x70/0xb8) [<c004cae0>] (sys_wait4+0x70/0xb8) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --18 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c00a096c>] (__fput+0x140/0x1c8) [<c00a096c>] (__fput+0x140/0x1c8) from [<c009d7e4>] (filp_close+0x70/0x7c) [<c009d7e4>] (filp_close+0x70/0x7c) from [<c009d884>] (sys_close+0x94/0xe4) [<c009d884>] (sys_close+0x94/0xe4) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --17 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c017b87c>] (vt_ioctl+0x1138/0x1c0c) [<c017b87c>] (vt_ioctl+0x1138/0x1c0c) from [<c017385c>] (tty_ioctl+0x880/0x920) [<c017385c>] (tty_ioctl+0x880/0x920) from [<c00abc50>] (vfs_ioctl+0x2c/0x8c) [<c00abc50>] (vfs_ioctl+0x2c/0x8c) from [<c00ac2fc>] (do_vfs_ioctl+0x554/0x5b0) [<c00ac2fc>] (do_vfs_ioctl+0x554/0x5b0) from [<c00ac38c>] (sys_ioctl+0x34/0x54) [<c00ac38c>] (sys_ioctl+0x34/0x54) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) ++16 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c017b8ac>] (vt_ioctl+0x1168/0x1c0c) [<c017b8ac>] (vt_ioctl+0x1168/0x1c0c) from [<c017385c>] (tty_ioctl+0x880/0x920) [<c017385c>] (tty_ioctl+0x880/0x920) from [<c00abc50>] (vfs_ioctl+0x2c/0x8c) [<c00abc50>] (vfs_ioctl+0x2c/0x8c) from [<c00ac2fc>] (do_vfs_ioctl+0x554/0x5b0) [<c00ac2fc>] (do_vfs_ioctl+0x554/0x5b0) from [<c00ac38c>] (sys_ioctl+0x34/0x54) [<c00ac38c>] (sys_ioctl+0x34/0x54) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --17 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) from [<c00b241c>] (generic_delete_inode+0xac/0x150) [<c00b241c>] (generic_delete_inode+0xac/0x150) from [<c00b1618>] (iput+0x64/0x78) [<c00b1618>] (iput+0x64/0x78) from [<c00ae854>] (d_kill+0x3c/0x64) [<c00ae854>] (d_kill+0x3c/0x64) from [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) from [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) from [<c00db418>] (proc_flush_task+0xa4/0x280) [<c00db418>] (proc_flush_task+0xa4/0x280) from [<c004bac8>] (release_task+0x40/0x3a4) [<c004bac8>] (release_task+0x40/0x3a4) from [<c004c32c>] (wait_consider_task+0x500/0x9c0) [<c004c32c>] (wait_consider_task+0x500/0x9c0) from [<c004c8a8>] (do_wait+0xbc/0x284) [<c004c8a8>] (do_wait+0xbc/0x284) from [<c004cb10>] (sys_wait4+0xa0/0xb8) [<c004cb10>] (sys_wait4+0xa0/0xb8) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --16 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) from [<c00b241c>] (generic_delete_inode+0xac/0x150) [<c00b241c>] (generic_delete_inode+0xac/0x150) from [<c00b1618>] (iput+0x64/0x78) [<c00b1618>] (iput+0x64/0x78) from [<c00ae854>] (d_kill+0x3c/0x64) [<c00ae854>] (d_kill+0x3c/0x64) from [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) from [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) from [<c00db418>] (proc_flush_task+0xa4/0x280) [<c00db418>] (proc_flush_task+0xa4/0x280) from [<c004bac8>] (release_task+0x40/0x3a4) [<c004bac8>] (release_task+0x40/0x3a4) from [<c004c32c>] (wait_consider_task+0x500/0x9c0) [<c004c32c>] (wait_consider_task+0x500/0x9c0) from [<c004c8a8>] (do_wait+0xbc/0x284) [<c004c8a8>] (do_wait+0xbc/0x284) from [<c004cb10>] (sys_wait4+0xa0/0xb8) [<c004cb10>] (sys_wait4+0xa0/0xb8) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --15 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) from [<c00b241c>] (generic_delete_inode+0xac/0x150) [<c00b241c>] (generic_delete_inode+0xac/0x150) from [<c00b1618>] (iput+0x64/0x78) [<c00b1618>] (iput+0x64/0x78) from [<c00ae854>] (d_kill+0x3c/0x64) [<c00ae854>] (d_kill+0x3c/0x64) from [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) from [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) from [<c00db418>] (proc_flush_task+0xa4/0x280) [<c00db418>] (proc_flush_task+0xa4/0x280) from [<c004bac8>] (release_task+0x40/0x3a4) [<c004bac8>] (release_task+0x40/0x3a4) from [<c004c32c>] (wait_consider_task+0x500/0x9c0) [<c004c32c>] (wait_consider_task+0x500/0x9c0) from [<c004c8a8>] (do_wait+0xbc/0x284) [<c004c8a8>] (do_wait+0xbc/0x284) from [<c004cb10>] (sys_wait4+0xa0/0xb8) [<c004cb10>] (sys_wait4+0xa0/0xb8) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --14 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) from [<c00b241c>] (generic_delete_inode+0xac/0x150) [<c00b241c>] (generic_delete_inode+0xac/0x150) from [<c00b1618>] (iput+0x64/0x78) [<c00b1618>] (iput+0x64/0x78) from [<c00ae854>] (d_kill+0x3c/0x64) [<c00ae854>] (d_kill+0x3c/0x64) from [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) from [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) from [<c00db418>] (proc_flush_task+0xa4/0x280) [<c00db418>] (proc_flush_task+0xa4/0x280) from [<c004bac8>] (release_task+0x40/0x3a4) [<c004bac8>] (release_task+0x40/0x3a4) from [<c004c32c>] (wait_consider_task+0x500/0x9c0) [<c004c32c>] (wait_consider_task+0x500/0x9c0) from [<c004c8a8>] (do_wait+0xbc/0x284) [<c004c8a8>] (do_wait+0xbc/0x284) from [<c004cb10>] (sys_wait4+0xa0/0xb8) [<c004cb10>] (sys_wait4+0xa0/0xb8) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --13 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) from [<c00b241c>] (generic_delete_inode+0xac/0x150) [<c00b241c>] (generic_delete_inode+0xac/0x150) from [<c00b1618>] (iput+0x64/0x78) [<c00b1618>] (iput+0x64/0x78) from [<c00ae854>] (d_kill+0x3c/0x64) [<c00ae854>] (d_kill+0x3c/0x64) from [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) from [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) from [<c00db418>] (proc_flush_task+0xa4/0x280) [<c00db418>] (proc_flush_task+0xa4/0x280) from [<c004bac8>] (release_task+0x40/0x3a4) [<c004bac8>] (release_task+0x40/0x3a4) from [<c004c32c>] (wait_consider_task+0x500/0x9c0) [<c004c32c>] (wait_consider_task+0x500/0x9c0) from [<c004c8a8>] (do_wait+0xbc/0x284) [<c004c8a8>] (do_wait+0xbc/0x284) from [<c004cb10>] (sys_wait4+0xa0/0xb8) [<c004cb10>] (sys_wait4+0xa0/0xb8) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --12 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) from [<c00b241c>] (generic_delete_inode+0xac/0x150) [<c00b241c>] (generic_delete_inode+0xac/0x150) from [<c00b1618>] (iput+0x64/0x78) [<c00b1618>] (iput+0x64/0x78) from [<c00ae854>] (d_kill+0x3c/0x64) [<c00ae854>] (d_kill+0x3c/0x64) from [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) from [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) from [<c00db418>] (proc_flush_task+0xa4/0x280) [<c00db418>] (proc_flush_task+0xa4/0x280) from [<c004bac8>] (release_task+0x40/0x3a4) [<c004bac8>] (release_task+0x40/0x3a4) from [<c004c32c>] (wait_consider_task+0x500/0x9c0) [<c004c32c>] (wait_consider_task+0x500/0x9c0) from [<c004c8a8>] (do_wait+0xbc/0x284) [<c004c8a8>] (do_wait+0xbc/0x284) from [<c004cb10>] (sys_wait4+0xa0/0xb8) [<c004cb10>] (sys_wait4+0xa0/0xb8) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --11 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) from [<c00b241c>] (generic_delete_inode+0xac/0x150) [<c00b241c>] (generic_delete_inode+0xac/0x150) from [<c00b1618>] (iput+0x64/0x78) [<c00b1618>] (iput+0x64/0x78) from [<c00ae854>] (d_kill+0x3c/0x64) [<c00ae854>] (d_kill+0x3c/0x64) from [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) from [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) from [<c00db418>] (proc_flush_task+0xa4/0x280) [<c00db418>] (proc_flush_task+0xa4/0x280) from [<c004bac8>] (release_task+0x40/0x3a4) [<c004bac8>] (release_task+0x40/0x3a4) from [<c004c32c>] (wait_consider_task+0x500/0x9c0) [<c004c32c>] (wait_consider_task+0x500/0x9c0) from [<c004c8a8>] (do_wait+0xbc/0x284) [<c004c8a8>] (do_wait+0xbc/0x284) from [<c004cb10>] (sys_wait4+0xa0/0xb8) [<c004cb10>] (sys_wait4+0xa0/0xb8) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --10 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) from [<c00b241c>] (generic_delete_inode+0xac/0x150) [<c00b241c>] (generic_delete_inode+0xac/0x150) from [<c00b1618>] (iput+0x64/0x78) [<c00b1618>] (iput+0x64/0x78) from [<c00ae854>] (d_kill+0x3c/0x64) [<c00ae854>] (d_kill+0x3c/0x64) from [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) from [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) from [<c00db418>] (proc_flush_task+0xa4/0x280) [<c00db418>] (proc_flush_task+0xa4/0x280) from [<c004bac8>] (release_task+0x40/0x3a4) [<c004bac8>] (release_task+0x40/0x3a4) from [<c004c32c>] (wait_consider_task+0x500/0x9c0) [<c004c32c>] (wait_consider_task+0x500/0x9c0) from [<c004c8a8>] (do_wait+0xbc/0x284) [<c004c8a8>] (do_wait+0xbc/0x284) from [<c004cb10>] (sys_wait4+0xa0/0xb8) [<c004cb10>] (sys_wait4+0xa0/0xb8) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --9 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) from [<c00b241c>] (generic_delete_inode+0xac/0x150) [<c00b241c>] (generic_delete_inode+0xac/0x150) from [<c00b1618>] (iput+0x64/0x78) [<c00b1618>] (iput+0x64/0x78) from [<c00ae854>] (d_kill+0x3c/0x64) [<c00ae854>] (d_kill+0x3c/0x64) from [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) from [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) from [<c00db418>] (proc_flush_task+0xa4/0x280) [<c00db418>] (proc_flush_task+0xa4/0x280) from [<c004bac8>] (release_task+0x40/0x3a4) [<c004bac8>] (release_task+0x40/0x3a4) from [<c004c32c>] (wait_consider_task+0x500/0x9c0) [<c004c32c>] (wait_consider_task+0x500/0x9c0) from [<c004c8a8>] (do_wait+0xbc/0x284) [<c004c8a8>] (do_wait+0xbc/0x284) from [<c004cb10>] (sys_wait4+0xa0/0xb8) [<c004cb10>] (sys_wait4+0xa0/0xb8) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --8 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) from [<c00b241c>] (generic_delete_inode+0xac/0x150) [<c00b241c>] (generic_delete_inode+0xac/0x150) from [<c00b1618>] (iput+0x64/0x78) [<c00b1618>] (iput+0x64/0x78) from [<c00ae854>] (d_kill+0x3c/0x64) [<c00ae854>] (d_kill+0x3c/0x64) from [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) from [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) from [<c00db418>] (proc_flush_task+0xa4/0x280) [<c00db418>] (proc_flush_task+0xa4/0x280) from [<c004bac8>] (release_task+0x40/0x3a4) [<c004bac8>] (release_task+0x40/0x3a4) from [<c004c32c>] (wait_consider_task+0x500/0x9c0) [<c004c32c>] (wait_consider_task+0x500/0x9c0) from [<c004c8a8>] (do_wait+0xbc/0x284) [<c004c8a8>] (do_wait+0xbc/0x284) from [<c004cb10>] (sys_wait4+0xa0/0xb8) [<c004cb10>] (sys_wait4+0xa0/0xb8) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --7 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) from [<c00b241c>] (generic_delete_inode+0xac/0x150) [<c00b241c>] (generic_delete_inode+0xac/0x150) from [<c00b1618>] (iput+0x64/0x78) [<c00b1618>] (iput+0x64/0x78) from [<c00ae854>] (d_kill+0x3c/0x64) [<c00ae854>] (d_kill+0x3c/0x64) from [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) [<c00aeb00>] (__shrink_dcache_sb+0x284/0x324) from [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) [<c00aed9c>] (shrink_dcache_parent+0x2c/0x114) from [<c00db418>] (proc_flush_task+0xa4/0x280) [<c00db418>] (proc_flush_task+0xa4/0x280) from [<c004bac8>] (release_task+0x40/0x3a4) [<c004bac8>] (release_task+0x40/0x3a4) from [<c004c32c>] (wait_consider_task+0x500/0x9c0) [<c004c32c>] (wait_consider_task+0x500/0x9c0) from [<c004c8a8>] (do_wait+0xbc/0x284) [<c004c8a8>] (do_wait+0xbc/0x284) from [<c004cb10>] (sys_wait4+0xa0/0xb8) [<c004cb10>] (sys_wait4+0xa0/0xb8) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --6 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) [<c00d7dd8>] (proc_delete_inode+0x20/0x4c) from [<c00b241c>] (generic_delete_inode+0xac/0x150) [<c00b241c>] (generic_delete_inode+0xac/0x150) from [<c00b1618>] (iput+0x64/0x78) [<c00b1618>] (iput+0x64/0x78) from [<c00ae854>] (d_kill+0x3c/0x64) [<c00ae854>] (d_kill+0x3c/0x64) from [<c00af160>] (dput+0x190/0x1ac) [<c00af160>] (dput+0x190/0x1ac) from [<c00db48c>] (proc_flush_task+0x118/0x280) [<c00db48c>] (proc_flush_task+0x118/0x280) from [<c004bac8>] (release_task+0x40/0x3a4) [<c004bac8>] (release_task+0x40/0x3a4) from [<c004c32c>] (wait_consider_task+0x500/0x9c0) [<c004c32c>] (wait_consider_task+0x500/0x9c0) from [<c004c8a8>] (do_wait+0xbc/0x284) [<c004c8a8>] (do_wait+0xbc/0x284) from [<c004cb10>] (sys_wait4+0xa0/0xb8) [<c004cb10>] (sys_wait4+0xa0/0xb8) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --5 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c004cb1c>] (sys_wait4+0xac/0xb8) [<c004cb1c>] (sys_wait4+0xac/0xb8) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) XXXXX(1333) --4 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c0078dd8>] (__rcu_process_callbacks+0x1b4/0x244) [<c0078dd8>] (__rcu_process_callbacks+0x1b4/0x244) from [<c0078ea4>] (rcu_process_callbacks+0x3c/0x68) [<c0078ea4>] (rcu_process_callbacks+0x3c/0x68) from [<c004edf8>] (__do_softirq+0x8c/0x11c) [<c004edf8>] (__do_softirq+0x8c/0x11c) from [<c002e3dc>] (do_local_timer+0x50/0x80) [<c002e3dc>] (do_local_timer+0x50/0x80) from [<c002ebd8>] (__irq_svc+0x38/0xc0) Exception stack(0xc0389f70 to 0xc0389fb8) 9f60: 00000000 00000000 c0389fb8 00000000 9f80: c0388000 c07e8000 007cf000 00000004 c03af048 410fb020 c03a9c40 00000000 9fa0: 00000001 c0389fb8 c00301f4 c00301f8 60000013 ffffffff [<c002ebd8>] (__irq_svc+0x38/0xc0) from [<c00301f8>] (default_idle+0x24/0x28) [<c00301f8>] (default_idle+0x24/0x28) from [<c00306f8>] (cpu_idle+0x84/0xd8) [<c00306f8>] (cpu_idle+0x84/0xd8) from [<c0008cb4>] (start_kernel+0x2d4/0x330) [<c0008cb4>] (start_kernel+0x2d4/0x330) from [<70008080>] (0x70008080) XXXXX(1333) --3 [<c0035964>] (unwind_backtrace+0x0/0xdc) from [<c005ad2c>] (put_pid+0x2c/0x80) [<c005ad2c>] (put_pid+0x2c/0x80) from [<c017b87c>] (vt_ioctl+0x1138/0x1c0c) [<c017b87c>] (vt_ioctl+0x1138/0x1c0c) from [<c017385c>] (tty_ioctl+0x880/0x920) [<c017385c>] (tty_ioctl+0x880/0x920) from [<c00abc50>] (vfs_ioctl+0x2c/0x8c) [<c00abc50>] (vfs_ioctl+0x2c/0x8c) from [<c00ac2fc>] (do_vfs_ioctl+0x554/0x5b0) [<c00ac2fc>] (do_vfs_ioctl+0x554/0x5b0) from [<c00ac38c>] (sys_ioctl+0x34/0x54) [<c00ac38c>] (sys_ioctl+0x34/0x54) from [<c002efc0>] (ret_fast_syscall+0x0/0x28) 10:~# echo scan > /sys/kernel/debug/kmemleak kmemleak: 1 new suspected memory leaks (see /sys/kernel/debug/kmemleak) 10:~# cat /sys/kernel/debug/kmemleak unreferenced object 0xdb58c700 (size 64): comm "gdm", pid 1331, jiffies 19732 hex dump (first 32 bytes): 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 14 16 e6 de 80 ad 05 c0 ................ backtrace: [<c009d44c>] create_object+0x104/0x20c [<c009accc>] kmem_cache_alloc+0xc0/0xcc [<c005addc>] alloc_pid+0x18/0x358 [<c00488b4>] copy_process+0x8a4/0xf00 [<c0049074>] do_fork+0x164/0x2a8 [<c002efc0>] ret_fast_syscall+0x0/0x28 [<ffffffff>] 0xffffffff Thanks. -- Catalin ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2009-09-11 11:35 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-07-08 21:33 Possible memory leak via alloc_pid() Catalin Marinas 2009-07-30 0:03 ` Andrew Morton 2009-07-30 0:36 ` Serge E. Hallyn 2009-07-30 9:16 ` Catalin Marinas 2009-07-30 21:29 ` Oleg Nesterov 2009-07-31 10:16 ` Catalin Marinas 2009-08-02 21:35 ` Oleg Nesterov 2009-08-03 1:44 ` Eric W. Biederman 2009-08-10 16:55 ` Catalin Marinas 2009-08-10 19:21 ` Eric W. Biederman 2009-09-11 11:35 ` Catalin Marinas
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox