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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 24 Aug 2011 16:14:31 +0200
From:	Oleg Nesterov <oleg@...hat.com>
To:	Tejun Heo <tj@...nel.org>
Cc:	rjw@...k.pl, menage@...gle.com, linux-kernel@...r.kernel.org,
	arnd@...db.de
Subject: Re: [PATCH 06/16] freezer: make exiting tasks properly unfreezable

On 08/23, Tejun Heo wrote:
>
> Hello,
>
> On Tue, Aug 23, 2011 at 05:52:21PM +0200, Oleg Nesterov wrote:
> > > @@ -915,6 +913,12 @@ NORET_TYPE void do_exit(long code)
> > >
> > >  	ptrace_event(PTRACE_EVENT_EXIT, code);
> > >
> > > +	/*
> > > +	 * With ptrace notification done, there's no point in freezing from
> > > +	 * here on.  Disallow freezing.
> > > +	 */
> > > +	current->flags |= PF_NOFREEZE;
> >
> > OK, but what PF_NOFREEZE actually means?
> >
> > Apart from "dont try to freeze" it means "no need to freeze", yes?
>
> Yes.
>
> > IOW, try_to_freeze_tasks() can succeed even if we have a lot of
> > exitinig task which can make some activity, say, disk i/o. Is this
> > correct?
>
> Hmmm... can it cause disk IOs after that point?  I skimmed through and
> couldn't spot one

I am not sure. But, say, exit_files(). We can't know what f_op->flush()
f_op->release() can do in general. Even without i/o the exiting task can
do a lot of different things.

> (the original code made simliar assumption albeit a
> bit later).

Yes, and this looks "safer". I think exit_mm()->clear_freeze_flag() was
simply unneeded, but exit_state != 0 in freezable() looks understandable.
do_each_thread() (in general) can't see the threads with exit_state != 0
anyway, but we should skip zombies.


Let me repeat, I do not know what the callers of try_to_freeze_tasks()
actually need, probably this is fine.

Oleg.

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