X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=drivers%2Fnvmem%2Fcore.c;h=9d11d98373128fef3de3406975d8bcc2ca286b9a;hb=41eeb34acd3def009b1dd827364c9ed6d70ca4ea;hp=6fd4e5a5ef4a495bbd412ee33b931f4fb3a8a24f;hpb=0eea505058740aa45486145296ef4fefbd8cab85;p=cascardo%2Flinux.git diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 6fd4e5a5ef4a..9d11d9837312 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -70,6 +70,9 @@ static ssize_t bin_attr_nvmem_read(struct file *filp, struct kobject *kobj, if (pos >= nvmem->size) return 0; + if (count < nvmem->word_size) + return -EINVAL; + if (pos + count > nvmem->size) count = nvmem->size - pos; @@ -95,6 +98,9 @@ static ssize_t bin_attr_nvmem_write(struct file *filp, struct kobject *kobj, if (pos >= nvmem->size) return 0; + if (count < nvmem->word_size) + return -EINVAL; + if (pos + count > nvmem->size) count = nvmem->size - pos;