Description
In the Linux kernel, the following vulnerability has been resolved: spi: lpspi: Avoid potential use-after-free in probe() fsl_lpspi_probe() is allocating/disposing memory manually with spi_alloc_host()/spi_alloc_target(), but uses devm_spi_register_controller(). In case of error after the latter call the memory will be explicitly freed in the probe function by spi_controller_put() call, but used afterwards by "devm" management outside probe() (spi_unregister_controller() <- devm_spi_unregister() below). Unable to handle kernel NULL pointer dereference at virtual address 0000000000000070 ... Call trace: kernfs_find_ns kernfs_find_and_get_ns sysfs_remove_group sysfs_remove_groups device_remove_attrs device_del spi_unregister_controller devm_spi_unregister release_nodes devres_release_all really_probe driver_probe_device __device_attach_driver bus_for_each_drv __device_attach device_initial_probe bus_probe_device deferred_probe_work_func process_one_work worker_thread kthread ret_from_fork
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
5314987de5e5f5e38436ef4a69328bc472bbd63e to < 57a9b7fe61031f30c90d20c898160c397f6abe9faffected5314987de5e5f5e38436ef4a69328bc472bbd63e to < da83ed350e4604b976e94239b08d8e2e7eaee7eaaffected5314987de5e5f5e38436ef4a69328bc472bbd63e to < 1543418e82789cc383cd36d41469983c64e3fc7faffected5314987de5e5f5e38436ef4a69328bc472bbd63e to < 996ce839606afd0fef91355627868022aa73eb68affected5314987de5e5f5e38436ef4a69328bc472bbd63e to < 2ae0ab0143fcc06190713ed81a6486ed0ad3c861affected
Linux Linux
Default version status: affected
4.10affected0 to < 4.10unaffected6.1.191 to ≤ 6.1.*unaffected6.6.23 to ≤ 6.6.*unaffected6.7.11 to ≤ 6.7.*unaffected6.8.2 to ≤ 6.8.*unaffected6.9 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/57a9b7fe61031f30c90d20c898160c397f6abe9f ↗
- https://git.kernel.org/stable/c/da83ed350e4604b976e94239b08d8e2e7eaee7ea ↗
- https://git.kernel.org/stable/c/1543418e82789cc383cd36d41469983c64e3fc7f ↗
- https://git.kernel.org/stable/c/996ce839606afd0fef91355627868022aa73eb68 ↗
- https://git.kernel.org/stable/c/2ae0ab0143fcc06190713ed81a6486ed0ad3c861 ↗