diff mbox series

kbuild: If the module stripping command fails the build should abort

Message ID 20190314175705.11671-1-dianders@chromium.org (mailing list archive)
State New, archived
Headers show
Series kbuild: If the module stripping command fails the build should abort | expand

Commit Message

Doug Anderson March 14, 2019, 5:57 p.m. UTC
If the call to strip returns an error code then it makes sense for the
build to fail.  Currently we'll just chug along and ship unstripped
modules.

Fixes: e2a666d52b48 ("kbuild: sign the modules at install time")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 scripts/Makefile.modinst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Masahiro Yamada March 15, 2019, 2:10 p.m. UTC | #1
On Fri, Mar 15, 2019 at 2:59 AM Douglas Anderson <dianders@chromium.org> wrote:
>
> If the call to strip returns an error code then it makes sense for the
> build to fail.  Currently we'll just chug along and ship unstripped
> modules.
>
> Fixes: e2a666d52b48 ("kbuild: sign the modules at install time")
> Signed-off-by: Douglas Anderson <dianders@chromium.org>


Did you see this problem in the latest kernel?

Since commit 3a2429e1faf40b2aaa481aa4b001a74d222c7e8b,
$(call cmd,...) is run with 'set -e'.

Any failure in a series of commands will let the build fail.


If you have the problem in old versions ( < 4.20),
I do not mind this patch for linux-stable.





> ---
>
>  scripts/Makefile.modinst | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst
> index ff5ca9817a85..5d05c43c6f31 100644
> --- a/scripts/Makefile.modinst
> +++ b/scripts/Makefile.modinst
> @@ -22,7 +22,7 @@ quiet_cmd_modules_install = INSTALL $@
>        cmd_modules_install = \
>      mkdir -p $(2) ; \
>      cp $@ $(2) ; \
> -    $(mod_strip_cmd) $(2)/$(notdir $@) ; \
> +    $(mod_strip_cmd) $(2)/$(notdir $@) && \
>      $(mod_sign_cmd) $(2)/$(notdir $@) $(patsubst %,|| true,$(KBUILD_EXTMOD)) && \
>      $(mod_compress_cmd) $(2)/$(notdir $@)
>
> --
> 2.21.0.360.g471c308f928-goog
>


--
Best Regards
Masahiro Yamada
Doug Anderson March 15, 2019, 3:19 p.m. UTC | #2
Hi,

On Fri, Mar 15, 2019 at 7:11 AM Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
>
> On Fri, Mar 15, 2019 at 2:59 AM Douglas Anderson <dianders@chromium.org> wrote:
> >
> > If the call to strip returns an error code then it makes sense for the
> > build to fail.  Currently we'll just chug along and ship unstripped
> > modules.
> >
> > Fixes: e2a666d52b48 ("kbuild: sign the modules at install time")
> > Signed-off-by: Douglas Anderson <dianders@chromium.org>
>
>
> Did you see this problem in the latest kernel?
>
> Since commit q,
> $(call cmd,...) is run with 'set -e'.
>
> Any failure in a series of commands will let the build fail.
>
>
> If you have the problem in old versions ( < 4.20),

Ah!  I was in 4.19 when I saw the problem.  I then confirmed that the
code in mainline was the same and that the new version built fine with
my patch, but I didn't go back and confirm the problem there.

OK, I just checked linux/master and can confirm there's no problem
there.  Sorry for the noise then...

I wonder if perhaps we should revert commit caf6fe91ddf6 ("modsign:
Abort modules_install when signing fails") then to be consistent?

> I do not mind this patch for linux-stable.

It's probably not worth it.  In general I prefer linux-stable to be as
just cherry-picks of mainline as much as possible.  When it starts
forking then future picks get harder.  Sure in this case it's unlikely
that someone will get tripped up by an "&&" vs a ";" when picking
future changes, but given that it's not super urgent I guess I'd vote
that we skip it.


-Doug
-Doug
Masahiro Yamada March 15, 2019, 4:13 p.m. UTC | #3
Hi.


On Sat, Mar 16, 2019 at 12:19 AM Doug Anderson <dianders@chromium.org> wrote:
>
> Hi,
>
> On Fri, Mar 15, 2019 at 7:11 AM Masahiro Yamada
> <yamada.masahiro@socionext.com> wrote:
> >
> > On Fri, Mar 15, 2019 at 2:59 AM Douglas Anderson <dianders@chromium.org> wrote:
> > >
> > > If the call to strip returns an error code then it makes sense for the
> > > build to fail.  Currently we'll just chug along and ship unstripped
> > > modules.
> > >
> > > Fixes: e2a666d52b48 ("kbuild: sign the modules at install time")
> > > Signed-off-by: Douglas Anderson <dianders@chromium.org>
> >
> >
> > Did you see this problem in the latest kernel?
> >
> > Since commit q,
> > $(call cmd,...) is run with 'set -e'.
> >
> > Any failure in a series of commands will let the build fail.
> >
> >
> > If you have the problem in old versions ( < 4.20),
>
> Ah!  I was in 4.19 when I saw the problem.  I then confirmed that the
> code in mainline was the same and that the new version built fine with
> my patch, but I didn't go back and confirm the problem there.
>
> OK, I just checked linux/master and can confirm there's no problem
> there.  Sorry for the noise then...
>
> I wonder if perhaps we should revert commit caf6fe91ddf6 ("modsign:
> Abort modules_install when signing fails") then to be consistent?


Right.

If you send a patch, I will take it.




> > I do not mind this patch for linux-stable.
>
> It's probably not worth it.  In general I prefer linux-stable to be as
> just cherry-picks of mainline as much as possible.  When it starts
> forking then future picks get harder.  Sure in this case it's unlikely
> that someone will get tripped up by an "&&" vs a ";" when picking
> future changes, but given that it's not super urgent I guess I'd vote
> that we skip it.


Agree.
diff mbox series

Patch

diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst
index ff5ca9817a85..5d05c43c6f31 100644
--- a/scripts/Makefile.modinst
+++ b/scripts/Makefile.modinst
@@ -22,7 +22,7 @@  quiet_cmd_modules_install = INSTALL $@
       cmd_modules_install = \
     mkdir -p $(2) ; \
     cp $@ $(2) ; \
-    $(mod_strip_cmd) $(2)/$(notdir $@) ; \
+    $(mod_strip_cmd) $(2)/$(notdir $@) && \
     $(mod_sign_cmd) $(2)/$(notdir $@) $(patsubst %,|| true,$(KBUILD_EXTMOD)) && \
     $(mod_compress_cmd) $(2)/$(notdir $@)