|
@@ -353,8 +353,9 @@ static int __init do_mount_root(char *name, char *fs, int flags, void *data)
|
|
|
|
|
|
void __init mount_block_root(char *name, int flags)
|
|
void __init mount_block_root(char *name, int flags)
|
|
{
|
|
{
|
|
- char *fs_names = __getname_gfp(GFP_KERNEL
|
|
|
|
- | __GFP_NOTRACK_FALSE_POSITIVE);
|
|
|
|
|
|
+ struct page *page = alloc_page(GFP_KERNEL |
|
|
|
|
+ __GFP_NOTRACK_FALSE_POSITIVE);
|
|
|
|
+ char *fs_names = page_address(page);
|
|
char *p;
|
|
char *p;
|
|
#ifdef CONFIG_BLOCK
|
|
#ifdef CONFIG_BLOCK
|
|
char b[BDEVNAME_SIZE];
|
|
char b[BDEVNAME_SIZE];
|
|
@@ -406,7 +407,7 @@ retry:
|
|
#endif
|
|
#endif
|
|
panic("VFS: Unable to mount root fs on %s", b);
|
|
panic("VFS: Unable to mount root fs on %s", b);
|
|
out:
|
|
out:
|
|
- putname(fs_names);
|
|
|
|
|
|
+ put_page(page);
|
|
}
|
|
}
|
|
|
|
|
|
#ifdef CONFIG_ROOT_NFS
|
|
#ifdef CONFIG_ROOT_NFS
|