diff mbox

input: remove unneeded DRIVER_LICENSE #defines

Message ID 20171117141720.GB17880@kroah.com (mailing list archive)
State Accepted
Headers show

Commit Message

Greg Kroah-Hartman Nov. 17, 2017, 2:17 p.m. UTC
There is no need to #define the license of the driver, just put it in
the MODULE_LICENSE() line directly as a text string.

This allows tools that check that the module license matches the source
code license to work properly, as there is no need to unwind the
unneeded dereference.  For some of these drivers, the #define is just a
few lines above the MODULE_LICENSE() line, which is extra pointless.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Arvind Yadav <arvind.yadav.cs@gmail.com>
Reported-by: Philippe Ombredanne <pombredanne@nexb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/input/misc/keyspan_remote.c | 3 +--
 drivers/input/tablet/acecad.c       | 3 +--
 drivers/input/tablet/hanwang.c      | 3 +--
 drivers/input/tablet/kbtab.c        | 3 +--
 4 files changed, 4 insertions(+), 8 deletions(-)

Comments

Philippe Ombredanne Nov. 17, 2017, 2:51 p.m. UTC | #1
On Fri, Nov 17, 2017 at 3:17 PM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> There is no need to #define the license of the driver, just put it in
> the MODULE_LICENSE() line directly as a text string.
>
> This allows tools that check that the module license matches the source
> code license to work properly, as there is no need to unwind the
> unneeded dereference.  For some of these drivers, the #define is just a
> few lines above the MODULE_LICENSE() line, which is extra pointless.
>
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Arvind Yadav <arvind.yadav.cs@gmail.com>
> Reported-by: Philippe Ombredanne <pombredanne@nexb.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com>
Dmitry Torokhov Nov. 17, 2017, 8:33 p.m. UTC | #2
On Fri, Nov 17, 2017 at 03:17:20PM +0100, Greg Kroah-Hartman wrote:
> There is no need to #define the license of the driver, just put it in
> the MODULE_LICENSE() line directly as a text string.
> 
> This allows tools that check that the module license matches the source
> code license to work properly, as there is no need to unwind the
> unneeded dereference.  For some of these drivers, the #define is just a
> few lines above the MODULE_LICENSE() line, which is extra pointless.
> 
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Arvind Yadav <arvind.yadav.cs@gmail.com>
> Reported-by: Philippe Ombredanne <pombredanne@nexb.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
>  drivers/input/misc/keyspan_remote.c | 3 +--
>  drivers/input/tablet/acecad.c       | 3 +--
>  drivers/input/tablet/hanwang.c      | 3 +--
>  drivers/input/tablet/kbtab.c        | 3 +--
>  4 files changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/input/misc/keyspan_remote.c b/drivers/input/misc/keyspan_remote.c
> index 77c47d6325fe..4f13b2f7bf4f 100644
> --- a/drivers/input/misc/keyspan_remote.c
> +++ b/drivers/input/misc/keyspan_remote.c
> @@ -20,7 +20,6 @@
>  #define DRIVER_VERSION	"v0.1"
>  #define DRIVER_AUTHOR	"Michael Downey <downey@zymeta.com>"
>  #define DRIVER_DESC	"Driver for the USB Keyspan remote control."
> -#define DRIVER_LICENSE	"GPL"

If we do this, can we also get rid of other DIRVER_* macros that are not
useful?

>  
>  /* Parameters that can be passed to the driver. */
>  static int debug;
> @@ -592,4 +591,4 @@ module_usb_driver(keyspan_driver);
>  MODULE_DEVICE_TABLE(usb, keyspan_table);
>  MODULE_AUTHOR(DRIVER_AUTHOR);
>  MODULE_DESCRIPTION(DRIVER_DESC);
> -MODULE_LICENSE(DRIVER_LICENSE);
> +MODULE_LICENSE("GPL");
> diff --git a/drivers/input/tablet/acecad.c b/drivers/input/tablet/acecad.c
> index aebb3f9090cd..fcb67c7cd86b 100644
> --- a/drivers/input/tablet/acecad.c
> +++ b/drivers/input/tablet/acecad.c
> @@ -35,12 +35,11 @@
>   */
>  #define DRIVER_VERSION "v3.2"
>  #define DRIVER_DESC    "USB Acecad Flair tablet driver"
> -#define DRIVER_LICENSE "GPL"
>  #define DRIVER_AUTHOR  "Edouard TISSERANT <edouard.tisserant@wanadoo.fr>"
>  
>  MODULE_AUTHOR(DRIVER_AUTHOR);
>  MODULE_DESCRIPTION(DRIVER_DESC);
> -MODULE_LICENSE(DRIVER_LICENSE);
> +MODULE_LICENSE("GPL");
>  
>  #define USB_VENDOR_ID_ACECAD	0x0460
>  #define USB_DEVICE_ID_FLAIR	0x0004
> diff --git a/drivers/input/tablet/hanwang.c b/drivers/input/tablet/hanwang.c
> index df4bea96d7ed..70cb26bbfe1d 100644
> --- a/drivers/input/tablet/hanwang.c
> +++ b/drivers/input/tablet/hanwang.c
> @@ -30,11 +30,10 @@
>  
>  #define DRIVER_AUTHOR   "Xing Wei <weixing@hanwang.com.cn>"
>  #define DRIVER_DESC     "USB Hanwang tablet driver"
> -#define DRIVER_LICENSE  "GPL"
>  
>  MODULE_AUTHOR(DRIVER_AUTHOR);
>  MODULE_DESCRIPTION(DRIVER_DESC);
> -MODULE_LICENSE(DRIVER_LICENSE);
> +MODULE_LICENSE("GPL");
>  
>  #define USB_VENDOR_ID_HANWANG		0x0b57
>  #define HANWANG_TABLET_INT_CLASS	0x0003
> diff --git a/drivers/input/tablet/kbtab.c b/drivers/input/tablet/kbtab.c
> index a41c3ff7c9af..bee18e33e261 100644
> --- a/drivers/input/tablet/kbtab.c
> +++ b/drivers/input/tablet/kbtab.c
> @@ -15,11 +15,10 @@
>  #define DRIVER_VERSION "v0.0.2"
>  #define DRIVER_AUTHOR "Josh Myer <josh@joshisanerd.com>"
>  #define DRIVER_DESC "USB KB Gear JamStudio Tablet driver"
> -#define DRIVER_LICENSE "GPL"
>  
>  MODULE_AUTHOR(DRIVER_AUTHOR);
>  MODULE_DESCRIPTION(DRIVER_DESC);
> -MODULE_LICENSE(DRIVER_LICENSE);
> +MODULE_LICENSE("GPL");
>  
>  #define USB_VENDOR_ID_KBGEAR	0x084e
>  
> -- 
> 2.15.0
>
Greg Kroah-Hartman Nov. 18, 2017, 10:27 a.m. UTC | #3
On Fri, Nov 17, 2017 at 12:33:13PM -0800, Dmitry Torokhov wrote:
> On Fri, Nov 17, 2017 at 03:17:20PM +0100, Greg Kroah-Hartman wrote:
> > There is no need to #define the license of the driver, just put it in
> > the MODULE_LICENSE() line directly as a text string.
> > 
> > This allows tools that check that the module license matches the source
> > code license to work properly, as there is no need to unwind the
> > unneeded dereference.  For some of these drivers, the #define is just a
> > few lines above the MODULE_LICENSE() line, which is extra pointless.
> > 
> > Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> > Cc: Arvind Yadav <arvind.yadav.cs@gmail.com>
> > Reported-by: Philippe Ombredanne <pombredanne@nexb.com>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > ---
> >  drivers/input/misc/keyspan_remote.c | 3 +--
> >  drivers/input/tablet/acecad.c       | 3 +--
> >  drivers/input/tablet/hanwang.c      | 3 +--
> >  drivers/input/tablet/kbtab.c        | 3 +--
> >  4 files changed, 4 insertions(+), 8 deletions(-)
> > 
> > diff --git a/drivers/input/misc/keyspan_remote.c b/drivers/input/misc/keyspan_remote.c
> > index 77c47d6325fe..4f13b2f7bf4f 100644
> > --- a/drivers/input/misc/keyspan_remote.c
> > +++ b/drivers/input/misc/keyspan_remote.c
> > @@ -20,7 +20,6 @@
> >  #define DRIVER_VERSION	"v0.1"
> >  #define DRIVER_AUTHOR	"Michael Downey <downey@zymeta.com>"
> >  #define DRIVER_DESC	"Driver for the USB Keyspan remote control."
> > -#define DRIVER_LICENSE	"GPL"
> 
> If we do this, can we also get rid of other DIRVER_* macros that are not
> useful?

Please do, I got rid of all of the DRIVER_VERSION crap in the
drivers/usb/ tree a release or so ago, as they make no sense at all.
The other defines are also really silly and can be cleaned up too.

Want me to do that for drivers/input/ for you?

thanks,

greg "I'm a janitor now" k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Philippe Ombredanne Nov. 18, 2017, 12:39 p.m. UTC | #4
On Sat, Nov 18, 2017 at 11:27 AM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> Please do, I got rid of all of the DRIVER_VERSION crap in the
> drivers/usb/ tree a release or so ago, as they make no sense at all.
> The other defines are also really silly and can be cleaned up too.
>
> Want me to do that for drivers/input/ for you?
>
> thanks,
>
> greg "I'm a janitor now" k-h


Thing could get worse: you could become a documentalist like tglx turned into.

For the fun, another weird thingie that I once stumbled upon in an
out-of-tree third-party module:

MODULE_LICENSE("\x47\x50\x4c\x20\x76\x32");

... which was most likely from a GPL-shy closet Free software
advocate: this is "GPL v2" in ASCII.
Greg Kroah-Hartman Nov. 18, 2017, 12:49 p.m. UTC | #5
On Sat, Nov 18, 2017 at 01:39:03PM +0100, Philippe Ombredanne wrote:
> On Sat, Nov 18, 2017 at 11:27 AM, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> >
> > Please do, I got rid of all of the DRIVER_VERSION crap in the
> > drivers/usb/ tree a release or so ago, as they make no sense at all.
> > The other defines are also really silly and can be cleaned up too.
> >
> > Want me to do that for drivers/input/ for you?
> >
> > thanks,
> >
> > greg "I'm a janitor now" k-h
> 
> 
> Thing could get worse: you could become a documentalist like tglx turned into.
> 
> For the fun, another weird thingie that I once stumbled upon in an
> out-of-tree third-party module:
> 
> MODULE_LICENSE("\x47\x50\x4c\x20\x76\x32");
> 
> ... which was most likely from a GPL-shy closet Free software
> advocate: this is "GPL v2" in ASCII.

Hah, we've seen worse with people trying to put '0x00' in the middle of
the string to fake out the string checking logic.  Whenever stuff like
that gets pointed out to the legal department of the company involved,
stuff gets fixed fast, trying to 'circumvent' a license check is really
frowned apon by almost all legal juristictions :)

So, if you want to point that code out to me offline, I'm sure I could
have some fun...

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Philippe Ombredanne Nov. 18, 2017, 1:27 p.m. UTC | #6
On Sat, Nov 18, 2017 at 1:49 PM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> On Sat, Nov 18, 2017 at 01:39:03PM +0100, Philippe Ombredanne wrote:
>> On Sat, Nov 18, 2017 at 11:27 AM, Greg Kroah-Hartman
>> <gregkh@linuxfoundation.org> wrote:
>> >
>> > Please do, I got rid of all of the DRIVER_VERSION crap in the
>> > drivers/usb/ tree a release or so ago, as they make no sense at all.
>> > The other defines are also really silly and can be cleaned up too.
>> >
>> > Want me to do that for drivers/input/ for you?
>> >
>> > thanks,
>> >
>> > greg "I'm a janitor now" k-h
>>
>>
>> Thing could get worse: you could become a documentalist like tglx turned into.
>>
>> For the fun, another weird thingie that I once stumbled upon in an
>> out-of-tree third-party module:
>>
>> MODULE_LICENSE("\x47\x50\x4c\x20\x76\x32");
>>
>> ... which was most likely from a GPL-shy closet Free software
>> advocate: this is "GPL v2" in ASCII.
>
> Hah, we've seen worse with people trying to put '0x00' in the middle of
> the string to fake out the string checking logic.  Whenever stuff like
> that gets pointed out to the legal department of the company involved,
> stuff gets fixed fast,

Thanks!
FWIW, this was fixed fast alright when I pointed it to the software
team that had farted this.
This happened a couple years ago.

I have seen worse than using  '0x00' once: a combo of a patched insmod
to remove all the MODULE_LICENSE checks especially on "Proprietary"
AND a patched kernel adding a hook in module.[c,h] and some core net
patched code to make userspace,
"look-ma-kernelspace-gpl-will-not-apply-here" modules possible to do
network packet filtering in userspace. Which was also a nice try but
another baseless fart, beside being also terrible from a perf and
reliabiility point of view.

The squirrelly thing was that only a handful of line of code were
modified: a few needles hidden in a giant haystack.
If there were an award for "Sneakiest f*ck-the-gpl attempt", these
folks would have been winning the trophy hands down with special jury
congratulations.

> trying to 'circumvent' a license check is really
> frowned apon by almost all legal juristictions :)

In the US, in a weird twist of unintended consequences, this might be
likely a violation of the infamous DMCA.
Dmitry Torokhov Nov. 18, 2017, 6:32 p.m. UTC | #7
On Sat, Nov 18, 2017 at 11:27:24AM +0100, Greg Kroah-Hartman wrote:
> On Fri, Nov 17, 2017 at 12:33:13PM -0800, Dmitry Torokhov wrote:
> > On Fri, Nov 17, 2017 at 03:17:20PM +0100, Greg Kroah-Hartman wrote:
> > > There is no need to #define the license of the driver, just put it in
> > > the MODULE_LICENSE() line directly as a text string.
> > > 
> > > This allows tools that check that the module license matches the source
> > > code license to work properly, as there is no need to unwind the
> > > unneeded dereference.  For some of these drivers, the #define is just a
> > > few lines above the MODULE_LICENSE() line, which is extra pointless.
> > > 
> > > Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> > > Cc: Arvind Yadav <arvind.yadav.cs@gmail.com>
> > > Reported-by: Philippe Ombredanne <pombredanne@nexb.com>
> > > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > > ---
> > >  drivers/input/misc/keyspan_remote.c | 3 +--
> > >  drivers/input/tablet/acecad.c       | 3 +--
> > >  drivers/input/tablet/hanwang.c      | 3 +--
> > >  drivers/input/tablet/kbtab.c        | 3 +--
> > >  4 files changed, 4 insertions(+), 8 deletions(-)
> > > 
> > > diff --git a/drivers/input/misc/keyspan_remote.c b/drivers/input/misc/keyspan_remote.c
> > > index 77c47d6325fe..4f13b2f7bf4f 100644
> > > --- a/drivers/input/misc/keyspan_remote.c
> > > +++ b/drivers/input/misc/keyspan_remote.c
> > > @@ -20,7 +20,6 @@
> > >  #define DRIVER_VERSION	"v0.1"
> > >  #define DRIVER_AUTHOR	"Michael Downey <downey@zymeta.com>"
> > >  #define DRIVER_DESC	"Driver for the USB Keyspan remote control."
> > > -#define DRIVER_LICENSE	"GPL"
> > 
> > If we do this, can we also get rid of other DIRVER_* macros that are not
> > useful?
> 
> Please do, I got rid of all of the DRIVER_VERSION crap in the
> drivers/usb/ tree a release or so ago, as they make no sense at all.
> The other defines are also really silly and can be cleaned up too.
> 
> Want me to do that for drivers/input/ for you?
> 

That would be great, yes.

Thanks.
Dmitry Torokhov Jan. 17, 2018, 12:41 a.m. UTC | #8
On Fri, Nov 17, 2017 at 03:51:31PM +0100, Philippe Ombredanne wrote:
> On Fri, Nov 17, 2017 at 3:17 PM, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> > There is no need to #define the license of the driver, just put it in
> > the MODULE_LICENSE() line directly as a text string.
> >
> > This allows tools that check that the module license matches the source
> > code license to work properly, as there is no need to unwind the
> > unneeded dereference.  For some of these drivers, the #define is just a
> > few lines above the MODULE_LICENSE() line, which is extra pointless.
> >
> > Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> > Cc: Arvind Yadav <arvind.yadav.cs@gmail.com>
> > Reported-by: Philippe Ombredanne <pombredanne@nexb.com>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> 
> 
> Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com>

Applied, thank you.
diff mbox

Patch

diff --git a/drivers/input/misc/keyspan_remote.c b/drivers/input/misc/keyspan_remote.c
index 77c47d6325fe..4f13b2f7bf4f 100644
--- a/drivers/input/misc/keyspan_remote.c
+++ b/drivers/input/misc/keyspan_remote.c
@@ -20,7 +20,6 @@ 
 #define DRIVER_VERSION	"v0.1"
 #define DRIVER_AUTHOR	"Michael Downey <downey@zymeta.com>"
 #define DRIVER_DESC	"Driver for the USB Keyspan remote control."
-#define DRIVER_LICENSE	"GPL"
 
 /* Parameters that can be passed to the driver. */
 static int debug;
@@ -592,4 +591,4 @@  module_usb_driver(keyspan_driver);
 MODULE_DEVICE_TABLE(usb, keyspan_table);
 MODULE_AUTHOR(DRIVER_AUTHOR);
 MODULE_DESCRIPTION(DRIVER_DESC);
-MODULE_LICENSE(DRIVER_LICENSE);
+MODULE_LICENSE("GPL");
diff --git a/drivers/input/tablet/acecad.c b/drivers/input/tablet/acecad.c
index aebb3f9090cd..fcb67c7cd86b 100644
--- a/drivers/input/tablet/acecad.c
+++ b/drivers/input/tablet/acecad.c
@@ -35,12 +35,11 @@ 
  */
 #define DRIVER_VERSION "v3.2"
 #define DRIVER_DESC    "USB Acecad Flair tablet driver"
-#define DRIVER_LICENSE "GPL"
 #define DRIVER_AUTHOR  "Edouard TISSERANT <edouard.tisserant@wanadoo.fr>"
 
 MODULE_AUTHOR(DRIVER_AUTHOR);
 MODULE_DESCRIPTION(DRIVER_DESC);
-MODULE_LICENSE(DRIVER_LICENSE);
+MODULE_LICENSE("GPL");
 
 #define USB_VENDOR_ID_ACECAD	0x0460
 #define USB_DEVICE_ID_FLAIR	0x0004
diff --git a/drivers/input/tablet/hanwang.c b/drivers/input/tablet/hanwang.c
index df4bea96d7ed..70cb26bbfe1d 100644
--- a/drivers/input/tablet/hanwang.c
+++ b/drivers/input/tablet/hanwang.c
@@ -30,11 +30,10 @@ 
 
 #define DRIVER_AUTHOR   "Xing Wei <weixing@hanwang.com.cn>"
 #define DRIVER_DESC     "USB Hanwang tablet driver"
-#define DRIVER_LICENSE  "GPL"
 
 MODULE_AUTHOR(DRIVER_AUTHOR);
 MODULE_DESCRIPTION(DRIVER_DESC);
-MODULE_LICENSE(DRIVER_LICENSE);
+MODULE_LICENSE("GPL");
 
 #define USB_VENDOR_ID_HANWANG		0x0b57
 #define HANWANG_TABLET_INT_CLASS	0x0003
diff --git a/drivers/input/tablet/kbtab.c b/drivers/input/tablet/kbtab.c
index a41c3ff7c9af..bee18e33e261 100644
--- a/drivers/input/tablet/kbtab.c
+++ b/drivers/input/tablet/kbtab.c
@@ -15,11 +15,10 @@ 
 #define DRIVER_VERSION "v0.0.2"
 #define DRIVER_AUTHOR "Josh Myer <josh@joshisanerd.com>"
 #define DRIVER_DESC "USB KB Gear JamStudio Tablet driver"
-#define DRIVER_LICENSE "GPL"
 
 MODULE_AUTHOR(DRIVER_AUTHOR);
 MODULE_DESCRIPTION(DRIVER_DESC);
-MODULE_LICENSE(DRIVER_LICENSE);
+MODULE_LICENSE("GPL");
 
 #define USB_VENDOR_ID_KBGEAR	0x084e