Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758566AbcLAM7E (ORCPT ); Thu, 1 Dec 2016 07:59:04 -0500 Received: from bh-25.webhostbox.net ([208.91.199.152]:45562 "EHLO bh-25.webhostbox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754963AbcLAM7C (ORCPT ); Thu, 1 Dec 2016 07:59:02 -0500 Subject: Re: [PATCH 34/39] Annotate hardware config module parameters in drivers/watchdog/ To: David Howells , linux-kernel@vger.kernel.org References: <148059537897.31612.9461043954611464597.stgit@warthog.procyon.org.uk> <148059564995.31612.9567297542032305179.stgit@warthog.procyon.org.uk> Cc: gnomes@lxorguk.ukuu.org.uk, linux-watchdog@vger.kernel.org, minyard@acm.org, Zwane Mwaikambo , linux-security-module@vger.kernel.org, Wim Van Sebroeck , keyrings@vger.kernel.org From: Guenter Roeck Message-ID: <57fb9ebe-aa11-6844-4ab1-a8139438532d@roeck-us.net> Date: Thu, 1 Dec 2016 04:58:54 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <148059564995.31612.9567297542032305179.stgit@warthog.procyon.org.uk> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Authenticated_sender: linux@roeck-us.net X-OutGoing-Spam-Status: No, score=-1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - bh-25.webhostbox.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - roeck-us.net X-Get-Message-Sender-Via: bh-25.webhostbox.net: authenticated_id: linux@roeck-us.net X-Authenticated-Sender: bh-25.webhostbox.net: linux@roeck-us.net X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4657 Lines: 115 On 12/01/2016 04:34 AM, David Howells wrote: > When the kernel is running in secure boot mode, we lock down the kernel to > prevent userspace from modifying the running kernel image. Whilst this > includes prohibiting access to things like /dev/mem, it must also prevent > access by means of configuring driver modules in such a way as to cause a > device to access or modify the kernel image. > > To this end, annotate module_param* statements that refer to hardware > configuration and indicate for future reference what type of parameter they > specify. The parameter parser in the core sees this information and can > skip such parameters with an error message if the kernel is locked down. > The module initialisation then runs as normal, but just sees whatever the > default values for those parameters is. > > Note that we do still need to do the module initialisation because some > drivers have viable defaults set in case parameters aren't specified and > some drivers support automatic configuration (e.g. PNP or PCI) in addition > to manually coded parameters. > > This patch annotates drivers in drivers/watchdog/. > > Suggested-by: One Thousand Gnomes > Signed-off-by: David Howells > cc: Wim Van Sebroeck > cc: Zwane Mwaikambo > cc: linux-watchdog@vger.kernel.org Reviewed-by: Guenter Roeck > --- > > drivers/watchdog/cpu5wdt.c | 2 +- > drivers/watchdog/eurotechwdt.c | 4 ++-- > drivers/watchdog/pc87413_wdt.c | 2 +- > drivers/watchdog/sc1200wdt.c | 2 +- > drivers/watchdog/wdt.c | 4 ++-- > 5 files changed, 7 insertions(+), 7 deletions(-) > > diff --git a/drivers/watchdog/cpu5wdt.c b/drivers/watchdog/cpu5wdt.c > index 6d03e8e30f8b..6c3f78e45c26 100644 > --- a/drivers/watchdog/cpu5wdt.c > +++ b/drivers/watchdog/cpu5wdt.c > @@ -289,7 +289,7 @@ MODULE_DESCRIPTION("sma cpu5 watchdog driver"); > MODULE_SUPPORTED_DEVICE("sma cpu5 watchdog"); > MODULE_LICENSE("GPL"); > > -module_param(port, int, 0); > +module_param_hw(port, int, ioport, 0); > MODULE_PARM_DESC(port, "base address of watchdog card, default is 0x91"); > > module_param(verbose, int, 0); > diff --git a/drivers/watchdog/eurotechwdt.c b/drivers/watchdog/eurotechwdt.c > index 23ee53240c4c..38e96712264f 100644 > --- a/drivers/watchdog/eurotechwdt.c > +++ b/drivers/watchdog/eurotechwdt.c > @@ -97,9 +97,9 @@ MODULE_PARM_DESC(nowayout, > #define WDT_TIMER_CFG 0xf3 > > > -module_param(io, int, 0); > +module_param_hw(io, int, ioport, 0); > MODULE_PARM_DESC(io, "Eurotech WDT io port (default=0x3f0)"); > -module_param(irq, int, 0); > +module_param_hw(irq, int, irq, 0); > MODULE_PARM_DESC(irq, "Eurotech WDT irq (default=10)"); > module_param(ev, charp, 0); > MODULE_PARM_DESC(ev, "Eurotech WDT event type (default is `int')"); > diff --git a/drivers/watchdog/pc87413_wdt.c b/drivers/watchdog/pc87413_wdt.c > index 9f15dd9435d1..06a892e36a8d 100644 > --- a/drivers/watchdog/pc87413_wdt.c > +++ b/drivers/watchdog/pc87413_wdt.c > @@ -579,7 +579,7 @@ MODULE_AUTHOR("Marcus Junker "); > MODULE_DESCRIPTION("PC87413 WDT driver"); > MODULE_LICENSE("GPL"); > > -module_param(io, int, 0); > +module_param_hw(io, int, ioport, 0); > MODULE_PARM_DESC(io, MODNAME " I/O port (default: " > __MODULE_STRING(IO_DEFAULT) ")."); > > diff --git a/drivers/watchdog/sc1200wdt.c b/drivers/watchdog/sc1200wdt.c > index 131193a7acdf..b34d3d5ba632 100644 > --- a/drivers/watchdog/sc1200wdt.c > +++ b/drivers/watchdog/sc1200wdt.c > @@ -88,7 +88,7 @@ MODULE_PARM_DESC(isapnp, > "When set to 0 driver ISA PnP support will be disabled"); > #endif > > -module_param(io, int, 0); > +module_param_hw(io, int, ioport, 0); > MODULE_PARM_DESC(io, "io port"); > module_param(timeout, int, 0); > MODULE_PARM_DESC(timeout, "range is 0-255 minutes, default is 1"); > diff --git a/drivers/watchdog/wdt.c b/drivers/watchdog/wdt.c > index e0206b5b7d89..e481fbbc4ae7 100644 > --- a/drivers/watchdog/wdt.c > +++ b/drivers/watchdog/wdt.c > @@ -78,9 +78,9 @@ static int irq = 11; > > static DEFINE_SPINLOCK(wdt_lock); > > -module_param(io, int, 0); > +module_param_hw(io, int, ioport, 0); > MODULE_PARM_DESC(io, "WDT io port (default=0x240)"); > -module_param(irq, int, 0); > +module_param_hw(irq, int, irq, 0); > MODULE_PARM_DESC(irq, "WDT irq (default=11)"); > > /* Support for the Fan Tachometer on the WDT501-P */ > > -- > To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >