On Thu, Dec 01, 2016 at 12:31:03PM +0000, 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/input/. > > Suggested-by: One Thousand Gnomes <gnomes@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: David Howells <dhowells@xxxxxxxxxx> > cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > cc: linux-input@xxxxxxxxxxxxxxx Please merge with the rest of patches. Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > --- > > drivers/input/mouse/inport.c | 2 +- > drivers/input/mouse/logibm.c | 2 +- > drivers/input/touchscreen/mk712.c | 4 ++-- > 3 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/input/mouse/inport.c b/drivers/input/mouse/inport.c > index 3827a22362de..9ce71dfa0de1 100644 > --- a/drivers/input/mouse/inport.c > +++ b/drivers/input/mouse/inport.c > @@ -78,7 +78,7 @@ MODULE_LICENSE("GPL"); > #define INPORT_IRQ 5 > > static int inport_irq = INPORT_IRQ; > -module_param_named(irq, inport_irq, uint, 0); > +module_param_hw_named(irq, inport_irq, uint, irq, 0); > MODULE_PARM_DESC(irq, "IRQ number (5=default)"); > > static struct input_dev *inport_dev; > diff --git a/drivers/input/mouse/logibm.c b/drivers/input/mouse/logibm.c > index e2413113df22..6f165e053f4d 100644 > --- a/drivers/input/mouse/logibm.c > +++ b/drivers/input/mouse/logibm.c > @@ -69,7 +69,7 @@ MODULE_LICENSE("GPL"); > #define LOGIBM_IRQ 5 > > static int logibm_irq = LOGIBM_IRQ; > -module_param_named(irq, logibm_irq, uint, 0); > +module_param_hw_named(irq, logibm_irq, uint, irq, 0); > MODULE_PARM_DESC(irq, "IRQ number (5=default)"); > > static struct input_dev *logibm_dev; > diff --git a/drivers/input/touchscreen/mk712.c b/drivers/input/touchscreen/mk712.c > index 36e57deacd03..bd5352824f77 100644 > --- a/drivers/input/touchscreen/mk712.c > +++ b/drivers/input/touchscreen/mk712.c > @@ -50,11 +50,11 @@ MODULE_DESCRIPTION("ICS MicroClock MK712 TouchScreen driver"); > MODULE_LICENSE("GPL"); > > static unsigned int mk712_io = 0x260; /* Also 0x200, 0x208, 0x300 */ > -module_param_named(io, mk712_io, uint, 0); > +module_param_hw_named(io, mk712_io, uint, ioport, 0); > MODULE_PARM_DESC(io, "I/O base address of MK712 touchscreen controller"); > > static unsigned int mk712_irq = 10; /* Also 12, 14, 15 */ > -module_param_named(irq, mk712_irq, uint, 0); > +module_param_hw_named(irq, mk712_irq, uint, irq, 0); > MODULE_PARM_DESC(irq, "IRQ of MK712 touchscreen controller"); > > /* eight 8-bit registers */ > -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html