2014-12-02 09:22:21

by Nicholas Mc Guire

[permalink] [raw]
Subject: [PATCH 4/5] limit _shipped to c h and S files


limit _shipped to c h and S files

_shipped targets are intended for generated source files which should
not permit .o binary blobs which is currently the case. This patch
simply restricts _shipped targets to .c, .h and .S files.

A special case for .inc_shipped is added to prevent breaking
drivers/net/wan/wanxlfw.inc_shipped which is a historic "firmware"
and can not be reasonably moved to a loadable firmware.

This patch is against linux 3.18.0-rc6

Signed-off-by: Nicholas Mc Guire <[email protected]>
---
scripts/Makefile.lib | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 5117552..dd02bb9 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -216,7 +216,17 @@ endif
quiet_cmd_shipped = SHIPPED $@
cmd_shipped = cat $< > $@

-$(obj)/%: $(src)/%_shipped
+$(obj)/%.c: $(src)/%.c_shipped
+ $(call cmd,shipped)
+
+$(obj)/%.h: $(src)/%.h_shipped
+ $(call cmd,shipped)
+
+$(obj)/%.S: $(src)/%.S_shipped
+ $(call cmd,shipped)
+
+$(obj)/%.inc: $(src)/%.inc_shipped
+ @echo ' INFO: use of .inc_shipped files is deprecated'
$(call cmd,shipped)

# Commands useful for building a boot image
--
1.7.10.4


2014-12-02 10:20:05

by Michal Marek

[permalink] [raw]
Subject: Re: [PATCH 4/5] limit _shipped to c h and S files

Dne 2.12.2014 v 10:16 Nicholas Mc Guire napsal(a):
>
> limit _shipped to c h and S files
>
> _shipped targets are intended for generated source files which should
> not permit .o binary blobs which is currently the case. This patch
> simply restricts _shipped targets to .c, .h and .S files.


IMO this just adds lines of code without any obvious advantage. The
other patches in the series are fine.

Michal

2014-12-02 10:32:37

by Nicholas Mc Guire

[permalink] [raw]
Subject: Re: [PATCH 4/5] limit _shipped to c h and S files

On Tue, 02 Dec 2014, Michal Marek wrote:

> Dne 2.12.2014 v 10:16 Nicholas Mc Guire napsal(a):
> >
> > limit _shipped to c h and S files
> >
> > _shipped targets are intended for generated source files which should
> > not permit .o binary blobs which is currently the case. This patch
> > simply restricts _shipped targets to .c, .h and .S files.
>
>
> IMO this just adds lines of code without any obvious advantage. The
> other patches in the series are fine.
>

The idea simply was to make the behavior of kbuild match the
documented intent of _shipped files. Technically it is not needed,
its an attempt to raises the barrier a bit for including actual
binary blobs.

thx!
hofrat

2014-12-02 11:49:25

by Michal Marek

[permalink] [raw]
Subject: Re: [PATCH 4/5] limit _shipped to c h and S files

On 2014-12-02 11:32, Nicholas Mc Guire wrote:
> On Tue, 02 Dec 2014, Michal Marek wrote:
>
>> Dne 2.12.2014 v 10:16 Nicholas Mc Guire napsal(a):
>>>
>>> limit _shipped to c h and S files
>>>
>>> _shipped targets are intended for generated source files which should
>>> not permit .o binary blobs which is currently the case. This patch
>>> simply restricts _shipped targets to .c, .h and .S files.
>>
>>
>> IMO this just adds lines of code without any obvious advantage. The
>> other patches in the series are fine.
>>
>
> The idea simply was to make the behavior of kbuild match the
> documented intent of _shipped files.

The usage of *.o_shipped is documented by Documentation/kbuild/modules.txt.

Michal

2014-12-02 13:27:39

by Nicholas Mc Guire

[permalink] [raw]
Subject: Re: [PATCH 4/5] limit _shipped to c h and S files

On Tue, 02 Dec 2014, Michal Marek wrote:

> On 2014-12-02 11:32, Nicholas Mc Guire wrote:
> > On Tue, 02 Dec 2014, Michal Marek wrote:
> >
> >> Dne 2.12.2014 v 10:16 Nicholas Mc Guire napsal(a):
> >>>
> >>> limit _shipped to c h and S files
> >>>
> >>> _shipped targets are intended for generated source files which should
> >>> not permit .o binary blobs which is currently the case. This patch
> >>> simply restricts _shipped targets to .c, .h and .S files.
> >>
> >>
> >> IMO this just adds lines of code without any obvious advantage. The
> >> other patches in the series are fine.
> >>
> >
> > The idea simply was to make the behavior of kbuild match the
> > documented intent of _shipped files.
>
> The usage of *.o_shipped is documented by Documentation/kbuild/modules.txt.
>
I know - and Im looking at how to address this so that it would be out-of-tree
only - a minor update of the wording for 3.3 Binary Blobs was sent out as
patch - 3.2 change proposal is not yet done.

Currently there is no .o_shipped in mainline (linux-next 3.18-rc6,
linux-stable 3.18-rc5) so the intent is to rewrite some of those parts to
kick the .o_shipped there too.

But if there is a legitimate need for .o_shipped then of course this patch
(and the changes I'm working on) make no sense at all. My understanding is
though that it should not be needed any more.

thx!
hofrat