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]
Message-ID: <Pine.LNX.4.44L0.1302201541000.1671-100000@iolanthe.rowland.org>
Date:	Wed, 20 Feb 2013 15:48:43 -0500 (EST)
From:	Alan Stern <stern@...land.harvard.edu>
To:	"Eric W. Biederman" <ebiederm@...ssion.com>
cc:	Li Fei <fei.li@...el.com>, <pavel@....cz>, <rjw@...k.pl>,
	<len.brown@...el.com>, <mingo@...hat.com>, <peterz@...radead.org>,
	<akpm@...ux-foundation.org>, <viro@...iv.linux.org.uk>,
	<gorcunov@...nvz.org>, <rientjes@...gle.com>,
	<linux-kernel@...r.kernel.org>, <linux-pm@...r.kernel.org>,
	<chuansheng.liu@...el.com>, <biao.wang@...el.com>
Subject: Re: [PATCH] freezer: configure user space process frozen along with
 kernel threads

On Wed, 20 Feb 2013, Eric W. Biederman wrote:

> >> Why can't the fuse filesystem freeze when there are requests pending?
> >
> > It _can_ freeze (that is, the fuse daemon can).  The problem is that
> > tasks _using_ the fuse filsystem can't if the daemon doesn't respond. 
> 
> Which is what I meant when I said that the fuse filesystem couldn't
> freeze.

Oh, okay.  But it's no different from any other filesystem in that
respect.  Processes generally can't be frozen while they are waiting
for filesystem I/O to complete.  In many cases they can't receive 
signals either (they are in an uninterruptible wait state).

> > These tasks are stuck in uninterruptible wait states deep in the
> > filesystem layer, probably holding important locks.  They can't be
> > frozen until the outstanding requests complete.
> 
> Why is it that processes that can be preempted can't be frozen?

There's a big difference between preemption and freezing: Preemption
is involuntary whereas freezing is voluntary.  It's like the difference
between preemptive and cooperative multitasking.

Processes can be frozen only by making explicit checks, and they 
mustn't be frozen while they are holding locks that would prevent other 
processes from reaching one of those checks.

> At most I would suggest that processes be frozen in reverse priority
> order.  Which unless there is a priority inversion should solve this
> problem without an additional proc file.

Do fuse daemons (and the processes they rely upon) run with elevated 
priority?

Alan Stern

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