diff options
author | Vegard Nossum <vegard.nossum@gmail.com> | 2009-05-16 11:26:20 +0200 |
---|---|---|
committer | Vegard Nossum <vegard.nossum@gmail.com> | 2009-06-15 15:49:42 +0200 |
commit | 3b5c760efcddf1ebdd39a2035b554e96febd7466 (patch) | |
tree | efc709a5a17216e66aebe44c5f80fc2ee168edcd | |
parent | 3446a8aa7ebcbc0a799e5e8fc4f2da0738d6bc21 (diff) | |
download | linux-3b5c760efcddf1ebdd39a2035b554e96febd7466.tar.gz linux-3b5c760efcddf1ebdd39a2035b554e96febd7466.tar.bz2 linux-3b5c760efcddf1ebdd39a2035b554e96febd7466.zip |
fs: fix do_mount_root() false positive kmemcheck warning
This false positive is due to the fact that do_mount_root() fakes a
mount option (which is normally read from userspace), and the kernel
unconditionally reads a whole page for the mount option.
Hide the false positive by using the new __getname_gfp() with the
__GFP_NOTRACK_FALSE_POSITIVE flag.
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
-rw-r--r-- | init/do_mounts.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/init/do_mounts.c b/init/do_mounts.c index dd7ee5f203f3..093f65915501 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c @@ -231,7 +231,8 @@ static int __init do_mount_root(char *name, char *fs, int flags, void *data) void __init mount_block_root(char *name, int flags) { - char *fs_names = __getname(); + char *fs_names = __getname_gfp(GFP_KERNEL + | __GFP_NOTRACK_FALSE_POSITIVE); char *p; #ifdef CONFIG_BLOCK char b[BDEVNAME_SIZE]; |