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, 5 Jul 2014 22:49:18 +0200 (CEST)
From:	Jiri Kosina <jkosina@...e.cz>
To:	Tejun Heo <tj@...nel.org>,
	One Thousand Gnomes <gnomes@...rguk.ukuu.org.uk>
cc:	Jiri Slaby <jslaby@...e.cz>,
	Stephen Rothwell <sfr@...b.auug.org.au>,
	linux-kernel@...r.kernel.org, rostedt@...dmis.org,
	mingo@...hat.com, Andrew Morton <akpm@...ux-foundation.org>,
	andi@...stfloor.org, paulmck@...ux.vnet.ibm.com,
	Pavel Machek <pavel@....cz>, jirislaby@...il.com,
	Vojtech Pavlik <vojtech@...e.cz>, Michael Matz <matz@...e.de>
Subject: Re: kGraft to -next [was: 00/21 kGraft]

On Sat, 5 Jul 2014, Tejun Heo wrote:

> > What we need is to have a defined point in execution where we can draw a 
> > line between "old" and "new" universes. For processess that are crossing 
> > the userspace/kernelspace boundary, the obvious choice, that covers most 
> > of the use-cases, has been made. There are still scenarios where this 
> > aproach can't be just-blindly-applied(TM) for various reasons (changing 
> > lock order might cause deadlocks, there are cases where state is lingering 
> 
> Sure, if something breaks work due to semantic differences, there
> isn't anything we can do.
[ ... ]
> > The same holds for the kernel threads -- until all (or most of) the 
> > kthreads are converted to workqueues, the obivous choice, that should 
> > cover most of the use-cases, has been made.
> 
> But, this is different.  

Quite frankly, I have to say that I don't personally see *that* big 
difference. In both cases we are making assumptions about semantics, and 
are trying to get "as close as possible" to the point in time where the 
set of assumptions can be made as minimal as possible.

With userspace thread, this is kernel/userspace boundary. With kthread, 
this is starting of new iteration of the main loop / try_to_freeze().

We were not able to come up with anything better. Alan, you were 
stating "I don't see why it can't use the kernel freeze functionality?". 
What exactly was your suggestion, if not this, please?

> This is the mechanism itself being flaky and buggy.  This can make 
> things fail not because the patch itself is semantically wrong but 
> because the mechanism stopped the kernel at the wrong place.  

Well, to be precise, we are not "stopping" the kernel at all.

> If kthread can't be safely supported now, that's fine but then make it 
> clear that functions which may be executed by kthreads aren't supported.

So one of the aproaches implied by this would be first merging a light 
version of kGraft which doesn't support kthreads, and working towards a 
solution for kthreads as well (which might be tangential to kGraft; if 
most of the kthreads get converted to workqueues, it's a win-win 
situation anyway); would such kGraft-light get your Ack then? :)

Thanks,

-- 
Jiri Kosina
SUSE Labs
--
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