linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/8] misc: remove boundary checks from bin attr users
@ 2015-07-26 21:18 Vladimir Zapolskiy
  2015-07-26 21:18 ` [PATCH 1/8] misc: cxl: clean up afu_read_config() Vladimir Zapolskiy
                   ` (8 more replies)
  0 siblings, 9 replies; 18+ messages in thread
From: Vladimir Zapolskiy @ 2015-07-26 21:18 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Wolfram Sang, Maxime Ripard, Jean Delvare,
	Ian Munsie, Michael Neuling
  Cc: Arnd Bergmann, linuxppc-dev, linux-arm-kernel, linux-i2c, linux-kernel

This change removes a number of redundant checks on bin attribute
client's side, the same checks are done by sysfs_kf_bin_read() or
sysfs_kf_bin_write() caller from fs/sysfs/file.c.

Note, drivers/misc/pch_phub.c and drivers/misc/c2port/core.c may be
updated in a similar way, however this task is not done due to more
complicated read()/write() callbacks.

No functional change, hopefully.

Vladimir Zapolskiy (8):
  misc: cxl: clean up afu_read_config()
  misc: ds1682: clean up ds1682_eeprom_read() and ds1682_eeprom_write()
  misc: eeprom: 93xx46: clean up eeprom_93xx46_bin_read/write
  misc: eeprom: clean up eeprom_read()
  misc: eeprom: max6875: clean up max6875_read()
  misc: eeprom: at24: clean up at24_bin_write()
  misc: eeprom: at25: move eeprom boundary checks to mem_read/mem_write
  misc: eeprom: sunxi_sid: clean up sid_read()

 drivers/misc/cxl/sysfs.c            |  7 +------
 drivers/misc/ds1682.c               | 12 ------------
 drivers/misc/eeprom/at24.c          |  3 ---
 drivers/misc/eeprom/at25.c          | 28 ++++++++++++++--------------
 drivers/misc/eeprom/eeprom.c        |  5 -----
 drivers/misc/eeprom/eeprom_93xx46.c | 14 --------------
 drivers/misc/eeprom/max6875.c       |  6 ------
 drivers/misc/eeprom/sunxi_sid.c     |  5 -----
 8 files changed, 15 insertions(+), 65 deletions(-)

-- 
2.1.4


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 1/8] misc: cxl: clean up afu_read_config()
  2015-07-26 21:18 [PATCH 0/8] misc: remove boundary checks from bin attr users Vladimir Zapolskiy
@ 2015-07-26 21:18 ` Vladimir Zapolskiy
  2015-07-26 23:06   ` Daniel Axtens
  2015-08-05  7:48   ` Michael Neuling
  2015-07-26 21:18 ` [PATCH 2/8] misc: ds1682: clean up ds1682_eeprom_read() and ds1682_eeprom_write() Vladimir Zapolskiy
                   ` (7 subsequent siblings)
  8 siblings, 2 replies; 18+ messages in thread
From: Vladimir Zapolskiy @ 2015-07-26 21:18 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, linuxppc-dev, Ian Munsie, Michael Neuling

The sanity checks for overflow are not needed, because this is done on
caller side in fs/sysfs/file.c

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: Ian Munsie <imunsie@au1.ibm.com>
Cc: Michael Neuling <mikey@neuling.org>
---
 drivers/misc/cxl/sysfs.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/misc/cxl/sysfs.c b/drivers/misc/cxl/sysfs.c
index 31f38bc..87cd747 100644
--- a/drivers/misc/cxl/sysfs.c
+++ b/drivers/misc/cxl/sysfs.c
@@ -443,12 +443,7 @@ static ssize_t afu_read_config(struct file *filp, struct kobject *kobj,
 	struct afu_config_record *cr = to_cr(kobj);
 	struct cxl_afu *afu = to_cxl_afu(container_of(kobj->parent, struct device, kobj));
 
-	u64 i, j, val, size = afu->crs_len;
-
-	if (off > size)
-		return 0;
-	if (off + count > size)
-		count = size - off;
+	u64 i, j, val;
 
 	for (i = 0; i < count;) {
 		val = cxl_afu_cr_read64(afu, cr->cr, off & ~0x7);
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 2/8] misc: ds1682: clean up ds1682_eeprom_read() and ds1682_eeprom_write()
  2015-07-26 21:18 [PATCH 0/8] misc: remove boundary checks from bin attr users Vladimir Zapolskiy
  2015-07-26 21:18 ` [PATCH 1/8] misc: cxl: clean up afu_read_config() Vladimir Zapolskiy
@ 2015-07-26 21:18 ` Vladimir Zapolskiy
  2015-07-26 21:18 ` [PATCH 3/8] misc: eeprom: 93xx46: clean up eeprom_93xx46_bin_read/write Vladimir Zapolskiy
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 18+ messages in thread
From: Vladimir Zapolskiy @ 2015-07-26 21:18 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel

The change removes redundant sysfs binary file boundary checks, since
this task is already done on caller side in fs/sysfs/file.c

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 drivers/misc/ds1682.c | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/drivers/misc/ds1682.c b/drivers/misc/ds1682.c
index b909fb3..c711227 100644
--- a/drivers/misc/ds1682.c
+++ b/drivers/misc/ds1682.c
@@ -148,12 +148,6 @@ static ssize_t ds1682_eeprom_read(struct file *filp, struct kobject *kobj,
 	dev_dbg(&client->dev, "ds1682_eeprom_read(p=%p, off=%lli, c=%zi)\n",
 		buf, off, count);
 
-	if (off >= DS1682_EEPROM_SIZE)
-		return 0;
-
-	if (off + count > DS1682_EEPROM_SIZE)
-		count = DS1682_EEPROM_SIZE - off;
-
 	rc = i2c_smbus_read_i2c_block_data(client, DS1682_REG_EEPROM + off,
 					   count, buf);
 	if (rc < 0)
@@ -171,12 +165,6 @@ static ssize_t ds1682_eeprom_write(struct file *filp, struct kobject *kobj,
 	dev_dbg(&client->dev, "ds1682_eeprom_write(p=%p, off=%lli, c=%zi)\n",
 		buf, off, count);
 
-	if (off >= DS1682_EEPROM_SIZE)
-		return -ENOSPC;
-
-	if (off + count > DS1682_EEPROM_SIZE)
-		count = DS1682_EEPROM_SIZE - off;
-
 	/* Write out to the device */
 	if (i2c_smbus_write_i2c_block_data(client, DS1682_REG_EEPROM + off,
 					   count, buf) < 0)
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 3/8] misc: eeprom: 93xx46: clean up eeprom_93xx46_bin_read/write
  2015-07-26 21:18 [PATCH 0/8] misc: remove boundary checks from bin attr users Vladimir Zapolskiy
  2015-07-26 21:18 ` [PATCH 1/8] misc: cxl: clean up afu_read_config() Vladimir Zapolskiy
  2015-07-26 21:18 ` [PATCH 2/8] misc: ds1682: clean up ds1682_eeprom_read() and ds1682_eeprom_write() Vladimir Zapolskiy
@ 2015-07-26 21:18 ` Vladimir Zapolskiy
  2015-07-26 21:18 ` [PATCH 4/8] misc: eeprom: clean up eeprom_read() Vladimir Zapolskiy
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 18+ messages in thread
From: Vladimir Zapolskiy @ 2015-07-26 21:18 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel

The change removes redundant sysfs binary file boundary checks, since
this task is already done on caller side in fs/sysfs/file.c

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 drivers/misc/eeprom/eeprom_93xx46.c | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/drivers/misc/eeprom/eeprom_93xx46.c b/drivers/misc/eeprom/eeprom_93xx46.c
index 9ebeacd..a6bd9e3 100644
--- a/drivers/misc/eeprom/eeprom_93xx46.c
+++ b/drivers/misc/eeprom/eeprom_93xx46.c
@@ -48,13 +48,6 @@ eeprom_93xx46_bin_read(struct file *filp, struct kobject *kobj,
 	dev = container_of(kobj, struct device, kobj);
 	edev = dev_get_drvdata(dev);
 
-	if (unlikely(off >= edev->bin.size))
-		return 0;
-	if ((off + count) > edev->bin.size)
-		count = edev->bin.size - off;
-	if (unlikely(!count))
-		return count;
-
 	cmd_addr = OP_READ << edev->addrlen;
 
 	if (edev->addrlen == 7) {
@@ -200,13 +193,6 @@ eeprom_93xx46_bin_write(struct file *filp, struct kobject *kobj,
 	dev = container_of(kobj, struct device, kobj);
 	edev = dev_get_drvdata(dev);
 
-	if (unlikely(off >= edev->bin.size))
-		return -EFBIG;
-	if ((off + count) > edev->bin.size)
-		count = edev->bin.size - off;
-	if (unlikely(!count))
-		return count;
-
 	/* only write even number of bytes on 16-bit devices */
 	if (edev->addrlen == 6) {
 		step = 2;
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 4/8] misc: eeprom: clean up eeprom_read()
  2015-07-26 21:18 [PATCH 0/8] misc: remove boundary checks from bin attr users Vladimir Zapolskiy
                   ` (2 preceding siblings ...)
  2015-07-26 21:18 ` [PATCH 3/8] misc: eeprom: 93xx46: clean up eeprom_93xx46_bin_read/write Vladimir Zapolskiy
@ 2015-07-26 21:18 ` Vladimir Zapolskiy
  2015-07-29  7:14   ` Jean Delvare
  2015-07-26 21:18 ` [PATCH 5/8] misc: eeprom: max6875: clean up max6875_read() Vladimir Zapolskiy
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 18+ messages in thread
From: Vladimir Zapolskiy @ 2015-07-26 21:18 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel, Jean Delvare

The change removes redundant sysfs binary file boundary check, since
this task is already done on caller side in fs/sysfs/file.c

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Cc: Jean Delvare <jdelvare@suse.com>
---
 drivers/misc/eeprom/eeprom.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/misc/eeprom/eeprom.c b/drivers/misc/eeprom/eeprom.c
index b432873..7342fd6 100644
--- a/drivers/misc/eeprom/eeprom.c
+++ b/drivers/misc/eeprom/eeprom.c
@@ -88,11 +88,6 @@ static ssize_t eeprom_read(struct file *filp, struct kobject *kobj,
 	struct eeprom_data *data = i2c_get_clientdata(client);
 	u8 slice;
 
-	if (off > EEPROM_SIZE)
-		return 0;
-	if (off + count > EEPROM_SIZE)
-		count = EEPROM_SIZE - off;
-
 	/* Only refresh slices which contain requested bytes */
 	for (slice = off >> 5; slice <= (off + count - 1) >> 5; slice++)
 		eeprom_update_client(client, slice);
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 5/8] misc: eeprom: max6875: clean up max6875_read()
  2015-07-26 21:18 [PATCH 0/8] misc: remove boundary checks from bin attr users Vladimir Zapolskiy
                   ` (3 preceding siblings ...)
  2015-07-26 21:18 ` [PATCH 4/8] misc: eeprom: clean up eeprom_read() Vladimir Zapolskiy
@ 2015-07-26 21:18 ` Vladimir Zapolskiy
  2015-07-26 21:18 ` [PATCH 6/8] misc: eeprom: at24: clean up at24_bin_write() Vladimir Zapolskiy
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 18+ messages in thread
From: Vladimir Zapolskiy @ 2015-07-26 21:18 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel

The change removes redundant sysfs binary file boundary check, since
this task is already done on caller side in fs/sysfs/file.c

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 drivers/misc/eeprom/max6875.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/misc/eeprom/max6875.c b/drivers/misc/eeprom/max6875.c
index 580ff9d..9aa4332 100644
--- a/drivers/misc/eeprom/max6875.c
+++ b/drivers/misc/eeprom/max6875.c
@@ -114,12 +114,6 @@ static ssize_t max6875_read(struct file *filp, struct kobject *kobj,
 	struct max6875_data *data = i2c_get_clientdata(client);
 	int slice, max_slice;
 
-	if (off > USER_EEPROM_SIZE)
-		return 0;
-
-	if (off + count > USER_EEPROM_SIZE)
-		count = USER_EEPROM_SIZE - off;
-
 	/* refresh slices which contain requested bytes */
 	max_slice = (off + count - 1) >> SLICE_BITS;
 	for (slice = (off >> SLICE_BITS); slice <= max_slice; slice++)
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 6/8] misc: eeprom: at24: clean up at24_bin_write()
  2015-07-26 21:18 [PATCH 0/8] misc: remove boundary checks from bin attr users Vladimir Zapolskiy
                   ` (4 preceding siblings ...)
  2015-07-26 21:18 ` [PATCH 5/8] misc: eeprom: max6875: clean up max6875_read() Vladimir Zapolskiy
@ 2015-07-26 21:18 ` Vladimir Zapolskiy
  2015-07-28  6:11   ` Wolfram Sang
  2015-07-26 21:18 ` [PATCH 7/8] misc: eeprom: at25: move eeprom boundary checks to mem_read/mem_write Vladimir Zapolskiy
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 18+ messages in thread
From: Vladimir Zapolskiy @ 2015-07-26 21:18 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel, linux-i2c, Wolfram Sang

The change removes redundant sysfs binary file boundary check, since
this task is already done on caller side in fs/sysfs/file.c

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Cc: linux-i2c@vger.kernel.org
Cc: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/misc/eeprom/at24.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
index 2d3db81..6ded3dc 100644
--- a/drivers/misc/eeprom/at24.c
+++ b/drivers/misc/eeprom/at24.c
@@ -438,9 +438,6 @@ static ssize_t at24_bin_write(struct file *filp, struct kobject *kobj,
 {
 	struct at24_data *at24;
 
-	if (unlikely(off >= attr->size))
-		return -EFBIG;
-
 	at24 = dev_get_drvdata(container_of(kobj, struct device, kobj));
 	return at24_write(at24, buf, off, count);
 }
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 7/8] misc: eeprom: at25: move eeprom boundary checks to mem_read/mem_write
  2015-07-26 21:18 [PATCH 0/8] misc: remove boundary checks from bin attr users Vladimir Zapolskiy
                   ` (5 preceding siblings ...)
  2015-07-26 21:18 ` [PATCH 6/8] misc: eeprom: at24: clean up at24_bin_write() Vladimir Zapolskiy
@ 2015-07-26 21:18 ` Vladimir Zapolskiy
  2015-07-26 21:18 ` [PATCH 8/8] misc: eeprom: sunxi_sid: clean up sid_read() Vladimir Zapolskiy
  2015-08-07 16:10 ` [PATCH 0/8] misc: remove boundary checks from bin attr users Wolfram Sang
  8 siblings, 0 replies; 18+ messages in thread
From: Vladimir Zapolskiy @ 2015-07-26 21:18 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel

The sanity checks for overflow over eeprom size are not needed, if
eeprom is accessed from userspace over sysfs interface, because this
is handled by fs/sysfs/file.c, however in case of reading or writing
within the kernel it might be still reasonable to pass the check.

The change moves these checks from shared at25_ee_read() and
at25_ee_write() directly to at25_mem_read() and at25_mem_write(), no
functional change.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 drivers/misc/eeprom/at25.c | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/drivers/misc/eeprom/at25.c b/drivers/misc/eeprom/at25.c
index 0a1af93..c4f5c4a 100644
--- a/drivers/misc/eeprom/at25.c
+++ b/drivers/misc/eeprom/at25.c
@@ -77,13 +77,6 @@ at25_ee_read(
 	struct spi_message	m;
 	u8			instr;
 
-	if (unlikely(offset >= at25->bin.size))
-		return 0;
-	if ((offset + count) > at25->bin.size)
-		count = at25->bin.size - offset;
-	if (unlikely(!count))
-		return count;
-
 	cp = command;
 
 	instr = AT25_READ;
@@ -155,13 +148,6 @@ at25_ee_write(struct at25_data *at25, const char *buf, loff_t off,
 	unsigned		buf_size;
 	u8			*bounce;
 
-	if (unlikely(off >= at25->bin.size))
-		return -EFBIG;
-	if ((off + count) > at25->bin.size)
-		count = at25->bin.size - off;
-	if (unlikely(!count))
-		return count;
-
 	/* Temp buffer starts with command and address */
 	buf_size = at25->chip.page_size;
 	if (buf_size > io_limit)
@@ -288,6 +274,13 @@ static ssize_t at25_mem_read(struct memory_accessor *mem, char *buf,
 {
 	struct at25_data *at25 = container_of(mem, struct at25_data, mem);
 
+	if (unlikely(offset >= at25->bin.size))
+		return 0;
+	if ((offset + count) > at25->bin.size)
+		count = at25->bin.size - offset;
+	if (unlikely(!count))
+		return count;
+
 	return at25_ee_read(at25, buf, offset, count);
 }
 
@@ -296,7 +289,13 @@ static ssize_t at25_mem_write(struct memory_accessor *mem, const char *buf,
 {
 	struct at25_data *at25 = container_of(mem, struct at25_data, mem);
 
+	if (unlikely(offset >= at25->bin.size))
+		return -EFBIG;
+	if ((offset + count) > at25->bin.size)
+		count = at25->bin.size - offset;
+	if (unlikely(!count))
+		return count;
+
 	return at25_ee_write(at25, buf, offset, count);
 }
 
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 8/8] misc: eeprom: sunxi_sid: clean up sid_read()
  2015-07-26 21:18 [PATCH 0/8] misc: remove boundary checks from bin attr users Vladimir Zapolskiy
                   ` (6 preceding siblings ...)
  2015-07-26 21:18 ` [PATCH 7/8] misc: eeprom: at25: move eeprom boundary checks to mem_read/mem_write Vladimir Zapolskiy
@ 2015-07-26 21:18 ` Vladimir Zapolskiy
  2015-08-07 16:10 ` [PATCH 0/8] misc: remove boundary checks from bin attr users Wolfram Sang
  8 siblings, 0 replies; 18+ messages in thread
From: Vladimir Zapolskiy @ 2015-07-26 21:18 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel, linux-arm-kernel, Maxime Ripard

The change removes redundant sysfs binary file boundary checks, since
this task is already done on caller side in fs/sysfs/file.c

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 drivers/misc/eeprom/sunxi_sid.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/misc/eeprom/sunxi_sid.c b/drivers/misc/eeprom/sunxi_sid.c
index 8385177..26ce99d 100644
--- a/drivers/misc/eeprom/sunxi_sid.c
+++ b/drivers/misc/eeprom/sunxi_sid.c
@@ -70,11 +70,6 @@ static ssize_t sid_read(struct file *fd, struct kobject *kobj,
 	pdev = to_platform_device(kobj_to_dev(kobj));
 	sid_data = platform_get_drvdata(pdev);
 
-	if (pos < 0 || pos >= sid_data->keysize)
-		return 0;
-	if (size > sid_data->keysize - pos)
-		size = sid_data->keysize - pos;
-
 	for (i = 0; i < size; i++)
 		buf[i] = sunxi_sid_read_byte(sid_data, pos + i);
 
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH 1/8] misc: cxl: clean up afu_read_config()
  2015-07-26 21:18 ` [PATCH 1/8] misc: cxl: clean up afu_read_config() Vladimir Zapolskiy
@ 2015-07-26 23:06   ` Daniel Axtens
  2015-08-05  7:48   ` Michael Neuling
  1 sibling, 0 replies; 18+ messages in thread
From: Daniel Axtens @ 2015-07-26 23:06 UTC (permalink / raw)
  To: Vladimir Zapolskiy
  Cc: Greg Kroah-Hartman, Michael Neuling, linuxppc-dev, linux-kernel,
	Ian Munsie

[-- Attachment #1: Type: text/plain, Size: 1326 bytes --]

Hi,

Reviewed-by: Daniel Axtens <dja@axtens.net>

FWIW, Ian is on leave for 2 weeks and Mikey for 1 week. However, as one
of the other CXL developers I'm very happy for this patch to go in.

Regards,
Daniel

On Mon, 2015-07-27 at 00:18 +0300, Vladimir Zapolskiy wrote:
> The sanity checks for overflow are not needed, because this is done on
> caller side in fs/sysfs/file.c
> 
> Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
> Cc: linuxppc-dev@lists.ozlabs.org
> Cc: Ian Munsie <imunsie@au1.ibm.com>
> Cc: Michael Neuling <mikey@neuling.org>
> ---
>  drivers/misc/cxl/sysfs.c | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/misc/cxl/sysfs.c b/drivers/misc/cxl/sysfs.c
> index 31f38bc..87cd747 100644
> --- a/drivers/misc/cxl/sysfs.c
> +++ b/drivers/misc/cxl/sysfs.c
> @@ -443,12 +443,7 @@ static ssize_t afu_read_config(struct file *filp, struct kobject *kobj,
>  	struct afu_config_record *cr = to_cr(kobj);
>  	struct cxl_afu *afu = to_cxl_afu(container_of(kobj->parent, struct device, kobj));
>  
> -	u64 i, j, val, size = afu->crs_len;
> -
> -	if (off > size)
> -		return 0;
> -	if (off + count > size)
> -		count = size - off;
> +	u64 i, j, val;
>  
>  	for (i = 0; i < count;) {
>  		val = cxl_afu_cr_read64(afu, cr->cr, off & ~0x7);


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 860 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 6/8] misc: eeprom: at24: clean up at24_bin_write()
  2015-07-26 21:18 ` [PATCH 6/8] misc: eeprom: at24: clean up at24_bin_write() Vladimir Zapolskiy
@ 2015-07-28  6:11   ` Wolfram Sang
  0 siblings, 0 replies; 18+ messages in thread
From: Wolfram Sang @ 2015-07-28  6:11 UTC (permalink / raw)
  To: Vladimir Zapolskiy; +Cc: Greg Kroah-Hartman, linux-kernel, linux-i2c

[-- Attachment #1: Type: text/plain, Size: 370 bytes --]

On Mon, Jul 27, 2015 at 12:18:51AM +0300, Vladimir Zapolskiy wrote:
> The change removes redundant sysfs binary file boundary check, since
> this task is already done on caller side in fs/sysfs/file.c
> 
> Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
> Cc: linux-i2c@vger.kernel.org
> Cc: Wolfram Sang <wsa@the-dreams.de>

Applied to for-current, thanks!


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 4/8] misc: eeprom: clean up eeprom_read()
  2015-07-26 21:18 ` [PATCH 4/8] misc: eeprom: clean up eeprom_read() Vladimir Zapolskiy
@ 2015-07-29  7:14   ` Jean Delvare
  0 siblings, 0 replies; 18+ messages in thread
From: Jean Delvare @ 2015-07-29  7:14 UTC (permalink / raw)
  To: Vladimir Zapolskiy; +Cc: Greg Kroah-Hartman, linux-kernel

On Mon, 27 Jul 2015 00:18:49 +0300, Vladimir Zapolskiy wrote:
> The change removes redundant sysfs binary file boundary check, since
> this task is already done on caller side in fs/sysfs/file.c
> 
> Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
> Cc: Jean Delvare <jdelvare@suse.com>
> ---
>  drivers/misc/eeprom/eeprom.c | 5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/drivers/misc/eeprom/eeprom.c b/drivers/misc/eeprom/eeprom.c
> index b432873..7342fd6 100644
> --- a/drivers/misc/eeprom/eeprom.c
> +++ b/drivers/misc/eeprom/eeprom.c
> @@ -88,11 +88,6 @@ static ssize_t eeprom_read(struct file *filp, struct kobject *kobj,
>  	struct eeprom_data *data = i2c_get_clientdata(client);
>  	u8 slice;
>  
> -	if (off > EEPROM_SIZE)
> -		return 0;
> -	if (off + count > EEPROM_SIZE)
> -		count = EEPROM_SIZE - off;
> -
>  	/* Only refresh slices which contain requested bytes */
>  	for (slice = off >> 5; slice <= (off + count - 1) >> 5; slice++)
>  		eeprom_update_client(client, slice);

Thanks for the clean-up.

Reviewed-by: Jean Delvare <jdelvare@suse.de>

-- 
Jean Delvare
SUSE L3 Support

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 1/8] misc: cxl: clean up afu_read_config()
  2015-07-26 21:18 ` [PATCH 1/8] misc: cxl: clean up afu_read_config() Vladimir Zapolskiy
  2015-07-26 23:06   ` Daniel Axtens
@ 2015-08-05  7:48   ` Michael Neuling
  1 sibling, 0 replies; 18+ messages in thread
From: Michael Neuling @ 2015-08-05  7:48 UTC (permalink / raw)
  To: Vladimir Zapolskiy
  Cc: Greg Kroah-Hartman, linux-kernel, linuxppc-dev, Ian Munsie,
	Michael Ellerman

On Mon, 2015-07-27 at 00:18 +0300, Vladimir Zapolskiy wrote:
> The sanity checks for overflow are not needed, because this is done on
> caller side in fs/sysfs/file.c
> 
> Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
> Cc: linuxppc-dev@lists.ozlabs.org
> Cc: Ian Munsie <imunsie@au1.ibm.com>
> Cc: Michael Neuling <mikey@neuling.org>

Acked-by: Michael Neuling <mikey@neuling.org>

> ---
>  drivers/misc/cxl/sysfs.c | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/misc/cxl/sysfs.c b/drivers/misc/cxl/sysfs.c
> index 31f38bc..87cd747 100644
> --- a/drivers/misc/cxl/sysfs.c
> +++ b/drivers/misc/cxl/sysfs.c
> @@ -443,12 +443,7 @@ static ssize_t afu_read_config(struct file *filp, struct kobject *kobj,
>  	struct afu_config_record *cr = to_cr(kobj);
>  	struct cxl_afu *afu = to_cxl_afu(container_of(kobj->parent, struct device, kobj));
>  
> -	u64 i, j, val, size = afu->crs_len;
> -
> -	if (off > size)
> -		return 0;
> -	if (off + count > size)
> -		count = size - off;
> +	u64 i, j, val;
>  
>  	for (i = 0; i < count;) {
>  		val = cxl_afu_cr_read64(afu, cr->cr, off & ~0x7);


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/8] misc: remove boundary checks from bin attr users
  2015-07-26 21:18 [PATCH 0/8] misc: remove boundary checks from bin attr users Vladimir Zapolskiy
                   ` (7 preceding siblings ...)
  2015-07-26 21:18 ` [PATCH 8/8] misc: eeprom: sunxi_sid: clean up sid_read() Vladimir Zapolskiy
@ 2015-08-07 16:10 ` Wolfram Sang
  2015-08-07 16:15   ` Vladimir Zapolskiy
  8 siblings, 1 reply; 18+ messages in thread
From: Wolfram Sang @ 2015-08-07 16:10 UTC (permalink / raw)
  To: Vladimir Zapolskiy
  Cc: Greg Kroah-Hartman, Maxime Ripard, Jean Delvare, Ian Munsie,
	Michael Neuling, Arnd Bergmann, linuxppc-dev, linux-arm-kernel,
	linux-i2c, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 588 bytes --]

Vladimir,

On Mon, Jul 27, 2015 at 12:18:22AM +0300, Vladimir Zapolskiy wrote:
> This change removes a number of redundant checks on bin attribute
> client's side, the same checks are done by sysfs_kf_bin_read() or
> sysfs_kf_bin_write() caller from fs/sysfs/file.c.
> 
> Note, drivers/misc/pch_phub.c and drivers/misc/c2port/core.c may be
> updated in a similar way, however this task is not done due to more
> complicated read()/write() callbacks.

Can you resend the patches which touch i2c drivers with me on cc? I'd
like to take care of them.

Thanks,

   Wolfram


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/8] misc: remove boundary checks from bin attr users
  2015-08-07 16:10 ` [PATCH 0/8] misc: remove boundary checks from bin attr users Wolfram Sang
@ 2015-08-07 16:15   ` Vladimir Zapolskiy
  2015-08-07 22:34     ` Wolfram Sang
  0 siblings, 1 reply; 18+ messages in thread
From: Vladimir Zapolskiy @ 2015-08-07 16:15 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: Greg Kroah-Hartman, Maxime Ripard, Jean Delvare, Ian Munsie,
	Michael Neuling, Arnd Bergmann, linuxppc-dev, linux-arm-kernel,
	linux-i2c, linux-kernel

Hi Wolfram,

On 07.08.2015 19:10, Wolfram Sang wrote:
> Vladimir,
> 
> On Mon, Jul 27, 2015 at 12:18:22AM +0300, Vladimir Zapolskiy wrote:
>> This change removes a number of redundant checks on bin attribute
>> client's side, the same checks are done by sysfs_kf_bin_read() or
>> sysfs_kf_bin_write() caller from fs/sysfs/file.c.
>>
>> Note, drivers/misc/pch_phub.c and drivers/misc/c2port/core.c may be
>> updated in a similar way, however this task is not done due to more
>> complicated read()/write() callbacks.
> 
> Can you resend the patches which touch i2c drivers with me on cc? I'd
> like to take care of them.

if we're talking about this particular series, you should have them in
your mailbox, since you have them applied in wsa/i2c/for-next:

commit d12c0aaf3780c5b26b4ea9e795252381f586c063
Author: Vladimir Zapolskiy <vz@mleia.com>
Date:   Mon Jul 27 00:18:51 2015 +0300

    misc: eeprom: at24: clean up at24_bin_write()

    The change removes redundant sysfs binary file boundary check, since
    this task is already done on caller side in fs/sysfs/file.c

    Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

commit 1f023297f7f77d434ecc221018d2e181eac0ae36
Author: Vladimir Zapolskiy <vz@mleia.com>
Date:   Mon Jul 27 00:16:31 2015 +0300

    i2c: slave eeprom: clean up sysfs bin attribute read()/write()

    The change removes redundant sysfs binary file boundary checks,
    since this task is already done on caller side in fs/sysfs/file.c

    Note, on file size overflow read() now returns 0, and this is a
    correct and expected EOF notification according to POSIX.

    Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>


Do you want me to send them to you again anyway?

--
With best wishes,
Vladimir

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/8] misc: remove boundary checks from bin attr users
  2015-08-07 16:15   ` Vladimir Zapolskiy
@ 2015-08-07 22:34     ` Wolfram Sang
  2015-08-08 12:51       ` Vladimir Zapolskiy
  0 siblings, 1 reply; 18+ messages in thread
From: Wolfram Sang @ 2015-08-07 22:34 UTC (permalink / raw)
  To: Vladimir Zapolskiy
  Cc: Greg Kroah-Hartman, Maxime Ripard, Jean Delvare, Ian Munsie,
	Michael Neuling, Arnd Bergmann, linuxppc-dev, linux-arm-kernel,
	linux-i2c, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 278 bytes --]


> if we're talking about this particular series, you should have them in
> your mailbox, since you have them applied in wsa/i2c/for-next:

Those are already in linus tree. I mean all drivers which use struct
i2c_driver. Or do you prefer they go via Greg? I am fine with both.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/8] misc: remove boundary checks from bin attr users
  2015-08-07 22:34     ` Wolfram Sang
@ 2015-08-08 12:51       ` Vladimir Zapolskiy
  2015-08-08 16:49         ` Wolfram Sang
  0 siblings, 1 reply; 18+ messages in thread
From: Vladimir Zapolskiy @ 2015-08-08 12:51 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: Greg Kroah-Hartman, Maxime Ripard, Jean Delvare, Ian Munsie,
	Michael Neuling, Arnd Bergmann, linuxppc-dev, linux-arm-kernel,
	linux-i2c, linux-kernel

Hi Wolfram,

On 08.08.2015 01:34, Wolfram Sang wrote:
> 
>> if we're talking about this particular series, you should have them in
>> your mailbox, since you have them applied in wsa/i2c/for-next:
> 
> Those are already in linus tree. I mean all drivers which use struct
> i2c_driver. Or do you prefer they go via Greg? I am fine with both.
> 

I think you may find most of the changes applied by Greg into
misc/char-misc-next branch.

The only change from the series, which is not found in
misc/char-misc-next or i2c/for-next is related to at25 driver (IC is
sitting on SPI):

  https://lkml.org/lkml/2015/7/26/101

Change 8/8 for sunxi is outdated due to accepted NVMEM framework.

With best wishes,
Vladimir

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/8] misc: remove boundary checks from bin attr users
  2015-08-08 12:51       ` Vladimir Zapolskiy
@ 2015-08-08 16:49         ` Wolfram Sang
  0 siblings, 0 replies; 18+ messages in thread
From: Wolfram Sang @ 2015-08-08 16:49 UTC (permalink / raw)
  To: Vladimir Zapolskiy
  Cc: Greg Kroah-Hartman, Maxime Ripard, Jean Delvare, Ian Munsie,
	Michael Neuling, Arnd Bergmann, linuxppc-dev, linux-arm-kernel,
	linux-i2c, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 580 bytes --]

On Sat, Aug 08, 2015 at 03:51:54PM +0300, Vladimir Zapolskiy wrote:
> Hi Wolfram,
> 
> On 08.08.2015 01:34, Wolfram Sang wrote:
> > 
> >> if we're talking about this particular series, you should have them in
> >> your mailbox, since you have them applied in wsa/i2c/for-next:
> > 
> > Those are already in linus tree. I mean all drivers which use struct
> > i2c_driver. Or do you prefer they go via Greg? I am fine with both.
> > 
> 
> I think you may find most of the changes applied by Greg into
> misc/char-misc-next branch.

Great, thanks for the heads up!


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2015-08-08 16:49 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-26 21:18 [PATCH 0/8] misc: remove boundary checks from bin attr users Vladimir Zapolskiy
2015-07-26 21:18 ` [PATCH 1/8] misc: cxl: clean up afu_read_config() Vladimir Zapolskiy
2015-07-26 23:06   ` Daniel Axtens
2015-08-05  7:48   ` Michael Neuling
2015-07-26 21:18 ` [PATCH 2/8] misc: ds1682: clean up ds1682_eeprom_read() and ds1682_eeprom_write() Vladimir Zapolskiy
2015-07-26 21:18 ` [PATCH 3/8] misc: eeprom: 93xx46: clean up eeprom_93xx46_bin_read/write Vladimir Zapolskiy
2015-07-26 21:18 ` [PATCH 4/8] misc: eeprom: clean up eeprom_read() Vladimir Zapolskiy
2015-07-29  7:14   ` Jean Delvare
2015-07-26 21:18 ` [PATCH 5/8] misc: eeprom: max6875: clean up max6875_read() Vladimir Zapolskiy
2015-07-26 21:18 ` [PATCH 6/8] misc: eeprom: at24: clean up at24_bin_write() Vladimir Zapolskiy
2015-07-28  6:11   ` Wolfram Sang
2015-07-26 21:18 ` [PATCH 7/8] misc: eeprom: at25: move eeprom boundary checks to mem_read/mem_write Vladimir Zapolskiy
2015-07-26 21:18 ` [PATCH 8/8] misc: eeprom: sunxi_sid: clean up sid_read() Vladimir Zapolskiy
2015-08-07 16:10 ` [PATCH 0/8] misc: remove boundary checks from bin attr users Wolfram Sang
2015-08-07 16:15   ` Vladimir Zapolskiy
2015-08-07 22:34     ` Wolfram Sang
2015-08-08 12:51       ` Vladimir Zapolskiy
2015-08-08 16:49         ` Wolfram Sang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).