[PATCH] nvmem: core: Check read_only flag for force_ro in bin_attr_nvmem_write()

From: Marek Vasut
Date: Sat Jul 13 2024 - 11:40:21 EST


The bin_attr_nvmem_write() must check the read_only flag and block
writes on read-only devices, now that a nvmem device can be switched
between read-write and read-only mode at runtime using the force_ro
attribute. Add the missing check.

Fixes: 9d7eb234ac7a ("nvmem: core: Implement force_ro sysfs attribute")
Signed-off-by: Marek Vasut <marex@xxxxxxx>
---
Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
---
drivers/nvmem/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
index 516dfd861b9f9..9cfe7d4bcda39 100644
--- a/drivers/nvmem/core.c
+++ b/drivers/nvmem/core.c
@@ -267,7 +267,7 @@ static ssize_t bin_attr_nvmem_write(struct file *filp, struct kobject *kobj,

count = round_down(count, nvmem->word_size);

- if (!nvmem->reg_write)
+ if (!nvmem->reg_write || nvmem->read_only)
return -EPERM;

rc = nvmem_reg_write(nvmem, pos, buf, count);
--
2.43.0