Re: [RFC 2/3] module: Ignore delete_id parameter

From: Jon Derrick
Date: Thu Sep 28 2017 - 11:58:02 EST


On 09/28/2017 12:03 AM, Dan Williams wrote:
> On Wed, Sep 27, 2017 at 1:40 PM, Jon Derrick <jonathan.derrick@xxxxxxxxx> wrote:
>> The PCI driver delete_id parameter is handled in each individual driver
>> registration callback.
>>
>> Signed-off-by: Jon Derrick <jonathan.derrick@xxxxxxxxx>
>> ---
>> kernel/module.c | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/kernel/module.c b/kernel/module.c
>> index de66ec8..2b2dccf 100644
>> --- a/kernel/module.c
>> +++ b/kernel/module.c
>> @@ -3620,6 +3620,13 @@ static int unknown_module_param_cb(char *param, char *val, const char *modname,
>> return 0;
>> }
>>
>> + /*
>> + * Ignore driver delete list arguments. They are handled by driver
>> + * registration callbacks
>> + */
>> + if (strcmp(param, "delete_id") == 0)
>> + return 0;
>> +
>
> Does this preclude something like:
>
> modprobe ahci delete_id=1234:5678?
>

It does seem like it would. I can look into calling into the pci
callback for this, but val is a struct module here and I haven't figured
out the plumbing to get the [correct] driver from that.

Maybe if I enforce the format of 'modprobe ahci ahci.delete_id=xxxx' to
ensure the driver is specified (and would be required in cases with
multi-driver modules).