summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-02-07 12:51:31 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2019-02-07 12:51:31 +0100
commitd47e3da1759230e394096fd742aad423c291ba48 (patch)
tree19d3b7d9b1fe613e7fb0b74471d731d400a427ef /include
parentMerge tag 'sound-5.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/ti... (diff)
parentHID: debug: fix the ring buffer implementation (diff)
downloadlinux-d47e3da1759230e394096fd742aad423c291ba48.tar.xz
linux-d47e3da1759230e394096fd742aad423c291ba48.zip
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid
Pull HID fix from Jiri Kosina: "A fix for a bug in hid-debug that can lock up the kernel in infinite loop (CVE-2019-3819), from Vladis Dronov" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: HID: debug: fix the ring buffer implementation
Diffstat (limited to 'include')
-rw-r--r--include/linux/hid-debug.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/include/linux/hid-debug.h b/include/linux/hid-debug.h
index 8663f216c563..2d6100edf204 100644
--- a/include/linux/hid-debug.h
+++ b/include/linux/hid-debug.h
@@ -24,7 +24,10 @@
#ifdef CONFIG_DEBUG_FS
+#include <linux/kfifo.h>
+
#define HID_DEBUG_BUFSIZE 512
+#define HID_DEBUG_FIFOSIZE 512
void hid_dump_input(struct hid_device *, struct hid_usage *, __s32);
void hid_dump_report(struct hid_device *, int , u8 *, int);
@@ -37,11 +40,8 @@ void hid_debug_init(void);
void hid_debug_exit(void);
void hid_debug_event(struct hid_device *, char *);
-
struct hid_debug_list {
- char *hid_debug_buf;
- int head;
- int tail;
+ DECLARE_KFIFO_PTR(hid_debug_fifo, char);
struct fasync_struct *fasync;
struct hid_device *hdev;
struct list_head node;
@@ -64,4 +64,3 @@ struct hid_debug_list {
#endif
#endif
-