Re: [RFC] modpost: add option to allow external modules to avoid taint

2011-12-18 Thread Rusty Russell
On Fri, 16 Dec 2011 04:39:49 +, Ben Hutchings b...@decadent.org.uk wrote:
Non-text part: multipart/signed
 On Fri, 2011-12-16 at 14:26 +1030, Rusty Russell wrote:
  On Wed, 14 Dec 2011 11:20:03 -0500, John W. Linville 
  linvi...@tuxdriver.com wrote:
  We really want to indicate out-of-support which is only a 1:1
  mapping to out-of-tree for upstream kernels.
 
 Who are 'we' in this instance?

Whoever turns this flag on.  I was using friendly, inclusive language :)

  How does Debian handle this?
 
 All the modules in Debian's kernel binary packages are built in-tree.
 Backported modules are patched in as necessary.
 
 Debian includes many packages of OOT modules, but those are supported by
 their respective maintainers and not the kernel team.  So for the kernel
 team, the 'O' flag does not mean 'unsupported' but may indicate that
 another maintainer should handle the bug (or it may also be irrelevant
 to the bug).

So, in your case, the kernel team want to know what's outside their
support, so this flag works well for you.

As John pointed out, it's a bit useless for them.  We could enable it
with a config option, or they could ignore it, since they're going to
module-signing route anyway.

  Perhaps it makes more sense to use the proposed module signing stuff in
  a simplified mode to mark built-with-kernel modules (eg. just put the
  sha of known modules inside the kernel).
 
 Unlike commercial distributions, no-one is paying Debian for support
 contracts and no-one can game the system by hiding OOT modules.  So it's
 probably not worthwhile for us to use module signing at all.
 
 However, supposing we did go down this route, I would guess that
 checksums for ~3000 modules take up more space than the signature
 checking code.  Instead, we could perhaps generate a key pair during
 build, include the public key in the kernel and then discard the private
 key.  (But getting entropy would likely be a problem for the key
 generation.)

Agreed, 60k is a bit expensive for this minor feature.  

Thanks,
Rusty.


-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87k45tnmgm@rustcorp.com.au



Re: [RFC] modpost: add option to allow external modules to avoid taint

2011-12-15 Thread Rusty Russell
On Wed, 14 Dec 2011 11:20:03 -0500, John W. Linville linvi...@tuxdriver.com 
wrote:
 In some cases, it might be desirable to package a module from an
 external source tree alongside the base kernel.  In those cases, it
 might also be desirable to not have those modules tainting the kernel.
 
 This patch provides a mechanism for an external module build to declare
 itself as an integrated build.  Such a module is then treated the same
 as an intree module.
 
 Signed-off-by: John W. Linville linvi...@tuxdriver.com
 ---
 Any thoughts on this?  I'm thinking of adding this to Fedora kernels,
 where I have been working to integrate the compat-wireless package as
 part of the base kernel RPM.

I don't think the feature is useful it it's too easy to disable.
Experience has shown this with license tags.

We really want to indicate out-of-support which is only a 1:1
mapping to out-of-tree for upstream kernels.

How does Debian handle this?

Perhaps it makes more sense to use the proposed module signing stuff in
a simplified mode to mark built-with-kernel modules (eg. just put the
sha of known modules inside the kernel).

I think we should revert this change, meanwhile, and figure out what to
do.

Cheers,
Rusty.


-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87mxatp3ty@rustcorp.com.au



Re: [RFC] modpost: add option to allow external modules to avoid taint

2011-12-15 Thread Ben Hutchings
On Fri, 2011-12-16 at 14:26 +1030, Rusty Russell wrote:
 On Wed, 14 Dec 2011 11:20:03 -0500, John W. Linville 
 linvi...@tuxdriver.com wrote:
  In some cases, it might be desirable to package a module from an
  external source tree alongside the base kernel.  In those cases, it
  might also be desirable to not have those modules tainting the kernel.
  
  This patch provides a mechanism for an external module build to declare
  itself as an integrated build.  Such a module is then treated the same
  as an intree module.
  
  Signed-off-by: John W. Linville linvi...@tuxdriver.com
  ---
  Any thoughts on this?  I'm thinking of adding this to Fedora kernels,
  where I have been working to integrate the compat-wireless package as
  part of the base kernel RPM.
 
 I don't think the feature is useful it it's too easy to disable.
 Experience has shown this with license tags.
 
 We really want to indicate out-of-support which is only a 1:1
 mapping to out-of-tree for upstream kernels.

Who are 'we' in this instance?

 How does Debian handle this?

All the modules in Debian's kernel binary packages are built in-tree.
Backported modules are patched in as necessary.

Debian includes many packages of OOT modules, but those are supported by
their respective maintainers and not the kernel team.  So for the kernel
team, the 'O' flag does not mean 'unsupported' but may indicate that
another maintainer should handle the bug (or it may also be irrelevant
to the bug).

 Perhaps it makes more sense to use the proposed module signing stuff in
 a simplified mode to mark built-with-kernel modules (eg. just put the
 sha of known modules inside the kernel).

Unlike commercial distributions, no-one is paying Debian for support
contracts and no-one can game the system by hiding OOT modules.  So it's
probably not worthwhile for us to use module signing at all.

However, supposing we did go down this route, I would guess that
checksums for ~3000 modules take up more space than the signature
checking code.  Instead, we could perhaps generate a key pair during
build, include the public key in the kernel and then discard the private
key.  (But getting entropy would likely be a problem for the key
generation.)

Ben.

 I think we should revert this change, meanwhile, and figure out what to
 do.
 
 Cheers,
 Rusty.
 

-- 
Ben Hutchings
Computers are not intelligent.  They only think they are.


signature.asc
Description: This is a digitally signed message part


Re: [RFC] modpost: add option to allow external modules to avoid taint

2011-12-14 Thread Ben Hutchings
On Wed, 2011-12-14 at 11:20 -0500, John W. Linville wrote:
 In some cases, it might be desirable to package a module from an
 external source tree alongside the base kernel.  In those cases, it
 might also be desirable to not have those modules tainting the kernel.
 
 This patch provides a mechanism for an external module build to declare
 itself as an integrated build.  Such a module is then treated the same
 as an intree module.
 
 Signed-off-by: John W. Linville linvi...@tuxdriver.com
 ---
 Any thoughts on this?  I'm thinking of adding this to Fedora kernels,
 where I have been working to integrate the compat-wireless package as
 part of the base kernel RPM.
[...]

If you're integrating it then why can't you *really* build it in-tree?

Ben.

-- 
Ben Hutchings
Computers are not intelligent.  They only think they are.


signature.asc
Description: This is a digitally signed message part


[RFC] modpost: add option to allow external modules to avoid taint

2011-12-14 Thread John W. Linville
In some cases, it might be desirable to package a module from an
external source tree alongside the base kernel.  In those cases, it
might also be desirable to not have those modules tainting the kernel.

This patch provides a mechanism for an external module build to declare
itself as an integrated build.  Such a module is then treated the same
as an intree module.

Signed-off-by: John W. Linville linvi...@tuxdriver.com
---
Any thoughts on this?  I'm thinking of adding this to Fedora kernels,
where I have been working to integrate the compat-wireless package as
part of the base kernel RPM.

 scripts/Makefile.modpost |1 +
 scripts/mod/modpost.c|   10 --
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost
index 08dce14..160c6fb 100644
--- a/scripts/Makefile.modpost
+++ b/scripts/Makefile.modpost
@@ -81,6 +81,7 @@ modpost = scripts/mod/modpost\
  $(if $(KBUILD_EXTMOD),-o $(modulesymfile))  \
  $(if $(CONFIG_DEBUG_SECTION_MISMATCH),,-S)  \
  $(if $(KBUILD_EXTMOD)$(KBUILD_MODPOST_WARN),-w) \
+ $(if $(INTEGRATED_BUILD),-B) \
  $(if $(cross_build),-c)
 
 quiet_cmd_modpost = MODPOST $(words $(filter-out vmlinux FORCE, $^)) modules
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 2bd594e..5d077f9 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -43,6 +43,9 @@ static int warn_unresolved = 0;
 static int sec_mismatch_count = 0;
 static int sec_mismatch_verbose = 1;
 
+/* Is this a module being built as part of an integrated package? */
+static int integrated_build = 0;
+
 enum export {
export_plain,  export_unused, export_gpl,
export_unused_gpl, export_gpl_future, export_unknown
@@ -1851,7 +1854,7 @@ static void add_header(struct buffer *b, struct module 
*mod)
 
 static void add_intree_flag(struct buffer *b, int is_intree)
 {
-   if (is_intree)
+   if (is_intree || integrated_build)
buf_printf(b, \nMODULE_INFO(intree, \Y\);\n);
 }
 
@@ -2101,7 +2104,7 @@ int main(int argc, char **argv)
struct ext_sym_list *extsym_iter;
struct ext_sym_list *extsym_start = NULL;
 
-   while ((opt = getopt(argc, argv, i:I:e:cmsSo:awM:K:)) != -1) {
+   while ((opt = getopt(argc, argv, i:I:e:cmsSo:awM:K:B)) != -1) {
switch (opt) {
case 'i':
kernel_read = optarg;
@@ -2139,6 +2142,9 @@ int main(int argc, char **argv)
case 'w':
warn_unresolved = 1;
break;
+   case 'B':
+   integrated_build = 1;
+   break;
default:
exit(1);
}
-- 
1.7.4.4


-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/1323879603-2961-1-git-send-email-linvi...@tuxdriver.com



Re: [RFC] modpost: add option to allow external modules to avoid taint

2011-12-14 Thread John W. Linville
On Wed, Dec 14, 2011 at 04:52:00PM +, Ben Hutchings wrote:
 On Wed, 2011-12-14 at 11:20 -0500, John W. Linville wrote:
  In some cases, it might be desirable to package a module from an
  external source tree alongside the base kernel.  In those cases, it
  might also be desirable to not have those modules tainting the kernel.
  
  This patch provides a mechanism for an external module build to declare
  itself as an integrated build.  Such a module is then treated the same
  as an intree module.
  
  Signed-off-by: John W. Linville linvi...@tuxdriver.com
  ---
  Any thoughts on this?  I'm thinking of adding this to Fedora kernels,
  where I have been working to integrate the compat-wireless package as
  part of the base kernel RPM.
 [...]
 
 If you're integrating it then why can't you *really* build it in-tree?

Well, of course, I could.  But it would be a _huge_ waste of my time
doing so.  The compat-wireless package is already sitting there,
complete with all the necessary backporting infrastructure.  It's all
fat and juicy, waiting to be used.  Wasting time replicating that
just doesn't make any sense to my mind.

John
-- 
John W. LinvilleSomeday the world will need a hero, and you
linvi...@tuxdriver.com  might be all we have.  Be ready.


-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20111214173922.ga2...@tuxdriver.com