The function wakeup_source_register() in mmc_alloc_host() can fail, so its return value should be checked. Fixes: b52fb259dff8 ("mmc: core: Always allow the card detect uevent to be consumed") Reported-by: TOTE Robot <oslab@xxxxxxxxxxxxxxx> Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxxxx> --- drivers/mmc/core/host.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c index cf140f4ec864..4f1a6db10ec5 100644 --- a/drivers/mmc/core/host.c +++ b/drivers/mmc/core/host.c @@ -550,6 +550,10 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev) dev_set_name(&host->class_dev, "mmc%d", host->index); host->ws = wakeup_source_register(NULL, dev_name(&host->class_dev)); + if (!host->ws) { + kfree(host); + return NULL; + } host->parent = dev; host->class_dev.parent = dev; -- 2.17.1