aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenk <Henk.Vergonet@gmail.com>2005-10-12 09:02:56 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2005-10-28 19:47:44 -0400
commitaf64a5ebb817532965d18b792d6d74afecfb0bcf (patch)
tree7ecbcf59e4a79fdd8bef4e0874aa5abce8b91add
parentb81d34363c0b17c47f4ef63d5888c4f47f315d29 (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.txt19
-rw-r--r--MAINTAINERS12
-rw-r--r--drivers/usb/input/map_to_7segment.h2
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
30. Status 30. Status
4~~~~~~~~~ 4~~~~~~~~~
5
6The p1k is a relatively cheap usb 1.1 phone with: 5The 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
181. Compilation (stand alone version) 171. Compilation (stand alone version)
19~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20
21Currently only kernel 2.6.x.y versions are supported. 19Currently only kernel 2.6.x.y versions are supported.
22In order to build the yealink.ko module do: 20In 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
28are located, default /usr/src/linux. 26are located, default /usr/src/linux.
29 27
30 28
291.1 Troubleshooting
30~~~~~~~~~~~~~~~~~~~
31Q: Module yealink compiled and installed without any problem but phone
32 is not initialized and does not react to any actions.
33A: 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
39Q: Phone is working now (displays version and accepts keypad input) but I can't
40 find the sysfs files.
41A: 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
322. keyboard features 452. 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
116L: linux-hams@vger.kernel.org 116L: linux-hams@vger.kernel.org
117S: Maintained 117S: Maintained
118 118
119YEALINK PHONE DRIVER
120P: Henk Vergonet
121M: Henk.Vergonet@gmail.com
122L: usbb2k-api-dev@nongnu.org
123S: Maintained
124
1258139CP 10/100 FAST ETHERNET DRIVER 1198139CP 10/100 FAST ETHERNET DRIVER
126P: Jeff Garzik 120P: Jeff Garzik
127M: jgarzik@pobox.com 121M: jgarzik@pobox.com
@@ -2863,6 +2857,12 @@ M: jpr@f6fbb.org
2863L: linux-hams@vger.kernel.org 2857L: linux-hams@vger.kernel.org
2864S: Maintained 2858S: Maintained
2865 2859
2860YEALINK PHONE DRIVER
2861P: Henk Vergonet
2862M: Henk.Vergonet@gmail.com
2863L: usbb2k-api-dev@nongnu.org
2864S: Maintained
2865
2866YMFPCI YAMAHA PCI SOUND (Use ALSA instead) 2866YMFPCI YAMAHA PCI SOUND (Use ALSA instead)
2867P: Pete Zaitcev 2867P: Pete Zaitcev
2868M: zaitcev@yahoo.com 2868M: 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
80static inline int map_to_seg7(struct seg7_conversion_map *map, int c) 80static 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) \