Re: [PATCH 2/2] module: Re-enable dynamic debugging for GPL-compatible OOT modules

2011-10-31 Thread Rusty Russell
On Fri, 28 Oct 2011 04:38:14 +0100, Ben Hutchings b...@decadent.org.uk wrote:
 Dynamic debugging was enabled for GPL-compatible out-of-tree modules
 until my addition of TAINT_OOT_MODULE.  It should continue to be
 enabled now.

Please just remove the test entirely.

AFAICT there's nothing unique to dynamic debug which means it should
avoid taint.  If it oopses, we'll learn all about tainting in the oops
message.

 Signed-off-by: Ben Hutchings b...@decadent.org.uk
 ---
  kernel/module.c |4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/kernel/module.c b/kernel/module.c
 index dab585e..448fd77 100644
 --- a/kernel/module.c
 +++ b/kernel/module.c
 @@ -2881,7 +2881,7 @@ static struct module *load_module(void __user *umod,
   }
  
   /* This has to be done once we're sure module name is unique. */
 - if (!mod-taints || mod-taints == (1UTAINT_CRAP))
 + if (!(mod-taints  ~(1U  TAINT_CRAP | 1U  TAINT_OOT_MODULE)))
   dynamic_debug_setup(info.debug, info.num_debug);
  
   /* Find duplicate symbols */
 @@ -2918,7 +2918,7 @@ static struct module *load_module(void __user *umod,
   module_bug_cleanup(mod);
  
   ddebug:
 - if (!mod-taints || mod-taints == (1UTAINT_CRAP))
 + if (!(mod-taints  ~(1U  TAINT_CRAP | 1U  TAINT_OOT_MODULE)))
   dynamic_debug_remove(info.debug);
   unlock:
   mutex_unlock(module_mutex);
 -- 
 1.7.7
 
 


-- 
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/87obwxq5tz@rustcorp.com.au



Re: [PATCH 2/2] module: Re-enable dynamic debugging for GPL-compatible OOT modules

2011-10-31 Thread Ben Hutchings
On Mon, 2011-10-31 at 12:29 +1030, Rusty Russell wrote:
 On Fri, 28 Oct 2011 04:38:14 +0100, Ben Hutchings b...@decadent.org.uk 
 wrote:
  Dynamic debugging was enabled for GPL-compatible out-of-tree modules
  until my addition of TAINT_OOT_MODULE.  It should continue to be
  enabled now.
 
 Please just remove the test entirely.
 
 AFAICT there's nothing unique to dynamic debug which means it should
 avoid taint.  If it oopses, we'll learn all about tainting in the oops
 message.

It looks like the dynamic debug facility is not meant to be available to
proprietary modules.

Ben.

  Signed-off-by: Ben Hutchings b...@decadent.org.uk
  ---
   kernel/module.c |4 ++--
   1 files changed, 2 insertions(+), 2 deletions(-)
  
  diff --git a/kernel/module.c b/kernel/module.c
  index dab585e..448fd77 100644
  --- a/kernel/module.c
  +++ b/kernel/module.c
  @@ -2881,7 +2881,7 @@ static struct module *load_module(void __user *umod,
  }
   
  /* This has to be done once we're sure module name is unique. */
  -   if (!mod-taints || mod-taints == (1UTAINT_CRAP))
  +   if (!(mod-taints  ~(1U  TAINT_CRAP | 1U  TAINT_OOT_MODULE)))
  dynamic_debug_setup(info.debug, info.num_debug);
   
  /* Find duplicate symbols */
  @@ -2918,7 +2918,7 @@ static struct module *load_module(void __user *umod,
  module_bug_cleanup(mod);
   
ddebug:
  -   if (!mod-taints || mod-taints == (1UTAINT_CRAP))
  +   if (!(mod-taints  ~(1U  TAINT_CRAP | 1U  TAINT_OOT_MODULE)))
  dynamic_debug_remove(info.debug);
unlock:
  mutex_unlock(module_mutex);
  -- 
  1.7.7
  
  
 

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


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


Re: [PATCH 2/2] module: Re-enable dynamic debugging for GPL-compatible OOT modules

2011-10-31 Thread Rusty Russell
On Mon, 31 Oct 2011 13:44:17 +, Ben Hutchings b...@decadent.org.uk wrote:
Non-text part: multipart/signed
 On Mon, 2011-10-31 at 12:29 +1030, Rusty Russell wrote:
  On Fri, 28 Oct 2011 04:38:14 +0100, Ben Hutchings b...@decadent.org.uk 
  wrote:
   Dynamic debugging was enabled for GPL-compatible out-of-tree modules
   until my addition of TAINT_OOT_MODULE.  It should continue to be
   enabled now.
  
  Please just remove the test entirely.
  
  AFAICT there's nothing unique to dynamic debug which means it should
  avoid taint.  If it oopses, we'll learn all about tainting in the oops
  message.
 
 It looks like the dynamic debug facility is not meant to be available to
 proprietary modules.

That was my guess too, but Mathieu (the author) said it was about
malformed modules:

On Wed, 26 Oct 2011 02:15:21 -0400:
 This check for tainted modules was first introduced with markers, and
 then used by tracepoints, and then also by dynamic debug. The rationale
 for this check was mainly to ensure that the marker/tracepoint code
 would not trigger a crash when loading a module with incompatible module
 header, originally compiled for an older kernel, into a newer kernel.
 This problem would happen even if the said module does not contain any
 marker/tracepoint, because we happen to try to use fields that are
 non-existent in the module header.

This is pretty bogus: since they forced the module in the first place,
they can handle the explosion.

So we should drop it altogether.

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/87r51svbit@rustcorp.com.au



[PATCH 2/2] module: Re-enable dynamic debugging for GPL-compatible OOT modules

2011-10-27 Thread Ben Hutchings
Dynamic debugging was enabled for GPL-compatible out-of-tree modules
until my addition of TAINT_OOT_MODULE.  It should continue to be
enabled now.

Signed-off-by: Ben Hutchings b...@decadent.org.uk
---
 kernel/module.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/module.c b/kernel/module.c
index dab585e..448fd77 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2881,7 +2881,7 @@ static struct module *load_module(void __user *umod,
}
 
/* This has to be done once we're sure module name is unique. */
-   if (!mod-taints || mod-taints == (1UTAINT_CRAP))
+   if (!(mod-taints  ~(1U  TAINT_CRAP | 1U  TAINT_OOT_MODULE)))
dynamic_debug_setup(info.debug, info.num_debug);
 
/* Find duplicate symbols */
@@ -2918,7 +2918,7 @@ static struct module *load_module(void __user *umod,
module_bug_cleanup(mod);
 
  ddebug:
-   if (!mod-taints || mod-taints == (1UTAINT_CRAP))
+   if (!(mod-taints  ~(1U  TAINT_CRAP | 1U  TAINT_OOT_MODULE)))
dynamic_debug_remove(info.debug);
  unlock:
mutex_unlock(module_mutex);
-- 
1.7.7



--
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/1319773094.6759.32.camel@deadeye