diff mbox series

mmc: core: check the return value of wakeup_source_register()

Message ID 20220225121858.25638-1-baijiaju1990@gmail.com
State New
Headers show
Series mmc: core: check the return value of wakeup_source_register() | expand

Commit Message

Jia-Ju Bai Feb. 25, 2022, 12:18 p.m. UTC
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@tsinghua.edu.cn>
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
---
 drivers/mmc/core/host.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Andy Shevchenko Feb. 25, 2022, 4:54 p.m. UTC | #1
On Fri, Feb 25, 2022 at 04:18:58AM -0800, Jia-Ju Bai wrote:
> The function wakeup_source_register() in mmc_alloc_host() can fail, so
> its return value should be checked.

NAK.

This doesn't explain why this resource must be non-optional.

One should not dumbly use the robots.
diff mbox series

Patch

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;