diff options
Diffstat (limited to 'drivers/nvmem/core.c')
-rw-r--r-- | drivers/nvmem/core.c | 6 |
1 files changed, 6 insertions, 0 deletions
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, | |||
70 | if (pos >= nvmem->size) | 70 | if (pos >= nvmem->size) |
71 | return 0; | 71 | return 0; |
72 | 72 | ||
73 | if (count < nvmem->word_size) | ||
74 | return -EINVAL; | ||
75 | |||
73 | if (pos + count > nvmem->size) | 76 | if (pos + count > nvmem->size) |
74 | count = nvmem->size - pos; | 77 | count = nvmem->size - pos; |
75 | 78 | ||
@@ -95,6 +98,9 @@ static ssize_t bin_attr_nvmem_write(struct file *filp, struct kobject *kobj, | |||
95 | if (pos >= nvmem->size) | 98 | if (pos >= nvmem->size) |
96 | return 0; | 99 | return 0; |
97 | 100 | ||
101 | if (count < nvmem->word_size) | ||
102 | return -EINVAL; | ||
103 | |||
98 | if (pos + count > nvmem->size) | 104 | if (pos + count > nvmem->size) |
99 | count = nvmem->size - pos; | 105 | count = nvmem->size - pos; |
100 | 106 | ||