GHSA-74R5-9M22-5P6R

Vulnerability from github – Published: 2025-10-21 12:31 – Updated: 2025-10-21 12:31
VLAI
Details

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

ice: fix 'scheduling while atomic' on aux critical err interrupt

There's a kernel BUG splat on processing aux critical error interrupts in ice_misc_intr():

[ 2100.917085] BUG: scheduling while atomic: swapper/15/0/0x00010000 ... [ 2101.060770] Call Trace: [ 2101.063229] [ 2101.065252] dump_stack+0x41/0x60 [ 2101.068587] __schedule_bug.cold.100+0x4c/0x58 [ 2101.073060] __schedule+0x6a4/0x830 [ 2101.076570] schedule+0x35/0xa0 [ 2101.079727] schedule_preempt_disabled+0xa/0x10 [ 2101.084284] __mutex_lock.isra.7+0x310/0x420 [ 2101.088580] ? ice_misc_intr+0x201/0x2e0 [ice] [ 2101.093078] ice_send_event_to_aux+0x25/0x70 [ice] [ 2101.097921] ice_misc_intr+0x220/0x2e0 [ice] [ 2101.102232] __handle_irq_event_percpu+0x40/0x180 [ 2101.106965] handle_irq_event_percpu+0x30/0x80 [ 2101.111434] handle_irq_event+0x36/0x53 [ 2101.115292] handle_edge_irq+0x82/0x190 [ 2101.119148] handle_irq+0x1c/0x30 [ 2101.122480] do_IRQ+0x49/0xd0 [ 2101.125465] common_interrupt+0xf/0xf [ 2101.129146] ...

As Andrew correctly mentioned previously[0], the following call ladder happens:

ice_misc_intr() <- hardirq ice_send_event_to_aux() device_lock() mutex_lock() might_sleep() might_resched() <- oops

Add a new PF state bit which indicates that an aux critical error occurred and serve it in ice_service_task() in process context. The new ice_pf::oicr_err_reg is read-write in both hardirq and process contexts, but only 3 bits of non-critical data probably aren't worth explicit synchronizing (and they're even in the same byte [31:24]).

[0] https://lore.kernel.org/all/YeSRUVmrdmlUXHDn@lunn.ch

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2022-49193"
  ],
  "database_specific": {
    "cwe_ids": [],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2025-02-26T07:00:56Z",
    "severity": "MODERATE"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nice: fix \u0027scheduling while atomic\u0027 on aux critical err interrupt\n\nThere\u0027s a kernel BUG splat on processing aux critical error\ninterrupts in ice_misc_intr():\n\n[ 2100.917085] BUG: scheduling while atomic: swapper/15/0/0x00010000\n...\n[ 2101.060770] Call Trace:\n[ 2101.063229]  \u003cIRQ\u003e\n[ 2101.065252]  dump_stack+0x41/0x60\n[ 2101.068587]  __schedule_bug.cold.100+0x4c/0x58\n[ 2101.073060]  __schedule+0x6a4/0x830\n[ 2101.076570]  schedule+0x35/0xa0\n[ 2101.079727]  schedule_preempt_disabled+0xa/0x10\n[ 2101.084284]  __mutex_lock.isra.7+0x310/0x420\n[ 2101.088580]  ? ice_misc_intr+0x201/0x2e0 [ice]\n[ 2101.093078]  ice_send_event_to_aux+0x25/0x70 [ice]\n[ 2101.097921]  ice_misc_intr+0x220/0x2e0 [ice]\n[ 2101.102232]  __handle_irq_event_percpu+0x40/0x180\n[ 2101.106965]  handle_irq_event_percpu+0x30/0x80\n[ 2101.111434]  handle_irq_event+0x36/0x53\n[ 2101.115292]  handle_edge_irq+0x82/0x190\n[ 2101.119148]  handle_irq+0x1c/0x30\n[ 2101.122480]  do_IRQ+0x49/0xd0\n[ 2101.125465]  common_interrupt+0xf/0xf\n[ 2101.129146]  \u003c/IRQ\u003e\n...\n\nAs Andrew correctly mentioned previously[0], the following call\nladder happens:\n\nice_misc_intr() \u003c- hardirq\n  ice_send_event_to_aux()\n    device_lock()\n      mutex_lock()\n        might_sleep()\n          might_resched() \u003c- oops\n\nAdd a new PF state bit which indicates that an aux critical error\noccurred and serve it in ice_service_task() in process context.\nThe new ice_pf::oicr_err_reg is read-write in both hardirq and\nprocess contexts, but only 3 bits of non-critical data probably\naren\u0027t worth explicit synchronizing (and they\u0027re even in the same\nbyte [31:24]).\n\n[0] https://lore.kernel.org/all/YeSRUVmrdmlUXHDn@lunn.ch",
  "id": "GHSA-74r5-9m22-5p6r",
  "modified": "2025-10-21T12:31:23Z",
  "published": "2025-10-21T12:31:23Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2022-49193"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/24d7ac8426306ae7ccea7f7dd612a7368fe7201d"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/32d53c0aa3a7b727243473949bad2a830b908edc"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/59e88a50afad7469c55804e46bf2924b9130281f"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/9b77c8cf69a41d1e3851370aeaa04a9ea83b865c"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
      "type": "CVSS_V3"
    }
  ]
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…