On Thu, Apr 02, 2020 at 11:34:31PM +0200, Peter Zijlstra wrote: > On Thu, Apr 02, 2020 at 04:01:15PM -0500, Josh Poimboeuf wrote: > > On Fri, Mar 20, 2020 at 07:00:02PM +0100, Thomas Gleixner wrote: > > > Warnings, bugs and stack protection fails from noinstr sections, e.g. low > > > level and early entry code, are likely to be fatal. > > > > > > Mark them as "safe" to be invoked from noinstr protected code to avoid > > > annotating all usage sites. Getting the information out is important. > > > > > > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > > > --- > > > arch/x86/include/asm/bug.h | 3 +++ > > > include/asm-generic/bug.h | 9 +++++++-- > > > kernel/panic.c | 4 +++- > > > 3 files changed, 13 insertions(+), 3 deletions(-) > > > > > > --- a/arch/x86/include/asm/bug.h > > > +++ b/arch/x86/include/asm/bug.h > > > @@ -70,13 +70,16 @@ do { \ > > > #define HAVE_ARCH_BUG > > > #define BUG() \ > > > do { \ > > > + instr_begin(); \ > > > _BUG_FLAGS(ASM_UD2, 0); \ > > > unreachable(); \ > > > } while (0) > > > > For visual symmetry at least, it seems like this wants an instr_end() > > before the unreachable(). Does objtool not like that? > > Can't remember, but I think it's weird to put something after you know > it unreachable. Yeah, I guess... but my lizard brain likes to see closure :-) -- Josh