[BACKPORT,4.14.y,v2,4/6] power: supply: sysfs: ratelimit property read error message

Message ID f00b144ce6707ab64cdf1c61ece385e919630815.1567649729.git.baolin.wang@linaro.org
State New
Headers show
  • Untitled series #23158
Related show

Commit Message

(Exiting) Baolin Wang Sept. 5, 2019, 3:08 a.m.
From: David Lechner <david@lechnology.com>

[Upstream commit 87a2b65fc855e6be50f791c2ebbb492541896827]

This adds rate limiting to the message that is printed when reading a
power supply property via sysfs returns an error. This will prevent
userspace applications from unintentionally dDOSing the system by
continuously reading a property that returns an error.

Signed-off-by: David Lechner <david@lechnology.com>

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>

 drivers/power/supply/power_supply_sysfs.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)



diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c
index eb5dc74..2ccaf4f 100644
--- a/drivers/power/supply/power_supply_sysfs.c
+++ b/drivers/power/supply/power_supply_sysfs.c
@@ -91,7 +91,8 @@  static ssize_t power_supply_show_property(struct device *dev,
 				dev_dbg(dev, "driver has no data for `%s' property\n",
 			else if (ret != -ENODEV && ret != -EAGAIN)
-				dev_err(dev, "driver failed to report `%s' property: %zd\n",
+				dev_err_ratelimited(dev,
+					"driver failed to report `%s' property: %zd\n",
 					attr->attr.name, ret);
 			return ret;