提交 702e57d9 编写于 作者: J Jonathan Corbet

HID: cdev lock_kernel() pushdown

Signed-off-by: NJonathan Corbet <corbet@lwn.net>
上级 72b67048
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include <linux/major.h> #include <linux/major.h>
#include <linux/hid.h> #include <linux/hid.h>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/smp_lock.h>
#include <linux/hidraw.h> #include <linux/hidraw.h>
...@@ -157,6 +158,7 @@ static int hidraw_open(struct inode *inode, struct file *file) ...@@ -157,6 +158,7 @@ static int hidraw_open(struct inode *inode, struct file *file)
struct hidraw_list *list; struct hidraw_list *list;
int err = 0; int err = 0;
lock_kernel();
if (!(list = kzalloc(sizeof(struct hidraw_list), GFP_KERNEL))) { if (!(list = kzalloc(sizeof(struct hidraw_list), GFP_KERNEL))) {
err = -ENOMEM; err = -ENOMEM;
goto out; goto out;
...@@ -183,6 +185,7 @@ static int hidraw_open(struct inode *inode, struct file *file) ...@@ -183,6 +185,7 @@ static int hidraw_open(struct inode *inode, struct file *file)
out_unlock: out_unlock:
spin_unlock(&minors_lock); spin_unlock(&minors_lock);
out: out:
unlock_kernel();
return err; return err;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册