CVE-2021-47205

Summary

In the Linux kernel, the following vulnerability has been resolved:

clk: sunxi-ng: Unregister clocks/resets when unbinding

Currently, unbinding a CCU driver unmaps the device's MMIO region, while leaving its clocks/resets and their providers registered. This can cause a page fault later when some clock operation tries to perform MMIO. Fix this by separating the CCU initialization from the memory allocation, and then using a devres callback to unregister the clocks and resets.

This also fixes a memory leak of the struct ccu_reset, and uses the correct owner (the specific platform driver) for the clocks and resets.

Early OF clock providers are never unregistered, and limited error handling is possible, so they are mostly unchanged. The error reporting is made more consistent by moving the message inside of_sunxi_ccu_probe.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxc6a0637460c29799f1e63a6a4a65bda22caf4a54 < b5dd513daa70ee8f6d281a20bd28485ee9bb7db2affected
LinuxLinuxc6a0637460c29799f1e63a6a4a65bda22caf4a54 < 9bec2b9c6134052994115d2d3374e96f2ccb9b9daffected
LinuxLinux4.10affected
LinuxLinux0 < 4.10unaffected
LinuxLinux5.15.5 <= 5.15.*unaffected
LinuxLinux5.16 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

CVE Program Container

Additional References

References