CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's handling of card-detect work in the mmc: via-sdmmc subsystem, where queued tasks can execute after the device has been removed, potentially leading to dereferencing freed memory. This could result in system instability or crashes due to memory corruption. Organizations using Linux systems with this kernel component should prioritize addressing this issue to mitigate risks associated with memory management vulnerabilities.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: mmc: via-sdmmc: cancel card-detect work on remove Disabling the device interrupt and freeing the IRQ prevents new card-detect work from being queued, but carddet_work already queued by the handler can still run after via_sd_remove() returns. via_sdc_card_detect() recovers the host through container_of() and dereferences its MMIO base; once remove() returns the host can be freed, so that work would touch freed memory. Cancel carddet_work after freeing the IRQ and before cancelling finish_bh_work, which the card-detect handler can also queue. carddet_work can re-enable the interrupt through via_reset_pcictrl(); mask it again afterwards. This issue was found by an in-house static analysis tool and confirmed by manual code review.