]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
drivers/hid/hid-multitouch.c: fix a possible null pointer access.
authorPan Zhang <zhangpan26@huawei.com>
Thu, 19 Dec 2019 02:45:30 +0000 (10:45 +0800)
committerPaolo Pisati <paolo.pisati@canonical.com>
Tue, 4 Feb 2020 09:18:35 +0000 (09:18 +0000)
BugLink: https://bugs.launchpad.net/bugs/1861784
[ Upstream commit 306d5acbfc66e7cccb4d8f91fc857206b8df80d1 ]

1002     if ((quirks & MT_QUIRK_IGNORE_DUPLICATES) && mt) {
1003         struct input_mt_slot *i_slot = &mt->slots[slotnum];
1004
1005         if (input_mt_is_active(i_slot) &&
1006             input_mt_is_used(mt, i_slot))
1007             return -EAGAIN;
1008     }

We previously assumed 'mt' could be null (see line 1002).

The following situation is similar, so add a judgement.

Signed-off-by: Pan Zhang <zhangpan26@huawei.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
drivers/hid/hid-multitouch.c

index f0d4172d51319e0014b1801e300e41c072283010..362805ddf377736927fa95493186698a8d5fad0f 100644 (file)
@@ -1019,7 +1019,7 @@ static int mt_process_slot(struct mt_device *td, struct input_dev *input,
                tool = MT_TOOL_DIAL;
        else if (unlikely(!confidence_state)) {
                tool = MT_TOOL_PALM;
-               if (!active &&
+               if (!active && mt &&
                    input_mt_is_active(&mt->slots[slotnum])) {
                        /*
                         * The non-confidence was reported for