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: <20150222084601.GA23491@gmail.com>
Date:	Sun, 22 Feb 2015 09:46:01 +0100
From:	Ingo Molnar <mingo@...nel.org>
To:	Jiri Kosina <jkosina@...e.cz>
Cc:	Vojtech Pavlik <vojtech@...e.com>,
	Josh Poimboeuf <jpoimboe@...hat.com>,
	Peter Zijlstra <peterz@...radead.org>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Ingo Molnar <mingo@...hat.com>,
	Seth Jennings <sjenning@...hat.com>,
	linux-kernel@...r.kernel.org,
	Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: live patching design (was: Re: [PATCH 1/3] sched: add
 sched_task_call())


* Jiri Kosina <jkosina@...e.cz> wrote:

> > > Or think of kernel that has some 3rd party vendor 
> > > module loaded, and this module spawning a ktrehad 
> > > that is not capable of parking itself.
> > 
> > The kernel will refuse to live patch until the module 
> > is fixed. It is a win by any measure.
> 
> Depends on your point of view. If you are an 
> administrator of the vulnerable system, you have no to 
> very little clue why patching your system is not possible 
> (and what you should to to have it fixed in the coming 
> days, before your system is taken down by attackers, for 
> example), and would be really sad to be forced to run 
> with unpatched system.

I don't see what precise argument you are making here. That 
we are unable to fix possible bugs in binary only modules? 
News at 11.

Or are you making the argument that we should design our 
core kernel capabilities to be deficient, just to 
accomodate hypothetical scenarios with buggy third party 
modules that create unparkable kernel threads? That would 
be a crazy proposition.

> > Why would __notrace__ functions be a problem in the 
> > 'simple' method? Live patching with this method will 
> > work even if ftrace is not built in, we can just patch 
> > out the function in the simplest possible fashion, 
> > because we do it atomically and don't have to worry 
> > about per task 'transition state' - like kGraft does.
> > 
> > It's a massive simplification and there's no need to 
> > rely on ftrace's mcount trick. (Sorry Steve!)
> 
> This would indeed be possible iff we take the "global 
> synchronizing point" aproach you are proposing. [...]

Yes.

> [...] Still technicalities to be solved (what happens if 
> you are patching that already has ftrace on it, etc), but 
> probably nothing principal.

Correct.

> > > So it's not black and white, it's really a rather 
> > > philosophical question where to draw the line (and 
> > > make sure that everyone is aware of where the line is 
> > > and what it means).
> > 
> > Out of the three examples you mentioned, two are 
> > actually an advantage to begin with - so I'd suggest 
> > you stop condescending me ...
> 
> Ugh, if you feel my e-mails like attempts to condescend 
> you, I am really surprised; I thought we are discussing 
> technical details. If you feel otherwise, we should 
> probably just stop discussing then.

I am making specific technical arguments, but you attempted 
to redirect my very specific arguments towards 'differences 
in philosophy' and 'where to draw the line'. Lets discuss 
the merits and brush them aside as 'philosophical 
differences' or a made up category of 'consistency models'.

Anyway, let me try to reboot this discussion back to 
technological details by summing up my arguments in another 
mail.

Thanks,

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