diff options
author | Henk <Henk.Vergonet@gmail.com> | 2005-10-12 09:02:56 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2005-10-28 19:47:44 -0400 |
commit | af64a5ebb817532965d18b792d6d74afecfb0bcf (patch) | |
tree | 7ecbcf59e4a79fdd8bef4e0874aa5abce8b91add | |
parent | b81d34363c0b17c47f4ef63d5888c4f47f315d29 (diff) |
[PATCH] USB: Buffer overflow patch for Yealink driver
Just a small patch that fixes a small parameter validation bug.
drivers/usb/input/map_to_7segment.h:
This patch fixes the broken parameter validation in the char to seg7
conversion. This could cause out-of-bounds memory references.
MAINTAINERS:
Yealink maintainer info now in sorted order.
Documentation/input/yealink.txt:
Added a Q&A section that answers some common questions.
Signed-off-by: Henk <Henk.Vergonet@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
006491df1a13f85ad245d1039dfdf20e49c394fd
-rw-r--r-- | Documentation/input/yealink.txt | 19 | ||||
-rw-r--r-- | MAINTAINERS | 12 | ||||
-rw-r--r-- | drivers/usb/input/map_to_7segment.h | 2 |
3 files changed, 23 insertions, 10 deletions
diff --git a/Documentation/input/yealink.txt b/Documentation/input/yealink.txt index 85f095a7ad04..0962c5c948be 100644 --- a/Documentation/input/yealink.txt +++ b/Documentation/input/yealink.txt | |||
@@ -2,7 +2,6 @@ Driver documentation for yealink usb-p1k phones | |||
2 | 2 | ||
3 | 0. Status | 3 | 0. Status |
4 | ~~~~~~~~~ | 4 | ~~~~~~~~~ |
5 | |||
6 | The p1k is a relatively cheap usb 1.1 phone with: | 5 | The p1k is a relatively cheap usb 1.1 phone with: |
7 | - keyboard full support, yealink.ko / input event API | 6 | - keyboard full support, yealink.ko / input event API |
8 | - LCD full support, yealink.ko / sysfs API | 7 | - LCD full support, yealink.ko / sysfs API |
@@ -17,9 +16,8 @@ For vendor documentation see http://www.yealink.com | |||
17 | 16 | ||
18 | 1. Compilation (stand alone version) | 17 | 1. Compilation (stand alone version) |
19 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 18 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
20 | |||
21 | Currently only kernel 2.6.x.y versions are supported. | 19 | Currently only kernel 2.6.x.y versions are supported. |
22 | In order to build the yealink.ko module do: | 20 | In order to build the yealink.ko module do |
23 | 21 | ||
24 | make | 22 | make |
25 | 23 | ||
@@ -28,6 +26,21 @@ the Makefile is pointing to the location where your kernel sources | |||
28 | are located, default /usr/src/linux. | 26 | are located, default /usr/src/linux. |
29 | 27 | ||
30 | 28 | ||
29 | 1.1 Troubleshooting | ||
30 | ~~~~~~~~~~~~~~~~~~~ | ||
31 | Q: Module yealink compiled and installed without any problem but phone | ||
32 | is not initialized and does not react to any actions. | ||
33 | A: If you see something like: | ||
34 | hiddev0: USB HID v1.00 Device [Yealink Network Technology Ltd. VOIP USB Phone | ||
35 | in dmesg, it means that the hid driver has grabbed the device first. Try to | ||
36 | load module yealink before any other usb hid driver. Please see the | ||
37 | instructions provided by your distribution on module configuration. | ||
38 | |||
39 | Q: Phone is working now (displays version and accepts keypad input) but I can't | ||
40 | find the sysfs files. | ||
41 | A: The sysfs files are located on the particular usb endpoint. On most | ||
42 | distributions you can do: "find /sys/ -name get_icons" for a hint. | ||
43 | |||
31 | 44 | ||
32 | 2. keyboard features | 45 | 2. keyboard features |
33 | ~~~~~~~~~~~~~~~~~~~~ | 46 | ~~~~~~~~~~~~~~~~~~~~ |
diff --git a/MAINTAINERS b/MAINTAINERS index 3928dc7d6ea9..2868b2879755 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -116,12 +116,6 @@ M: ajk@iehk.rwth-aachen.de | |||
116 | L: linux-hams@vger.kernel.org | 116 | L: linux-hams@vger.kernel.org |
117 | S: Maintained | 117 | S: Maintained |
118 | 118 | ||
119 | YEALINK PHONE DRIVER | ||
120 | P: Henk Vergonet | ||
121 | M: Henk.Vergonet@gmail.com | ||
122 | L: usbb2k-api-dev@nongnu.org | ||
123 | S: Maintained | ||
124 | |||
125 | 8139CP 10/100 FAST ETHERNET DRIVER | 119 | 8139CP 10/100 FAST ETHERNET DRIVER |
126 | P: Jeff Garzik | 120 | P: Jeff Garzik |
127 | M: jgarzik@pobox.com | 121 | M: jgarzik@pobox.com |
@@ -2863,6 +2857,12 @@ M: jpr@f6fbb.org | |||
2863 | L: linux-hams@vger.kernel.org | 2857 | L: linux-hams@vger.kernel.org |
2864 | S: Maintained | 2858 | S: Maintained |
2865 | 2859 | ||
2860 | YEALINK PHONE DRIVER | ||
2861 | P: Henk Vergonet | ||
2862 | M: Henk.Vergonet@gmail.com | ||
2863 | L: usbb2k-api-dev@nongnu.org | ||
2864 | S: Maintained | ||
2865 | |||
2866 | YMFPCI YAMAHA PCI SOUND (Use ALSA instead) | 2866 | YMFPCI YAMAHA PCI SOUND (Use ALSA instead) |
2867 | P: Pete Zaitcev | 2867 | P: Pete Zaitcev |
2868 | M: zaitcev@yahoo.com | 2868 | M: zaitcev@yahoo.com |
diff --git a/drivers/usb/input/map_to_7segment.h b/drivers/usb/input/map_to_7segment.h index 52ff27f15127..a424094d9fe2 100644 --- a/drivers/usb/input/map_to_7segment.h +++ b/drivers/usb/input/map_to_7segment.h | |||
@@ -79,7 +79,7 @@ struct seg7_conversion_map { | |||
79 | 79 | ||
80 | static inline int map_to_seg7(struct seg7_conversion_map *map, int c) | 80 | static inline int map_to_seg7(struct seg7_conversion_map *map, int c) |
81 | { | 81 | { |
82 | return c & 0x7f ? map->table[c] : -EINVAL; | 82 | return c >= 0 && c < sizeof(map->table) ? map->table[c] : -EINVAL; |
83 | } | 83 | } |
84 | 84 | ||
85 | #define SEG7_CONVERSION_MAP(_name, _map) \ | 85 | #define SEG7_CONVERSION_MAP(_name, _map) \ |