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, 05 May 2012 08:08:13 +0200
From:	Mike Galbraith <efault@....de>
To:	"Eric W. Biederman" <ebiederm@...ssion.com>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	Oleg Nesterov <oleg@...hat.com>,
	LKML <linux-kernel@...r.kernel.org>,
	Pavel Emelyanov <xemul@...allels.com>,
	Cyrill Gorcunov <gorcunov@...nvz.org>,
	Louis Rilling <louis.rilling@...labs.com>
Subject: Re: [PATCH]  Re: [RFC PATCH] namespaces: fix leak on fork() failure

On Sat, 2012-05-05 at 07:56 +0200, Mike Galbraith wrote: 
> On Fri, 2012-05-04 at 13:29 -0700, Eric W. Biederman wrote:
> 
> > Shrug.  I have skimmed through all of that code and I don't see anything
> > obvious.  I guess it would take a few more data points to figure out
> > where we are sleeping for a jiffy or two while we are reaping children.

egrep 'synchronize|rcu_barrier' /trace 

          vsftpd-7981  [003] ....   577.164997: synchronize_sched <-switch_task_namespaces
          vsftpd-7981  [003] ....   577.164998: _cond_resched <-synchronize_sched
          vsftpd-7981  [003] ....   577.164998: wait_rcu_gp <-synchronize_sched
          vsftpd-7982  [003] ....   577.166583: synchronize_sched <-switch_task_namespaces
          vsftpd-7982  [003] ....   577.166583: _cond_resched <-synchronize_sched
          vsftpd-7982  [003] ....   577.166584: wait_rcu_gp <-synchronize_sched
          vsftpd-7983  [003] ....   577.167128: synchronize_sched <-switch_task_namespaces
          vsftpd-7983  [003] ....   577.167129: _cond_resched <-synchronize_sched
          vsftpd-7983  [003] ....   577.167129: wait_rcu_gp <-synchronize_sched
          vsftpd-7980  [003] ....   577.167678: synchronize_sched <-switch_task_namespaces
          vsftpd-7980  [003] ....   577.167679: _cond_resched <-synchronize_sched
          vsftpd-7980  [003] ....   577.167679: wait_rcu_gp <-synchronize_sched
          vsftpd-7984  [003] ....   577.168232: synchronize_sched <-switch_task_namespaces
          vsftpd-7984  [003] ....   577.168232: _cond_resched <-synchronize_sched
          vsftpd-7984  [003] ....   577.168233: wait_rcu_gp <-synchronize_sched
          vsftpd-7979  [003] ....   577.168800: synchronize_sched <-switch_task_namespaces
          vsftpd-7979  [003] ....   577.168800: _cond_resched <-synchronize_sched
          vsftpd-7979  [003] ....   577.168801: wait_rcu_gp <-synchronize_sched
          vsftpd-7985  [003] ....   577.169373: synchronize_sched <-switch_task_namespaces
          vsftpd-7985  [003] ....   577.169373: _cond_resched <-synchronize_sched
          vsftpd-7985  [003] ....   577.169373: wait_rcu_gp <-synchronize_sched
          vsftpd-7986  [003] ....   577.169946: synchronize_sched <-switch_task_namespaces
          vsftpd-7986  [003] ....   577.169947: _cond_resched <-synchronize_sched
          vsftpd-7986  [003] ....   577.169947: wait_rcu_gp <-synchronize_sched
          vsftpd-7987  [003] ....   577.170519: synchronize_sched <-switch_task_namespaces
          vsftpd-7987  [003] ....   577.170519: _cond_resched <-synchronize_sched
          vsftpd-7987  [003] ....   577.170519: wait_rcu_gp <-synchronize_sched
          vsftpd-7978  [003] ....   577.171091: synchronize_sched <-switch_task_namespaces
          vsftpd-7978  [003] ....   577.171091: _cond_resched <-synchronize_sched
          vsftpd-7978  [003] ....   577.171091: wait_rcu_gp <-synchronize_sched
          vsftpd-7977  [003] ....   577.171519: rcu_barrier <-deactivate_locked_super
          vsftpd-7977  [003] ....   577.171519: rcu_barrier_sched <-rcu_barrier
          vsftpd-7977  [003] ....   577.171519: _rcu_barrier.isra.31 <-rcu_barrier_sched
          vsftpd-7977  [003] ....   577.171519: mutex_lock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.171520: __init_waitqueue_head <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.171520: on_each_cpu <-_rcu_barrier.isra.31
          vsftpd-7977  [003] d...   577.171532: rcu_barrier_func <-on_each_cpu
          vsftpd-7977  [003] d...   577.171532: call_rcu_sched <-rcu_barrier_func
          vsftpd-7977  [003] ....   577.171533: wait_for_completion <-_rcu_barrier.isra.31
     ksoftirqd/3-16    [003] ..s.   577.171691: rcu_barrier_callback <-__rcu_process_callbacks
          vsftpd-7977  [003] ....   577.176443: mutex_unlock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.176552: rcu_barrier <-deactivate_locked_super
          vsftpd-7977  [003] ....   577.176552: rcu_barrier_sched <-rcu_barrier
          vsftpd-7977  [003] ....   577.176553: _rcu_barrier.isra.31 <-rcu_barrier_sched
          vsftpd-7977  [003] ....   577.176553: mutex_lock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.176553: __init_waitqueue_head <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.176554: on_each_cpu <-_rcu_barrier.isra.31
          vsftpd-7977  [003] d...   577.176561: rcu_barrier_func <-on_each_cpu
          vsftpd-7977  [003] d...   577.176561: call_rcu_sched <-rcu_barrier_func
          vsftpd-7977  [003] ....   577.176562: wait_for_completion <-_rcu_barrier.isra.31
     ksoftirqd/3-16    [003] ..s.   577.176730: rcu_barrier_callback <-__rcu_process_callbacks
          vsftpd-7977  [003] ....   577.180448: mutex_unlock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.180553: rcu_barrier <-deactivate_locked_super
          vsftpd-7977  [003] ....   577.180553: rcu_barrier_sched <-rcu_barrier
          vsftpd-7977  [003] ....   577.180554: _rcu_barrier.isra.31 <-rcu_barrier_sched
          vsftpd-7977  [003] ....   577.180554: mutex_lock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.180555: __init_waitqueue_head <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.180555: on_each_cpu <-_rcu_barrier.isra.31
          vsftpd-7977  [003] d...   577.180561: rcu_barrier_func <-on_each_cpu
          vsftpd-7977  [003] d...   577.180562: call_rcu_sched <-rcu_barrier_func
          vsftpd-7977  [003] ....   577.180563: wait_for_completion <-_rcu_barrier.isra.31
     ksoftirqd/3-16    [003] ..s.   577.180767: rcu_barrier_callback <-__rcu_process_callbacks
          vsftpd-7977  [003] ....   577.184450: mutex_unlock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.184565: rcu_barrier <-deactivate_locked_super
          vsftpd-7977  [003] ....   577.184566: rcu_barrier_sched <-rcu_barrier
          vsftpd-7977  [003] ....   577.184566: _rcu_barrier.isra.31 <-rcu_barrier_sched
          vsftpd-7977  [003] ....   577.184566: mutex_lock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.184566: __init_waitqueue_head <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.184567: on_each_cpu <-_rcu_barrier.isra.31
          vsftpd-7977  [003] d...   577.184573: rcu_barrier_func <-on_each_cpu
          vsftpd-7977  [003] d...   577.184573: call_rcu_sched <-rcu_barrier_func
          vsftpd-7977  [003] ....   577.184573: wait_for_completion <-_rcu_barrier.isra.31
     ksoftirqd/3-16    [003] ..s.   577.184733: rcu_barrier_callback <-__rcu_process_callbacks
          vsftpd-7977  [003] ....   577.188430: mutex_unlock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.188536: rcu_barrier <-deactivate_locked_super
          vsftpd-7977  [003] ....   577.188536: rcu_barrier_sched <-rcu_barrier
          vsftpd-7977  [003] ....   577.188536: _rcu_barrier.isra.31 <-rcu_barrier_sched
          vsftpd-7977  [003] ....   577.188536: mutex_lock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.188537: __init_waitqueue_head <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.188537: on_each_cpu <-_rcu_barrier.isra.31
          vsftpd-7977  [003] d...   577.188555: rcu_barrier_func <-on_each_cpu
          vsftpd-7977  [003] d...   577.188555: call_rcu_sched <-rcu_barrier_func
          vsftpd-7977  [003] ....   577.188555: wait_for_completion <-_rcu_barrier.isra.31
     ksoftirqd/3-16    [003] ..s.   577.188715: rcu_barrier_callback <-__rcu_process_callbacks
          vsftpd-7977  [003] ....   577.192421: mutex_unlock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.192527: rcu_barrier <-deactivate_locked_super
          vsftpd-7977  [003] ....   577.192527: rcu_barrier_sched <-rcu_barrier
          vsftpd-7977  [003] ....   577.192527: _rcu_barrier.isra.31 <-rcu_barrier_sched
          vsftpd-7977  [003] ....   577.192527: mutex_lock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.192528: __init_waitqueue_head <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.192528: on_each_cpu <-_rcu_barrier.isra.31
          vsftpd-7977  [003] d...   577.192546: rcu_barrier_func <-on_each_cpu
          vsftpd-7977  [003] d...   577.192546: call_rcu_sched <-rcu_barrier_func
          vsftpd-7977  [003] ....   577.192547: wait_for_completion <-_rcu_barrier.isra.31
     ksoftirqd/3-16    [003] ..s.   577.192731: rcu_barrier_callback <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.192731: complete <-rcu_barrier_callback
          vsftpd-7977  [003] ....   577.192750: mutex_unlock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.192821: rcu_barrier <-deactivate_locked_super
          vsftpd-7977  [003] ....   577.192821: rcu_barrier_sched <-rcu_barrier
          vsftpd-7977  [003] ....   577.192821: _rcu_barrier.isra.31 <-rcu_barrier_sched
          vsftpd-7977  [003] ....   577.192821: mutex_lock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.192822: __init_waitqueue_head <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.192822: on_each_cpu <-_rcu_barrier.isra.31
          vsftpd-7977  [003] d...   577.192832: rcu_barrier_func <-on_each_cpu
          vsftpd-7977  [003] d...   577.192833: call_rcu_sched <-rcu_barrier_func
          vsftpd-7977  [003] ....   577.192833: wait_for_completion <-_rcu_barrier.isra.31
     ksoftirqd/3-16    [003] ..s.   577.196559: rcu_barrier_callback <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.196560: complete <-rcu_barrier_callback
          vsftpd-7977  [003] ....   577.196571: mutex_unlock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.196642: rcu_barrier <-deactivate_locked_super
          vsftpd-7977  [003] ....   577.196642: rcu_barrier_sched <-rcu_barrier
          vsftpd-7977  [003] ....   577.196642: _rcu_barrier.isra.31 <-rcu_barrier_sched
          vsftpd-7977  [003] ....   577.196642: mutex_lock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.196643: __init_waitqueue_head <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.196643: on_each_cpu <-_rcu_barrier.isra.31
          vsftpd-7977  [003] d...   577.196653: rcu_barrier_func <-on_each_cpu
          vsftpd-7977  [003] d...   577.196654: call_rcu_sched <-rcu_barrier_func
          vsftpd-7977  [003] ....   577.196654: wait_for_completion <-_rcu_barrier.isra.31
     ksoftirqd/3-16    [003] ..s.   577.200577: rcu_barrier_callback <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.200577: complete <-rcu_barrier_callback
          vsftpd-7977  [003] ....   577.200589: mutex_unlock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.200659: rcu_barrier <-deactivate_locked_super
          vsftpd-7977  [003] ....   577.200659: rcu_barrier_sched <-rcu_barrier
          vsftpd-7977  [003] ....   577.200659: _rcu_barrier.isra.31 <-rcu_barrier_sched
          vsftpd-7977  [003] ....   577.200659: mutex_lock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.200660: __init_waitqueue_head <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.200660: on_each_cpu <-_rcu_barrier.isra.31
          vsftpd-7977  [003] d...   577.200671: rcu_barrier_func <-on_each_cpu
          vsftpd-7977  [003] d...   577.200671: call_rcu_sched <-rcu_barrier_func
          vsftpd-7977  [003] ....   577.200672: wait_for_completion <-_rcu_barrier.isra.31
     ksoftirqd/3-16    [003] ..s.   577.204548: rcu_barrier_callback <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.204548: complete <-rcu_barrier_callback
          vsftpd-7977  [003] ....   577.204559: mutex_unlock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.204630: rcu_barrier <-deactivate_locked_super
          vsftpd-7977  [003] ....   577.204631: rcu_barrier_sched <-rcu_barrier
          vsftpd-7977  [003] ....   577.204631: _rcu_barrier.isra.31 <-rcu_barrier_sched
          vsftpd-7977  [003] ....   577.204631: mutex_lock <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.204631: __init_waitqueue_head <-_rcu_barrier.isra.31
          vsftpd-7977  [003] ....   577.204631: on_each_cpu <-_rcu_barrier.isra.31
          vsftpd-7977  [003] d...   577.204642: rcu_barrier_func <-on_each_cpu
          vsftpd-7977  [003] d...   577.204642: call_rcu_sched <-rcu_barrier_func
          vsftpd-7977  [003] ....   577.204643: wait_for_completion <-_rcu_barrier.isra.31
     ksoftirqd/3-16    [003] ..s.   577.208511: rcu_barrier_callback <-__rcu_process_callbacks
     ksoftirqd/3-16    [003] ..s.   577.208511: complete <-rcu_barrier_callback
          vsftpd-7977  [003] ....   577.208523: mutex_unlock <-_rcu_barrier.isra.31


--
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