]> git.hungrycats.org Git - linux/commitdiff
[PATCH] USB: prevent catch-all USB aliases in modules.alias
authorAndrey Borzenkov <arvidjaar@mail.ru>
Wed, 10 Dec 2003 08:00:53 +0000 (00:00 -0800)
committerGreg Kroah-Hartman <greg@kroah.com>
Wed, 10 Dec 2003 08:00:53 +0000 (00:00 -0800)
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.

scripts/file2alias.c

index 8c707215b83441e9246c372228a90b24fd762bb6..1528dddebe7e09c0a1e80f26bb6e6bafd8c68efa 100644 (file)
@@ -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);