summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@linaro.org>2023-10-25 14:58:18 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-11-28 17:14:52 +0000
commitc19a8794bf4fe45cff997f07a75ea84cc9e5d89c (patch)
treeefd4ed1826e69d12a39e808f9e67b53109c14222
parent81663506ed834847322224265fcf57ae1df06175 (diff)
pwm: Fix double shift bug
[ Upstream commit d27abbfd4888d79dd24baf50e774631046ac4732 ] These enums are passed to set/test_bit(). The set/test_bit() functions take a bit number instead of a shifted value. Passing a shifted value is a double shift bug like doing BIT(BIT(1)). The double shift bug doesn't cause a problem here because we are only checking 0 and 1 but if the value was 5 or above then it can lead to a buffer overflow. Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Thierry Reding <thierry.reding@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--include/linux/pwm.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/pwm.h b/include/linux/pwm.h
index 04ae1d9073a7..0755ba9938f7 100644
--- a/include/linux/pwm.h
+++ b/include/linux/pwm.h
@@ -41,8 +41,8 @@ struct pwm_args {
};
enum {
- PWMF_REQUESTED = 1 << 0,
- PWMF_EXPORTED = 1 << 1,
+ PWMF_REQUESTED = 0,
+ PWMF_EXPORTED = 1,
};
/*