Patch "modpost: expand pattern matching to support substring matches" has been added to the 3.18-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
modpost: expand pattern matching to support substring matches
to the 3.18-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
modpost-expand-pattern-matching-to-support-substring-matches.patch
and it can be found in the queue-3.18 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
09c20c032b0f753969ae778d9783d946f054d7feMon Sep 17 00:00:00 2001
From: Paul Gortmaker <[email protected]>
Date: Mon, 20 Apr 2015 10:20:26 +0930
Subject: modpost: expand pattern matching to support substring matches
From: Paul Gortmaker <[email protected]>
commit 09c20c032b0f753969ae778d9783d946f054d7fe upstream.
Currently the match() function supports a leading * to match any prefix and a trailing * to match any suffix. However there currently is not a combination of both that can be used to target matches of whole families of functions that share a common substring.
Here we expand the *foo and foo* match to also support *foo* with the goal of targeting compiler generated symbol names that contain strings like ".constprop." and ".isra."
--- scripts/mod/modpost.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)
scripts/mod/modpost.c +11 -1
@@ -776,6 +776,7 @@ static const char *sech_name(struct elf_* "foo" will match an exact string equal to "foo" * "*foo" will match a string that ends with "foo" * "foo*" will match a string that begins with "foo" +* "*foo*" will match a string that contains "foo" */ static int match (const char *sym,const char *const pat[]) {
@@ -784,8 +785,17 @@ static int match(const char *sym, const p = *pat++;const char *endp = p +strlen (p) -1 ; +/* "*foo*" */ +if (*p =='*' && *endp =='*' ) { +char *here, *bare =strndup (p +1 ,strlen (p) -2 ); + + here =strstr (sym, bare); +free (bare); +if (here !=NULL ) +return 1 ; + }/* "*foo" */ -if (*p =='*' ) { +else if (*p =='*' ) {if (strrcmp (sym, p +1 ) ==0 )return 1 ; }
Patches currently in stable-queue which might be from [email protected] are
queue-3.18/modpost-don-t-emit-section-mismatch-warnings-for-compiler-optimizations.patch queue-3.18/modpost-expand-pattern-matching-to-support-substring-matches.patch