[PATCH 9 of 28] IB/ipath - only allow complete writes to flash

Bryan O'Sullivan
2006-09-28T16:09:24Z

Don't allow a write to the eeprom from ipathfs unless the write is exactly
128 bytes and starts at offset 0.

Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>

diff -r cc3350eeb557 -r 934e5c1d6ade drivers/infiniband/hw/ipath/ipath_fs.c
--- a/drivers/infiniband/hw/ipath/ipath_fs.c Thu Sep 28 08:57:12 2006 -0700
+++ b/drivers/infiniband/hw/ipath/ipath_fs.c Thu Sep 28 08:57:12 2006 -0700
@@ -357,18 +357,15 @@ static ssize_t flash_write(struct file *

pos = *ppos;

- if ( pos < 0) {
+ if (pos != 0) {
ret = -EINVAL;
goto bail;
}

- if (pos >= sizeof(struct ipath_flash)) {
- ret = 0;
- goto bail;
- }
-
- if (count > sizeof(struct ipath_flash) - pos)
- count = sizeof(struct ipath_flash) - pos;
+ if (count != sizeof(struct ipath_flash)) {
+ ret = -EINVAL;
+ goto bail;
+ }

tmp = kmalloc(count, GFP_KERNEL);
if (!tmp) {