[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130312203514.GA23488@redhat.com>
Date: Tue, 12 Mar 2013 21:35:14 +0100
From: Oleg Nesterov <oleg@...hat.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Andi Kleen <andi@...stfloor.org>,
Lucas De Marchi <lucas.de.marchi@...il.com>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Paul Mackerras <paulus@...ba.org>, david@...son.dropbear.id.au,
Kees Cook <keescook@...omium.org>,
Serge Hallyn <serge.hallyn@...onical.com>,
"Rafael J. Wysocki" <rjw@...k.pl>,
Andrew Morton <akpm@...ux-foundation.org>,
Feng Hong <hongfeng@...vell.com>,
Lucas De Marchi <lucas.demarchi@...fusion.mobi>
Subject: Re: Regression with orderly_poweroff()
On 03/12, Linus Torvalds wrote:
>
> So yeah, I guess
> everything could just go into a workqueue.
OK, I'll try to make the patch tomorrow. Should be trivial but it is
not clear how we should pass "bool force" without allocating the
work_struct which would be nice to avoid.
And I am a bit worried about UMH_WAIT_EXEC from system_wq. Should be
fine afaics...
And. It seems there is another problem. argv_split(poweroff_cmd) can
obviously race with proc_dostring() ? If nothing else, argv_split()
doesn't check 'argc' when it does "*argvp++ = t". And this is not
__orderly_poweroff-specific. This looks simple... and probably we can
even simplify argv_split/argv_free. We can simply kstrndup() the
original string once and do s/space/0/.
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