Commit 31acd266 authored by Al Viro's avatar Al Viro

isdn: get rid of pointless access_ok()

copy_to_user()/copy_from_user()/get_user() check themselves
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent ae2a9762
...@@ -1304,9 +1304,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg) ...@@ -1304,9 +1304,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg)
if (arg) { if (arg) {
ulong __user *p = argp; ulong __user *p = argp;
int i; int i;
if (!access_ok(VERIFY_WRITE, p,
sizeof(ulong) * ISDN_MAX_CHANNELS * 2))
return -EFAULT;
for (i = 0; i < ISDN_MAX_CHANNELS; i++) { for (i = 0; i < ISDN_MAX_CHANNELS; i++) {
put_user(dev->ibytes[i], p++); put_user(dev->ibytes[i], p++);
put_user(dev->obytes[i], p++); put_user(dev->obytes[i], p++);
...@@ -1540,11 +1537,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg) ...@@ -1540,11 +1537,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg)
char __user *p = argp; char __user *p = argp;
int i; int i;
if (!access_ok(VERIFY_WRITE, argp,
(ISDN_MODEM_NUMREG + ISDN_MSNLEN + ISDN_LMSNLEN)
* ISDN_MAX_CHANNELS))
return -EFAULT;
for (i = 0; i < ISDN_MAX_CHANNELS; i++) { for (i = 0; i < ISDN_MAX_CHANNELS; i++) {
if (copy_to_user(p, dev->mdm.info[i].emu.profile, if (copy_to_user(p, dev->mdm.info[i].emu.profile,
ISDN_MODEM_NUMREG)) ISDN_MODEM_NUMREG))
...@@ -1567,11 +1559,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg) ...@@ -1567,11 +1559,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg)
char __user *p = argp; char __user *p = argp;
int i; int i;
if (!access_ok(VERIFY_READ, argp,
(ISDN_MODEM_NUMREG + ISDN_MSNLEN + ISDN_LMSNLEN)
* ISDN_MAX_CHANNELS))
return -EFAULT;
for (i = 0; i < ISDN_MAX_CHANNELS; i++) { for (i = 0; i < ISDN_MAX_CHANNELS; i++) {
if (copy_from_user(dev->mdm.info[i].emu.profile, p, if (copy_from_user(dev->mdm.info[i].emu.profile, p,
ISDN_MODEM_NUMREG)) ISDN_MODEM_NUMREG))
...@@ -1617,8 +1604,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg) ...@@ -1617,8 +1604,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg)
int j = 0; int j = 0;
while (1) { while (1) {
if (!access_ok(VERIFY_READ, p, 1))
return -EFAULT;
get_user(bname[j], p++); get_user(bname[j], p++);
switch (bname[j]) { switch (bname[j]) {
case '\0': case '\0':
...@@ -1685,9 +1670,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg) ...@@ -1685,9 +1670,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg)
drvidx = 0; drvidx = 0;
if (drvidx == -1) if (drvidx == -1)
return -ENODEV; return -ENODEV;
if (!access_ok(VERIFY_WRITE, argp,
sizeof(isdn_ioctl_struct)))
return -EFAULT;
c.driver = drvidx; c.driver = drvidx;
c.command = ISDN_CMD_IOCTL; c.command = ISDN_CMD_IOCTL;
c.arg = cmd; c.arg = cmd;
......
...@@ -795,9 +795,6 @@ isdn_ppp_read(int min, struct file *file, char __user *buf, int count) ...@@ -795,9 +795,6 @@ isdn_ppp_read(int min, struct file *file, char __user *buf, int count)
if (!(is->state & IPPP_OPEN)) if (!(is->state & IPPP_OPEN))
return 0; return 0;
if (!access_ok(VERIFY_WRITE, buf, count))
return -EFAULT;
spin_lock_irqsave(&is->buflock, flags); spin_lock_irqsave(&is->buflock, flags);
b = is->first->next; b = is->first->next;
save_buf = b->buf; save_buf = b->buf;
...@@ -2014,9 +2011,6 @@ isdn_ppp_dev_ioctl_stats(int slot, struct ifreq *ifr, struct net_device *dev) ...@@ -2014,9 +2011,6 @@ isdn_ppp_dev_ioctl_stats(int slot, struct ifreq *ifr, struct net_device *dev)
struct ppp_stats t; struct ppp_stats t;
isdn_net_local *lp = netdev_priv(dev); isdn_net_local *lp = netdev_priv(dev);
if (!access_ok(VERIFY_WRITE, res, sizeof(struct ppp_stats)))
return -EFAULT;
/* build a temporary stat struct and copy it to user space */ /* build a temporary stat struct and copy it to user space */
memset(&t, 0, sizeof(struct ppp_stats)); memset(&t, 0, sizeof(struct ppp_stats));
......
...@@ -1142,8 +1142,6 @@ isdnloop_command(isdn_ctrl *c, isdnloop_card *card) ...@@ -1142,8 +1142,6 @@ isdnloop_command(isdn_ctrl *c, isdnloop_card *card)
case ISDNLOOP_IOCTL_DEBUGVAR: case ISDNLOOP_IOCTL_DEBUGVAR:
return (ulong) card; return (ulong) card;
case ISDNLOOP_IOCTL_STARTUP: case ISDNLOOP_IOCTL_STARTUP:
if (!access_ok(VERIFY_READ, (void *) a, sizeof(isdnloop_sdef)))
return -EFAULT;
return isdnloop_start(card, (isdnloop_sdef *) a); return isdnloop_start(card, (isdnloop_sdef *) a);
break; break;
case ISDNLOOP_IOCTL_ADDCARD: case ISDNLOOP_IOCTL_ADDCARD:
......
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