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: <55658E61.2070204@hitachi.com>
Date:	Wed, 27 May 2015 18:29:05 +0900
From:	Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
To:	AKASHI Takahiro <takahiro.akashi@...aro.org>,
	Jiri Kosina <jkosina@...e.cz>
CC:	rostedt@...dmis.org, mingo@...nel.org, jpoimboe@...hat.com,
	sjenning@...hat.com, vojtech@...e.cz, catalin.marinas@....com,
	will.deacon@....com, broonie@...nel.org,
	live-patching@...r.kernel.org,
	linux-arm-kernel@...ts.infradead.org,
	linaro-kernel@...ts.linaro.org, linux-kernel@...r.kernel.org
Subject: Re: Re: [RFC 0/4] arm64: add livepatch support

On 2015/05/27 15:09, AKASHI Takahiro wrote:
> Sorry for not replying soon.
> 
> On 04/24/2015 06:27 PM, Jiri Kosina wrote:
>> On Fri, 24 Apr 2015, AKASHI Takahiro wrote:
>>
>>> This patchset enables livepatch support on arm64.
>>>
>>> Livepatch was merged in v4.0, and allows replacying a function dynamically
>>> based on ftrace framework, but it also requires -mfentry option of gcc.
>>> Currently arm64 gcc doesn't support it, but by adding a helper function to
>>> ftrace, we will be able to support livepatch on arch's which don't support
>>> this option.
>>>
>>> I submit this patchset as RFC since I'm not quite sure that I'm doing
>>> in the right way, or we should definitely support -fentry instead.
>>
>> I don't have arm64 cross-compiler handy, could you please copy/paste how
>> does function prologue, generated by gcc -pg on arm64 look like?
> 
> As other people said, my current patch has some drawbacks and was far from perfect.
> I talked to a toolchain guy in Linaro, and he suggested that, instead of x86
> specific -mfentry option, we should add a new generic option, -fprolog-pad=N.
>
> It works as if "-pg -mfentry -mrecord-mcount -mnop-mcount" were specified on a
> command line, but actually puts N nop instructions at the very beginning of
> a function.
> (Please note that -mrecord-mcount and -mnop-mcount options have been added
> in x86 gcc to make it easier to implement ftrace and others.)

Ah, that's a cool idea :) Note that it also will need to take care
of debuginfo. Previously -mfentry had broken the debuginfo about
function prologue.

> While it is not clear that this new option will be implemented soon (in gcc-6),
> once it is supported on aarch64, I will update and re-post my livepatch patch
> as well as DYNAMIC_TRACE_WITH_REGS ftrace.

Thank you!


-- 
Masami HIRAMATSU
Linux Technology Research Center, System Productivity Research Dept.
Center for Technology Innovation - Systems Engineering
Hitachi, Ltd., Research & Development Group
E-mail: masami.hiramatsu.pt@...achi.com
--
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