2022-12-02 08:22:21

by wangyufen

[permalink] [raw]
Subject: [PATCH] pstore/ram: Fix error return code in ramoops_probe()

In the if (dev_of_node(dev) && !pdata) path, the "err" may be assigned a
value of 0, so the error return code -EINVAL may be incorrectly set
to 0. To fix set valid return code before calling to goto.

Fixes: 35da60941e44 ("pstore/ram: add Device Tree bindings")
Signed-off-by: Wang Yufen <[email protected]>
---
fs/pstore/ram.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index fefe3d3..74e4d93 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -735,6 +735,7 @@ static int ramoops_probe(struct platform_device *pdev)
/* Make sure we didn't get bogus platform data pointer. */
if (!pdata) {
pr_err("NULL platform data\n");
+ err = -EINVAL;
goto fail_out;
}

@@ -742,6 +743,7 @@ static int ramoops_probe(struct platform_device *pdev)
!pdata->ftrace_size && !pdata->pmsg_size)) {
pr_err("The memory size and the record/console size must be "
"non-zero\n");
+ err = -EINVAL;
goto fail_out;
}

--
1.8.3.1


2022-12-02 23:50:35

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH] pstore/ram: Fix error return code in ramoops_probe()

On Fri, 2 Dec 2022 16:22:54 +0800, Wang Yufen wrote:
> In the if (dev_of_node(dev) && !pdata) path, the "err" may be assigned a
> value of 0, so the error return code -EINVAL may be incorrectly set
> to 0. To fix set valid return code before calling to goto.
>
>

Applied to for-next/pstore, thanks!

[1/1] pstore/ram: Fix error return code in ramoops_probe()
https://git.kernel.org/kees/c/e1fce564900f

--
Kees Cook