---
id: CVE-2026-97963
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: stmmac: initialize ptp_lock at probe time

  priv->ptp_lock is only initialized in stmmac_ptp_register(), which runs
  during __stmmac_open()
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: stmmac: initialize ptp_lock at probe time

  priv->ptp_lock is only initialized in stmmac_ptp_register(), which runs
  during __stmmac_open(). However, the lock is als…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= b60189e0392fa06348911077ef281eb2b1047b6a <
    420315413b29635de1d4ea4142e410e6465260f3
  - >-
    Linux >= b60189e0392fa06348911077ef281eb2b1047b6a <
    25cc0096efba83b4e0e6fa50f03e9543b41e9d3d
  - >-
    Linux >= b60189e0392fa06348911077ef281eb2b1047b6a <
    b1986595cf827c38ff929e22fbc9ca8f76379306
  - >-
    Linux >= b60189e0392fa06348911077ef281eb2b1047b6a <
    0338c68e22abd2ee509ec2e32508a50896618c32
  - Linux 5.6
published: '2026-09-25'
updated: '2026-09-25'
sourceUpdated: '2026-09-25T11:17:24.080'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-97963'
references:
  - url: 'https://git.kernel.org/stable/c/0338c68e22abd2ee509ec2e32508a50896618c32'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/25cc0096efba83b4e0e6fa50f03e9543b41e9d3d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/420315413b29635de1d4ea4142e410e6465260f3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b1986595cf827c38ff929e22fbc9ca8f76379306'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-25T11:06:38.874Z'
---

## Overview

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

net: stmmac: initialize ptp_lock at probe time

priv->ptp_lock is only initialized in stmmac_ptp_register(), which runs
during __stmmac_open(). However, the lock is also used while the
interface is down and has never been opened: tc_taprio_configure()
invokes the PTP gettime64() callback to compute the EST base time when
offloading a TAPRIO schedule, and stmmac_get_time() takes
priv->ptp_lock. Using an uninitialized rwlock is undefined behaviour.
Move the rwlock_init() to __stmmac_dvr_probe(), together with the other
private locks, so that ptp_lock is always valid regardless of the
interface state.

## Remediation

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