cm4000_cs.c cmm_ioctl(): get rid of pointless access_ok()
copy_to_user()/copy_from_user() for everything Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
558cc8f782
commit
5f599098f7
@ -1404,7 +1404,6 @@ static long cmm_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
|||||||
unsigned int iobase = dev->p_dev->resource[0]->start;
|
unsigned int iobase = dev->p_dev->resource[0]->start;
|
||||||
struct inode *inode = file_inode(filp);
|
struct inode *inode = file_inode(filp);
|
||||||
struct pcmcia_device *link;
|
struct pcmcia_device *link;
|
||||||
int size;
|
|
||||||
int rc;
|
int rc;
|
||||||
void __user *argp = (void __user *)arg;
|
void __user *argp = (void __user *)arg;
|
||||||
#ifdef CM4000_DEBUG
|
#ifdef CM4000_DEBUG
|
||||||
@ -1441,19 +1440,6 @@ static long cmm_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
|||||||
DEBUGP(4, dev, "iocnr mismatch\n");
|
DEBUGP(4, dev, "iocnr mismatch\n");
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
size = _IOC_SIZE(cmd);
|
|
||||||
rc = -EFAULT;
|
|
||||||
DEBUGP(4, dev, "iocdir=%.4x iocr=%.4x iocw=%.4x iocsize=%d cmd=%.4x\n",
|
|
||||||
_IOC_DIR(cmd), _IOC_READ, _IOC_WRITE, size, cmd);
|
|
||||||
|
|
||||||
if (_IOC_DIR(cmd) & _IOC_READ) {
|
|
||||||
if (!access_ok(argp, size))
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
if (_IOC_DIR(cmd) & _IOC_WRITE) {
|
|
||||||
if (!access_ok(argp, size))
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
rc = 0;
|
rc = 0;
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user