From: Vladimir Zapolskiy Date: Mon, 28 Oct 2013 17:05:16 +0000 (+0200) Subject: misc/93xx46: avoid infinite loop on write() X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=95f774c5268843e78fdb732cd4f27e510bbbba83;p=deliverable%2Flinux.git misc/93xx46: avoid infinite loop on write() This change fixes a problem of infinite zero byte write() without an error status, if there is an attempt to write a file bigger than EEPROM size over sysfs interface. Signed-off-by: Vladimir Zapolskiy Cc: Greg Kroah-Hartman Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/misc/eeprom/eeprom_93xx46.c b/drivers/misc/eeprom/eeprom_93xx46.c index 94cfc1212577..3a015abb444a 100644 --- a/drivers/misc/eeprom/eeprom_93xx46.c +++ b/drivers/misc/eeprom/eeprom_93xx46.c @@ -202,7 +202,7 @@ eeprom_93xx46_bin_write(struct file *filp, struct kobject *kobj, edev = dev_get_drvdata(dev); if (unlikely(off >= edev->bin.size)) - return 0; + return -EFBIG; if ((off + count) > edev->bin.size) count = edev->bin.size - off; if (unlikely(!count))