Commit f409ac77 authored by Trond Myklebust's avatar Trond Myklebust Committed by Linus Torvalds

[PATCH] NFSv3: Fix up an unaligned access error in nfs3_proc_unlink_setup()

Signed-off-by: default avatarTrond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent da68991d
...@@ -418,20 +418,21 @@ nfs3_proc_remove(struct inode *dir, struct qstr *name) ...@@ -418,20 +418,21 @@ nfs3_proc_remove(struct inode *dir, struct qstr *name)
static int static int
nfs3_proc_unlink_setup(struct rpc_message *msg, struct dentry *dir, struct qstr *name) nfs3_proc_unlink_setup(struct rpc_message *msg, struct dentry *dir, struct qstr *name)
{ {
struct nfs3_diropargs *arg; struct unlinkxdr {
struct nfs_fattr *res; struct nfs3_diropargs arg;
struct nfs_fattr res;
} *ptr;
arg = (struct nfs3_diropargs *)kmalloc(sizeof(*arg)+sizeof(*res), GFP_KERNEL); ptr = (struct unlinkxdr *)kmalloc(sizeof(*ptr), GFP_KERNEL);
if (!arg) if (!ptr)
return -ENOMEM; return -ENOMEM;
res = (struct nfs_fattr*)(arg + 1); ptr->arg.fh = NFS_FH(dir->d_inode);
arg->fh = NFS_FH(dir->d_inode); ptr->arg.name = name->name;
arg->name = name->name; ptr->arg.len = name->len;
arg->len = name->len; ptr->res.valid = 0;
res->valid = 0;
msg->rpc_proc = &nfs3_procedures[NFS3PROC_REMOVE]; msg->rpc_proc = &nfs3_procedures[NFS3PROC_REMOVE];
msg->rpc_argp = arg; msg->rpc_argp = &ptr->arg;
msg->rpc_resp = res; msg->rpc_resp = &ptr->res;
return 0; return 0;
} }
......
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