---
id: CVE-2026-98620
title: 'net: ethernet: mtk_eth_soc: unregister net_devices in case of probe failure'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: ethernet: mtk_eth_soc: unregister net_devices in case of probe failure

  If register_netdev() fails for one of the MTK_MAX_DEVS devices in
  mtk_probe(), the error pa…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 8a8a9e89f801ce5d3d1d57ac48db678caf072147 <
    245bea0c7ab278150c70366bdeb69b901327133c
  - >-
    Linux >= 8a8a9e89f801ce5d3d1d57ac48db678caf072147 <
    ab3bde3b3e56331b4f53a1f6cf4e5e9d1c14c1a0
  - >-
    Linux >= 8a8a9e89f801ce5d3d1d57ac48db678caf072147 <
    7254b702e556158e34b4d7c168b5d8e7da5978af
  - >-
    Linux >= 8a8a9e89f801ce5d3d1d57ac48db678caf072147 <
    0fdb944d4df02223c67d5e65c4c134ecb57a5668
  - >-
    Linux >= 8a8a9e89f801ce5d3d1d57ac48db678caf072147 <
    310d1ac61a4d5a2ca8356a3a48d263acf54503ce
  - Linux 4.9
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:19:40.320Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98620'
references:
  - url: 'https://git.kernel.org/stable/c/245bea0c7ab278150c70366bdeb69b901327133c'
  - url: 'https://git.kernel.org/stable/c/ab3bde3b3e56331b4f53a1f6cf4e5e9d1c14c1a0'
  - url: 'https://git.kernel.org/stable/c/7254b702e556158e34b4d7c168b5d8e7da5978af'
  - url: 'https://git.kernel.org/stable/c/0fdb944d4df02223c67d5e65c4c134ecb57a5668'
  - url: 'https://git.kernel.org/stable/c/310d1ac61a4d5a2ca8356a3a48d263acf54503ce'
tags:
  - cve.org
ingestedAt: '2026-10-18T15:45:12.237Z'
---

## Overview

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

net: ethernet: mtk_eth_soc: unregister net_devices in case of probe failure

If register_netdev() fails for one of the MTK_MAX_DEVS devices in
mtk_probe(), the error path jumps to err_deinit_ppe, skipping
mtk_unreg_dev(). The previously registered net_devices are then freed by
mtk_free_dev() while still in NETREG_REGISTERED state, hitting the
BUG_ON(dev->reg_state != NETREG_UNREGISTERED).

Route the register_netdev() failure to err_unreg_netdev so the net_devices
registered so far are properly unregistered before being freed.

## Affected

- `Linux >= 8a8a9e89f801ce5d3d1d57ac48db678caf072147 < 245bea0c7ab278150c70366bdeb69b901327133c`
- `Linux >= 8a8a9e89f801ce5d3d1d57ac48db678caf072147 < ab3bde3b3e56331b4f53a1f6cf4e5e9d1c14c1a0`
- `Linux >= 8a8a9e89f801ce5d3d1d57ac48db678caf072147 < 7254b702e556158e34b4d7c168b5d8e7da5978af`
- `Linux >= 8a8a9e89f801ce5d3d1d57ac48db678caf072147 < 0fdb944d4df02223c67d5e65c4c134ecb57a5668`
- `Linux >= 8a8a9e89f801ce5d3d1d57ac48db678caf072147 < 310d1ac61a4d5a2ca8356a3a48d263acf54503ce`
- `Linux 4.9`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
