Commit 2afe217a authored by Changhuang Liang's avatar Changhuang Liang Committed by Zeng Heng
Browse files

reset: starfive: jh71x0: Fix accessing the empty member on JH7110 SoC

mainline inclusion
from mainline-v6.12-rc4
commit 2cf59663660799ce16f4dfbed97cdceac7a7fa11
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IB2BXH
CVE: CVE-2024-50137

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



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

data->asserted will be NULL on JH7110 SoC since commit 82327b12
("reset: starfive: Add StarFive JH7110 reset driver") was added. Add
the judgment condition to avoid errors when calling reset_control_status
on JH7110 SoC.

Fixes: 82327b12 ("reset: starfive: Add StarFive JH7110 reset driver")
Signed-off-by: default avatarChanghuang Liang <changhuang.liang@starfivetech.com>
Acked-by: default avatarHal Feng <hal.feng@starfivetech.com>
Reviewed-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Link: https://lore.kernel.org/r/20240925112442.1732416-1-changhuang.liang@starfivetech.com


Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: default avatarZeng Heng <zengheng4@huawei.com>
parent 8a039651
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -94,6 +94,9 @@ static int jh71x0_reset_status(struct reset_controller_dev *rcdev,
	void __iomem *reg_status = data->status + offset * sizeof(u32);
	u32 value = readl(reg_status);

	if (!data->asserted)
		return !(value & mask);

	return !((value ^ data->asserted[offset]) & mask);
}