[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