In the Linux kernel, the following vulnerability has been resolved:
wifi: mt76: mt7921s: fix potential hung tasks during chip recovery
During chip recovery (e.g. chip reset), there is a possible situation that kernel worker resetwork is holding the lock and waiting for kernel thread statworker to be parked, while stat_worker is waiting for the release of the same lock. It causes a deadlock resulting in the dumping of hung tasks messages and possible rebooting of the device.
This patch prevents the execution of stat_worker during the chip recovery.
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0b81faa05b0b9feb3ae2d69be1d21f0d126ecb08",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-018fee9c",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/mt7921/pci_mac.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"63778364800687566645532663516833158846",
"197536564534418646597592538660963618583",
"109762038538254814185372577377384442169",
"121426549423476622011413473240492562327",
"318850683081273581125452004877060476402",
"325434769899291512522416574828736869013",
"136698194452793655729867731978143069696",
"98483128471361130835604212955802078410"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0b81faa05b0b9feb3ae2d69be1d21f0d126ecb08",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-06f23bc6",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/sdio.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"59424566783272947508861476683561896497",
"103155443531610471243230656800276802220",
"202673050805618501025079374179627965676",
"292330319209924956286539280897724775183"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0b81faa05b0b9feb3ae2d69be1d21f0d126ecb08",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-08032471",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/mt7921/sdio_mac.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"261853024376981736247059978845757906386",
"165310917267982077070542752425291774805",
"50173000398786330415686377625034664693",
"121426549423476622011413473240492562327",
"318850683081273581125452004877060476402",
"259658751106818810155723789908097669446",
"290383700509693022182173984258254178882",
"46741148948532364615737555930758768017"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ecf0b2b8a37c8464186620bef37812a117ff6366",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-25fe66dd",
"target": {
"function": "mt7921_mac_reset_work",
"file": "drivers/net/wireless/mediatek/mt76/mt7921/mac.c"
},
"signature_type": "Function",
"digest": {
"length": 986.0,
"function_hash": "304312650591296955719907722242544871015"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e974dd4c22a23ec3ce579fb6d31a674ac0435da9",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-27a6d917",
"target": {
"function": "mt7921s_mac_reset",
"file": "drivers/net/wireless/mediatek/mt76/mt7921/sdio_mac.c"
},
"signature_type": "Function",
"digest": {
"length": 1321.0,
"function_hash": "209453318142945721370303442203316279749"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@85edd783f4539a994d66c4c014d5858f490b7a02",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-2eaa9f46",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/sdio.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"59424566783272947508861476683561896497",
"103155443531610471243230656800276802220",
"202673050805618501025079374179627965676",
"292330319209924956286539280897724775183"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e974dd4c22a23ec3ce579fb6d31a674ac0435da9",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-2f218054",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/mt7921/pci_mac.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"319550302050469242776956873812803499937",
"19810845570229981226658579660217339648",
"109762038538254814185372577377384442169",
"121426549423476622011413473240492562327",
"318850683081273581125452004877060476402",
"325434769899291512522416574828736869013",
"136698194452793655729867731978143069696",
"98483128471361130835604212955802078410"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0b81faa05b0b9feb3ae2d69be1d21f0d126ecb08",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-354a83f1",
"target": {
"function": "mt76s_tx_status_data",
"file": "drivers/net/wireless/mediatek/mt76/sdio.c"
},
"signature_type": "Function",
"digest": {
"length": 522.0,
"function_hash": "289931342180410448517337553231727950281"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ecf0b2b8a37c8464186620bef37812a117ff6366",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-3a20260c",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/mt7921/mac.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"282122424776075953040435580634644276994",
"88255426374727709449819673669814129027",
"189728324749814763541254551997624853773",
"247179463494831797702277547606672784514",
"182204281181012042306853819092859613187",
"179236107306855047226729040043505719767",
"311967540124564872067267910778604556240",
"97919612886351530775313699482612709901"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e974dd4c22a23ec3ce579fb6d31a674ac0435da9",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-3beaf9a9",
"target": {
"function": "mt76s_tx_status_data",
"file": "drivers/net/wireless/mediatek/mt76/sdio.c"
},
"signature_type": "Function",
"digest": {
"length": 522.0,
"function_hash": "289931342180410448517337553231727950281"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0b81faa05b0b9feb3ae2d69be1d21f0d126ecb08",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-4a162684",
"target": {
"function": "mt7921s_mac_reset",
"file": "drivers/net/wireless/mediatek/mt76/mt7921/sdio_mac.c"
},
"signature_type": "Function",
"digest": {
"length": 1321.0,
"function_hash": "209453318142945721370303442203316279749"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0b81faa05b0b9feb3ae2d69be1d21f0d126ecb08",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-4c908792",
"target": {
"function": "mt7921_mac_reset_work",
"file": "drivers/net/wireless/mediatek/mt76/mt7921/mac.c"
},
"signature_type": "Function",
"digest": {
"length": 986.0,
"function_hash": "33646497983442902970318614795257481652"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e974dd4c22a23ec3ce579fb6d31a674ac0435da9",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-57c72e3f",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/mt7921/sdio_mac.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"261853024376981736247059978845757906386",
"165310917267982077070542752425291774805",
"50173000398786330415686377625034664693",
"121426549423476622011413473240492562327",
"318850683081273581125452004877060476402",
"259658751106818810155723789908097669446",
"290383700509693022182173984258254178882",
"46741148948532364615737555930758768017"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@85edd783f4539a994d66c4c014d5858f490b7a02",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-5846fdad",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/mt7921/sdio_mac.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"261853024376981736247059978845757906386",
"165310917267982077070542752425291774805",
"50173000398786330415686377625034664693",
"121426549423476622011413473240492562327",
"318850683081273581125452004877060476402",
"259658751106818810155723789908097669446",
"290383700509693022182173984258254178882",
"46741148948532364615737555930758768017"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@85edd783f4539a994d66c4c014d5858f490b7a02",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-62265a74",
"target": {
"function": "mt7921_mac_reset_work",
"file": "drivers/net/wireless/mediatek/mt76/mt7921/mac.c"
},
"signature_type": "Function",
"digest": {
"length": 986.0,
"function_hash": "304312650591296955719907722242544871015"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e974dd4c22a23ec3ce579fb6d31a674ac0435da9",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-64497d5a",
"target": {
"function": "mt7921e_mac_reset",
"file": "drivers/net/wireless/mediatek/mt76/mt7921/pci_mac.c"
},
"signature_type": "Function",
"digest": {
"length": 1708.0,
"function_hash": "180874971076840607247520616431280407244"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0b81faa05b0b9feb3ae2d69be1d21f0d126ecb08",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-85ab4ec7",
"target": {
"function": "mt7921e_mac_reset",
"file": "drivers/net/wireless/mediatek/mt76/mt7921/pci_mac.c"
},
"signature_type": "Function",
"digest": {
"length": 1648.0,
"function_hash": "286927835511916643934860765088828406547"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@85edd783f4539a994d66c4c014d5858f490b7a02",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-91704fc7",
"target": {
"function": "mt7921e_mac_reset",
"file": "drivers/net/wireless/mediatek/mt76/mt7921/pci_mac.c"
},
"signature_type": "Function",
"digest": {
"length": 1708.0,
"function_hash": "180874971076840607247520616431280407244"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e974dd4c22a23ec3ce579fb6d31a674ac0435da9",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-9ce78dbe",
"target": {
"function": "mt7921_mac_reset_work",
"file": "drivers/net/wireless/mediatek/mt76/mt7921/mac.c"
},
"signature_type": "Function",
"digest": {
"length": 986.0,
"function_hash": "304312650591296955719907722242544871015"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@85edd783f4539a994d66c4c014d5858f490b7a02",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-9e519b1b",
"target": {
"function": "mt76s_tx_status_data",
"file": "drivers/net/wireless/mediatek/mt76/sdio.c"
},
"signature_type": "Function",
"digest": {
"length": 522.0,
"function_hash": "289931342180410448517337553231727950281"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ecf0b2b8a37c8464186620bef37812a117ff6366",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-a8796abd",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/mt7921/sdio_mac.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"261853024376981736247059978845757906386",
"165310917267982077070542752425291774805",
"50173000398786330415686377625034664693",
"121426549423476622011413473240492562327",
"318850683081273581125452004877060476402",
"259658751106818810155723789908097669446",
"290383700509693022182173984258254178882",
"46741148948532364615737555930758768017"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0b81faa05b0b9feb3ae2d69be1d21f0d126ecb08",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-b09375a9",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/mt7921/mac.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"282122424776075953040435580634644276994",
"88255426374727709449819673669814129027",
"189728324749814763541254551997624853773",
"247179463494831797702277547606672784514",
"182204281181012042306853819092859613187",
"179236107306855047226729040043505719767",
"311967540124564872067267910778604556240",
"97919612886351530775313699482612709901"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e974dd4c22a23ec3ce579fb6d31a674ac0435da9",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-b3aae564",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/sdio.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"59424566783272947508861476683561896497",
"103155443531610471243230656800276802220",
"202673050805618501025079374179627965676",
"292330319209924956286539280897724775183"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ecf0b2b8a37c8464186620bef37812a117ff6366",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-b6300d4b",
"target": {
"function": "mt7921e_mac_reset",
"file": "drivers/net/wireless/mediatek/mt76/mt7921/pci_mac.c"
},
"signature_type": "Function",
"digest": {
"length": 1708.0,
"function_hash": "180874971076840607247520616431280407244"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e974dd4c22a23ec3ce579fb6d31a674ac0435da9",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-b6a1e980",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/mt7921/mac.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"282122424776075953040435580634644276994",
"88255426374727709449819673669814129027",
"189728324749814763541254551997624853773",
"247179463494831797702277547606672784514",
"182204281181012042306853819092859613187",
"179236107306855047226729040043505719767",
"311967540124564872067267910778604556240",
"97919612886351530775313699482612709901"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@85edd783f4539a994d66c4c014d5858f490b7a02",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-c0d90358",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/mt7921/mac.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"282122424776075953040435580634644276994",
"88255426374727709449819673669814129027",
"189728324749814763541254551997624853773",
"247179463494831797702277547606672784514",
"182204281181012042306853819092859613187",
"179236107306855047226729040043505719767",
"311967540124564872067267910778604556240",
"97919612886351530775313699482612709901"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@85edd783f4539a994d66c4c014d5858f490b7a02",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-c27e478e",
"target": {
"function": "mt7921s_mac_reset",
"file": "drivers/net/wireless/mediatek/mt76/mt7921/sdio_mac.c"
},
"signature_type": "Function",
"digest": {
"length": 1321.0,
"function_hash": "209453318142945721370303442203316279749"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@85edd783f4539a994d66c4c014d5858f490b7a02",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-c6a2ffd7",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/mt7921/pci_mac.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"319550302050469242776956873812803499937",
"19810845570229981226658579660217339648",
"109762038538254814185372577377384442169",
"121426549423476622011413473240492562327",
"318850683081273581125452004877060476402",
"325434769899291512522416574828736869013",
"136698194452793655729867731978143069696",
"98483128471361130835604212955802078410"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ecf0b2b8a37c8464186620bef37812a117ff6366",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-c761665d",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/mt7921/pci_mac.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"319550302050469242776956873812803499937",
"19810845570229981226658579660217339648",
"109762038538254814185372577377384442169",
"121426549423476622011413473240492562327",
"318850683081273581125452004877060476402",
"325434769899291512522416574828736869013",
"136698194452793655729867731978143069696",
"98483128471361130835604212955802078410"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ecf0b2b8a37c8464186620bef37812a117ff6366",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-ef5086cd",
"target": {
"file": "drivers/net/wireless/mediatek/mt76/sdio.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"59424566783272947508861476683561896497",
"103155443531610471243230656800276802220",
"202673050805618501025079374179627965676",
"292330319209924956286539280897724775183"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ecf0b2b8a37c8464186620bef37812a117ff6366",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-f2b46710",
"target": {
"function": "mt76s_tx_status_data",
"file": "drivers/net/wireless/mediatek/mt76/sdio.c"
},
"signature_type": "Function",
"digest": {
"length": 522.0,
"function_hash": "289931342180410448517337553231727950281"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ecf0b2b8a37c8464186620bef37812a117ff6366",
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2024-40977-f45e49a1",
"target": {
"function": "mt7921s_mac_reset",
"file": "drivers/net/wireless/mediatek/mt76/mt7921/sdio_mac.c"
},
"signature_type": "Function",
"digest": {
"length": 1321.0,
"function_hash": "209453318142945721370303442203316279749"
}
}
]