diff options
author | Andrey Borzenkov <arvidjaar@mail.ru> | 2003-12-10 00:00:53 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <greg@kroah.com> | 2003-12-10 00:00:53 -0800 |
commit | 0d55831736fddd104c0716e3832f53355723787c (patch) | |
tree | 713d7b0c78909a1c7eccc8f59179d73a129ac470 /scripts | |
parent | 95cc041850e4b5ffbff4800f77c1af2e0dd768a0 (diff) | |
download | history-0d55831736fddd104c0716e3832f53355723787c.tar.gz |
[PATCH] USB: prevent catch-all USB aliases in modules.alias
visor.c defines one empty slot in USB ids table that can be filled in at
runtime using module parameters. file2alias generates catch-all alias for it:
alias usb:v*p*dl*dh*dc*dsc*dp*ic*isc*ip* visor
patch adds the same sanity check as in depmod to scripts/file2alias.
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/file2alias.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/scripts/file2alias.c b/scripts/file2alias.c index 8c707215b83441..1528dddebe7e09 100644 --- a/scripts/file2alias.c +++ b/scripts/file2alias.c @@ -52,6 +52,13 @@ static int do_usb_entry(const char *filename, id->bcdDevice_lo = TO_NATIVE(id->bcdDevice_lo); id->bcdDevice_hi = TO_NATIVE(id->bcdDevice_hi); + /* + * Some modules (visor) have empty slots as placeholder for + * run-time specification that results in catch-all alias + */ + if (!(id->idVendor | id->bDeviceClass | id->bInterfaceClass)) + return 1; + strcpy(alias, "usb:"); ADD(alias, "v", id->match_flags&USB_DEVICE_ID_MATCH_VENDOR, id->idVendor); |