Re: [PATCH 10/39] Annotate hardware config module parameters in drivers/iio/

From: Jonathan Cameron
Date: Sat Dec 03 2016 - 09:39:33 EST


On 01/12/16 13:50, William Breathitt Gray wrote:
> On Thu, Dec 01, 2016 at 12:30:55PM +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/iio/.
>>
>> Suggested-by: One Thousand Gnomes <gnomes@xxxxxxxxxxxxxxxxxxx>
>> Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
>> cc: William Breathitt Gray <vilhelm.gray@xxxxxxxxx>
>> cc: Jonathan Cameron <jic23@xxxxxxxxxx>
>> cc: linux-iio@xxxxxxxxxxxxxxx
>
> Acked-by: William Breathitt Gray <vilhelm.gray@xxxxxxxxx>
Hi David,

I'm on a train so can't check the original thread right now (and will probably
forget to do so later!). I am guessing the new functions are introduced
earlier in the series? Hence for now I'll assume you want to merge
this lot in one go.

Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx>

Shout if you want me to take this via the IIO tree after the merge window
closes.

Thanks,

Jonathan
>
>> ---
>>
>> drivers/iio/adc/stx104.c | 2 +-
>> drivers/iio/dac/cio-dac.c | 2 +-
>> 2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/iio/adc/stx104.c b/drivers/iio/adc/stx104.c
>> index 7e3645749eaf..a805bd543acb 100644
>> --- a/drivers/iio/adc/stx104.c
>> +++ b/drivers/iio/adc/stx104.c
>> @@ -49,7 +49,7 @@
>>
>> static unsigned int base[max_num_isa_dev(STX104_EXTENT)];
>> static unsigned int num_stx104;
>> -module_param_array(base, uint, &num_stx104, 0);
>> +module_param_hw_array(base, uint, ioport, &num_stx104, 0);
>> MODULE_PARM_DESC(base, "Apex Embedded Systems STX104 base addresses");
>>
>> /**
>> diff --git a/drivers/iio/dac/cio-dac.c b/drivers/iio/dac/cio-dac.c
>> index 5a743e2a779d..dac086129edf 100644
>> --- a/drivers/iio/dac/cio-dac.c
>> +++ b/drivers/iio/dac/cio-dac.c
>> @@ -39,7 +39,7 @@
>>
>> static unsigned int base[max_num_isa_dev(CIO_DAC_EXTENT)];
>> static unsigned int num_cio_dac;
>> -module_param_array(base, uint, &num_cio_dac, 0);
>> +module_param_hw_array(base, uint, ioport, &num_cio_dac, 0);
>> MODULE_PARM_DESC(base, "Measurement Computing CIO-DAC base addresses");
>>
>> /**
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>