diff options
| -rw-r--r-- | modutils/modprobe.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/modutils/modprobe.c b/modutils/modprobe.c index eeeff7609..c334186b8 100644 --- a/modutils/modprobe.c +++ b/modutils/modprobe.c | |||
| @@ -663,6 +663,25 @@ int modprobe_main(int argc UNUSED_PARAM, char **argv) | |||
| 663 | load_modules_dep(); | 663 | load_modules_dep(); |
| 664 | } | 664 | } |
| 665 | 665 | ||
| 666 | /* Handle modprobe.blacklist=module1,module2,... */ | ||
| 667 | if (ENABLE_FEATURE_MODPROBE_BLACKLIST) { | ||
| 668 | char *options; | ||
| 669 | char *substr; | ||
| 670 | |||
| 671 | options = parse_and_add_kcmdline_module_options(NULL, "modprobe"); | ||
| 672 | while ((substr = strsep(&options, " ")) != NULL) { | ||
| 673 | char *fn = is_prefixed_with(substr, "blacklist="); | ||
| 674 | if (!fn) | ||
| 675 | continue; | ||
| 676 | while ((substr = strsep(&fn, ",")) != NULL) { | ||
| 677 | /* blacklist <modulename> */ | ||
| 678 | get_or_add_modentry(substr)->flags |= MODULE_FLAG_BLACKLISTED; | ||
| 679 | DBG("blacklist: %s", substr); | ||
| 680 | } | ||
| 681 | } | ||
| 682 | /*free(options); - WRONG, strsep may have advanced it */ | ||
| 683 | } | ||
| 684 | |||
| 666 | rc = 0; | 685 | rc = 0; |
| 667 | while ((me = llist_pop(&G.probes)) != NULL) { | 686 | while ((me = llist_pop(&G.probes)) != NULL) { |
| 668 | if (me->realnames == NULL) { | 687 | if (me->realnames == NULL) { |
