CVE-2022-49193

Source
https://nvd.nist.gov/vuln/detail/CVE-2022-49193
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-49193.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2022-49193
Downstream
Related
Published
2025-02-26T01:55:39Z
Modified
2025-10-21T09:25:24.025576Z
Summary
ice: fix 'scheduling while atomic' on aux critical err interrupt
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 icemiscintr():

[ 2100.917085] BUG: scheduling while atomic: swapper/15/0/0x00010000 ... [ 2101.060770] Call Trace: [ 2101.063229] <IRQ> [ 2101.065252] dumpstack+0x41/0x60 [ 2101.068587] _schedulebug.cold.100+0x4c/0x58 [ 2101.073060] _schedule+0x6a4/0x830 [ 2101.076570] schedule+0x35/0xa0 [ 2101.079727] schedulepreemptdisabled+0xa/0x10 [ 2101.084284] _mutexlock.isra.7+0x310/0x420 [ 2101.088580] ? icemiscintr+0x201/0x2e0 [ice] [ 2101.093078] icesendeventtoaux+0x25/0x70 [ice] [ 2101.097921] icemiscintr+0x220/0x2e0 [ice] [ 2101.102232] _handleirqeventpercpu+0x40/0x180 [ 2101.106965] handleirqeventpercpu+0x30/0x80 [ 2101.111434] handleirqevent+0x36/0x53 [ 2101.115292] handleedgeirq+0x82/0x190 [ 2101.119148] handleirq+0x1c/0x30 [ 2101.122480] doIRQ+0x49/0xd0 [ 2101.125465] commoninterrupt+0xf/0xf [ 2101.129146] </IRQ> ...

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

icemiscintr() <- hardirq icesendeventtoaux() devicelock() mutexlock() mightsleep() mightresched() <- oops

Add a new PF state bit which indicates that an aux critical error occurred and serve it in iceservicetask() in process context. The new icepf::oicrerr_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

References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
348048e724a0e8f08b63948d728d27596f6d3769
Fixed
9b77c8cf69a41d1e3851370aeaa04a9ea83b865c
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
348048e724a0e8f08b63948d728d27596f6d3769
Fixed
24d7ac8426306ae7ccea7f7dd612a7368fe7201d
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
348048e724a0e8f08b63948d728d27596f6d3769
Fixed
59e88a50afad7469c55804e46bf2924b9130281f
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
348048e724a0e8f08b63948d728d27596f6d3769
Fixed
32d53c0aa3a7b727243473949bad2a830b908edc

Affected versions

v5.*

v5.13
v5.13-rc2
v5.13-rc3
v5.13-rc4
v5.13-rc5
v5.13-rc6
v5.13-rc7
v5.14
v5.14-rc1
v5.14-rc2
v5.14-rc3
v5.14-rc4
v5.14-rc5
v5.14-rc6
v5.14-rc7
v5.15
v5.15-rc1
v5.15-rc2
v5.15-rc3
v5.15-rc4
v5.15-rc5
v5.15-rc6
v5.15-rc7
v5.15.1
v5.15.10
v5.15.11
v5.15.12
v5.15.13
v5.15.14
v5.15.15
v5.15.16
v5.15.17
v5.15.18
v5.15.19
v5.15.2
v5.15.20
v5.15.21
v5.15.22
v5.15.23
v5.15.24
v5.15.25
v5.15.26
v5.15.27
v5.15.28
v5.15.29
v5.15.3
v5.15.30
v5.15.31
v5.15.32
v5.15.4
v5.15.5
v5.15.6
v5.15.7
v5.15.8
v5.15.9
v5.16
v5.16-rc1
v5.16-rc2
v5.16-rc3
v5.16-rc4
v5.16-rc5
v5.16-rc6
v5.16-rc7
v5.16-rc8
v5.16.1
v5.16.10
v5.16.11
v5.16.12
v5.16.13
v5.16.14
v5.16.15
v5.16.16
v5.16.17
v5.16.18
v5.16.2
v5.16.3
v5.16.4
v5.16.5
v5.16.6
v5.16.7
v5.16.8
v5.16.9
v5.17
v5.17-rc1
v5.17-rc2
v5.17-rc3
v5.17-rc4
v5.17-rc5
v5.17-rc6
v5.17-rc7
v5.17-rc8
v5.17.1

Database specific

vanir_signatures

[
    {
        "digest": {
            "function_hash": "138656987876082393473568257112463280638",
            "length": 2674.0
        },
        "target": {
            "function": "ice_misc_intr",
            "file": "drivers/net/ethernet/intel/ice/ice_main.c"
        },
        "deprecated": false,
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@59e88a50afad7469c55804e46bf2924b9130281f",
        "id": "CVE-2022-49193-0d7737b0"
    },
    {
        "digest": {
            "line_hashes": [
                "285691140849800398196993001389516031609",
                "167190848479496184840125563194996719037",
                "104635641924104872684598681190215038755",
                "280219490165791174909069150371492099570",
                "302800150060020773914388275744744489899",
                "96009436511323521892976083106287421492",
                "246356860703232929733439559686770701847",
                "256254696120236159597698152769093374725",
                "73840313014231630274545474196335016330",
                "88806150428045806618718590388037683330",
                "304876007318620281522631017704051668295",
                "159678114087239817844016157440997169958",
                "225799738438950272708110363420805696024",
                "217668768915135689677050835654277631222",
                "339062073448938254992432871497582628153"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "drivers/net/ethernet/intel/ice/ice_main.c"
        },
        "deprecated": false,
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@59e88a50afad7469c55804e46bf2924b9130281f",
        "id": "CVE-2022-49193-1b187cae"
    },
    {
        "digest": {
            "function_hash": "138656987876082393473568257112463280638",
            "length": 2674.0
        },
        "target": {
            "function": "ice_misc_intr",
            "file": "drivers/net/ethernet/intel/ice/ice_main.c"
        },
        "deprecated": false,
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@24d7ac8426306ae7ccea7f7dd612a7368fe7201d",
        "id": "CVE-2022-49193-21571ed7"
    },
    {
        "digest": {
            "function_hash": "138656987876082393473568257112463280638",
            "length": 2674.0
        },
        "target": {
            "function": "ice_misc_intr",
            "file": "drivers/net/ethernet/intel/ice/ice_main.c"
        },
        "deprecated": false,
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9b77c8cf69a41d1e3851370aeaa04a9ea83b865c",
        "id": "CVE-2022-49193-784d3b4a"
    },
    {
        "digest": {
            "function_hash": "283222244225502572094335057556375260571",
            "length": 1413.0
        },
        "target": {
            "function": "ice_service_task",
            "file": "drivers/net/ethernet/intel/ice/ice_main.c"
        },
        "deprecated": false,
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@59e88a50afad7469c55804e46bf2924b9130281f",
        "id": "CVE-2022-49193-7bba457a"
    },
    {
        "digest": {
            "line_hashes": [
                "285691140849800398196993001389516031609",
                "167190848479496184840125563194996719037",
                "104635641924104872684598681190215038755",
                "280219490165791174909069150371492099570",
                "302800150060020773914388275744744489899",
                "96009436511323521892976083106287421492",
                "246356860703232929733439559686770701847",
                "256254696120236159597698152769093374725",
                "73840313014231630274545474196335016330",
                "88806150428045806618718590388037683330",
                "304876007318620281522631017704051668295",
                "159678114087239817844016157440997169958",
                "225799738438950272708110363420805696024",
                "217668768915135689677050835654277631222",
                "339062073448938254992432871497582628153"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "drivers/net/ethernet/intel/ice/ice_main.c"
        },
        "deprecated": false,
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@24d7ac8426306ae7ccea7f7dd612a7368fe7201d",
        "id": "CVE-2022-49193-816e777d"
    },
    {
        "digest": {
            "line_hashes": [
                "338085822220438796889251328890948228022",
                "67729048835394472171902247346501878381",
                "57880073394375988632262320465270376729",
                "159209420313750357632562145657560585306",
                "289853775452754804773247120125968735554",
                "79011364501094381736049517655515752914",
                "4775793660902962522354790632777456306",
                "39949593174753188592277155878299908665"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "drivers/net/ethernet/intel/ice/ice.h"
        },
        "deprecated": false,
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9b77c8cf69a41d1e3851370aeaa04a9ea83b865c",
        "id": "CVE-2022-49193-85e128a6"
    },
    {
        "digest": {
            "line_hashes": [
                "338085822220438796889251328890948228022",
                "67729048835394472171902247346501878381",
                "57880073394375988632262320465270376729",
                "159209420313750357632562145657560585306",
                "254554574320225003400369411102916230630",
                "20131804917781731455901593983551837475",
                "4775793660902962522354790632777456306",
                "39949593174753188592277155878299908665"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "drivers/net/ethernet/intel/ice/ice.h"
        },
        "deprecated": false,
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@32d53c0aa3a7b727243473949bad2a830b908edc",
        "id": "CVE-2022-49193-8defa5ad"
    },
    {
        "digest": {
            "function_hash": "283222244225502572094335057556375260571",
            "length": 1413.0
        },
        "target": {
            "function": "ice_service_task",
            "file": "drivers/net/ethernet/intel/ice/ice_main.c"
        },
        "deprecated": false,
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@32d53c0aa3a7b727243473949bad2a830b908edc",
        "id": "CVE-2022-49193-b116e04a"
    },
    {
        "digest": {
            "function_hash": "283222244225502572094335057556375260571",
            "length": 1413.0
        },
        "target": {
            "function": "ice_service_task",
            "file": "drivers/net/ethernet/intel/ice/ice_main.c"
        },
        "deprecated": false,
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@24d7ac8426306ae7ccea7f7dd612a7368fe7201d",
        "id": "CVE-2022-49193-bdc68b2d"
    },
    {
        "digest": {
            "function_hash": "283222244225502572094335057556375260571",
            "length": 1413.0
        },
        "target": {
            "function": "ice_service_task",
            "file": "drivers/net/ethernet/intel/ice/ice_main.c"
        },
        "deprecated": false,
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9b77c8cf69a41d1e3851370aeaa04a9ea83b865c",
        "id": "CVE-2022-49193-c4e126b9"
    },
    {
        "digest": {
            "function_hash": "138656987876082393473568257112463280638",
            "length": 2674.0
        },
        "target": {
            "function": "ice_misc_intr",
            "file": "drivers/net/ethernet/intel/ice/ice_main.c"
        },
        "deprecated": false,
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@32d53c0aa3a7b727243473949bad2a830b908edc",
        "id": "CVE-2022-49193-c80bf70d"
    },
    {
        "digest": {
            "line_hashes": [
                "285691140849800398196993001389516031609",
                "167190848479496184840125563194996719037",
                "104635641924104872684598681190215038755",
                "280219490165791174909069150371492099570",
                "302800150060020773914388275744744489899",
                "96009436511323521892976083106287421492",
                "246356860703232929733439559686770701847",
                "256254696120236159597698152769093374725",
                "73840313014231630274545474196335016330",
                "88806150428045806618718590388037683330",
                "304876007318620281522631017704051668295",
                "159678114087239817844016157440997169958",
                "225799738438950272708110363420805696024",
                "217668768915135689677050835654277631222",
                "339062073448938254992432871497582628153"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "drivers/net/ethernet/intel/ice/ice_main.c"
        },
        "deprecated": false,
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9b77c8cf69a41d1e3851370aeaa04a9ea83b865c",
        "id": "CVE-2022-49193-e0fb3f79"
    },
    {
        "digest": {
            "line_hashes": [
                "285691140849800398196993001389516031609",
                "167190848479496184840125563194996719037",
                "104635641924104872684598681190215038755",
                "280219490165791174909069150371492099570",
                "302800150060020773914388275744744489899",
                "96009436511323521892976083106287421492",
                "246356860703232929733439559686770701847",
                "256254696120236159597698152769093374725",
                "73840313014231630274545474196335016330",
                "88806150428045806618718590388037683330",
                "304876007318620281522631017704051668295",
                "159678114087239817844016157440997169958",
                "225799738438950272708110363420805696024",
                "217668768915135689677050835654277631222",
                "339062073448938254992432871497582628153"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "drivers/net/ethernet/intel/ice/ice_main.c"
        },
        "deprecated": false,
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@32d53c0aa3a7b727243473949bad2a830b908edc",
        "id": "CVE-2022-49193-e172b9ab"
    },
    {
        "digest": {
            "line_hashes": [
                "338085822220438796889251328890948228022",
                "67729048835394472171902247346501878381",
                "57880073394375988632262320465270376729",
                "159209420313750357632562145657560585306",
                "254554574320225003400369411102916230630",
                "20131804917781731455901593983551837475",
                "4775793660902962522354790632777456306",
                "39949593174753188592277155878299908665"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "drivers/net/ethernet/intel/ice/ice.h"
        },
        "deprecated": false,
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@59e88a50afad7469c55804e46bf2924b9130281f",
        "id": "CVE-2022-49193-ef8c385c"
    },
    {
        "digest": {
            "line_hashes": [
                "338085822220438796889251328890948228022",
                "67729048835394472171902247346501878381",
                "57880073394375988632262320465270376729",
                "159209420313750357632562145657560585306",
                "289853775452754804773247120125968735554",
                "79011364501094381736049517655515752914",
                "4775793660902962522354790632777456306",
                "39949593174753188592277155878299908665"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "drivers/net/ethernet/intel/ice/ice.h"
        },
        "deprecated": false,
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@24d7ac8426306ae7ccea7f7dd612a7368fe7201d",
        "id": "CVE-2022-49193-f70eab21"
    }
]

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.14.0
Fixed
5.15.33
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
5.16.19
Type
ECOSYSTEM
Events
Introduced
5.17.0
Fixed
5.17.2