]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
nvmem: core: Check read_only flag for force_ro in bin_attr_nvmem_write()
authorMarek Vasut <marex@denx.de>
Wed, 30 Oct 2024 14:02:53 +0000 (14:02 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 5 Nov 2024 13:01:19 +0000 (14:01 +0100)
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")
Cc: Stable@vger.kernel.org
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20241030140253.40445-2-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/nvmem/core.c

index 66eec1960801e8f501193e3c706bfbe534b28b65..90c46f6e465d26502d0d0573c774e30ebbb6e10c 100644 (file)
@@ -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);