net: dsa: fix incorrect function pointer check for MRP ring roles
authorVladimir Oltean <vladimir.oltean@nxp.com>
Wed, 5 Jan 2022 13:18:11 +0000 (15:18 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 10:03:50 +0000 (11:03 +0100)
commit21bdddc9648b9b44868e496103adfa16d55aaf69
tree52cf4b16d3e825c9be83a4554488cbe72ca9a45d
parent6dab20da69f9b92ebbdd8beed45002ecb3c83cda
net: dsa: fix incorrect function pointer check for MRP ring roles

[ Upstream commit ff91e1b68490b97c18c649b769618815eb945f11 ]

The cross-chip notifier boilerplate code meant to check the presence of
ds->ops->port_mrp_add_ring_role before calling it, but checked
ds->ops->port_mrp_add instead, before calling
ds->ops->port_mrp_add_ring_role.

Therefore, a driver which implements one operation but not the other
would trigger a NULL pointer dereference.

There isn't any such driver in DSA yet, so there is no reason to
backport the change. Issue found through code inspection.

Cc: Horatiu Vultur <horatiu.vultur@microchip.com>
Fixes: c595c4330da0 ("net: dsa: add MRP support")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/dsa/switch.c