Commit 6b4901e0 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 5c65b739
......@@ -257,6 +257,9 @@ static ssize_t at24_read(struct at24_data *at24,
if (unlikely(!count))
return count;
if (off + count > at24->chip.byte_len)
return -EINVAL;
/*
* Read data from chip, protecting against concurrent updates
* from this host, but not from other I2C masters.
......@@ -311,6 +314,9 @@ static ssize_t at24_eeprom_write(struct at24_data *at24, const char *buf,
unsigned long timeout, write_time;
unsigned next_page;
if (offset + count > at24->chip.byte_len)
return -EINVAL;
/* Get corresponding I2C address and adjust offset */
client = at24_translate_offset(at24, &offset);
......
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