---
id: CVE-2026-80999
title: 'net: dsa: realtek: use gpiod_set_value_cansleep for reset GPIO'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: dsa: realtek: use gpiod_set_value_cansleep for reset GPIO

  rtl83xx_reset_assert() and rtl83xx_reset_deassert() are only called from
  the probe path, which may sleep…
severity: medium
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'
cvssSource: vendor
cwe:
  - CWE-663
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= d8652956cf37c5caa8c19e0b99ce5ca235c6d5de <
    c32cf5292a0dd70c4afc138b4dc45743a190cd5a
  - >-
    Linux >= d8652956cf37c5caa8c19e0b99ce5ca235c6d5de <
    f71087e7c63aa3e99bf65d7ddf91eb4fd3545778
  - >-
    Linux >= d8652956cf37c5caa8c19e0b99ce5ca235c6d5de <
    1610a8c2b93e815e3dc8643a2a69ab1c37975a6a
  - >-
    Linux >= d8652956cf37c5caa8c19e0b99ce5ca235c6d5de <
    fb58b6a696b30bcbfbe0cfc0a91b19c816a955fc
  - Linux 4.19
published: '2026-09-11'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T08:46:23.651Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-80999'
references:
  - url: 'https://git.kernel.org/stable/c/c32cf5292a0dd70c4afc138b4dc45743a190cd5a'
  - url: 'https://git.kernel.org/stable/c/f71087e7c63aa3e99bf65d7ddf91eb4fd3545778'
  - url: 'https://git.kernel.org/stable/c/1610a8c2b93e815e3dc8643a2a69ab1c37975a6a'
  - url: 'https://git.kernel.org/stable/c/fb58b6a696b30bcbfbe0cfc0a91b19c816a955fc'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-80999.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-80999'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2532457'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-80999'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-80999'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-80999.mbox
tags:
  - cve.org
  - csaf
  - vex
  - red-hat
epss: 0.00206
epssPercentile: 0.10477
ingestedAt: '2026-09-14T00:35:28.531Z'
---

## Overview

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

net: dsa: realtek: use gpiod_set_value_cansleep for reset GPIO

rtl83xx_reset_assert() and rtl83xx_reset_deassert() are only called from
the probe path, which may sleep and is not timing-critical.  When the
reset GPIO is provided by a sleeping controller such as an I2C I/O
expander, gpiod_set_value() warns:

  WARNING: drivers/gpio/gpiolib.c:4030 at gpiod_set_value+0x44/0x80, CPU#1: kworker/u16:4/61
  Hardware name: B&O MAP CA33 Rev f (UNKNOWN) (DT)
  Workqueue: events_unbound deferred_probe_work_func
  pc : gpiod_set_value+0x44/0x80
  lr : rtl83xx_probe+0x1d8/0x3a0
  Call trace:
   gpiod_set_value+0x44/0x80 (P)
   rtl83xx_probe+0x1d8/0x3a0
   realtek_mdio_probe+0x24/0xa0
   mdio_probe+0x38/0x78
   really_probe+0xc4/0x3e0
   __driver_probe_device+0x15c/0x1b8
   driver_probe_device+0xb4/0x120
   __device_attach_driver+0xb8/0x1a0
   bus_for_each_drv+0x88/0xf0
   __device_attach+0xa0/0x1d8
   device_initial_probe+0x54/0x68
   bus_probe_device+0x38/0xa0
   deferred_probe_work_func+0xb8/0x120
   process_one_work+0x184/0x4e8
   worker_thread+0x188/0x308
   kthread+0x130/0x150
   ret_from_fork+0x10/0x20

Switch both helpers to gpiod_set_value_cansleep() so such a reset GPIO can
be used without triggering the warning.

The reset GPIO has been driven with the non-sleeping gpiod_set_value()
since the driver was added in v4.19.  The call has since been refactored
across several files - from realtek-smi.c / realtek-mdio.c into the common
rtl83xx.c module and then into the rtl83xx_reset_assert() and
rtl83xx_reset_deassert() helpers (both in v6.9).  This patch therefore
applies as-is only to kernels that carry those helpers (v6.9+); older
stable kernels need the same gpiod_set_value_cansleep() conversion at the
corresponding open-coded call sites.

## Affected

- `Linux >= d8652956cf37c5caa8c19e0b99ce5ca235c6d5de < c32cf5292a0dd70c4afc138b4dc45743a190cd5a`
- `Linux >= d8652956cf37c5caa8c19e0b99ce5ca235c6d5de < f71087e7c63aa3e99bf65d7ddf91eb4fd3545778`
- `Linux >= d8652956cf37c5caa8c19e0b99ce5ca235c6d5de < 1610a8c2b93e815e3dc8643a2a69ab1c37975a6a`
- `Linux >= d8652956cf37c5caa8c19e0b99ce5ca235c6d5de < fb58b6a696b30bcbfbe0cfc0a91b19c816a955fc`
- `Linux 4.19`

## Remediation

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

## Vendor advisories

- **Red Hat VEX** · Moderate · updated 2026-09-14 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-80999.json)
