[PATCH] drm/debugfs: accept trailing whitespace in "force" attribute
Michael Tretter
m.tretter at pengutronix.de
Wed Aug 16 15:39:30 UTC 2017
Using plain echo to set the "force" connector attribute fails with
-EINVAL, because echo appends a newline to the output.
Strip trailing whitespace in the input before checking the value to
accept "off\n" or "off ".
Signed-off-by: Michael Tretter <m.tretter at pengutronix.de>
---
drivers/gpu/drm/drm_debugfs.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/gpu/drm/drm_debugfs.c b/drivers/gpu/drm/drm_debugfs.c
index c1807d5754b2..10dd89d3f28e 100644
--- a/drivers/gpu/drm/drm_debugfs.c
+++ b/drivers/gpu/drm/drm_debugfs.c
@@ -241,6 +241,7 @@ static ssize_t connector_write(struct file *file, const char __user *ubuf,
struct seq_file *m = file->private_data;
struct drm_connector *connector = m->private;
char buf[12];
+ int i;
if (len > sizeof(buf) - 1)
return -EINVAL;
@@ -250,6 +251,10 @@ static ssize_t connector_write(struct file *file, const char __user *ubuf,
buf[len] = '\0';
+ /* strip trailing whitespace */
+ for (i = len - 1; i > 0 && isspace(buf[i]); i--)
+ buf[i] = '\0';
+
if (!strcmp(buf, "on"))
connector->force = DRM_FORCE_ON;
else if (!strcmp(buf, "digital"))
--
2.11.0
More information about the dri-devel
mailing list