mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 13:22:57 +00:00
mfd: syscon: Fix null pointer dereference in of_syscon_register()
[ Upstream commit41673c66b3
] kasprintf() returns a pointer to dynamically allocated memory which can be NULL upon failure. Fixes:e15d7f2b81
("mfd: syscon: Use a unique name with regmap_config") Signed-off-by: Kunwu Chan <chentao@kylinos.cn> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20231204092443.2462115-1-chentao@kylinos.cn Signed-off-by: Lee Jones <lee@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
ac3b65cbc6
commit
527e8c5f3d
1 changed files with 4 additions and 0 deletions
|
@ -102,6 +102,10 @@ static struct syscon *of_syscon_register(struct device_node *np, bool check_clk)
|
||||||
}
|
}
|
||||||
|
|
||||||
syscon_config.name = kasprintf(GFP_KERNEL, "%pOFn@%pa", np, &res.start);
|
syscon_config.name = kasprintf(GFP_KERNEL, "%pOFn@%pa", np, &res.start);
|
||||||
|
if (!syscon_config.name) {
|
||||||
|
ret = -ENOMEM;
|
||||||
|
goto err_regmap;
|
||||||
|
}
|
||||||
syscon_config.reg_stride = reg_io_width;
|
syscon_config.reg_stride = reg_io_width;
|
||||||
syscon_config.val_bits = reg_io_width * 8;
|
syscon_config.val_bits = reg_io_width * 8;
|
||||||
syscon_config.max_register = resource_size(&res) - reg_io_width;
|
syscon_config.max_register = resource_size(&res) - reg_io_width;
|
||||||
|
|
Loading…
Reference in a new issue