CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's handling of SD card-detect interrupts, where a failure during the probe process can lead to the interrupt remaining registered, allowing the handler to operate on freed memory. This could result in potential memory corruption or system instability, making it critical for developers and system administrators managing Linux environments to prioritize this issue to prevent exploitation. Immediate attention is advised for those utilizing affected systems, particularly in environments where SD card functionality is critical.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: mmc: via-sdmmc: stop card-detect handling on probe failure request_irq() registers the SD card-detect interrupt and the probe enables it before mmc_add_host() runs. If mmc_add_host() fails, the error path only unmaps the registers and returns: the interrupt stays registered, so the handler keeps running against the host once it is freed. via_sdc_isr() dereferences sdhost and its MMIO base and schedules carddet_work, which via_sdc_card_detect() also runs against freed memory through its container_of() dereference. Add a probe-error path that disables and frees the interrupt and cancels carddet_work before unmapping. carddet_work can re-enable the device interrupt via via_reset_pcictrl(), which restores PCIINTCTRL, so mask it again after cancelling the work. This issue was found by an in-house static analysis tool and confirmed by manual code review.