Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      Coded Smorgasbord: High Strung

      September 26, 2025

      Chainguard launches trusted collection of verified JavaScript libraries

      September 26, 2025

      CData launches Connect AI to provide agents access to enterprise data sources

      September 26, 2025

      PostgreSQL 18 adds asynchronous I/O to improve performance

      September 26, 2025

      Distribution Release: Neptune 9.0

      September 25, 2025

      Distribution Release: Kali Linux 2025.3

      September 23, 2025

      Distribution Release: SysLinuxOS 13

      September 23, 2025

      Development Release: MX Linux 25 Beta 1

      September 22, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      PHP 8.5.0 RC 1 available for testing

      September 26, 2025
      Recent

      PHP 8.5.0 RC 1 available for testing

      September 26, 2025

      Terraform Code Generator Using Ollama and CodeGemma

      September 26, 2025

      Beyond Denial: How AI Concierge Services Can Transform Healthcare from Reactive to Proactive

      September 25, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      Distribution Release: Neptune 9.0

      September 25, 2025
      Recent

      Distribution Release: Neptune 9.0

      September 25, 2025

      FOSS Weekly #25.39: Kill Switch Phones, LMDE 7, Zorin OS 18 Beta, Polybar, Apt History and More Linux Stuff

      September 25, 2025

      Distribution Release: Kali Linux 2025.3

      September 23, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»Security»Common Vulnerabilities and Exposures (CVEs)»CVE-2025-37821 – Linux Kernel Sched Eevdf Crash

    CVE-2025-37821 – Linux Kernel Sched Eevdf Crash

    May 8, 2025

    CVE ID : CVE-2025-37821

    Published : May 8, 2025, 7:15 a.m. | 58 minutes ago

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

    sched/eevdf: Fix se->slice being set to U64_MAX and resulting crash

    There is a code path in dequeue_entities() that can set the slice of a
    sched_entity to U64_MAX, which sometimes results in a crash.

    The offending case is when dequeue_entities() is called to dequeue a
    delayed group entity, and then the entity’s parent’s dequeue is delayed.
    In that case:

    1. In the if (entity_is_task(se)) else block at the beginning of
    dequeue_entities(), slice is set to
    cfs_rq_min_slice(group_cfs_rq(se)). If the entity was delayed, then
    it has no queued tasks, so cfs_rq_min_slice() returns U64_MAX.
    2. The first for_each_sched_entity() loop dequeues the entity.
    3. If the entity was its parent’s only child, then the next iteration
    tries to dequeue the parent.
    4. If the parent’s dequeue needs to be delayed, then it breaks from the
    first for_each_sched_entity() loop _without updating slice_.
    5. The second for_each_sched_entity() loop sets the parent’s ->slice to
    the saved slice, which is still U64_MAX.

    This throws off subsequent calculations with potentially catastrophic
    results. A manifestation we saw in production was:

    6. In update_entity_lag(), se->slice is used to calculate limit, which
    ends up as a huge negative number.
    7. limit is used in se->vlag = clamp(vlag, -limit, limit). Because limit
    is negative, vlag > limit, so se->vlag is set to the same huge
    negative number.
    8. In place_entity(), se->vlag is scaled, which overflows and results in
    another huge (positive or negative) number.
    9. The adjusted lag is subtracted from se->vruntime, which increases or
    decreases se->vruntime by a huge number.
    10. pick_eevdf() calls entity_eligible()/vruntime_eligible(), which
    incorrectly returns false because the vruntime is so far from the
    other vruntimes on the queue, causing the
    (vruntime – cfs_rq->min_vruntime) * load calulation to overflow.
    11. Nothing appears to be eligible, so pick_eevdf() returns NULL.
    12. pick_next_entity() tries to dereference the return value of
    pick_eevdf() and crashes.

    Dumping the cfs_rq states from the core dumps with drgn showed tell-tale
    huge vruntime ranges and bogus vlag values, and I also traced se->slice
    being set to U64_MAX on live systems (which was usually “benign” since
    the rest of the runqueue needed to be in a particular state to crash).

    Fix it in dequeue_entities() by always setting slice from the first
    non-empty cfs_rq.

    Severity: 0.0 | NA

    Visit the link for more details, such as CVSS details, affected products, timeline, and more…

    Source: Read More

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleCVE-2025-37827 – Here is a title for the vulnerability: “btrfs: RAID1 Profile Write Pointer Offset Mismatch NULL Pointer Dereference”
    Next Article CVE-2025-37826 – Linux Kernel UFS SCSI Null Pointer Dereference Vulnerability

    Related Posts

    Development

    Cursor AI Code Editor Flaw Enables Silent Code Execution via Malicious Repositories

    September 14, 2025
    Development

    Introducing HybridPetya: Petya/NotPetya copycat with UEFI Secure Boot bypass

    September 14, 2025
    Leave A Reply Cancel Reply

    For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

    Continue Reading

    How to Open and Use DirectX Diagnostic Tool (dxdiag) in Windows 11

    Operating Systems

    Multi-tenant db schema added to React Starter Kit

    Development

    CVE-2025-31256 – Apple Notes Cache Exposure Vulnerability

    Common Vulnerabilities and Exposures (CVEs)
    Personalizziamo un po’ GNOME – Versione 2025

    Personalizziamo un po’ GNOME – Versione 2025

    Linux

    Highlights

    CVE-2024-53016 – Canon Camera Off-Path Memory Corruption Vulnerability

    June 3, 2025

    CVE ID : CVE-2024-53016

    Published : June 3, 2025, 6:15 a.m. | 1 hour, 12 minutes ago

    Description : Memory corruption while processing I2C settings in Camera driver.

    Severity: 6.6 | MEDIUM

    Visit the link for more details, such as CVSS details, affected products, timeline, and more…

    An engineer’s guide to vibe design (with prompts)

    June 25, 2025

    Build public-facing generative AI applications using Amazon Q Business for anonymous users

    April 30, 2025

    Are you playing DOOM: The Dark Ages when it launches? — Weekend discussion 💬

    May 10, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.