[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <802a01db010d4170998d49c1a17cc783@AcuMS.aculab.com>
Date: Tue, 26 Jan 2021 16:22:08 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Peter Zijlstra' <peterz@...radead.org>,
Josh Poimboeuf <jpoimboe@...hat.com>
CC: Greg KH <greg@...ah.com>, Justin Forbes <jforbes@...hat.com>,
"Masahiro Yamada" <masahiroy@...nel.org>,
Kees Cook <keescook@...omium.org>,
"Linux Kernel Mailing List" <linux-kernel@...r.kernel.org>,
Michal Marek <michal.lkml@...kovi.net>,
"linux-hardening@...r.kernel.org" <linux-hardening@...r.kernel.org>,
Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>,
Ondrej Mosnacek <omosnace@...hat.com>
Subject: RE: [PATCH RFC] gcc-plugins: Handle GCC version mismatch for OOT
modules
From: Peter Zijlstra <peterz@...radead.org>
> Sent: 26 January 2021 16:05
>
> On Tue, Jan 26, 2021 at 09:46:51AM -0600, Josh Poimboeuf wrote:
> > On Tue, Jan 26, 2021 at 04:15:37PM +0100, Peter Zijlstra wrote:
> > > On Tue, Jan 26, 2021 at 08:51:55AM -0600, Josh Poimboeuf wrote:
> > > > User space mixes compiler versions all the time. The C ABI is stable.
> > > >
> > > > What specifically is the harder issue you're referring to?
> > >
> > > I don't think the C ABI captures nearly enough. Imagine trying to mix a
> > > compiler with and without asm-goto support (ok, we fail to build without
> > > by now, but just imagine).
> > >
> > > No C ABI violated, but having that GCC extention vs not having it
> > > radically changes the kernel ABI.
> > >
> > > I think I'm with Greg here, just don't do it.
> >
> > Ok, thank you for an actual example. asm goto is a good one.
> >
> > But it's not a cut-and-dry issue. Otherwise how could modversions
> > possibly work?
> >
> > So yes, we should enforce GCC versions, but I still haven't seen a
> > reason it should be more than just "same compiler and *major* version".
>
> Why bother? rebuilding the kernel and all modules is a matter of 10
> minutes at most on a decently beefy build box.
>
> What actual problem are we trying to solve here?
People build modules to load into disrto-provided kernels.
I'd have though the compiler would need to support the same options
as that used to build the kernel - but not necessarily be exactly
the same version.
Ignoring compiler bugs (which will bight you if the compiler you
have is broken) then a newer compiler ought to be fine.
Or a kernel might have been built with config options that don't
require features of the compiler being used - so that modules can
be built with an older compiler.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
Powered by blists - more mailing lists