aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorAndrey Borzenkov <arvidjaar@mail.ru>2003-12-10 00:00:53 -0800
committerGreg Kroah-Hartman <greg@kroah.com>2003-12-10 00:00:53 -0800
commit0d55831736fddd104c0716e3832f53355723787c (patch)
tree713d7b0c78909a1c7eccc8f59179d73a129ac470 /scripts
parent95cc041850e4b5ffbff4800f77c1af2e0dd768a0 (diff)
downloadhistory-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.c7
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);