---
id: CVE-2025-38126
title: 'net: stmmac: make sure that ptp_rate is not 0 before configuring timestamping'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: stmmac: make sure that ptp_rate is not 0 before configuring timestamping

  The stmmac platform drivers that do not open-code the clk_ptp_rate value
  after having ret…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 19d857c9038e5c07db8f8cc02b5ad0cd0098714f <
    32af9c289234990752281c805500dfe03c5b2b8f
  - >-
    Linux >= 19d857c9038e5c07db8f8cc02b5ad0cd0098714f <
    b263088ee8ab14563817a8be3519af8e25225793
  - >-
    Linux >= 19d857c9038e5c07db8f8cc02b5ad0cd0098714f <
    bb033c6781ce1b0264c3993b767b4aa9021959c2
  - >-
    Linux >= 19d857c9038e5c07db8f8cc02b5ad0cd0098714f <
    379cd990dfe752b38fcf46034698a9a150626c7a
  - >-
    Linux >= 19d857c9038e5c07db8f8cc02b5ad0cd0098714f <
    030ce919e114a111e83b7976ecb3597cefd33f26
  - Linux 4.5
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T20:50:06.510216Z'
published: '2025-07-03'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T20:52:16.778Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-38126'
references:
  - url: 'https://git.kernel.org/stable/c/32af9c289234990752281c805500dfe03c5b2b8f'
  - url: 'https://git.kernel.org/stable/c/b263088ee8ab14563817a8be3519af8e25225793'
  - url: 'https://git.kernel.org/stable/c/bb033c6781ce1b0264c3993b767b4aa9021959c2'
  - url: 'https://git.kernel.org/stable/c/379cd990dfe752b38fcf46034698a9a150626c7a'
  - url: 'https://git.kernel.org/stable/c/030ce919e114a111e83b7976ecb3597cefd33f26'
tags:
  - cve.org
epss: 0.00199
epssPercentile: 0.09821
ingestedAt: '2026-11-05T22:38:31.922Z'
---

## Overview

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

net: stmmac: make sure that ptp_rate is not 0 before configuring timestamping

The stmmac platform drivers that do not open-code the clk_ptp_rate value
after having retrieved the default one from the device-tree can end up
with 0 in clk_ptp_rate (as clk_get_rate can return 0). It will
eventually propagate up to PTP initialization when bringing up the
interface, leading to a divide by 0:

 Division by zero in kernel.
 CPU: 1 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.30-00001-g48313bd5768a #22
 Hardware name: STM32 (Device Tree Support)
 Call trace:
  unwind_backtrace from show_stack+0x18/0x1c
  show_stack from dump_stack_lvl+0x6c/0x8c
  dump_stack_lvl from Ldiv0_64+0x8/0x18
  Ldiv0_64 from stmmac_init_tstamp_counter+0x190/0x1a4
  stmmac_init_tstamp_counter from stmmac_hw_setup+0xc1c/0x111c
  stmmac_hw_setup from __stmmac_open+0x18c/0x434
  __stmmac_open from stmmac_open+0x3c/0xbc
  stmmac_open from __dev_open+0xf4/0x1ac
  __dev_open from __dev_change_flags+0x1cc/0x224
  __dev_change_flags from dev_change_flags+0x24/0x60
  dev_change_flags from ip_auto_config+0x2e8/0x11a0
  ip_auto_config from do_one_initcall+0x84/0x33c
  do_one_initcall from kernel_init_freeable+0x1b8/0x214
  kernel_init_freeable from kernel_init+0x24/0x140
  kernel_init from ret_from_fork+0x14/0x28
 Exception stack(0xe0815fb0 to 0xe0815ff8)

Prevent this division by 0 by adding an explicit check and error log
about the actual issue. While at it, remove the same check from
stmmac_ptp_register, which then becomes duplicate

## Affected

- `Linux >= 19d857c9038e5c07db8f8cc02b5ad0cd0098714f < 32af9c289234990752281c805500dfe03c5b2b8f`
- `Linux >= 19d857c9038e5c07db8f8cc02b5ad0cd0098714f < b263088ee8ab14563817a8be3519af8e25225793`
- `Linux >= 19d857c9038e5c07db8f8cc02b5ad0cd0098714f < bb033c6781ce1b0264c3993b767b4aa9021959c2`
- `Linux >= 19d857c9038e5c07db8f8cc02b5ad0cd0098714f < 379cd990dfe752b38fcf46034698a9a150626c7a`
- `Linux >= 19d857c9038e5c07db8f8cc02b5ad0cd0098714f < 030ce919e114a111e83b7976ecb3597cefd33f26`
- `Linux 4.5`

## Remediation

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