Commit a53bc753 authored by David S. Miller's avatar David S. Miller

[SPARC]: Pass a real page into do_mount() a final arg.

parent 23893419
...@@ -682,8 +682,8 @@ static int get_default (int value, int def_value) ...@@ -682,8 +682,8 @@ static int get_default (int value, int def_value)
static int sunos_nfs_mount(char *dir_name, int linux_flags, void *data) static int sunos_nfs_mount(char *dir_name, int linux_flags, void *data)
{ {
int server_fd; int server_fd, err;
char *the_name; char *the_name, *mount_page;
struct nfs_mount_data linux_nfs_mount; struct nfs_mount_data linux_nfs_mount;
struct sunos_nfs_mount_args sunos_mount; struct sunos_nfs_mount_args sunos_mount;
...@@ -736,7 +736,16 @@ static int sunos_nfs_mount(char *dir_name, int linux_flags, void *data) ...@@ -736,7 +736,16 @@ static int sunos_nfs_mount(char *dir_name, int linux_flags, void *data)
sizeof(linux_nfs_mount.hostname)); sizeof(linux_nfs_mount.hostname));
putname (the_name); putname (the_name);
return do_mount ("", dir_name, "nfs", linux_flags, &linux_nfs_mount); mount_page = (char *) get_zeroed_page(GFP_KERNEL);
if (!mount_page)
return -ENOMEM;
memcpy(mount_page, &linux_nfs_mount, sizeof(linux_nfs_mount));
err = do_mount("", dir_name, "nfs", linux_flags, mount_page);
free_page((unsigned long) mount_page);
return err;
} }
asmlinkage int asmlinkage int
......
...@@ -650,8 +650,8 @@ static int get_default (int value, int def_value) ...@@ -650,8 +650,8 @@ static int get_default (int value, int def_value)
/* XXXXXXXXXXXXXXXXXXXX */ /* XXXXXXXXXXXXXXXXXXXX */
static int sunos_nfs_mount(char *dir_name, int linux_flags, void *data) static int sunos_nfs_mount(char *dir_name, int linux_flags, void *data)
{ {
int server_fd; int server_fd, err;
char *the_name; char *the_name, *mount_page;
struct nfs_mount_data linux_nfs_mount; struct nfs_mount_data linux_nfs_mount;
struct sunos_nfs_mount_args sunos_mount; struct sunos_nfs_mount_args sunos_mount;
...@@ -704,7 +704,16 @@ static int sunos_nfs_mount(char *dir_name, int linux_flags, void *data) ...@@ -704,7 +704,16 @@ static int sunos_nfs_mount(char *dir_name, int linux_flags, void *data)
sizeof(linux_nfs_mount.hostname)); sizeof(linux_nfs_mount.hostname));
putname (the_name); putname (the_name);
return do_mount ("", dir_name, "nfs", linux_flags, &linux_nfs_mount); mount_page = (char *) get_zeroed_page(GFP_KERNEL);
if (!mount_page)
return -ENOMEM;
memcpy(mount_page, &linux_nfs_mount, sizeof(linux_nfs_mount));
err = do_mount("", dir_name, "nfs", linux_flags, mount_page);
free_page((unsigned long) mount_page);
return err;
} }
/* XXXXXXXXXXXXXXXXXXXX */ /* XXXXXXXXXXXXXXXXXXXX */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment