Commit 19699abe authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Greg Kroah-Hartman

eeprom: at24: check at24_read/write arguments

commit d9bcd462 upstream.

So far we completely rely on the caller to provide valid arguments.
To be on the safe side perform an own sanity check.
Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d3da2efa
...@@ -507,6 +507,9 @@ static int at24_read(void *priv, unsigned int off, void *val, size_t count) ...@@ -507,6 +507,9 @@ static int at24_read(void *priv, unsigned int off, void *val, size_t count)
if (unlikely(!count)) if (unlikely(!count))
return count; return count;
if (off + count > at24->chip.byte_len)
return -EINVAL;
/* /*
* Read data from chip, protecting against concurrent updates * Read data from chip, protecting against concurrent updates
* from this host, but not from other I2C masters. * from this host, but not from other I2C masters.
...@@ -539,6 +542,9 @@ static int at24_write(void *priv, unsigned int off, void *val, size_t count) ...@@ -539,6 +542,9 @@ static int at24_write(void *priv, unsigned int off, void *val, size_t count)
if (unlikely(!count)) if (unlikely(!count))
return -EINVAL; return -EINVAL;
if (off + count > at24->chip.byte_len)
return -EINVAL;
/* /*
* Write data to chip, protecting against concurrent updates * Write data to chip, protecting against concurrent updates
* from this host, but not from other I2C masters. * from this host, but not from other I2C masters.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment