In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scmi: Unrequest devices if driver registration fails scmi_driver_register() requests protocol devices before registering the driver. If driver_register() fails, those requests remain in the global IDR and retain pointers to the module's ID table. Once the failed module load releases that storage, later request matching or SCMI device creation can dereference the stale pointers. Unrequest the complete protocol table before returning the registration failure. At this point table registration succeeded, so every entry is owned by the current registration attempt.
https://git.kernel.org/stable/c/a76b20b1f03099204db29b90e1024fe1c2b2cdd7
https://git.kernel.org/stable/c/9f7cd6a62aa754ed6b48cbd5d50de40add1bcc86
https://git.kernel.org/stable/c/524e57035af2d32498af9dd8fa6fdc92fcc8f80a
https://git.kernel.org/stable/c/4520d4a1db37198756ad23568e36cdf091b6ffff
https://git.kernel.org/stable/c/06e65e07a1bcb39a1ebc8bb89a981f8e07900497