summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNehuen Lian Bova <nehuenlian.kernel@gmail.com>2026-10-03 04:29:59 -0300
committerJiri Kosina <jkosina@suse.com>2026-10-16 11:47:04 +0200
commit5b66b65cfd6f697b1addb6159cbece53d20db2fc (patch)
tree1a81960ef9657fe673f759435bf5552043d2f1e6
parent9932c9af185f8586e883d44ca562c12f4487c762 (diff)
HID: magicmouse: fix null pointer dereference in magicmouse_event()
Add a guard clause to check if 'msc' and 'msc->input' is NULL before attempting to access its fields, preventing a general protection fault. Fixes: b8d56ef91cc3 ("HID: magicmouse: Apple Magic Mouse 2 USB-C support") Reported-by: syzbot+5ad4fc9c8360b68e353f@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=5ad4fc9c8360b68e353f Signed-off-by: Nehuen Lian Bova <nehuenlian.kernel@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
-rw-r--r--drivers/hid/hid-magicmouse.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c
index d637c0477379..e6d4d4930526 100644
--- a/drivers/hid/hid-magicmouse.c
+++ b/drivers/hid/hid-magicmouse.c
@@ -553,6 +553,10 @@ static int magicmouse_event(struct hid_device *hdev, struct hid_field *field,
struct hid_usage *usage, __s32 value)
{
struct magicmouse_sc *msc = hid_get_drvdata(hdev);
+
+ if (!msc || !msc->input)
+ return 0;
+
if ((msc->input->id.product == USB_DEVICE_ID_APPLE_MAGICMOUSE2 ||
msc->input->id.product == USB_DEVICE_ID_APPLE_MAGICMOUSE2_USBC) &&
field->report->id == MOUSE2_REPORT_ID) {