Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid
Pull HID fixes from Jiri Kosina: - string buffer formatting fixes in picolcd and sensor drivers, from Takashi Iwai - two new device IDs from Chen-Tsung Hsieh and Tony Fischetti * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: HID: add ALWAYS_POLL quirk to lenovo pixart mouse HID: google: add moonball USB id HID: hid-sensor-custom: Use scnprintf() for avoiding potential buffer overflow HID: hid-picolcd_fb: Use scnprintf() for avoiding potential buffer overflow
This commit is contained in:
@@ -532,6 +532,8 @@ static const struct hid_device_id hammer_devices[] = {
|
|||||||
USB_VENDOR_ID_GOOGLE, USB_DEVICE_ID_GOOGLE_MAGNEMITE) },
|
USB_VENDOR_ID_GOOGLE, USB_DEVICE_ID_GOOGLE_MAGNEMITE) },
|
||||||
{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
|
{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
|
||||||
USB_VENDOR_ID_GOOGLE, USB_DEVICE_ID_GOOGLE_MASTERBALL) },
|
USB_VENDOR_ID_GOOGLE, USB_DEVICE_ID_GOOGLE_MASTERBALL) },
|
||||||
|
{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
|
||||||
|
USB_VENDOR_ID_GOOGLE, USB_DEVICE_ID_GOOGLE_MOONBALL) },
|
||||||
{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
|
{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
|
||||||
USB_VENDOR_ID_GOOGLE, USB_DEVICE_ID_GOOGLE_STAFF) },
|
USB_VENDOR_ID_GOOGLE, USB_DEVICE_ID_GOOGLE_STAFF) },
|
||||||
{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
|
{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
|
||||||
|
@@ -478,6 +478,7 @@
|
|||||||
#define USB_DEVICE_ID_GOOGLE_WHISKERS 0x5030
|
#define USB_DEVICE_ID_GOOGLE_WHISKERS 0x5030
|
||||||
#define USB_DEVICE_ID_GOOGLE_MASTERBALL 0x503c
|
#define USB_DEVICE_ID_GOOGLE_MASTERBALL 0x503c
|
||||||
#define USB_DEVICE_ID_GOOGLE_MAGNEMITE 0x503d
|
#define USB_DEVICE_ID_GOOGLE_MAGNEMITE 0x503d
|
||||||
|
#define USB_DEVICE_ID_GOOGLE_MOONBALL 0x5044
|
||||||
|
|
||||||
#define USB_VENDOR_ID_GOTOP 0x08f2
|
#define USB_VENDOR_ID_GOTOP 0x08f2
|
||||||
#define USB_DEVICE_ID_SUPER_Q2 0x007f
|
#define USB_DEVICE_ID_SUPER_Q2 0x007f
|
||||||
@@ -726,6 +727,7 @@
|
|||||||
#define USB_DEVICE_ID_LENOVO_X1_COVER 0x6085
|
#define USB_DEVICE_ID_LENOVO_X1_COVER 0x6085
|
||||||
#define USB_DEVICE_ID_LENOVO_X1_TAB 0x60a3
|
#define USB_DEVICE_ID_LENOVO_X1_TAB 0x60a3
|
||||||
#define USB_DEVICE_ID_LENOVO_X1_TAB3 0x60b5
|
#define USB_DEVICE_ID_LENOVO_X1_TAB3 0x60b5
|
||||||
|
#define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_608D 0x608d
|
||||||
|
|
||||||
#define USB_VENDOR_ID_LG 0x1fd2
|
#define USB_VENDOR_ID_LG 0x1fd2
|
||||||
#define USB_DEVICE_ID_LG_MULTITOUCH 0x0064
|
#define USB_DEVICE_ID_LG_MULTITOUCH 0x0064
|
||||||
|
@@ -458,9 +458,9 @@ static ssize_t picolcd_fb_update_rate_show(struct device *dev,
|
|||||||
if (ret >= PAGE_SIZE)
|
if (ret >= PAGE_SIZE)
|
||||||
break;
|
break;
|
||||||
else if (i == fb_update_rate)
|
else if (i == fb_update_rate)
|
||||||
ret += snprintf(buf+ret, PAGE_SIZE-ret, "[%u] ", i);
|
ret += scnprintf(buf+ret, PAGE_SIZE-ret, "[%u] ", i);
|
||||||
else
|
else
|
||||||
ret += snprintf(buf+ret, PAGE_SIZE-ret, "%u ", i);
|
ret += scnprintf(buf+ret, PAGE_SIZE-ret, "%u ", i);
|
||||||
if (ret > 0)
|
if (ret > 0)
|
||||||
buf[min(ret, (size_t)PAGE_SIZE)-1] = '\n';
|
buf[min(ret, (size_t)PAGE_SIZE)-1] = '\n';
|
||||||
return ret;
|
return ret;
|
||||||
|
@@ -103,6 +103,7 @@ static const struct hid_device_id hid_quirks[] = {
|
|||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_PENSKETCH_M912), HID_QUIRK_MULTI_INPUT },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_PENSKETCH_M912), HID_QUIRK_MULTI_INPUT },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M406XE), HID_QUIRK_MULTI_INPUT },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M406XE), HID_QUIRK_MULTI_INPUT },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_PIXART_USB_OPTICAL_MOUSE_ID2), HID_QUIRK_ALWAYS_POLL },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_PIXART_USB_OPTICAL_MOUSE_ID2), HID_QUIRK_ALWAYS_POLL },
|
||||||
|
{ HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_608D), HID_QUIRK_ALWAYS_POLL },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_C007), HID_QUIRK_ALWAYS_POLL },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_C007), HID_QUIRK_ALWAYS_POLL },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_C077), HID_QUIRK_ALWAYS_POLL },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_C077), HID_QUIRK_ALWAYS_POLL },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_KEYBOARD_G710_PLUS), HID_QUIRK_NOGET },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_KEYBOARD_G710_PLUS), HID_QUIRK_NOGET },
|
||||||
|
@@ -313,7 +313,7 @@ static ssize_t show_value(struct device *dev, struct device_attribute *attr,
|
|||||||
|
|
||||||
while (i < ret) {
|
while (i < ret) {
|
||||||
if (i + attribute->size > ret) {
|
if (i + attribute->size > ret) {
|
||||||
len += snprintf(&buf[len],
|
len += scnprintf(&buf[len],
|
||||||
PAGE_SIZE - len,
|
PAGE_SIZE - len,
|
||||||
"%d ", values[i]);
|
"%d ", values[i]);
|
||||||
break;
|
break;
|
||||||
@@ -336,10 +336,10 @@ static ssize_t show_value(struct device *dev, struct device_attribute *attr,
|
|||||||
++i;
|
++i;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
len += snprintf(&buf[len], PAGE_SIZE - len,
|
len += scnprintf(&buf[len], PAGE_SIZE - len,
|
||||||
"%lld ", value);
|
"%lld ", value);
|
||||||
}
|
}
|
||||||
len += snprintf(&buf[len], PAGE_SIZE - len, "\n");
|
len += scnprintf(&buf[len], PAGE_SIZE - len, "\n");
|
||||||
|
|
||||||
return len;
|
return len;
|
||||||
} else if (input)
|
} else if (input)
|
||||||
|
Reference in New Issue
Block a user