Skip to content

Commit

Permalink
[PATCH] USB: Buffer overflow patch for Yealink driver
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Henk authored and Greg Kroah-Hartman committed Oct 28, 2005
1 parent b81d343 commit af64a5e
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 10 deletions.
19 changes: 16 additions & 3 deletions Documentation/input/yealink.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ Driver documentation for yealink usb-p1k phones

0. Status
~~~~~~~~~

The p1k is a relatively cheap usb 1.1 phone with:
- keyboard full support, yealink.ko / input event API
- LCD full support, yealink.ko / sysfs API
Expand All @@ -17,9 +16,8 @@ For vendor documentation see http://www.yealink.com

1. Compilation (stand alone version)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Expand All @@ -28,6 +26,21 @@ the Makefile is pointing to the location where your kernel sources
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
~~~~~~~~~~~~~~~~~~~~
Expand Down
12 changes: 6 additions & 6 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -116,12 +116,6 @@ M: ajk@iehk.rwth-aachen.de
L: linux-hams@vger.kernel.org
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
P: Jeff Garzik
M: jgarzik@pobox.com
Expand Down Expand Up @@ -2863,6 +2857,12 @@ M: jpr@f6fbb.org
L: linux-hams@vger.kernel.org
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)
P: Pete Zaitcev
M: zaitcev@yahoo.com
Expand Down
2 changes: 1 addition & 1 deletion drivers/usb/input/map_to_7segment.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ struct seg7_conversion_map {

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) \
Expand Down

0 comments on commit af64a5e

Please sign in to comment.