x86: change x86 machine check handler to use unlocked_ioctl instead
authorNikanth Karthikesan <knikanth@suse.de>
Wed, 30 Jan 2008 12:32:59 +0000 (13:32 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:32:59 +0000 (13:32 +0100)
The machine check handler registers ioctl handler that is called
with the BKL held. Changing to register unlocked_ioctl instead.
Also mce ioctl handler does not seem to need any lock protection.

To: Andi Kleen <andi@firstfloor.org>
Cc: linux-kernel@vger.kernel.org
Cc: kernel-janitors@vger.kernel.org
Change the Machine check handler to use unlocked_ioctl instead of
ioctl handler. Also the mce ioctl handler does not need any lock
protection.

Signed-off-by: Nikanth Karthikesan <knikanth@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/cpu/mcheck/mce_64.c

index bc6e35153d8380db60f04867546a3c8bc95ed505..98b23d55fe6e49bb2e75857072b60971b53f4718 100644 (file)
@@ -634,8 +634,7 @@ static unsigned int mce_poll(struct file *file, poll_table *wait)
        return 0;
 }
 
-static int mce_ioctl(struct inode *i, struct file *f,unsigned int cmd,
-                    unsigned long arg)
+static long mce_ioctl(struct file *f, unsigned int cmd, unsigned long arg)
 {
        int __user *p = (int __user *)arg;
 
@@ -664,7 +663,7 @@ static const struct file_operations mce_chrdev_ops = {
        .release = mce_release,
        .read = mce_read,
        .poll = mce_poll,
-       .ioctl = mce_ioctl,
+       .unlocked_ioctl = mce_ioctl,
 };
 
 static struct miscdevice mce_log_device = {