From: Yang Yingliang yangyingliang@huawei.com
mainline inclusion from mainline-v5.16-rc1v6.1 commit 14651496a3de6807a17c310f63c894ea0c5d858e category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9FNF2 CVE: CVE-2021-47181
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i...
--------------------------------
It will cause null-ptr-deref if platform_get_resource() returns NULL, we need check the return value.
Signed-off-by: Yang Yingliang yangyingliang@huawei.com Link: https://lore.kernel.org/r/20210915034925.2399823-1-yangyingliang@huawei.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org Signed-off-by: Wang Zhaolong wangzhaolong1@huawei.com --- drivers/usb/musb/tusb6010.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/drivers/usb/musb/tusb6010.c b/drivers/usb/musb/tusb6010.c index 39453287b5c3..9629ddb943d5 100644 --- a/drivers/usb/musb/tusb6010.c +++ b/drivers/usb/musb/tusb6010.c @@ -1102,6 +1102,11 @@ static int tusb_musb_init(struct musb *musb)
/* dma address for async dma */ mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!mem) { + pr_debug("no async dma resource?\n"); + ret = -ENODEV; + goto done; + } musb->async = mem->start;
/* dma address for sync dma */