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

      Sunshine And March Vibes (2025 Wallpapers Edition)

      May 20, 2025

      The Case For Minimal WordPress Setups: A Contrarian View On Theme Frameworks

      May 20, 2025

      How To Fix Largest Contentful Paint Issues With Subpart Analysis

      May 20, 2025

      How To Prevent WordPress SQL Injection Attacks

      May 20, 2025

      Helldivers 2: Heart of Democracy update is live, and you need to jump in to save Super Earth from the Illuminate

      May 20, 2025

      Qualcomm’s new Adreno Control Panel will let you fine-tune the GPU for certain games on Snapdragon X Elite devices

      May 20, 2025

      Samsung takes on LG’s best gaming TVs — adds NVIDIA G-SYNC support to 2025 flagship

      May 20, 2025

      The biggest unanswered questions about Xbox’s next-gen consoles

      May 20, 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

      HCL Commerce V9.1 – The Power of HCL Commerce Search

      May 20, 2025
      Recent

      HCL Commerce V9.1 – The Power of HCL Commerce Search

      May 20, 2025

      Community News: Latest PECL Releases (05.20.2025)

      May 20, 2025

      Getting Started with Personalization in Sitecore XM Cloud: Enable, Extend, and Execute

      May 20, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      Helldivers 2: Heart of Democracy update is live, and you need to jump in to save Super Earth from the Illuminate

      May 20, 2025
      Recent

      Helldivers 2: Heart of Democracy update is live, and you need to jump in to save Super Earth from the Illuminate

      May 20, 2025

      Qualcomm’s new Adreno Control Panel will let you fine-tune the GPU for certain games on Snapdragon X Elite devices

      May 20, 2025

      Samsung takes on LG’s best gaming TVs — adds NVIDIA G-SYNC support to 2025 flagship

      May 20, 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

    Security

    Nmap 7.96 Launches with Lightning-Fast DNS and 612 Scripts

    May 21, 2025
    Common Vulnerabilities and Exposures (CVEs)

    CVE-2025-5011 – MoonlightL Hexo-Boot Cross-Site Scripting Vulnerability

    May 21, 2025
    Leave A Reply Cancel Reply

    Hostinger

    Continue Reading

    The AI Fix #43: I, for one, welcome our new robot overlords!

    Development

    UX Tools Map 2024

    Development

    CVE-2025-4147 – Netgear EX6200 Remote Buffer Overflow Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    Wrestic is a Restic wrapper built in Rust

    Linux

    Highlights

    Can we access the value of a member or class variable of a test class in the testListner methods

    November 14, 2024

    I have a situation where ‘xyz’ is member variable of my testClass and I want to print some information in my report using that variable only.

    So I want to access ‘xyz’ in my ‘onTestFailure’ listner method. Please suggest if anyone has attempted it.

    Linux Data Recovery: How to Salvage Lost or Corrupted Files

    May 1, 2025

    How Skyflow creates technical content in days using Amazon Bedrock

    June 5, 2024

    Linux Foundation’s trust scorecards aim to battle rising open-source security threats

    March 19, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

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