From: Wolfram Sang Date: Mon, 6 Jun 2016 16:48:38 +0000 (+0200) Subject: of: fix autoloading due to broken modalias with no 'compatible' X-Git-Tag: v3.16.37~150 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=45d20e9f61cefb6389be8d16547ddd55b63fb55b;p=thirdparty%2Fkernel%2Fstable.git of: fix autoloading due to broken modalias with no 'compatible' commit b3c0a4dab7e35a9b6d69c0415641d2280fdefb2b upstream. 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 Signed-off-by: Wolfram Sang Tested-by: Mathieu Malaterre Cc: Philipp Zabel Cc: Andreas Schwab Fixes: 6543becf26fff6 ("mod/file2alias: make modalias generation safe for cross compiling") Signed-off-by: Michael Ellerman Signed-off-by: Ben Hutchings --- diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index e614ef689eee1..268acec72c4f1 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c @@ -653,7 +653,7 @@ static int do_of_entry (const char *filename, void *symval, char *alias) 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);