[1/2] of: fix of_device_get_modalias returned length when truncating buffers

Message ID 20170116204122.5858-1-robh@kernel.org
State New
Headers show
Series
  • [1/2] of: fix of_device_get_modalias returned length when truncating buffers
Related show

Commit Message

Rob Herring Jan. 16, 2017, 8:41 p.m.
If the length of the modalias is greater than the buffer size, then the
modalias is truncated. However the untruncated length is returned which
will cause an error. Fix this to return the truncated length. If an error
in the case was desired, then then we should just return -ENOMEM.

The reality is no device will ever have 4KB of compatible strings to hit
this case.

Signed-off-by: Rob Herring <robh@kernel.org>

Cc: Frank Rowand <frowand.list@gmail.com>
---
 drivers/of/device.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.10.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Greg Kroah-Hartman Jan. 19, 2017, 10:35 a.m. | #1
On Mon, Jan 16, 2017 at 02:41:22PM -0600, Rob Herring wrote:
> The modalias sysfs attr is lacking a newline for DT aliases on platform

> devices. The macio and ibmebus correctly add the newline, but open code it.

> Introduce a new function, of_device_modalias(), that fills the buffer with

> the modalias including the newline and update users of the old

> of_device_get_modalias function.

> 

> Signed-off-by: Rob Herring <robh@kernel.org>

> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>

> Cc: Paul Mackerras <paulus@samba.org>

> Cc: Michael Ellerman <mpe@ellerman.id.au>

> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

> Cc: Frank Rowand <frowand.list@gmail.com>

> Cc: linuxppc-dev@lists.ozlabs.org



Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch hide | download patch | download mbox

diff --git a/drivers/of/device.c b/drivers/of/device.c
index fd5cfad7c403..bd620452f255 100644
--- a/drivers/of/device.c
+++ b/drivers/of/device.c
@@ -223,7 +223,7 @@  ssize_t of_device_get_modalias(struct device *dev, char *str, ssize_t len)
 			str[i] = '_';
 	}
 
-	return tsize;
+	return repend;
 }
 
 /**