]> Git Repo - linux.git/commitdiff
of: fix autoloading due to broken modalias with no 'compatible'
authorWolfram Sang <[email protected]>
Mon, 6 Jun 2016 16:48:38 +0000 (18:48 +0200)
committerMichael Ellerman <[email protected]>
Wed, 8 Jun 2016 00:40:20 +0000 (10:40 +1000)
Because of an improper dereference, a stray 'C' character was output to
the modalias when no 'compatible' was specified. This is the case for
some old PowerMac drivers which only set the 'name' property. Fix it to
let them match again.

Reported-by: Mathieu Malaterre <[email protected]>
Signed-off-by: Wolfram Sang <[email protected]>
Tested-by: Mathieu Malaterre <[email protected]>
Cc: Philipp Zabel <[email protected]>
Cc: Andreas Schwab <[email protected]>
Fixes: 6543becf26fff6 ("mod/file2alias: make modalias generation safe for cross compiling")
Cc: [email protected] # v3.9+
Signed-off-by: Michael Ellerman <[email protected]>
scripts/mod/file2alias.c

index a9155077feefb957d38dc29b4823a9529a7ee0e9..fec75786f75bbb348d03143af7d2280015394643 100644 (file)
@@ -384,7 +384,7 @@ static void do_of_entry_multi(void *symval, struct module *mod)
        len = sprintf(alias, "of:N%sT%s", (*name)[0] ? *name : "*",
                      (*type)[0] ? *type : "*");
 
        len = sprintf(alias, "of:N%sT%s", (*name)[0] ? *name : "*",
                      (*type)[0] ? *type : "*");
 
-       if (compatible[0])
+       if ((*compatible)[0])
                sprintf(&alias[len], "%sC%s", (*type)[0] ? "*" : "",
                        *compatible);
 
                sprintf(&alias[len], "%sC%s", (*type)[0] ? "*" : "",
                        *compatible);
 
This page took 0.054918 seconds and 4 git commands to generate.