of: fix of_device_get_modalias returned length when truncating buffers
authorRob Herring <robh@kernel.org>
Mon, 16 Jan 2017 20:28:39 +0000 (14:28 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 22 Mar 2018 08:17:41 +0000 (09:17 +0100)
commit6ba32c648a9fc27993330632e84c4cbdceef5d57
tree8c900dc95d4a19f410ff0d9dc1da2d5df2fabeb4
parent1fb9c2f41e199e97b811981901d9de4a9d7729bf
of: fix of_device_get_modalias returned length when truncating buffers

[ Upstream commit bcf54d5385abaea9c8026aae6f4eeb348671a52d ]

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>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/of/device.c