]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
HID: alps: fix NULL pointer dereference in alps_raw_event()
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Apr 2026 14:03:25 +0000 (16:03 +0200)
committerJiri Kosina <jkosina@suse.com>
Thu, 9 Apr 2026 15:37:39 +0000 (17:37 +0200)
Commit ecfa6f34492c ("HID: Add HID_CLAIMED_INPUT guards in raw_event
callbacks missing them") attempted to fix up the HID drivers that had
missed the previous fix that was done in 2ff5baa9b527 ("HID: appleir:
Fix potential NULL dereference at raw event handle"), but the alps
driver was missed.

Fix this up by properly checking in the hid-alps driver that it had been
claimed correctly before attempting to process the raw event.

Fixes: 73196ebe134d ("HID: alps: add support for Alps T4 Touchpad device")
Cc: stable <stable@kernel.org>
Cc: Jiri Kosina <jikos@kernel.org>
Cc: Benjamin Tissoires <bentiss@kernel.org>
Cc: Masaki Ota <masaki.ota@jp.alps.com>
Cc: linux-input@vger.kernel.org
Assisted-by: gregkh_clanker_t1000
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/hid-alps.c

index 21e55f3d0d1ba41c0267e17a3279cf77046c1a75..67179e3fe39b7df212271f965443990098593b58 100644 (file)
@@ -437,6 +437,9 @@ static int alps_raw_event(struct hid_device *hdev,
        int ret = 0;
        struct alps_dev *hdata = hid_get_drvdata(hdev);
 
+       if (!(hdev->claimed & HID_CLAIMED_INPUT) || !hdata->input)
+               return 0;
+
        switch (hdev->product) {
        case HID_PRODUCT_ID_T4_BTNLESS:
                ret = t4_raw_event(hdata, data, size);