Skip to content

Commit

Permalink
ipc: set EFAULT as default error in load_msg()
Browse files Browse the repository at this point in the history
Signed-off-by: Peter Hurley <[email protected]>
Acked-by: Stanislav Kinsbursky <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
peterhurley authored and torvalds committed May 1, 2013
1 parent da085d4 commit 2b3097a
Showing 1 changed file with 3 additions and 7 deletions.
10 changes: 3 additions & 7 deletions ipc/msgutil.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,27 +84,23 @@ struct msg_msg *load_msg(const void __user *src, int len)
{
struct msg_msg *msg;
struct msg_msgseg *seg;
int err;
int err = -EFAULT;
int alen;

msg = alloc_msg(len);
if (msg == NULL)
return ERR_PTR(-ENOMEM);

alen = min(len, DATALEN_MSG);
if (copy_from_user(msg + 1, src, alen)) {
err = -EFAULT;
if (copy_from_user(msg + 1, src, alen))
goto out_err;
}

for (seg = msg->next; seg != NULL; seg = seg->next) {
len -= alen;
src = (char __user *)src + alen;
alen = min(len, DATALEN_SEG);
if (copy_from_user(seg + 1, src, alen)) {
err = -EFAULT;
if (copy_from_user(seg + 1, src, alen))
goto out_err;
}
}

err = security_msg_msg_alloc(msg);
Expand Down

0 comments on commit 2b3097a

Please sign in to comment.