Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 202584
b: refs/heads/master
c: 024cb8a
h: refs/heads/master
v: v3
  • Loading branch information
Julia Lawall authored and David S. Miller committed May 31, 2010
1 parent a51c6a6 commit 1067b27
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 33 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7d88950426da812a6ab93ee1bba821f7f0ec1766
refs/heads/master: 024cb8a67f3d3438322fac9d6f7b1cc578eca71c
11 changes: 3 additions & 8 deletions trunk/drivers/isdn/i4l/isdn_ppp.c
Original file line number Diff line number Diff line change
Expand Up @@ -449,14 +449,9 @@ static int get_filter(void __user *arg, struct sock_filter **p)

/* uprog.len is unsigned short, so no overflow here */
len = uprog.len * sizeof(struct sock_filter);
code = kmalloc(len, GFP_KERNEL);
if (code == NULL)
return -ENOMEM;

if (copy_from_user(code, uprog.filter, len)) {
kfree(code);
return -EFAULT;
}
code = memdup_user(uprog.filter, len);
if (IS_ERR(code))
return PTR_ERR(code);

err = sk_chk_filter(code, uprog.len);
if (err) {
Expand Down
10 changes: 3 additions & 7 deletions trunk/drivers/isdn/pcbit/drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -411,14 +411,10 @@ static int pcbit_writecmd(const u_char __user *buf, int len, int driver, int cha
return -EINVAL;
}

cbuf = kmalloc(len, GFP_KERNEL);
if (!cbuf)
return -ENOMEM;
cbuf = memdup_user(buf, len);
if (IS_ERR(cbuf))
return PTR_ERR(cbuf);

if (copy_from_user(cbuf, buf, len)) {
kfree(cbuf);
return -EFAULT;
}
memcpy_toio(dev->sh_mem, cbuf, len);
kfree(cbuf);
return len;
Expand Down
23 changes: 6 additions & 17 deletions trunk/drivers/isdn/sc/ioctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -215,19 +215,13 @@ int sc_ioctl(int card, scs_ioctl *data)
pr_debug("%s: DCBIOSETSPID: ioctl received\n",
sc_adapter[card]->devicename);

spid = kmalloc(SCIOC_SPIDSIZE, GFP_KERNEL);
if(!spid) {
kfree(rcvmsg);
return -ENOMEM;
}

/*
* Get the spid from user space
*/
if (copy_from_user(spid, data->dataptr, SCIOC_SPIDSIZE)) {
spid = memdup_user(data->dataptr, SCIOC_SPIDSIZE);
if (IS_ERR(spid)) {
kfree(rcvmsg);
kfree(spid);
return -EFAULT;
return PTR_ERR(spid);
}

pr_debug("%s: SCIOCSETSPID: setting channel %d spid to %s\n",
Expand Down Expand Up @@ -296,18 +290,13 @@ int sc_ioctl(int card, scs_ioctl *data)
pr_debug("%s: SCIOSETDN: ioctl received\n",
sc_adapter[card]->devicename);

dn = kmalloc(SCIOC_DNSIZE, GFP_KERNEL);
if (!dn) {
kfree(rcvmsg);
return -ENOMEM;
}
/*
* Get the spid from user space
*/
if (copy_from_user(dn, data->dataptr, SCIOC_DNSIZE)) {
dn = memdup_user(data->dataptr, SCIOC_DNSIZE);
if (IS_ERR(dn)) {
kfree(rcvmsg);
kfree(dn);
return -EFAULT;
return PTR_ERR(dn);
}

pr_debug("%s: SCIOCSETDN: setting channel %d dn to %s\n",
Expand Down

0 comments on commit 1067b27

Please sign in to comment.