[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200804004817.GD30810@redhat.com>
Date: Mon, 3 Aug 2020 20:48:17 -0400
From: "Frank Ch. Eigler" <fche@...hat.com>
To: Kees Cook <keescook@...omium.org>
Cc: Joe Lawrence <joe.lawrence@...hat.com>,
Evgenii Shatokhin <eshatokhin@...tuozzo.com>,
Kristen Carlson Accardi <kristen@...ux.intel.com>,
Miroslav Benes <mbenes@...e.cz>, tglx@...utronix.de,
mingo@...hat.com, bp@...en8.de, arjan@...ux.intel.com,
x86@...nel.org, linux-kernel@...r.kernel.org,
kernel-hardening@...ts.openwall.com, rick.p.edgecombe@...el.com,
live-patching@...r.kernel.org,
Josh Poimboeuf <jpoimboe@...hat.com>,
Jessica Yu <jeyu@...nel.org>
Subject: Re: [PATCH v4 00/10] Function Granular KASLR
Hi -
> > We have relocated based on sections, not some subset of function
> > symbols accessible that way, partly because DWARF line- and DIE- based
> > probes can map to addresses some way away from function symbols, into
> > function interiors, or cloned/moved bits of optimized code. It would
> > take some work to prove that function-symbol based heuristic
> > arithmetic would have just as much reach.
>
> Interesting. Do you have an example handy?
No, I'm afraid I don't have one that I know cannot possibly be
expressed by reference to a function symbol only. I'd look at
systemtap (4.3) probe point lists like:
% stap -vL 'kernel.statement("*@...nel/*verif*.c:*")'
% stap -vL 'module("amdgpu").statement("*@...ecution*.c:*")'
which give an impression of computed PC addresses.
> It seems like something like that would reference the enclosing
> section, which means we can't just leave them out of the sysfs
> list... (but if such things never happen in the function-sections,
> then we *can* remove them...)
I'm not sure we can easily prove they can never happen there.
- FChE
Powered by blists - more mailing lists