]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
net: phy: phy_led_triggers: Fix a possible null-pointer dereference in phy_led_trigge...
authorJia-Ju Bai <baijiaju1990@gmail.com>
Tue, 30 Jul 2019 08:08:13 +0000 (16:08 +0800)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Tue, 17 Sep 2019 16:02:18 +0000 (18:02 +0200)
commit0621c497562fede110144e1b4a0647fa00d0bd5f
tree35c3c2c92c67fdc410f70467e839358c4f28be41
parentafac2b7920892ad3fbe5126608ab04a361a8fc7a
net: phy: phy_led_triggers: Fix a possible null-pointer dereference in phy_led_trigger_change_speed()

BugLink: https://bugs.launchpad.net/bugs/1842114
[ Upstream commit 271da132e29b5341c31eca6ba6a72ea1302ebac8 ]

In phy_led_trigger_change_speed(), there is an if statement on line 48
to check whether phy->last_triggered is NULL:
    if (!phy->last_triggered)

When phy->last_triggered is NULL, it is used on line 52:
    led_trigger_event(&phy->last_triggered->trigger, LED_OFF);

Thus, a possible null-pointer dereference may occur.

To fix this bug, led_trigger_event(&phy->last_triggered->trigger,
LED_OFF) is called when phy->last_triggered is not NULL.

This bug is found by a static analysis tool STCheck written by
the OSLAB group in Tsinghua University.

Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
drivers/net/phy/phy_led_triggers.c