Prev: [PATCH 8/8] ia64: Use unlocked_ioctl from perfmon
Next: [PATCH 0/8] Another set of ioctl bkl pushdown, almost the end
From: Frederic Weisbecker on 19 May 2010 13:30 Pushdown the bkl to harddog_ioctl. Signed-off-by: Frederic Weisbecker <fweisbec(a)gmail.com> Cc: Jeff Dike <jdike(a)addtoit.com> Cc: Uml <user-mode-linux-devel(a)lists.sourceforge.net> Cc: Thomas Gleixner <tglx(a)linutronix.de> Cc: John Kacur <jkacur(a)redhat.com> Cc: Arnd Bergmann <arnd(a)arndb.de> --- arch/um/drivers/harddog_kern.c | 18 +++++++++++++++--- 1 files changed, 15 insertions(+), 3 deletions(-) diff --git a/arch/um/drivers/harddog_kern.c b/arch/um/drivers/harddog_kern.c index d332503..cfcac1f 100644 --- a/arch/um/drivers/harddog_kern.c +++ b/arch/um/drivers/harddog_kern.c @@ -124,8 +124,8 @@ static ssize_t harddog_write(struct file *file, const char __user *data, size_t return 0; } -static int harddog_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg) +static int harddog_ioctl_unlocked(struct file *file, + unsigned int cmd, unsigned long arg) { void __user *argp= (void __user *)arg; static struct watchdog_info ident = { @@ -148,10 +148,22 @@ static int harddog_ioctl(struct inode *inode, struct file *file, } } +static long harddog_ioctl(struct file *file, + unsigned int cmd, unsigned long arg) +{ + long ret; + + lock_kernel(); + ret = harddog_ioctl_unlocked(file, cmd, arg); + unlock_kernel(); + + return ret; +} + static const struct file_operations harddog_fops = { .owner = THIS_MODULE, .write = harddog_write, - .ioctl = harddog_ioctl, + .unlocked_ioctl = harddog_ioctl, .open = harddog_open, .release = harddog_release, }; -- 1.6.2.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |