From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751267AbdAPUl0 (ORCPT ); Mon, 16 Jan 2017 15:41:26 -0500 Received: from mail-ot0-f194.google.com ([74.125.82.194]:36250 "EHLO mail-ot0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750858AbdAPUlZ (ORCPT ); Mon, 16 Jan 2017 15:41:25 -0500 From: Rob Herring To: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Frank Rowand Subject: [PATCH 1/2] of: fix of_device_get_modalias returned length when truncating buffers Date: Mon, 16 Jan 2017 14:41:21 -0600 Message-Id: <20170116204122.5858-1-robh@kernel.org> X-Mailer: git-send-email 2.10.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 Cc: Frank Rowand --- drivers/of/device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; } /** -- 2.10.1