linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nick Desaulniers <ndesaulniers@google.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Josh Poimboeuf <jpoimboe@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Jiri Slaby <jirislaby@kernel.org>,
	Keith Busch <kbusch@kernel.org>, Christoph Hellwig <hch@lst.de>,
	Sagi Grimberg <sagi@grimberg.me>, Hannes Reinecke <hare@suse.de>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>
Subject: Re: [GIT PULL] Block driver changes for 5.20-rc1
Date: Wed, 3 Aug 2022 10:38:13 -0700	[thread overview]
Message-ID: <CAKwvOdm3RE14sNrKX9OS-2YrSjEgmq2VqZwXjRQ+yTUXR1FzNQ@mail.gmail.com> (raw)
In-Reply-To: <552201a1-2248-b16e-1118-54373531a158@kernel.dk>

On Wed, Aug 3, 2022 at 9:53 AM Jens Axboe <axboe@kernel.dk> wrote:
>
> On 8/3/22 10:51 AM, Nick Desaulniers wrote:
> > On Wed, Aug 3, 2022 at 9:26 AM Linus Torvalds
> > <torvalds@linux-foundation.org> wrote:
> >>
> >> On Wed, Aug 3, 2022 at 8:16 AM Jens Axboe <axboe@kernel.dk> wrote:
> >>>
> >>> On the topic of warnings, on my new build box I get a lot of these:
> >>>
> >>> ld: warning: arch/x86/lib/putuser.o: missing .note.GNU-stack section implies executable stack
> >>> ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
> >>>
> >>> which ends up polluting the output quite a bit.
> >>>
> >>> axboe@r7525 ~> ld --version
> >>> GNU ld (GNU Binutils for Debian) 2.38.90.20220713
> >>
> >> Ok, I have binutils 2.37, so it may be new to 2.38.
> >>
> >> Some googling around seems to imply that we'd need to so something like this
> >>
> >>    .section .note.GNU-stack,"",%progbits
> >>
> >> in all our *.S files.
> >>
> >> We do have some signs of that in our tooling, because apparently it
> >> has hit user-space, but I wonder what has triggered the need on the
> >> kernel side for you.
> >>
> >> I'd hate to add that pointless line to every asm file, but maybe we
> >> could so something like this
> >>
> >>    #ifdef __ASSEMBLY_
> >>    #ifdef OUTPUT_PROGBITS
> >>       .section .note.GNU-stack,"",%progbits
> >>       #undef OUTPUT_PROGBITS
> >>    #endif
> >>    #endif
> >>
> >> and then change our 'AS' command line to do '-DOUTPUT_PROGBITS' in our
> >> makefiles.
> >>
> >> *Most* asm files should include <linux/linkage.h> just for all the
> >> macros that declare variables externally, so that might catch the bulk
> >> of it.
> >>
> >> Somebody who knows the rules better than I would be a good idea.
> >
> > $ as --help | grep exec
> >   --execstack             require executable stack for this object
> >   --noexecstack           don't require executable stack for this object
> >   --statistics            print various measured statistics from execution
> >
> > Does adding `--noexecstack` to KBUILD_ASFLAGS for these architectures
> > help, rather than modifying every assembler source?
>
> I can try whatever here, but a quick grep doesn't find anything for
> KBUILD_ASFLAGS or anything close to it. What am I missing?

Sorry, I'm running between many meetings today...so suggestions aren't
tested and may not be fully coherent...

KBUILD_AFLAGS += -Wa,--noexecstack

There's also as-option Make macro in case older binutils doesn't
support that flag outright.

tools/perf/Makefile.config also uses noexecstack as a linker flag.
That might be an option, too.  It is the linker producing the
warnings, not the assembler, but the assembler flag is probably the
way to go to fix the warnings since it sounds like these are assembler
sources exclusively causing the issue.
-- 
Thanks,
~Nick Desaulniers

  parent reply	other threads:[~2022-08-03 17:38 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-31 15:03 [GIT PULL] Block driver changes for 5.20-rc1 Jens Axboe
2022-08-02 21:18 ` Linus Torvalds
2022-08-02 21:33   ` Keith Busch
2022-08-02 21:35     ` Jens Axboe
2022-08-02 21:50       ` Linus Torvalds
2022-08-02 22:24         ` Jens Axboe
2022-08-02 22:26           ` Jens Axboe
2022-08-02 22:27           ` Linus Torvalds
2022-08-02 22:33             ` Jens Axboe
2022-08-02 22:48               ` Linus Torvalds
2022-08-02 22:59                 ` Jens Axboe
2022-08-02 23:03                   ` Linus Torvalds
2022-08-02 23:08                     ` Jens Axboe
2022-08-03 15:16                       ` Jens Axboe
2022-08-03 16:26                         ` Linus Torvalds
2022-08-03 16:51                           ` Nick Desaulniers
2022-08-03 16:53                             ` Jens Axboe
2022-08-03 17:00                               ` Linus Torvalds
2022-08-03 17:38                               ` Nick Desaulniers [this message]
2022-08-03 17:45                                 ` Jens Axboe
2022-08-03 18:06                                   ` Nick Desaulniers
2022-08-04 16:17                                     ` Jens Axboe
2022-08-03 16:56                             ` Linus Torvalds
2022-08-03 17:30   ` Christoph Hellwig
2022-08-03 17:42     ` Linus Torvalds
2022-08-03 17:49       ` Christoph Hellwig
2022-08-03 17:54         ` Linus Torvalds
2022-08-06  7:44           ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKwvOdm3RE14sNrKX9OS-2YrSjEgmq2VqZwXjRQ+yTUXR1FzNQ@mail.gmail.com \
    --to=ndesaulniers@google.com \
    --cc=axboe@kernel.dk \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=jirislaby@kernel.org \
    --cc=jpoimboe@redhat.com \
    --cc=kbusch@kernel.org \
    --cc=linux-block@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=peterz@infradead.org \
    --cc=sagi@grimberg.me \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 NNTP newsgroup(s).