diff options
| -rw-r--r-- | fs/char_dev.c | 3 | ||||
| -rw-r--r-- | fs/exec.c | 9 | ||||
| -rw-r--r-- | fs/nls/nls_base.c | 21 |
3 files changed, 4 insertions, 29 deletions
diff --git a/fs/char_dev.c b/fs/char_dev.c index 3cb7cda3d780..262fa10e213d 100644 --- a/fs/char_dev.c +++ b/fs/char_dev.c | |||
| @@ -22,9 +22,6 @@ | |||
| 22 | #include <linux/mutex.h> | 22 | #include <linux/mutex.h> |
| 23 | #include <linux/backing-dev.h> | 23 | #include <linux/backing-dev.h> |
| 24 | 24 | ||
| 25 | #ifdef CONFIG_KMOD | ||
| 26 | #include <linux/kmod.h> | ||
| 27 | #endif | ||
| 28 | #include "internal.h" | 25 | #include "internal.h" |
| 29 | 26 | ||
| 30 | /* | 27 | /* |
| @@ -50,15 +50,12 @@ | |||
| 50 | #include <linux/cn_proc.h> | 50 | #include <linux/cn_proc.h> |
| 51 | #include <linux/audit.h> | 51 | #include <linux/audit.h> |
| 52 | #include <linux/tracehook.h> | 52 | #include <linux/tracehook.h> |
| 53 | #include <linux/kmod.h> | ||
| 53 | 54 | ||
| 54 | #include <asm/uaccess.h> | 55 | #include <asm/uaccess.h> |
| 55 | #include <asm/mmu_context.h> | 56 | #include <asm/mmu_context.h> |
| 56 | #include <asm/tlb.h> | 57 | #include <asm/tlb.h> |
| 57 | 58 | ||
| 58 | #ifdef CONFIG_KMOD | ||
| 59 | #include <linux/kmod.h> | ||
| 60 | #endif | ||
| 61 | |||
| 62 | #ifdef __alpha__ | 59 | #ifdef __alpha__ |
| 63 | /* for /sbin/loader handling in search_binary_handler() */ | 60 | /* for /sbin/loader handling in search_binary_handler() */ |
| 64 | #include <linux/a.out.h> | 61 | #include <linux/a.out.h> |
| @@ -1247,8 +1244,8 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs) | |||
| 1247 | read_unlock(&binfmt_lock); | 1244 | read_unlock(&binfmt_lock); |
| 1248 | if (retval != -ENOEXEC || bprm->mm == NULL) { | 1245 | if (retval != -ENOEXEC || bprm->mm == NULL) { |
| 1249 | break; | 1246 | break; |
| 1250 | #ifdef CONFIG_KMOD | 1247 | #ifdef CONFIG_MODULES |
| 1251 | }else{ | 1248 | } else { |
| 1252 | #define printable(c) (((c)=='\t') || ((c)=='\n') || (0x20<=(c) && (c)<=0x7e)) | 1249 | #define printable(c) (((c)=='\t') || ((c)=='\n') || (0x20<=(c) && (c)<=0x7e)) |
| 1253 | if (printable(bprm->buf[0]) && | 1250 | if (printable(bprm->buf[0]) && |
| 1254 | printable(bprm->buf[1]) && | 1251 | printable(bprm->buf[1]) && |
diff --git a/fs/nls/nls_base.c b/fs/nls/nls_base.c index 64965e1c21c4..9b0efdad8910 100644 --- a/fs/nls/nls_base.c +++ b/fs/nls/nls_base.c | |||
| @@ -13,9 +13,7 @@ | |||
| 13 | #include <linux/nls.h> | 13 | #include <linux/nls.h> |
| 14 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
| 15 | #include <linux/errno.h> | 15 | #include <linux/errno.h> |
| 16 | #ifdef CONFIG_KMOD | ||
| 17 | #include <linux/kmod.h> | 16 | #include <linux/kmod.h> |
| 18 | #endif | ||
| 19 | #include <linux/spinlock.h> | 17 | #include <linux/spinlock.h> |
| 20 | 18 | ||
| 21 | static struct nls_table default_table; | 19 | static struct nls_table default_table; |
| @@ -215,24 +213,7 @@ static struct nls_table *find_nls(char *charset) | |||
| 215 | 213 | ||
| 216 | struct nls_table *load_nls(char *charset) | 214 | struct nls_table *load_nls(char *charset) |
| 217 | { | 215 | { |
| 218 | struct nls_table *nls; | 216 | return try_then_request_module(find_nls(charset), "nls_%s", charset); |
| 219 | #ifdef CONFIG_KMOD | ||
| 220 | int ret; | ||
| 221 | #endif | ||
| 222 | |||
| 223 | nls = find_nls(charset); | ||
| 224 | if (nls) | ||
| 225 | return nls; | ||
| 226 | |||
| 227 | #ifdef CONFIG_KMOD | ||
| 228 | ret = request_module("nls_%s", charset); | ||
| 229 | if (ret != 0) { | ||
| 230 | printk("Unable to load NLS charset %s\n", charset); | ||
| 231 | return NULL; | ||
| 232 | } | ||
| 233 | nls = find_nls(charset); | ||
| 234 | #endif | ||
| 235 | return nls; | ||
| 236 | } | 217 | } |
| 237 | 218 | ||
| 238 | void unload_nls(struct nls_table *nls) | 219 | void unload_nls(struct nls_table *nls) |
