[PATCH] net: mediatek: add null pointer check for hardware offloading
Sai Krishna Gajula
saikrishnag at marvell.com
Thu Jan 1 08:04:14 PST 2026
> -----Original Message-----
> From: Sebastian Roland Wolf <Sebastian.Wolf at pace-systems.de>
> Sent: Thursday, January 1, 2026 4:22 AM
> To: Felix Fietkau <nbd at nbd.name>; Sean Wang
> <sean.wang at mediatek.com>; Lorenzo Bianconi <lorenzo at kernel.org>
> Cc: Andrew Lunn <andrew+netdev at lunn.ch>; Matthias Brugger
> <matthias.bgg at gmail.com>; AngeloGioacchino Del Regno
> <angelogioacchino.delregno at collabora.com>; netdev at vger.kernel.org; linux-
> kernel at vger.kernel.org; linux-arm-kernel at lists.infradead.org; linux-
> mediatek at lists.infradead.org; Sebastian Roland Wolf
> <srw at root533.premium-rootserver.net>; Sebastian Roland Wolf
> <Sebastian.Wolf at pace-systems.de>
> Subject: [PATCH] net: mediatek: add null pointer check for
> hardware offloading
>
> From: Sebastian Roland Wolf <srw@ root533. premium-rootserver. net> Add a
> null pointer check to prevent kernel crashes when hardware offloading is
> active on MediaTek devices. In some edge cases, the ethernet pointer or its
> associated netdev
> From: Sebastian Roland Wolf <srw at root533.premium-rootserver.net>
>
> Add a null pointer check to prevent kernel crashes when hardware offloading
> is active on MediaTek devices.
>
> In some edge cases, the ethernet pointer or its associated netdev element
> can be NULL. Checking these pointers before access is mandatory to avoid
> segmentation faults and kernel oops.
>
> This improves the robustness of the validation check for mtk_eth ingress
> devices introduced in commit 73cfd947dbdb ("net: mediatek:
> add support for ingress traffic offloading").
>
> Fixes: 73cfd947dbdb ("net: mediatek: add support for ingress traffic
> offloading")
> net: mediatek: Add null pointer check to prevent crashes with active hardware
> offloading.
>
> Signed-off-by: Sebastian Roland Wolf <Sebastian.Wolf at pace-systems.de>
> ---
> drivers/net/ethernet/mediatek/mtk_ppe_offload.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
> b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
> index e9bd32741983..6900ac87e1e9 100644
> --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
> +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
> @@ -270,7 +270,8 @@ mtk_flow_offload_replace(struct mtk_eth *eth, struct
> flow_cls_offload *f,
> flow_rule_match_meta(rule, &match);
> if (mtk_is_netsys_v2_or_greater(eth)) {
> idev = __dev_get_by_index(&init_net, match.key-
> >ingress_ifindex);
> - if (idev && idev->netdev_ops == eth->netdev[0]-
> >netdev_ops) {
> + if (idev && eth && eth->netdev[0] &&
> + idev->netdev_ops == eth->netdev[0]->netdev_ops)
> {
> struct mtk_mac *mac = netdev_priv(idev);
>
> if (WARN_ON(mac->ppe_idx >= eth->soc-
> >ppe_num))
> --
> 2.51.0
>
Reviewed-by: Sai Krishna <saikrishnag at marvell.com>
More information about the Linux-mediatek
mailing list