Thread (12 messages) 12 messages, 6 authors, 2021-05-20

Re: Linux Plumbers Conf 2021

flat view

From: Mark Rutland <mark.rutland@arm.com>
Date: 2021-05-19 09:32:55

On Tue, May 18, 2021 at 10:03:06PM +0200, Peter Zijlstra wrote:
On Tue, May 18, 2021 at 09:57:26AM -0700, Nick Desaulniers wrote:
quoted
On Tue, May 18, 2021 at 6:23 AM Peter Zijlstra [off-list ref] wrote:
quoted
quoted
 - validates noinstr annotation; *HOWEVER* we rely on objtool to NOP
   all __sanitizer_cov_* calls in .noinstr/.entry text sections because
   __no_sanitize_cov is 'broken' in all known compilers.
^ Do you have more information on this?
Random link in the middle of a relevant thread:

  https://lkml.kernel.org/r/CANpmjNPNa2f=kAF6c199oYVJ0iSyirQRGxeOBLxa9PmakSXRbA@mail.gmail.com

Notable quote:

"It's everywhere. We cannot mark noinstr functions to not be
instrumented by KCOV/-fsanitize-coverage, because no compiler provides
an attribute to do so. GCC doesn't have
__attribute__((no_sanitize_coverage)) and Clang doesn't have
__attribute__((no_sanitize("coverage")), and therefore we can't have
__no_sanitize_coverage."
Yuck; I wasn't aware of that.

This means that arm64's entry code is unsound (along with some other
parts) if kcov is enabled.

That *really* needs an attribute, and going forward we shouldn't accept
new compiler instrumentation that we can't opt-out of like this.

Thanks,
Mark.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help