public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Dimitri John Ledkov <dimitri.ledkov@canonical.com>
Cc: Bastian Germann <bastiangermann@fishpost.de>, linux-xfs@vger.kernel.org
Subject: Re: NACK Re: [PATCH 2/4] debian: Enable CET on amd64
Date: Mon, 22 Feb 2021 08:37:27 +1100	[thread overview]
Message-ID: <20210221213727.GN4662@dread.disaster.area> (raw)
In-Reply-To: <CADWks+Yf_Vg7fTPH_BoXEmxUoo_XnyCLj4oeBme5fRTqoy+o4g@mail.gmail.com>

On Sun, Feb 21, 2021 at 04:32:46AM +0000, Dimitri John Ledkov wrote:
> On Sun, Feb 21, 2021 at 4:28 AM Dave Chinner <david@fromorbit.com> wrote:
> >
> > On Sun, Feb 21, 2021 at 04:02:55AM +0000, Dimitri John Ledkov wrote:
> > > The patch in question is specific to Ubuntu and was not submitted by
> > > me to neither Debian or Upstream.
> > >
> > > Indeed, this is very distro specific, because of all the other things
> > > that we turn on by default in our toolchain, dpkg build flags, and all
> > > other packages.
> > >
> > > This patch if taken at face value, will not enable CET. And will make
> > > the package start failing to build from source, when using older
> > > toolchains that don't support said flag.
> >
> > Yes, that is exactly what I said when pointing out how to *support
> > this properly* so it doesn't break builds in environments that do
> > not support such functionality.
> >
> > Having it as a configure option allows the configure script to -test
> > whether the toolchain supports it- and then either fail (enable=yes)
> > or not use it (enable=probe) and continue the build without it.
> >
> > > It should not go upstream nor into debian.
> >
> > There is no reason it cannot be implemented as a build option in the
> > upstream package. Then you can get rid of all your nasty hacks and
> > simply add --enable-cf-protections to your distro's configure
> > options.
> >
> > And other distros that also support all this functionality can use
> > it to. Please play nice with others and do things the right way
> > instead of making silly claims about how "nobody else can use this"
> > when it's clear that they can if they also tick all the necessary
> > boxes.
> 
> debian will probably will not want --enable-cf-protections as a
> configure option, and will enable CET via dpkg-buildflags as a
> hardening option, which will then be turned on by default for relevant
> architectures and series as of when debian kernel starts to support
> it.
> 
> as that way, debian will be able to affect that change across the whole distro.

Except now you've got the problem that dpkg-buildflags is not used
by various packages such as xfsprogs, so the flags it sets up,
even with overrides like DEB_BUILD_MAINT_OPTIONS are completely
ignored by the debian package build because debian/rules is not set
up to source the buildflags at all.

e.g. if you run 'make Q= deb' you won't see any of the compiler or
linker options emitted by dpkg-buildflags being used during the
debian package build. You will, OTOH, see it emit stuff like LTO
options because those get turned on via configure.

> once CET is actually merged into kernel, I do not expect configure
> options or debian/rules changes to enable CET. At most `export
> DEB_BUILD_MAINT_OPTIONS=hardening` should be enough in debian/rules.

The default dpkg-buildflags output already includes "hardening"
options, and as I said above, they aren't actually included in the
build rules. Hence what you suggest just won't work like you think
it should.

Again, if you want build option stuff to work correctly, don't rely
on distro specific magic to turn stuff on because it just doesn't
work for everyone. Use configure options to enable, probe and detect
support and enable the feature in the build, then upstream and other
distros can actually build with it and test it outside the magical
unicorn distro build environment you are running in...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

  reply	other threads:[~2021-02-21 21:38 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-20 12:16 [PATCH 0/4] debian: Integrate Debian/Ubuntu changes Bastian Germann
2021-02-20 12:16 ` [PATCH 1/4] debian: Drop trying to create upstream distribution Bastian Germann
2021-02-21  4:01   ` Dave Chinner
2021-02-23  3:07     ` Darrick J. Wong
2021-02-20 12:16 ` [PATCH 2/4] debian: Enable CET on amd64 Bastian Germann
2021-02-21  3:59   ` Dave Chinner
2021-02-21  4:02     ` NACK " Dimitri John Ledkov
2021-02-21  4:28       ` Dave Chinner
2021-02-21  4:32         ` Dimitri John Ledkov
2021-02-21 21:37           ` Dave Chinner [this message]
2021-02-20 12:16 ` [PATCH 3/4] debian: Regenerate config.guess using debhelper Bastian Germann
2021-02-21  4:11   ` Dave Chinner
2021-02-21  7:16     ` Steve Langasek
2021-02-21 22:04       ` Dave Chinner
2021-02-22  0:16         ` Steve Langasek
2021-02-22  2:44           ` Dave Chinner
2021-02-22 19:23             ` Eric Sandeen
2021-02-23 20:51               ` Dave Chinner
2021-02-20 12:16 ` [PATCH 4/4] debian: Build-depend on libinih-dev with udeb package Bastian Germann

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=20210221213727.GN4662@dread.disaster.area \
    --to=david@fromorbit.com \
    --cc=bastiangermann@fishpost.de \
    --cc=dimitri.ledkov@canonical.com \
    --cc=linux-xfs@vger.kernel.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