From 366bb180aa44bd8b4478e0dee94bf17be0dd82d8 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Tue, 12 Mar 2013 22:35:40 -0400 Subject: autodetect: allow whitelisting by MODULE_FS_ALIAS Linux 3.9 adds a filesystem alias in the supporting module in the form of fs-$filesystem. While this is mainly aimed at security/paranoia, it does mean that we can make better use of the fact that we always resolve filesystem as aliases to filesystem modules. Do an additional lookup in add_if_avail to resolve the new alias in addition to the filesystem name itself. Signed-off-by: Dave Reisner --- install/autodetect | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/install/autodetect b/install/autodetect index 907a85a..d6e9e29 100644 --- a/install/autodetect +++ b/install/autodetect @@ -5,11 +5,13 @@ build() { local -a md_devs mods add_if_avail() { - local r= resolved= + local r= resolved=() - # treat this as an alias, since ext3 might be aliased to ext4. + # treat this as an alias, since ext3 might be aliased to ext4. also, as + # of linux 3.9, we can find any filesystem by the alias "fs-$name" + # rather than having to guess at the corresponding module name. IFS=$'\n' read -rd '' -a resolved < \ - <(modprobe -d "$_optmoduleroot" -S "$KERNELVERSION" -R "$1" 2>/dev/null) + <(modprobe -d "$_optmoduleroot" -S "$KERNELVERSION" -Ra {fs-,}"$1" 2>/dev/null) for r in "${resolved[@]}"; do _autodetect_cache["$r"]=1 -- cgit v1.2.3-24-g4f1b