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

    STALKER 2’s 1.4 patch has arrived with over 700 gameplay fixes and improvements to enemy AI

    News & Updates

    Firefly AIBOX-3588S Running Linux: Access Remote File Systems Over SSH with SSHFS

    Linux

    State of Devs

    Web Development

    CVE-2025-4955 – Tarteaucitron.io WordPress Stored Cross-site Scripting Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    Highlights

    Development

    Precise Number Formatting with Laravel’s Enhanced Number::spell Method

    April 30, 2025

    Laravel’s Number::spell method now offers ‘until’ and ‘after’ threshold parameters, allowing precise control over when…

    CVE-2025-3889 – WordPress Simple Shopping Cart Insecure Direct Object Reference

    May 1, 2025

    Adaptive Knowledge Distillation for Device-Directed Speech Detection

    August 7, 2025

    CVE-2025-25257 – Fortinet FortiWeb SQL Injection Vulnerability

    July 17, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

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