LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Andy Shevchenko <andy.shevchenko@gmail.com>
To: "Pavel Machek" <pavel@ucw.cz>,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	"Amireddy Mallikarjuna reddy"
	<mallikarjunax.reddy@linux.intel.com>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Abanoub Sameh" <abanoubsameh8@gmail.com>,
	"Marek Behún" <marek.behun@nic.cz>,
	"Krzysztof Kozlowski" <krzk@kernel.org>,
	linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Jacek Anaszewski <j.anaszewski@samsung.com>
Subject: [PATCH v2 01/13] leds: core: The -ENOTSUPP should never be seen by user space
Date: Sat, 29 May 2021 14:19:23 +0300	[thread overview]
Message-ID: <20210529111935.3849707-1-andy.shevchenko@gmail.com> (raw)

Luckily there is no user which checks for returned code and actually
returns it, but since the function is exported any user may try to return
an error code from it to user space, usually during probe phase,

Replace -ENOTSUPP by -EOPNOTSUPP when returning from exported function.

Fixes: 13ae79bbe4c2 ("leds: core: Drivers shouldn't enforce SYNC/ASYNC brightness setting")
Cc: Jacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
---
v2: amended the commit message
 drivers/leds/led-core.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/leds/led-core.c b/drivers/leds/led-core.c
index d56ff4939492..f962620a504f 100644
--- a/drivers/leds/led-core.c
+++ b/drivers/leds/led-core.c
@@ -289,6 +289,8 @@ EXPORT_SYMBOL_GPL(led_set_brightness_nosleep);
 
 int led_set_brightness_sync(struct led_classdev *led_cdev, unsigned int value)
 {
+	int ret;
+
 	if (led_cdev->blink_delay_on || led_cdev->blink_delay_off)
 		return -EBUSY;
 
@@ -297,7 +299,10 @@ int led_set_brightness_sync(struct led_classdev *led_cdev, unsigned int value)
 	if (led_cdev->flags & LED_SUSPENDED)
 		return 0;
 
-	return __led_set_brightness_blocking(led_cdev, led_cdev->brightness);
+	ret = __led_set_brightness_blocking(led_cdev, led_cdev->brightness);
+	if (ret == -ENOTSUPP)
+		return -EOPNOTSUPP;
+	return ret;
 }
 EXPORT_SYMBOL_GPL(led_set_brightness_sync);
 
-- 
2.31.1


             reply	other threads:[~2021-05-29 11:19 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-29 11:19 Andy Shevchenko [this message]
2021-05-29 11:19 ` [PATCH v2 02/13] leds: el15203000: Give better margin for usleep_range() Andy Shevchenko
2021-05-29 11:19 ` [PATCH v2 03/13] leds: el15203000: Correct headers (of*.h -> mod_devicetable.h) Andy Shevchenko
2021-05-29 11:19 ` [PATCH v2 04/13] leds: lgm-sso: Put fwnode in any case during ->probe() Andy Shevchenko
2021-05-29 11:19 ` [PATCH v2 05/13] leds: lgm-sso: Don't spam logs when probe is deferred Andy Shevchenko
2021-05-29 11:19 ` [PATCH v2 06/13] leds: lgm-sso: Remove explicit managed GPIO resource cleanup Andy Shevchenko
2021-05-29 11:19 ` [PATCH v2 07/13] leds: lgm-sso: Convert to use list_for_each_entry*() API Andy Shevchenko
2021-05-29 11:19 ` [PATCH v2 08/13] leds: lm3692x: Correct headers (of*.h -> mod_devicetable.h) Andy Shevchenko
2021-05-29 11:19 ` [PATCH v2 09/13] leds: lm3697: Update header block to reflect reality Andy Shevchenko
2021-08-03 21:47   ` Pavel Machek
2021-05-29 11:19 ` [PATCH v2 10/13] leds: lm3697: Make error handling more robust Andy Shevchenko
2021-05-29 11:19 ` [PATCH v2 11/13] leds: lt3593: Put fwnode in any case during ->probe() Andy Shevchenko
2021-05-29 11:19 ` [PATCH v2 12/13] leds: rt8515: " Andy Shevchenko
2021-06-01 10:06   ` Linus Walleij
2021-06-05  9:46     ` andy
2021-08-03 21:50       ` Pavel Machek
2021-08-03 21:51       ` Pavel Machek
2021-05-29 11:19 ` [PATCH v2 13/13] leds: sgm3140: " Andy Shevchenko
2021-06-23 13:15 ` [PATCH v2 01/13] leds: core: The -ENOTSUPP should never be seen by user space Andy Shevchenko
2021-07-13  7:34   ` Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210529111935.3849707-1-andy.shevchenko@gmail.com \
    --to=andy.shevchenko@gmail.com \
    --cc=abanoubsameh8@gmail.com \
    --cc=j.anaszewski@samsung.com \
    --cc=krzk@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=mallikarjunax.reddy@linux.intel.com \
    --cc=marek.behun@nic.cz \
    --cc=pavel@ucw.cz \
    --subject='Re: [PATCH v2 01/13] leds: core: The -ENOTSUPP should never be seen by user space' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).