Drivers: hv: vmbus: Fix potential crash on module unload
In the Linux kernel, the following vulnerability has been resolved: Drivers: hv: vmbus: Fix potential crash on module unload The vmbus driver relies on the panic notifier infrastructure to perform some operations when a panic event is detected. Since vmbus can be built as module, it is required that the driver handles both registering and unregistering such panic notifier callback. After commit 74347a99e73a ("x86/Hyper-V: Unload vmbus channel in hv panic callback") though, the panic notifier registration is done unconditionally in the module initialization routine whereas the unregistering procedure is conditionally guarded and executes only if HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE capability is set. This patch fixes that by unconditionally unregistering the panic notifier in the module's exit routine as well.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 4.19.238, 5.10.111, 5.15.34, 5.16.20, 5.17.3, 5.4.189
- CVEs
- CVE-2022-49098
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 23:11 UTC · Revision 1
Source evidence
Drivers: hv: vmbus: Fix potential crash on module unload
core-osv · Original sourcePublished 26 Feb 2025, 01:54 UTC
In the Linux kernel, the following vulnerability has been resolved: Drivers: hv: vmbus: Fix potential crash on module unload The vmbus driver relies on the panic notifier infrastructure to perform some operations when a panic event is detected. Since vmbus can be built as module, it is required that the driver handles both registering and unregistering such panic notifier callback. After commit 74347a99e73a ("x86/Hyper-V: Unload vmbus channel in hv panic callback") though, the panic notifier registration is done unconditionally in the module initialization routine whereas the unregistering procedure is conditionally guarded and executes only if HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE capability is set. This patch fixes that by unconditionally unregistering the panic notifier in the module's exit routine as well.
osv:CVE-2022-49098
Kernel
Fixed versions: 4.19.238, 5.4.189, 5.10.111, 5.15.34, 5.16.20, 5.17.3
Complete source record
{
"id": "d02948a8666e27a12492bc35fb5a9cd7322500200c9752081ec5b08b745f6c38",
"url": "https://osv.dev/vulnerability/CVE-2022-49098",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Drivers: hv: vmbus: Fix potential crash on module unload",
"summary": "In the Linux kernel, the following vulnerability has been resolved: Drivers: hv: vmbus: Fix potential crash on module unload The vmbus driver relies on the panic notifier infrastructure to perform some operations when a panic event is detected. Since vmbus can be built as module, it is required that the driver handles both registering and unregistering such panic notifier callback. After commit 74347a99e73a (\"x86/Hyper-V: Unload vmbus channel in hv panic callback\") though, the panic notifier registration is done unconditionally in the module initialization routine whereas the unregistering procedure is conditionally guarded and executes only if HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE capability is set. This patch fixes that by unconditionally unregistering the panic notifier in the module's exit routine as well.",
"evidence": "osv:CVE-2022-49098",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "4.19.238",
"evidence": "/affected/1/ranges"
},
{
"value": "5.4.189",
"evidence": "/affected/1/ranges"
},
{
"value": "5.10.111",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.34",
"evidence": "/affected/1/ranges"
},
{
"value": "5.16.20",
"evidence": "/affected/1/ranges"
},
{
"value": "5.17.3",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2022-49098",
"aliases": [
"CVE-2022-49098"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "5e059fc0f054309036d3f612bc8b0a502ca58545"
},
{
"fixed": "6b4c0149a56147b29169e07000d566162892722a"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "9f38f7b46de0747c1909e8c557aa21715dce20c5"
},
{
"fixed": "2133c422a103cf7c7768c37b9ac382e73b691892"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "74347a99e73ae00b8385f1209aaea193c670f901"
},
{
"fixed": "cf580d2e3884dbafd6b90269b03a24d661578624"
},
{
"fixed": "dcd6b1a624c0ffa21034d8b1e02e9d068458f596"
},
{
"fixed": "5ea98d0f5f035c1bcf1517ccec0e024ae35a48b2"
},
{
"fixed": "3d0078f8bddd58d9bb1ad40bbe929f8633abb276"
},
{
"fixed": "792f232d57ff28bbd5f9c4abe0466b23d5879dc8"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "4.19.118"
},
{
"fixed": "4.19.238"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "5.4.35"
},
{
"fixed": "5.4.189"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "5.6.7"
},
{
"fixed": "5.7"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "caeeb3787167c884b955404a7e669fd77f267e44"
}
]
}
],
"versions": [
"v4.19.237",
"v4.19.236",
"v4.19.235",
"v4.19.234",
"v4.19.233",
"v4.19.232",
"v4.19.231",
"v4.19.230",
"v4.19.229",
"v4.19.228",
"v4.19.227",
"v4.19.226",
"v4.19.225",
"v4.19.224",
"v4.19.223",
"v4.19.222",
"v4.19.221",
"v4.19.220",
"v4.19.219",
"v4.19.218",
"v4.19.217",
"v4.19.216",
"v4.19.215",
"v4.19.214",
"v4.19.213",
"v4.19.212",
"v4.19.211",
"v4.19.210",
"v4.19.209",
"v4.19.208",
"v4.19.207",
"v4.19.206",
"v4.19.205",
"v4.19.204",
"v4.19.203",
"v4.19.202",
"v4.19.201",
"v4.19.200",
"v4.19.199",
"v4.19.198",
"v4.19.197",
"v4.19.196",
"v4.19.195",
"v4.19.194",
"v4.19.193",
"v4.19.192",
"v4.19.191",
"v4.19.190",
"v4.19.189",
"v4.19.188",
"v4.19.187",
"v4.19.186",
"v4.19.185",
"v4.19.184",
"v4.19.183",
"v4.19.182",
"v4.19.181",
"v4.19.180",
"v4.19.179",
"v4.19.178",
"v4.19.177",
"v4.19.176",
"v4.19.175",
"v4.19.174",
"v4.19.173",
"v4.19.172",
"v4.19.171",
"v4.19.170",
"v4.19.169",
"v4.19.168",
"v4.19.167",
"v4.19.166",
"v4.19.165",
"v4.19.164",
"v4.19.163",
"v4.19.162",
"v4.19.161",
"v4.19.160",
"v4.19.159",
"v4.19.158",
"v4.19.157",
"v4.19.156",
"v4.19.155",
"v4.19.154",
"v4.19.153",
"v4.19.152",
"v4.19.151",
"v4.19.150",
"v4.19.149",
"v4.19.148",
"v4.19.147",
"v4.19.146",
"v4.19.145",
"v4.19.144",
"v4.19.143",
"v4.19.142",
"v4.19.141",
"v4.19.140",
"v4.19.139",
"v4.19.138",
"v4.19.137",
"v4.19.136",
"v4.19.135",
"v4.19.134",
"v4.19.133",
"v4.19.132",
"v4.19.131",
"v4.19.130",
"v4.19.129",
"v4.19.128",
"v4.19.127",
"v4.19.126",
"v4.19.125",
"v4.19.124",
"v4.19.123",
"v4.19.122",
"v4.19.121",
"v4.19.120",
"v4.19.119",
"v4.19.118",
"v5.4.188",
"v5.4.187",
"v5.4.186",
"v5.4.185",
"v5.4.184",
"v5.4.183",
"v5.4.182",
"v5.4.181",
"v5.4.180",
"v5.4.179",
"v5.4.178",
"v5.4.177",
"v5.4.176",
"v5.4.175",
"v5.4.174",
"v5.4.173",
"v5.4.172",
"v5.4.171",
"v5.4.170",
"v5.4.169",
"v5.4.168",
"v5.4.167",
"v5.4.166",
"v5.4.165",
"v5.4.164",
"v5.4.163",
"v5.4.162",
"v5.4.161",
"v5.4.160",
"v5.4.159",
"v5.4.158",
"v5.4.157",
"v5.4.156",
"v5.4.155",
"v5.4.154",
"v5.4.153",
"v5.4.152",
"v5.4.151",
"v5.4.150",
"v5.4.149",
"v5.4.148",
"v5.4.147",
"v5.4.146",
"v5.4.145",
"v5.4.144",
"v5.4.143",
"v5.4.142",
"v5.4.141",
"v5.4.140",
"v5.4.139",
"v5.4.138",
"v5.4.137",
"v5.4.136",
"v5.4.135",
"v5.4.134",
"v5.4.133",
"v5.4.132",
"v5.4.131",
"v5.4.130",
"v5.4.129",
"v5.4.128",
"v5.4.127",
"v5.4.126",
"v5.4.125",
"v5.4.124",
"v5.4.123",
"v5.4.122",
"v5.4.121",
"v5.4.120",
"v5.4.119",
"v5.4.118",
"v5.4.117",
"v5.4.116",
"v5.4.115",
"v5.4.114",
"v5.4.113",
"v5.4.112",
"v5.4.111",
"v5.4.110",
"v5.4.109",
"v5.4.108",
"v5.4.107",
"v5.4.106",
"v5.4.105",
"v5.4.104",
"v5.4.103",
"v5.4.102",
"v5.4.101",
"v5.4.100",
"v5.4.99",
"v5.4.98",
"v5.4.97",
"v5.4.96",
"v5.4.95",
"v5.4.94",
"v5.4.93",
"v5.4.92",
"v5.4.91",
"v5.4.90",
"v5.4.89",
"v5.4.88",
"v5.4.87",
"v5.4.86",
"v5.4.85",
"v5.4.84",
"v5.4.83",
"v5.4.82",
"v5.4.81",
"v5.4.80",
"v5.4.79",
"v5.4.78",
"v5.4.77",
"v5.4.76",
"v5.4.75",
"v5.4.74",
"v5.4.73",
"v5.4.72",
"v5.4.71",
"v5.4.70",
"v5.4.69",
"v5.4.68",
"v5.4.67",
"v5.4.66",
"v5.4.65",
"v5.4.64",
"v5.4.63",
"v5.4.62",
"v5.4.61",
"v5.4.60",
"v5.4.59",
"v5.4.58",
"v5.4.57",
"v5.4.56",
"v5.4.55",
"v5.4.54",
"v5.4.53",
"v5.4.52",
"v5.4.51",
"v5.4.50",
"v5.4.49",
"v5.4.48",
"v5.4.47",
"v5.4.46",
"v5.4.45",
"v5.4.44",
"v5.4.43",
"v5.4.42",
"v5.4.41",
"v5.4.40",
"v5.4.39",
"v5.4.38",
"v5.4.37",
"v5.4.36",
"v5.4.35",
"v5.6.18",
"v5.6.19",
"v5.6.17",
"v5.6.16",
"v5.6.15",
"v5.6.14",
"v5.6.13",
"v5.6.12",
"v5.6.11",
"v5.6.10",
"v5.6.9",
"v5.6.8",
"v5.6.7"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-49098.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "4.19.238"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "4.20.0"
},
{
"fixed": "5.4.189"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.5.0"
},
{
"fixed": "5.10.111"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.7.0"
},
{
"fixed": "5.15.34"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.16.20"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "5.17.3"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-49098.json"
}
}
],
"modified": "2026-10-28T02:30:40.259607682Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/2133c422a103cf7c7768c37b9ac382e73b691892",
"https://git.kernel.org/stable/c/3d0078f8bddd58d9bb1ad40bbe929f8633abb276",
"https://git.kernel.org/stable/c/5ea98d0f5f035c1bcf1517ccec0e024ae35a48b2",
"https://git.kernel.org/stable/c/6b4c0149a56147b29169e07000d566162892722a",
"https://git.kernel.org/stable/c/792f232d57ff28bbd5f9c4abe0466b23d5879dc8",
"https://git.kernel.org/stable/c/cf580d2e3884dbafd6b90269b03a24d661578624",
"https://git.kernel.org/stable/c/dcd6b1a624c0ffa21034d8b1e02e9d068458f596",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49098.json",
"https://nvd.nist.gov/vuln/detail/CVE-2022-49098",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49098.json"
}
},
"related_cves": [
{
"value": "CVE-2022-49098",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 507876,
"published_at": "2025-02-26T01:54:50.073+00:00"
}