[PATCH v3 1/2] nvmem: Allow nvmem_sysfs_get_groups() to return NULL as error condition

From: Nicholas Johnson
Date: Mon Mar 09 2020 - 13:49:59 EST


Currently, nvmem_register() does not check for NULL return from
nvmem_sysfs_get_groups(), and hence nvmem_sysfs_get_groups() has to
always return a valid group, even if it is given invalid inputs.

Add check in nvmem_register() to return an error if NULL group is given.

Signed-off-by: Nicholas Johnson <nicholas.johnson-opensource@xxxxxxxxxxxxxx>
---
drivers/nvmem/core.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
index ef326f243..f6cd8a56a 100644
--- a/drivers/nvmem/core.c
+++ b/drivers/nvmem/core.c
@@ -388,6 +388,10 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config)
config->read_only || !nvmem->reg_write;

nvmem->dev.groups = nvmem_sysfs_get_groups(nvmem, config);
+ if (!nvmem->dev.groups) {
+ kfree(nvmem);
+ return ERR_PTR(-EPERM);
+ }

device_initialize(&nvmem->dev);

--
2.25.1