On Mon, 17 Jun 2019, Florian Weimer wrote:
* Dave Martin:
quoted
On Tue, Jun 11, 2019 at 12:31:34PM -0700, Yu-cheng Yu wrote:
quoted
We can probably check PT_GNU_PROPERTY first, and fallback (based on ld-linux
version?) to PT_NOTE scanning?
For arm64, we can check for PT_GNU_PROPERTY and then give up
unconditionally.
For x86, we would fall back to PT_NOTE scanning, but this will add a bit
of cost to binaries that don't have NT_GNU_PROPERTY_TYPE_0. The ld.so
version doesn't tell you what ELF ABI a given executable conforms to.
Since this sounds like it's largely a distro-specific issue, maybe there
could be a Kconfig option to turn the fallback PT_NOTE scanning on?
I'm worried that this causes interop issues similarly to what we see
with VSYSCALL today. If we need both and a way to disable it, it should
be something like a personality flag which can be configured for each
process tree separately. Ideally, we'd settle on one correct approach
(i.e., either always process both, or only process PT_GNU_PROPERTY) and
enforce that.
Chose one and only the one which makes technically sense and is not some
horrible vehicle.
Everytime we did those 'oh we need to make x fly workarounds' we regretted
it sooner than later.
Thanks,
tglx