[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK8P3a3tqW8J65nyLg2YY+2ZEfhtqsOpR9cZDJgtSenT+1BENQ@mail.gmail.com>
Date: Tue, 24 Nov 2020 20:42:52 +0100
From: Arnd Bergmann <arnd@...nel.org>
To: David Laight <David.Laight@...lab.com>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Arnd Bergmann <arnd@...db.de>, Christoph Hellwig <hch@....de>
Subject: Re: [PATCH v4 1/4] ethtool: improve compat ioctl handling
On Tue, Nov 24, 2020 at 5:19 PM David Laight <David.Laight@...lab.com> wrote:
>
> From: Arnd Bergmann
> > Sent: 24 November 2020 15:18
> >
> > The ethtool compat ioctl handling is hidden away in net/socket.c,
> > which introduces a couple of minor oddities:
> >
> ...
> > +
> > +static int ethtool_rxnfc_copy_from_compat(struct ethtool_rxnfc *rxnfc,
> > + const struct compat_ethtool_rxnfc __user *useraddr,
> > + size_t size)
> > +{
>
> I think this (and possibly others) want a 'noinline_for_stack'.
> So that both the normal and compat structures aren't both on the
> stack when the real code is called.
Yes, makes sense. I checked that the difference is small unless
CONFIG_KASAN_STACK is enabled, and that gcc is smart enough
not to inline these by default, but adding noinline_for_stack is
both consistent with the rest of the file and the safe bet here.
Arnd
Powered by blists - more mailing lists