CVE-2026-98796: net: ethernet: mtk_eth_soc: allocate dummy netdev sooner

Published Oct 18, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

net: ethernet: mtkethsoc: allocate dummy netdev sooner

The RX rings and the shared NAPI are carried by an internal "dummy" netdev (eth->dummydev). mtkprobe() creates that dummy device, and adds the shared tx/rx NAPI to it, only after the MAC netdevs have been registered. That order has been there since the MT7623 support was added and leaves a window in which the netdevs are visible to the network core before the shared NAPI and the dummy device exist.

If anything brings the first netdev up during that window (e.g. netifd opening the WAN link the instant the interface is registered), the first-open path runs without them. On NETSYS v2 and later SoCs mtkrxalloc() -> xdprxqinforeg() then dereferences eth->dummydev == NULL:

WARNING: CPU: ... Missing netdevice from driver

in net/core/xdp.c and mtkopen() fails with -ENODEV. On NETSYS v1 SoCs (MT7621/MT7622/MT7623/MT7629) there is no page pool, so the same open instead calls napienable() on a napistruct that netifnapiadd() has not initialised yet and dereferences a NULL napi->dev.

Allocate the dummy netdev and add the shared tx/rx NAPI to it before the registernetdev() loop. Both the dummy-allocation failure and a registernetdev() failure now unwind through mtkunregdev(), which unregisters the netdevice notifiers and the netdevs registered so far, stopping a concurrently-opened netdev (ndostop) and its NAPI before the dummy carrier is freed.

A netdev that opened during the window can also have queued the frame-engine reset worker (via the tx watchdog or phylink), so the probe error path now cancels eth->pendingwork before freeing the shared state, as mtkcleanup() already does on remove.

Affected Software

1 affected component
Linux Linux kernel

Event History

Oct 18, 2026
CVE Published
via MITRE·03:48 PM
Data Sourced
via MITRE·03:48 PM
Description
Data Sourced
via NVD·04:17 PM
Description

Frequently Asked Questions

1

Which systems are exposed to this issue?

Systems using the Linux kernel MediaTek Ethernet driver mtk_eth_soc are affected when a MAC netdev can be brought up before the driver has created its internal dummy netdev and registered shared NAPI. The described failure paths cover NETSYS v2 and later SoCs, as well as NETSYS v1 SoCs including MT7621, MT7622, MT7623, and MT7629.

2

What condition is required to trigger the failure?

The first MAC network interface must be opened during the probe-time window after MAC netdev registration but before the shared RX/TX NAPI and dummy netdev are initialized. An example is a network-management service opening a WAN interface immediately when it is registered.

3

What are the observable effects if the issue is triggered?

On NETSYS v2 and later, RX queue registration can encounter a NULL dummy netdev, emit a missing-net_device warning, and cause mtk_open() to fail with -ENODEV. On NETSYS v1, enabling an uninitialized NAPI structure can dereference a NULL napi->dev.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203