drivers: Push down BKL into various drivers
These are the last remaining device drivers using the ->ioctl file operation in the drivers directory (except from v4l drivers). [fweisbec: drop i8k pushdown as it has been done from procfs pushdown branch already] Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
This commit is contained in:
committed by
Frederic Weisbecker
parent
703c631ebb
commit
55929332c9
@@ -954,8 +954,7 @@ static int mon_bin_queued(struct mon_reader_bin *rp)
|
||||
|
||||
/*
|
||||
*/
|
||||
static int mon_bin_ioctl(struct inode *inode, struct file *file,
|
||||
unsigned int cmd, unsigned long arg)
|
||||
static int mon_bin_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
||||
{
|
||||
struct mon_reader_bin *rp = file->private_data;
|
||||
// struct mon_bus* mbus = rp->r.m_bus;
|
||||
@@ -1095,6 +1094,19 @@ static int mon_bin_ioctl(struct inode *inode, struct file *file,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static long mon_bin_unlocked_ioctl(struct file *file, unsigned int cmd,
|
||||
unsigned long arg)
|
||||
{
|
||||
int ret;
|
||||
|
||||
lock_kernel();
|
||||
ret = mon_bin_ioctl(file, cmd, arg);
|
||||
unlock_kernel();
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
#ifdef CONFIG_COMPAT
|
||||
static long mon_bin_compat_ioctl(struct file *file,
|
||||
unsigned int cmd, unsigned long arg)
|
||||
@@ -1148,14 +1160,13 @@ static long mon_bin_compat_ioctl(struct file *file,
|
||||
return 0;
|
||||
|
||||
case MON_IOCG_STATS:
|
||||
return mon_bin_ioctl(NULL, file, cmd,
|
||||
(unsigned long) compat_ptr(arg));
|
||||
return mon_bin_ioctl(file, cmd, (unsigned long) compat_ptr(arg));
|
||||
|
||||
case MON_IOCQ_URB_LEN:
|
||||
case MON_IOCQ_RING_SIZE:
|
||||
case MON_IOCT_RING_SIZE:
|
||||
case MON_IOCH_MFLUSH:
|
||||
return mon_bin_ioctl(NULL, file, cmd, arg);
|
||||
return mon_bin_ioctl(file, cmd, arg);
|
||||
|
||||
default:
|
||||
;
|
||||
@@ -1239,7 +1250,7 @@ static const struct file_operations mon_fops_binary = {
|
||||
.read = mon_bin_read,
|
||||
/* .write = mon_text_write, */
|
||||
.poll = mon_bin_poll,
|
||||
.ioctl = mon_bin_ioctl,
|
||||
.unlocked_ioctl = mon_bin_unlocked_ioctl,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = mon_bin_compat_ioctl,
|
||||
#endif
|
||||
|
@@ -11,6 +11,7 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/usb.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/smp_lock.h>
|
||||
#include <asm/uaccess.h>
|
||||
|
||||
#include "usb_mon.h"
|
||||
@@ -63,6 +64,6 @@ const struct file_operations mon_fops_stat = {
|
||||
.read = mon_stat_read,
|
||||
/* .write = mon_stat_write, */
|
||||
/* .poll = mon_stat_poll, */
|
||||
/* .ioctl = mon_stat_ioctl, */
|
||||
/* .unlocked_ioctl = mon_stat_ioctl, */
|
||||
.release = mon_stat_release,
|
||||
};
|
||||
|
Reference in New Issue
Block a user