Commit 08d1db64 authored by Claus Hansen Ries's avatar Claus Hansen Ries Committed by Yongqiang Liu
Browse files

net: ll_temac: platform_get_resource replaced by wrong function

stable inclusion
from stable-v5.10.215
commit 6d9395ba7f85bdb7af0b93272e537484ecbeff48
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9Q99Y
CVE: CVE-2024-35796

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6d9395ba7f85bdb7af0b93272e537484ecbeff48



--------------------------------

commit 3a38a829c8bc27d78552c28e582eb1d885d07d11 upstream.

The function platform_get_resource was replaced with
devm_platform_ioremap_resource_byname and is called using 0 as name.

This eventually ends up in platform_get_resource_byname in the call
stack, where it causes a null pointer in strcmp.

	if (type == resource_type(r) && !strcmp(r->name, name))

It should have been replaced with devm_platform_ioremap_resource.

Fixes: bd69058f ("net: ll_temac: Use devm_platform_ioremap_resource_byname()")
Signed-off-by: default avatarClaus Hansen Ries <chr@terma.com>
Cc: stable@vger.kernel.org
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/cca18f9c630a41c18487729770b492bb@terma.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarYongqiang Liu <liuyongqiang13@huawei.com>
parent 9fac591d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1439,7 +1439,7 @@ static int temac_probe(struct platform_device *pdev)
	}

	/* map device registers */
	lp->regs = devm_platform_ioremap_resource_byname(pdev, 0);
	lp->regs = devm_platform_ioremap_resource(pdev, 0);
	if (IS_ERR(lp->regs)) {
		dev_err(&pdev->dev, "could not map TEMAC registers\n");
		return -ENOMEM;