In the Linux kernel, the following vulnerability has been resolved:
irqchip/gic-v3: Fix GICR_CTLR.RWP polling
It turns out that our polling of RWP is totally wrong when checking for it in the redistributors, as we test the distributor bit index, whereas it is a different bit number in the RDs... Oopsie boo.
This is embarassing. Not only because it is wrong, but also because it took 8 years to notice the blunder...
Just fix the damn thing.
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c7daf1b4ad809692d5c26f33c02ed8a031066548",
"id": "CVE-2022-49074-0278e1ef",
"deprecated": false,
"target": {
"function": "gic_do_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 240.0,
"function_hash": "237597332320343543764556646342124204440"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ff24114bb08d8b90edf2aff0a4fd0689523e6c17",
"id": "CVE-2022-49074-04af3b16",
"deprecated": false,
"target": {
"function": "gic_redist_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 63.0,
"function_hash": "257063169088120492484981735430357260766"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ff24114bb08d8b90edf2aff0a4fd0689523e6c17",
"id": "CVE-2022-49074-149e00a3",
"deprecated": false,
"target": {
"function": "gic_dist_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 71.0,
"function_hash": "153279427574044496696047063933306204806"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c7daf1b4ad809692d5c26f33c02ed8a031066548",
"id": "CVE-2022-49074-32193f97",
"deprecated": false,
"target": {
"function": "gic_redist_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 63.0,
"function_hash": "257063169088120492484981735430357260766"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c7daf1b4ad809692d5c26f33c02ed8a031066548",
"id": "CVE-2022-49074-4c992b93",
"deprecated": false,
"target": {
"function": "gic_dist_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 71.0,
"function_hash": "153279427574044496696047063933306204806"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3c07cc242baf83f0bddbbd9d7945d0bee56d8b57",
"id": "CVE-2022-49074-4cb93816",
"deprecated": false,
"target": {
"function": "gic_redist_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 63.0,
"function_hash": "257063169088120492484981735430357260766"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6fef3e3179e6ed8fecdd004ede541674ffa7749d",
"id": "CVE-2022-49074-5062e96b",
"deprecated": false,
"target": {
"function": "gic_do_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 238.0,
"function_hash": "64230981360412387306109312561843179436"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ff24114bb08d8b90edf2aff0a4fd0689523e6c17",
"id": "CVE-2022-49074-5581bb57",
"deprecated": false,
"target": {
"function": "gic_do_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 238.0,
"function_hash": "64230981360412387306109312561843179436"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7218a789abb3e033f5f3a85636ca50d9ae7b0fc9",
"id": "CVE-2022-49074-67774b20",
"deprecated": false,
"target": {
"function": "gic_redist_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 63.0,
"function_hash": "257063169088120492484981735430357260766"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c7daf1b4ad809692d5c26f33c02ed8a031066548",
"id": "CVE-2022-49074-693b8e6d",
"deprecated": false,
"target": {
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"187260133745095572279944485756680343514",
"13527308970527517671306503085057542613",
"47480855027731782061714086128777048099",
"43441436506237733108255503833709604848",
"276264988097341744289817478072439508897",
"331773398079220079390344456070984196343",
"261836189364009820613454045957149050401",
"199569679442535748854610033557032432194",
"22246971570417705897694216829126513908",
"38321814648536970250455749744506992484",
"60182446362204929883589772718585433996",
"5541225148328601353544189399923066364",
"43673720950260995436313699082895047448",
"119731960867637989981825306006478009707",
"45768486486363707594280732421460376604"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7218a789abb3e033f5f3a85636ca50d9ae7b0fc9",
"id": "CVE-2022-49074-730baa53",
"deprecated": false,
"target": {
"function": "gic_dist_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 71.0,
"function_hash": "153279427574044496696047063933306204806"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@60e1eb4811f53f5f60c788297d978515e7a2637a",
"id": "CVE-2022-49074-78a7888b",
"deprecated": false,
"target": {
"function": "gic_do_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 238.0,
"function_hash": "64230981360412387306109312561843179436"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3c07cc242baf83f0bddbbd9d7945d0bee56d8b57",
"id": "CVE-2022-49074-7c8f7205",
"deprecated": false,
"target": {
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"277987356911405974703315538610498784164",
"86185870788502732427382893204423861340",
"47480855027731782061714086128777048099",
"43441436506237733108255503833709604848",
"276264988097341744289817478072439508897",
"331773398079220079390344456070984196343",
"261836189364009820613454045957149050401",
"199569679442535748854610033557032432194",
"22246971570417705897694216829126513908",
"38321814648536970250455749744506992484",
"60182446362204929883589772718585433996",
"5541225148328601353544189399923066364",
"43673720950260995436313699082895047448",
"119731960867637989981825306006478009707",
"45768486486363707594280732421460376604"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0df6664531a12cdd8fc873f0cac0dcb40243d3e9",
"id": "CVE-2022-49074-7ea7baad",
"deprecated": false,
"target": {
"function": "gic_do_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 238.0,
"function_hash": "64230981360412387306109312561843179436"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@60e1eb4811f53f5f60c788297d978515e7a2637a",
"id": "CVE-2022-49074-8085887b",
"deprecated": false,
"target": {
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"277987356911405974703315538610498784164",
"86185870788502732427382893204423861340",
"47480855027731782061714086128777048099",
"43441436506237733108255503833709604848",
"276264988097341744289817478072439508897",
"331773398079220079390344456070984196343",
"261836189364009820613454045957149050401",
"199569679442535748854610033557032432194",
"22246971570417705897694216829126513908",
"38321814648536970250455749744506992484",
"60182446362204929883589772718585433996",
"5541225148328601353544189399923066364",
"43673720950260995436313699082895047448",
"119731960867637989981825306006478009707",
"45768486486363707594280732421460376604"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6fef3e3179e6ed8fecdd004ede541674ffa7749d",
"id": "CVE-2022-49074-84bfa2d4",
"deprecated": false,
"target": {
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"277987356911405974703315538610498784164",
"86185870788502732427382893204423861340",
"47480855027731782061714086128777048099",
"43441436506237733108255503833709604848",
"276264988097341744289817478072439508897",
"331773398079220079390344456070984196343",
"261836189364009820613454045957149050401",
"199569679442535748854610033557032432194",
"22246971570417705897694216829126513908",
"38321814648536970250455749744506992484",
"60182446362204929883589772718585433996",
"5541225148328601353544189399923066364",
"43673720950260995436313699082895047448",
"119731960867637989981825306006478009707",
"45768486486363707594280732421460376604"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6fef3e3179e6ed8fecdd004ede541674ffa7749d",
"id": "CVE-2022-49074-87d4615c",
"deprecated": false,
"target": {
"function": "gic_redist_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 63.0,
"function_hash": "257063169088120492484981735430357260766"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7218a789abb3e033f5f3a85636ca50d9ae7b0fc9",
"id": "CVE-2022-49074-9affca9a",
"deprecated": false,
"target": {
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"277987356911405974703315538610498784164",
"86185870788502732427382893204423861340",
"47480855027731782061714086128777048099",
"43441436506237733108255503833709604848",
"276264988097341744289817478072439508897",
"331773398079220079390344456070984196343",
"261836189364009820613454045957149050401",
"199569679442535748854610033557032432194",
"22246971570417705897694216829126513908",
"38321814648536970250455749744506992484",
"60182446362204929883589772718585433996",
"5541225148328601353544189399923066364",
"43673720950260995436313699082895047448",
"119731960867637989981825306006478009707",
"45768486486363707594280732421460376604"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@60e1eb4811f53f5f60c788297d978515e7a2637a",
"id": "CVE-2022-49074-a157a83d",
"deprecated": false,
"target": {
"function": "gic_dist_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 71.0,
"function_hash": "153279427574044496696047063933306204806"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7218a789abb3e033f5f3a85636ca50d9ae7b0fc9",
"id": "CVE-2022-49074-ac19e9c4",
"deprecated": false,
"target": {
"function": "gic_do_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 238.0,
"function_hash": "64230981360412387306109312561843179436"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0df6664531a12cdd8fc873f0cac0dcb40243d3e9",
"id": "CVE-2022-49074-d87dd54c",
"deprecated": false,
"target": {
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"277987356911405974703315538610498784164",
"86185870788502732427382893204423861340",
"47480855027731782061714086128777048099",
"43441436506237733108255503833709604848",
"276264988097341744289817478072439508897",
"331773398079220079390344456070984196343",
"261836189364009820613454045957149050401",
"199569679442535748854610033557032432194",
"22246971570417705897694216829126513908",
"38321814648536970250455749744506992484",
"60182446362204929883589772718585433996",
"5541225148328601353544189399923066364",
"43673720950260995436313699082895047448",
"119731960867637989981825306006478009707",
"45768486486363707594280732421460376604"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@60e1eb4811f53f5f60c788297d978515e7a2637a",
"id": "CVE-2022-49074-e0f2b895",
"deprecated": false,
"target": {
"function": "gic_redist_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 63.0,
"function_hash": "257063169088120492484981735430357260766"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0df6664531a12cdd8fc873f0cac0dcb40243d3e9",
"id": "CVE-2022-49074-e116550c",
"deprecated": false,
"target": {
"function": "gic_redist_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 63.0,
"function_hash": "257063169088120492484981735430357260766"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ff24114bb08d8b90edf2aff0a4fd0689523e6c17",
"id": "CVE-2022-49074-e3aada04",
"deprecated": false,
"target": {
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"277987356911405974703315538610498784164",
"86185870788502732427382893204423861340",
"47480855027731782061714086128777048099",
"43441436506237733108255503833709604848",
"276264988097341744289817478072439508897",
"331773398079220079390344456070984196343",
"261836189364009820613454045957149050401",
"199569679442535748854610033557032432194",
"22246971570417705897694216829126513908",
"38321814648536970250455749744506992484",
"60182446362204929883589772718585433996",
"5541225148328601353544189399923066364",
"43673720950260995436313699082895047448",
"119731960867637989981825306006478009707",
"45768486486363707594280732421460376604"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6fef3e3179e6ed8fecdd004ede541674ffa7749d",
"id": "CVE-2022-49074-e7acec1e",
"deprecated": false,
"target": {
"function": "gic_dist_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 71.0,
"function_hash": "153279427574044496696047063933306204806"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3c07cc242baf83f0bddbbd9d7945d0bee56d8b57",
"id": "CVE-2022-49074-e810c2eb",
"deprecated": false,
"target": {
"function": "gic_dist_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 71.0,
"function_hash": "153279427574044496696047063933306204806"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0df6664531a12cdd8fc873f0cac0dcb40243d3e9",
"id": "CVE-2022-49074-f3170ede",
"deprecated": false,
"target": {
"function": "gic_dist_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 71.0,
"function_hash": "153279427574044496696047063933306204806"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3c07cc242baf83f0bddbbd9d7945d0bee56d8b57",
"id": "CVE-2022-49074-f3d55929",
"deprecated": false,
"target": {
"function": "gic_do_wait_for_rwp",
"file": "drivers/irqchip/irq-gic-v3.c"
},
"signature_version": "v1",
"digest": {
"length": 240.0,
"function_hash": "237597332320343543764556646342124204440"
},
"signature_type": "Function"
}
]