CVE-2026-31423

net/sched: sch_hfsc: fix divide-by-zero in rtsc_min()

State
Published
Severity
Not scored
Published
Apr 13, 2026
Updated
Oct 15, 2026
Reserved
Mar 9, 2026

Read the record on cve.org

Description

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

net/sched: sch_hfsc: fix divide-by-zero in rtsc_min()

m2sm() converts a u32 slope to a u64 scaled value. For large inputs (e.g. m1=4000000000), the result can reach 2^32. rtsc_min() stores the difference of two such u64 values in a u32 variable `dsm` and uses it as a divisor. When the difference is exactly 2^32 the truncation yields zero, causing a divide-by-zero oops in the concave-curve intersection path:

Oops: divide error: 0000 RIP: 0010:rtsc_min (net/sched/sch_hfsc.c:601) Call Trace: init_ed (net/sched/sch_hfsc.c:629) hfsc_enqueue (net/sched/sch_hfsc.c:1569) [...]

Widen `dsm` to u64 and replace do_div() with div64_u64() so the full difference is preserved.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before ad8e8fec40290a8c8cf145c0deaadf76f80c5163Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before ab1ff5890c7354afc7be56502fcfbd61f3b7ae4fAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 25b6821884713a31e2b49fb67b0ebd765b33e0a9Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before c56f78614e7781aaceca9bd3cb2128bf7d45c3bdAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before b9e6431cbea8bb1fae8069ed099b4ee100499835Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 17c1b9807b8a67d676b6dcf749ee932ebaa7f568Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before d0aefec1b1a1ba2c1d251028dc2c4e5b4ce1fea5Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 4576100b8cd03118267513cafacde164b498b322Affected
LinuxLinux
  • 2.6.12Affected
  • before 2.6.12Not affected
  • 5.10.253 through 5.10.*Not affected
  • 5.15.203 through 5.15.*Not affected
  • 6.1.168 through 6.1.*Not affected
  • 6.6.134 through 6.6.*Not affected
  • 6.12.81 through 6.12.*Not affected
  • 6.18.22 through 6.18.*Not affected
  • 6.19.12 through 6.19.*Not affected
  • 7.0 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.