mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2024-06-14 03:03:52 +02:00
461072fc7b
Manually rebased: backport-5.10/804-v5.14-0001-nvmem-core-allow-specifying-of_node.patch Removed upstreamed: generic-backport/807-v5.17-0003-nvmem-core-Fix-a-conflict-between-MTD-and-NVMEM-on-w.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.168&id=34ec4c7831c416ac56619477f1701986634a7efc Build system: x86_64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me>
37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
From de0534df93474f268486c486ea7e01b44a478026 Mon Sep 17 00:00:00 2001
|
|
From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
|
Date: Fri, 6 Aug 2021 09:59:47 +0100
|
|
Subject: [PATCH] nvmem: core: fix error handling while validating keepout
|
|
regions
|
|
|
|
Current error path on failure of validating keepout regions is calling
|
|
put_device, eventhough the device is not even registered at that point.
|
|
|
|
Fix this by adding proper error handling of freeing ida and nvmem.
|
|
|
|
Fixes: fd3bb8f54a88 ("nvmem: core: Add support for keepout regions")
|
|
Cc: <stable@vger.kernel.org>
|
|
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
|
Link: https://lore.kernel.org/r/20210806085947.22682-5-srinivas.kandagatla@linaro.org
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
---
|
|
drivers/nvmem/core.c | 7 +++++--
|
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
|
|
|
--- a/drivers/nvmem/core.c
|
|
+++ b/drivers/nvmem/core.c
|
|
@@ -827,8 +827,11 @@ struct nvmem_device *nvmem_register(cons
|
|
|
|
if (nvmem->nkeepout) {
|
|
rval = nvmem_validate_keepouts(nvmem);
|
|
- if (rval)
|
|
- goto err_put_device;
|
|
+ if (rval) {
|
|
+ ida_free(&nvmem_ida, nvmem->id);
|
|
+ kfree(nvmem);
|
|
+ return ERR_PTR(rval);
|
|
+ }
|
|
}
|
|
|
|
dev_dbg(&nvmem->dev, "Registering nvmem device %s\n", config->name);
|