drivers/misc/amd-sbi/rmi-core.c | 6 ++++++ 1 file changed, 6 insertions(+)
Add check for the return value of devm_kmemdup() to prevent
potential null pointer dereference.
Fixes: 35ac2034db72 ("misc: amd-sbi: Add support for AMD_SBI IOCTL")
Signed-off-by: Charles Han <hanchunchao@inspur.com>
---
drivers/misc/amd-sbi/rmi-core.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/misc/amd-sbi/rmi-core.c b/drivers/misc/amd-sbi/rmi-core.c
index 3dec2fc00124..50b8e9e02833 100644
--- a/drivers/misc/amd-sbi/rmi-core.c
+++ b/drivers/misc/amd-sbi/rmi-core.c
@@ -471,6 +471,9 @@ int create_misc_rmi_device(struct sbrmi_data *data,
GFP_KERNEL,
"sbrmi-%x",
data->dev_static_addr);
+ if (!data->sbrmi_misc_dev.name)
+ return -ENOMEM;
+
data->sbrmi_misc_dev.minor = MISC_DYNAMIC_MINOR;
data->sbrmi_misc_dev.fops = &sbrmi_fops;
data->sbrmi_misc_dev.parent = dev;
@@ -478,6 +481,9 @@ int create_misc_rmi_device(struct sbrmi_data *data,
GFP_KERNEL,
"sbrmi-%x",
data->dev_static_addr);
+ if (!data->sbrmi_misc_dev.nodename)
+ return -ENOMEM;
+
data->sbrmi_misc_dev.mode = 0600;
return misc_register(&data->sbrmi_misc_dev);
--
2.43.0
On Fri, Sep 12, 2025 at 06:14:51PM +0800, Charles Han wrote:
> Add check for the return value of devm_kmemdup() to prevent
> potential null pointer dereference.
>
> Fixes: 35ac2034db72 ("misc: amd-sbi: Add support for AMD_SBI IOCTL")
> Signed-off-by: Charles Han <hanchunchao@inspur.com>
> ---
> drivers/misc/amd-sbi/rmi-core.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/misc/amd-sbi/rmi-core.c b/drivers/misc/amd-sbi/rmi-core.c
> index 3dec2fc00124..50b8e9e02833 100644
> --- a/drivers/misc/amd-sbi/rmi-core.c
> +++ b/drivers/misc/amd-sbi/rmi-core.c
> @@ -471,6 +471,9 @@ int create_misc_rmi_device(struct sbrmi_data *data,
> GFP_KERNEL,
> "sbrmi-%x",
> data->dev_static_addr);
> + if (!data->sbrmi_misc_dev.name)
> + return -ENOMEM;
> +
> data->sbrmi_misc_dev.minor = MISC_DYNAMIC_MINOR;
> data->sbrmi_misc_dev.fops = &sbrmi_fops;
> data->sbrmi_misc_dev.parent = dev;
> @@ -478,6 +481,9 @@ int create_misc_rmi_device(struct sbrmi_data *data,
> GFP_KERNEL,
> "sbrmi-%x",
> data->dev_static_addr);
> + if (!data->sbrmi_misc_dev.nodename)
> + return -ENOMEM;
> +
Why not just make this a single if statement? And this really can't
ever fail in real life :)
thanks,
greg k-h
© 2016 - 2026 Red Hat, Inc.