[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
This commit is contained in:
parent
b81d34363c
commit
af64a5ebb8
|
@ -2,7 +2,6 @@ Driver documentation for yealink usb-p1k phones
|
||||||
|
|
||||||
0. Status
|
0. Status
|
||||||
~~~~~~~~~
|
~~~~~~~~~
|
||||||
|
|
||||||
The p1k is a relatively cheap usb 1.1 phone with:
|
The p1k is a relatively cheap usb 1.1 phone with:
|
||||||
- keyboard full support, yealink.ko / input event API
|
- keyboard full support, yealink.ko / input event API
|
||||||
- LCD full support, yealink.ko / sysfs API
|
- LCD full support, yealink.ko / sysfs API
|
||||||
|
@ -17,9 +16,8 @@ For vendor documentation see http://www.yealink.com
|
||||||
|
|
||||||
1. Compilation (stand alone version)
|
1. Compilation (stand alone version)
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Currently only kernel 2.6.x.y versions are supported.
|
Currently only kernel 2.6.x.y versions are supported.
|
||||||
In order to build the yealink.ko module do:
|
In order to build the yealink.ko module do
|
||||||
|
|
||||||
make
|
make
|
||||||
|
|
||||||
|
@ -28,6 +26,21 @@ the Makefile is pointing to the location where your kernel sources
|
||||||
are located, default /usr/src/linux.
|
are located, default /usr/src/linux.
|
||||||
|
|
||||||
|
|
||||||
|
1.1 Troubleshooting
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
Q: Module yealink compiled and installed without any problem but phone
|
||||||
|
is not initialized and does not react to any actions.
|
||||||
|
A: If you see something like:
|
||||||
|
hiddev0: USB HID v1.00 Device [Yealink Network Technology Ltd. VOIP USB Phone
|
||||||
|
in dmesg, it means that the hid driver has grabbed the device first. Try to
|
||||||
|
load module yealink before any other usb hid driver. Please see the
|
||||||
|
instructions provided by your distribution on module configuration.
|
||||||
|
|
||||||
|
Q: Phone is working now (displays version and accepts keypad input) but I can't
|
||||||
|
find the sysfs files.
|
||||||
|
A: The sysfs files are located on the particular usb endpoint. On most
|
||||||
|
distributions you can do: "find /sys/ -name get_icons" for a hint.
|
||||||
|
|
||||||
|
|
||||||
2. keyboard features
|
2. keyboard features
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
12
MAINTAINERS
12
MAINTAINERS
|
@ -116,12 +116,6 @@ M: ajk@iehk.rwth-aachen.de
|
||||||
L: linux-hams@vger.kernel.org
|
L: linux-hams@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
YEALINK PHONE DRIVER
|
|
||||||
P: Henk Vergonet
|
|
||||||
M: Henk.Vergonet@gmail.com
|
|
||||||
L: usbb2k-api-dev@nongnu.org
|
|
||||||
S: Maintained
|
|
||||||
|
|
||||||
8139CP 10/100 FAST ETHERNET DRIVER
|
8139CP 10/100 FAST ETHERNET DRIVER
|
||||||
P: Jeff Garzik
|
P: Jeff Garzik
|
||||||
M: jgarzik@pobox.com
|
M: jgarzik@pobox.com
|
||||||
|
@ -2863,6 +2857,12 @@ M: jpr@f6fbb.org
|
||||||
L: linux-hams@vger.kernel.org
|
L: linux-hams@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
|
YEALINK PHONE DRIVER
|
||||||
|
P: Henk Vergonet
|
||||||
|
M: Henk.Vergonet@gmail.com
|
||||||
|
L: usbb2k-api-dev@nongnu.org
|
||||||
|
S: Maintained
|
||||||
|
|
||||||
YMFPCI YAMAHA PCI SOUND (Use ALSA instead)
|
YMFPCI YAMAHA PCI SOUND (Use ALSA instead)
|
||||||
P: Pete Zaitcev
|
P: Pete Zaitcev
|
||||||
M: zaitcev@yahoo.com
|
M: zaitcev@yahoo.com
|
||||||
|
|
|
@ -79,7 +79,7 @@ struct seg7_conversion_map {
|
||||||
|
|
||||||
static inline int map_to_seg7(struct seg7_conversion_map *map, int c)
|
static inline int map_to_seg7(struct seg7_conversion_map *map, int c)
|
||||||
{
|
{
|
||||||
return c & 0x7f ? map->table[c] : -EINVAL;
|
return c >= 0 && c < sizeof(map->table) ? map->table[c] : -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SEG7_CONVERSION_MAP(_name, _map) \
|
#define SEG7_CONVERSION_MAP(_name, _map) \
|
||||||
|
|
Loading…
Reference in New Issue
Block a user