From 59579a8d173ea727561868bbe989f83b2d24216f Mon Sep 17 00:00:00 2001 From: Jiri Kosina Date: Wed, 17 Apr 2019 16:39:43 +0200 Subject: [PATCH] HID: u2fzero: fail probe if not using USB transport u2fzero driver is USB-only. Therefore we have to give up in ->probe() callback in case we're called with non-USB transport driver bound, otherwise the kernel will crash trying to use USBHID API on a non-USB transport. Fixes: 42337b9d4d958("HID: add driver for U2F Zero built-in LED and RNG") Reported-by: Benjamin Tissoires Signed-off-by: Jiri Kosina --- drivers/hid/hid-u2fzero.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/hid/hid-u2fzero.c b/drivers/hid/hid-u2fzero.c index d11a5cb56a0d..95e0807878c7 100644 --- a/drivers/hid/hid-u2fzero.c +++ b/drivers/hid/hid-u2fzero.c @@ -286,6 +286,9 @@ static int u2fzero_probe(struct hid_device *hdev, unsigned int minor; int ret; + if (!hid_is_using_ll_driver(hdev, &usb_hid_driver)) + return -EINVAL; + dev = devm_kzalloc(&hdev->dev, sizeof(*dev), GFP_KERNEL); if (dev == NULL) return -ENOMEM;