public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/5] Some rtld-audit fixes
@ 2021-07-07 18:26 Adhemerval Zanella
  2021-07-07 18:26 ` [PATCH 1/5] elf: Fix audit regression Adhemerval Zanella
                   ` (5 more replies)
  0 siblings, 6 replies; 26+ messages in thread
From: Adhemerval Zanella @ 2021-07-07 18:26 UTC (permalink / raw)
  To: libc-alpha; +Cc: John Mellor-Crummey, Ben Woodard

This patchset fixes some rtld-audit issues brought by John
Mellor-Crummey [1] while trying to use it along with the HPCToolkit
tool.  This should cover the issues listed as 'Tier 1' [2], modulo
the aarch64 one, which I plan to address in a different patch set.

The first patch fixes a regression issue introduced by a
__libc_early_init() change.

The second patch is long-standing issue where the lazy resolution
trampolines are used even when the audit modules does not implement
the PLT or symbol binding callback.  The original patch from
Alexander Monakov is incomplete, since it also requires to take
la_symbind{32,64} in consideration.

The third patch add some tests to check if TLSDESC works along with
audit modules.

The forth patch fixes an issue when a dlmopen failure in a audit
module callback trigger an assert.

The final patch fixes another dlmopen failure when audit module
is used along with dlmopen.  This patch was proposed along with 
RTLD_SHARED support, so I added a regression test.

[1] https://sourceware.org/pipermail/libc-alpha/2021-June/127636.html
[2] https://docs.google.com/document/d/1dVaDBdzySecxQqD6hLLzDrEF18M1UtjDna9gL5BWWI0/edit#

Adhemerval Zanella (4):
  elf: Fix audit regression
  elf: Avoid unnecessary slowdown from profiling with audit (BZ#15533)
  elf: Add audit tests for modules with TLSDESC
  elf: Do not fail for failed dlopem on audit modules (BZ #28061)

Vivek Das Mohapatra (1):
  elf: Suppress audit calls when a (new) namespace is empty (BZ #28062)

 elf/Makefile                   |  44 +++++++++++-
 elf/dl-load.c                  |   7 +-
 elf/dl-open.c                  |   4 +-
 elf/dl-reloc.c                 |  13 +++-
 elf/rtld.c                     |   8 +--
 elf/tst-audit-tlsdesc-audit.c  |  23 ++++++
 elf/tst-audit-tlsdesc-dlopen.c |  67 +++++++++++++++++
 elf/tst-audit-tlsdesc.c        |  60 ++++++++++++++++
 elf/tst-audit17.c              |  25 +++++++
 elf/tst-audit18a.c             |  39 ++++++++++
 elf/tst-audit18b.c             |  30 ++++++++
 elf/tst-audit18bmod.c          |  22 ++++++
 elf/tst-audit19.c              |  25 +++++++
 elf/tst-audit20.c              | 128 +++++++++++++++++++++++++++++++++
 elf/tst-audit20mod.c           |  26 +++++++
 elf/tst-auditmod-tlsdesc1.c    |  41 +++++++++++
 elf/tst-auditmod-tlsdesc2.c    |  33 +++++++++
 elf/tst-auditmod17.c           |  24 +++++++
 elf/tst-auditmod18a.c          |  25 +++++++
 elf/tst-auditmod18b.c          |  48 +++++++++++++
 elf/tst-auditmod19.c           |  57 +++++++++++++++
 elf/tst-auditmod20.c           |  73 +++++++++++++++++++
 include/link.h                 |   2 +
 23 files changed, 810 insertions(+), 14 deletions(-)
 create mode 100644 elf/tst-audit-tlsdesc-audit.c
 create mode 100644 elf/tst-audit-tlsdesc-dlopen.c
 create mode 100644 elf/tst-audit-tlsdesc.c
 create mode 100644 elf/tst-audit17.c
 create mode 100644 elf/tst-audit18a.c
 create mode 100644 elf/tst-audit18b.c
 create mode 100644 elf/tst-audit18bmod.c
 create mode 100644 elf/tst-audit19.c
 create mode 100644 elf/tst-audit20.c
 create mode 100644 elf/tst-audit20mod.c
 create mode 100644 elf/tst-auditmod-tlsdesc1.c
 create mode 100644 elf/tst-auditmod-tlsdesc2.c
 create mode 100644 elf/tst-auditmod17.c
 create mode 100644 elf/tst-auditmod18a.c
 create mode 100644 elf/tst-auditmod18b.c
 create mode 100644 elf/tst-auditmod19.c
 create mode 100644 elf/tst-auditmod20.c

-- 
2.30.2


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2021-07-19 13:17 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-07 18:26 [PATCH 0/5] Some rtld-audit fixes Adhemerval Zanella
2021-07-07 18:26 ` [PATCH 1/5] elf: Fix audit regression Adhemerval Zanella
2021-07-07 19:02   ` Florian Weimer
2021-07-07 19:07     ` Adhemerval Zanella
2021-07-07 19:51   ` Andreas Schwab
2021-07-07 19:57     ` Adhemerval Zanella
2021-07-07 20:02     ` Florian Weimer
2021-07-07 20:07       ` Florian Weimer
2021-07-08 12:13         ` Adhemerval Zanella
2021-07-07 18:26 ` [PATCH 2/5] elf: Avoid unnecessary slowdown from profiling with audit (BZ#15533) Adhemerval Zanella
2021-07-07 19:20   ` Florian Weimer
2021-07-07 20:05     ` Adhemerval Zanella
2021-07-07 20:15       ` Florian Weimer
2021-07-07 20:53         ` John Mellor-Crummey
2021-07-19 13:17         ` Adhemerval Zanella
2021-07-07 18:26 ` [PATCH 3/5] elf: Add audit tests for modules with TLSDESC Adhemerval Zanella
2021-07-07 18:26 ` [PATCH 4/5] elf: Do not fail for failed dlmopen on audit modules (BZ #28061) Adhemerval Zanella
2021-07-07 18:26 ` [PATCH 5/5] elf: Suppress audit calls when a (new) namespace is empty (BZ #28062) Adhemerval Zanella
2021-07-07 19:02 ` [PATCH 0/5] Some rtld-audit fixes John Mellor-Crummey
2021-07-07 19:09   ` Adhemerval Zanella
2021-07-07 19:22     ` John Mellor-Crummey
2021-07-08  6:25       ` Florian Weimer
2021-07-08  8:03         ` John Mellor-Crummey
2021-07-08  8:21           ` Florian Weimer
2021-07-08  0:09     ` John Mellor-Crummey
2021-07-08  0:11       ` John Mellor-Crummey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).