瀏覽代碼

of: fix of_device_get_modalias returned length when truncating buffers

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>
Rob Herring 8 年之前
父節點
當前提交
bcf54d5385
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/of/device.c

+ 1 - 1
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;
 }
 EXPORT_SYMBOL_GPL(of_device_get_modalias);