CVE-2022-50846
Description
In the Linux kernel, the following vulnerability has been resolved:
mmc: via-sdmmc: fix return value check of mmc_add_host()
mmc_add_host() may return error, if we ignore its return value, it will lead two issues: 1. The memory that allocated in mmc_alloc_host() is leaked. 2. In the remove() path, mmc_remove_host() will be called to delete device, but it's not added yet, it will lead a kernel crash because of null-ptr-deref in device_del().
Fix this by checking the return value and goto error path which will call mmc_free_host().
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Missing return value check of mmc_add_host() in the Linux kernel's via-sdmmc driver can lead to memory leak and kernel crash on driver removal.
Vulnerability
Details
In the Linux kernel's via-sdmmc MMC/SD host controller driver, the return value of mmc_add_host() is not checked. According to the CVE description, if mmc_add_host() fails, two issues arise: first, the memory allocated by mmc_alloc_host() is leaked; second, in the driver's remove path, mmc_remove_host() is called on a device that was never added, leading to a null-pointer dereference in device_del() and a kernel crash.
Exploitation
The vulnerability is triggered during driver initialization when mmc_add_host() returns an error. An attacker who can cause this failure—for example, by exhausting system memory or providing faulty hardware—could exploit the missing check. No authentication is required, as the driver may be loaded automatically based on hardware presence. The attack surface is local, requiring the ability to influence the driver's probe sequence.
Impact
Successful exploitation results in a kernel crash (denial of service) due to the null-ptr-deref, or a memory leak if the error path is taken without freeing the host structure. This can lead to system instability or resource exhaustion.
Mitigation
The fix involves checking the return value of mmc_add_host() and jumping to an error path that calls mmc_free_host() to properly clean up. Patches have been applied to multiple stable kernel branches as commits [1], [2], [3], and [4]. Users should update to a patched kernel version.
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
2Patches
9076bcd2c93e112b8e81b77c095025a8dd0ecf59ef2a47a2263400da6cd370959cc1685eb0ec94795114eba91b413983ae4e46fb61e3bVulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
9- git.kernel.org/stable/c/076bcd2c93e16b05c10564e299d6e5d26a766d00nvd
- git.kernel.org/stable/c/0959cc1685eb19774300d43ef25e318b457b156bnvd
- git.kernel.org/stable/c/0ec94795114edc7e24ec71849dce42bfa61dafa3nvd
- git.kernel.org/stable/c/12b8e81b77c05c658efd9cde3585bbd65ae39b59nvd
- git.kernel.org/stable/c/63400da6cd37a9793c19bb6aed7131b58b975a04nvd
- git.kernel.org/stable/c/95025a8dd0ec015872f6c16473fe04d6264e68canvd
- git.kernel.org/stable/c/ba91b413983a9235792523c6b9f7ba2586c4d75dnvd
- git.kernel.org/stable/c/e4e46fb61e3bb4628170810d3f2b996b709b90d9nvd
- git.kernel.org/stable/c/f59ef2a47a228e51322ad76752a55a8917c56e38nvd
News mentions
0No linked articles in our index yet.