]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
HID: hidraw: enforce minors_lock locking via lockdep
authorJiri Kosina <jkosina@suse.cz>
Thu, 8 Nov 2018 21:38:42 +0000 (22:38 +0100)
committerJiri Kosina <jkosina@suse.cz>
Mon, 12 Nov 2018 11:44:03 +0000 (12:44 +0100)
lockdep is much more powerful enforcing the locking rules than code comments,
so let's switch to it.

Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hidraw.c

index 4a44e48e08b225a6180ad014604dabc83ce65c2d..9fc51eff10790a9f86a0ab5eadd2bb96ccfc5e76 100644 (file)
@@ -107,8 +107,6 @@ out:
 
 /*
  * The first byte of the report buffer is expected to be a report number.
- *
- * This function is to be called with the minors_lock mutex held.
  */
 static ssize_t hidraw_send_report(struct file *file, const char __user *buffer, size_t count, unsigned char report_type)
 {
@@ -117,6 +115,8 @@ static ssize_t hidraw_send_report(struct file *file, const char __user *buffer,
        __u8 *buf;
        int ret = 0;
 
+       lockdep_assert_held(&minors_lock);
+
        if (!hidraw_table[minor] || !hidraw_table[minor]->exist) {
                ret = -ENODEV;
                goto out;
@@ -181,8 +181,6 @@ static ssize_t hidraw_write(struct file *file, const char __user *buffer, size_t
  * of buffer is the report number to request, or 0x0 if the defice does not
  * use numbered reports. The report_type parameter can be HID_FEATURE_REPORT
  * or HID_INPUT_REPORT.
- *
- * This function is to be called with the minors_lock mutex held.
  */
 static ssize_t hidraw_get_report(struct file *file, char __user *buffer, size_t count, unsigned char report_type)
 {
@@ -192,6 +190,8 @@ static ssize_t hidraw_get_report(struct file *file, char __user *buffer, size_t
        int ret = 0, len;
        unsigned char report_number;
 
+       lockdep_assert_held(&minors_lock);
+
        if (!hidraw_table[minor] || !hidraw_table[minor]->exist) {
                ret = -ENODEV;
                goto out;