mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 06:01:57 +00:00
net: hsr: prevent NULL pointer dereference in hsr_proxy_announce()
In the function hsr_proxy_annouance() added in the previous commit5f703ce5c9
("net: hsr: Send supervisory frames to HSR network with ProxyNodeTable data"), the return value of the hsr_port_get_hsr() function is not checked to be a NULL pointer, which causes a NULL pointer dereference. To solve this, we need to add code to check whether the return value of hsr_port_get_hsr() is NULL. Reported-by: syzbot+02a42d9b1bd395cbcab4@syzkaller.appspotmail.com Fixes:5f703ce5c9
("net: hsr: Send supervisory frames to HSR network with ProxyNodeTable data") Signed-off-by: Jeongjun Park <aha310510@gmail.com> Reviewed-by: Simon Horman <horms@kernel.org> Acked-by: Lukasz Majewski <lukma@denx.de> Link: https://patch.msgid.link/20240907190341.162289-1-aha310510@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
6254031777
commit
a7789fd4ca
@ -414,6 +414,9 @@ static void hsr_proxy_announce(struct timer_list *t)
|
||||
* of SAN nodes stored in ProxyNodeTable.
|
||||
*/
|
||||
interlink = hsr_port_get_hsr(hsr, HSR_PT_INTERLINK);
|
||||
if (!interlink)
|
||||
goto done;
|
||||
|
||||
list_for_each_entry_rcu(node, &hsr->proxy_node_db, mac_list) {
|
||||
if (hsr_addr_is_redbox(hsr, node->macaddress_A))
|
||||
continue;
|
||||
@ -428,6 +431,7 @@ static void hsr_proxy_announce(struct timer_list *t)
|
||||
mod_timer(&hsr->announce_proxy_timer, jiffies + interval);
|
||||
}
|
||||
|
||||
done:
|
||||
rcu_read_unlock();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user