From: Sasha Levin Date: Fri, 27 Sep 2019 15:31:04 +0000 (-0400) Subject: fixes for 4.19 X-Git-Tag: v5.3.2~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a853b7a6556c458606857654dfb6e528d420602e;p=thirdparty%2Fkernel%2Fstable-queue.git fixes for 4.19 Signed-off-by: Sasha Levin --- diff --git a/queue-4.19/locking-lockdep-add-debug_locks-check-in-__lock_down.patch b/queue-4.19/locking-lockdep-add-debug_locks-check-in-__lock_down.patch new file mode 100644 index 00000000000..52ff81c6b89 --- /dev/null +++ b/queue-4.19/locking-lockdep-add-debug_locks-check-in-__lock_down.patch @@ -0,0 +1,51 @@ +From 625182f17e4aee5244398822487dc6dee83a548e Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 9 Jan 2019 23:03:25 -0500 +Subject: locking/lockdep: Add debug_locks check in __lock_downgrade() + +From: Waiman Long + +[ Upstream commit 513e1073d52e55b8024b4f238a48de7587c64ccf ] + +Tetsuo Handa had reported he saw an incorrect "downgrading a read lock" +warning right after a previous lockdep warning. It is likely that the +previous warning turned off lock debugging causing the lockdep to have +inconsistency states leading to the lock downgrade warning. + +Fix that by add a check for debug_locks at the beginning of +__lock_downgrade(). + +Reported-by: Tetsuo Handa +Reported-by: syzbot+53383ae265fb161ef488@syzkaller.appspotmail.com +Signed-off-by: Waiman Long +Signed-off-by: Peter Zijlstra (Intel) +Cc: Andrew Morton +Cc: Linus Torvalds +Cc: Paul E. McKenney +Cc: Peter Zijlstra +Cc: Thomas Gleixner +Cc: Will Deacon +Link: https://lkml.kernel.org/r/1547093005-26085-1-git-send-email-longman@redhat.com +Signed-off-by: Ingo Molnar +Signed-off-by: Sasha Levin +--- + kernel/locking/lockdep.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c +index e810e8cb17e18..68ba411a90075 100644 +--- a/kernel/locking/lockdep.c ++++ b/kernel/locking/lockdep.c +@@ -3567,6 +3567,9 @@ __lock_set_class(struct lockdep_map *lock, const char *name, + unsigned int depth; + int i; + ++ if (unlikely(!debug_locks)) ++ return 0; ++ + depth = curr->lockdep_depth; + /* + * This function is about (re)setting the class of a held lock, +-- +2.20.1 + diff --git a/queue-4.19/locking-lockdep-add-debug_locks-check-in-__lock_down.patch-13969 b/queue-4.19/locking-lockdep-add-debug_locks-check-in-__lock_down.patch-13969 new file mode 100644 index 00000000000..7570c8b1e39 --- /dev/null +++ b/queue-4.19/locking-lockdep-add-debug_locks-check-in-__lock_down.patch-13969 @@ -0,0 +1,52 @@ +From e80d942d888fbda3bd814977bba5bd1d3ab85169 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 9 Jan 2019 23:03:25 -0500 +Subject: locking/lockdep: Add debug_locks check in __lock_downgrade() + +From: Waiman Long + +[ Upstream commit 71492580571467fb7177aade19c18ce7486267f5 ] + +Tetsuo Handa had reported he saw an incorrect "downgrading a read lock" +warning right after a previous lockdep warning. It is likely that the +previous warning turned off lock debugging causing the lockdep to have +inconsistency states leading to the lock downgrade warning. + +Fix that by add a check for debug_locks at the beginning of +__lock_downgrade(). + +Debugged-by: Tetsuo Handa +Reported-by: Tetsuo Handa +Reported-by: syzbot+53383ae265fb161ef488@syzkaller.appspotmail.com +Signed-off-by: Waiman Long +Signed-off-by: Peter Zijlstra (Intel) +Cc: Andrew Morton +Cc: Linus Torvalds +Cc: Paul E. McKenney +Cc: Peter Zijlstra +Cc: Thomas Gleixner +Cc: Will Deacon +Link: https://lkml.kernel.org/r/1547093005-26085-1-git-send-email-longman@redhat.com +Signed-off-by: Ingo Molnar +Signed-off-by: Sasha Levin +--- + kernel/locking/lockdep.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c +index 68ba411a90075..1c8e5d186ad64 100644 +--- a/kernel/locking/lockdep.c ++++ b/kernel/locking/lockdep.c +@@ -3608,6 +3608,9 @@ static int __lock_downgrade(struct lockdep_map *lock, unsigned long ip) + unsigned int depth; + int i; + ++ if (unlikely(!debug_locks)) ++ return 0; ++ + depth = curr->lockdep_depth; + /* + * This function is about (re)setting the class of a held lock, +-- +2.20.1 + diff --git a/queue-4.19/pinctrl-sprd-use-define-directive-for-sprd_pinconf_p.patch b/queue-4.19/pinctrl-sprd-use-define-directive-for-sprd_pinconf_p.patch new file mode 100644 index 00000000000..027cd89caef --- /dev/null +++ b/queue-4.19/pinctrl-sprd-use-define-directive-for-sprd_pinconf_p.patch @@ -0,0 +1,57 @@ +From 2fa6ac26e102e5932a3216e849465c5e774d78e9 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 31 Oct 2018 17:44:10 -0700 +Subject: pinctrl: sprd: Use define directive for sprd_pinconf_params values + +From: Nathan Chancellor + +[ Upstream commit 957063c924736d4341e5d588757b9f31e8f6fa24 ] + +Clang warns when one enumerated type is implicitly converted to another: + +drivers/pinctrl/sprd/pinctrl-sprd.c:845:19: warning: implicit conversion +from enumeration type 'enum sprd_pinconf_params' to different +enumeration type 'enum pin_config_param' [-Wenum-conversion] + {"sprd,control", SPRD_PIN_CONFIG_CONTROL, 0}, + ~ ^~~~~~~~~~~~~~~~~~~~~~~ +drivers/pinctrl/sprd/pinctrl-sprd.c:846:22: warning: implicit conversion +from enumeration type 'enum sprd_pinconf_params' to different +enumeration type 'enum pin_config_param' [-Wenum-conversion] + {"sprd,sleep-mode", SPRD_PIN_CONFIG_SLEEP_MODE, 0}, + ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ + +It is expected that pinctrl drivers can extend pin_config_param because +of the gap between PIN_CONFIG_END and PIN_CONFIG_MAX so this conversion +isn't an issue. Most drivers that take advantage of this define the +PIN_CONFIG variables as constants, rather than enumerated values. Do the +same thing here so that Clang no longer warns. + +Link: https://github.com/ClangBuiltLinux/linux/issues/138 +Signed-off-by: Nathan Chancellor +Reviewed-by: Baolin Wang +Signed-off-by: Linus Walleij +Signed-off-by: Sasha Levin +--- + drivers/pinctrl/sprd/pinctrl-sprd.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/drivers/pinctrl/sprd/pinctrl-sprd.c b/drivers/pinctrl/sprd/pinctrl-sprd.c +index 78c2f548b25f1..8f3468d9f848d 100644 +--- a/drivers/pinctrl/sprd/pinctrl-sprd.c ++++ b/drivers/pinctrl/sprd/pinctrl-sprd.c +@@ -159,10 +159,8 @@ struct sprd_pinctrl { + struct sprd_pinctrl_soc_info *info; + }; + +-enum sprd_pinconf_params { +- SPRD_PIN_CONFIG_CONTROL = PIN_CONFIG_END + 1, +- SPRD_PIN_CONFIG_SLEEP_MODE = PIN_CONFIG_END + 2, +-}; ++#define SPRD_PIN_CONFIG_CONTROL (PIN_CONFIG_END + 1) ++#define SPRD_PIN_CONFIG_SLEEP_MODE (PIN_CONFIG_END + 2) + + static int sprd_pinctrl_get_id_by_name(struct sprd_pinctrl *sprd_pctl, + const char *name) +-- +2.20.1 + diff --git a/queue-4.19/power-supply-sysfs-ratelimit-property-read-error-mes.patch b/queue-4.19/power-supply-sysfs-ratelimit-property-read-error-mes.patch new file mode 100644 index 00000000000..6bf915934f5 --- /dev/null +++ b/queue-4.19/power-supply-sysfs-ratelimit-property-read-error-mes.patch @@ -0,0 +1,38 @@ +From 4f42a7966253dfe4c7f94eca0d7519454b50ab54 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 12 Sep 2018 19:48:30 -0500 +Subject: power: supply: sysfs: ratelimit property read error message + +From: David Lechner + +[ 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 +Signed-off-by: Sebastian Reichel +Signed-off-by: Sasha Levin +--- + 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 5a2757a7f4088..5358a80d854f9 100644 +--- a/drivers/power/supply/power_supply_sysfs.c ++++ b/drivers/power/supply/power_supply_sysfs.c +@@ -131,7 +131,8 @@ static ssize_t power_supply_show_property(struct device *dev, + dev_dbg(dev, "driver has no data for `%s' property\n", + attr->attr.name); + 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; + } +-- +2.20.1 + diff --git a/queue-4.19/series b/queue-4.19/series index a0b07644082..428c031d332 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -31,3 +31,7 @@ alsa-hda-add-laptop-imic-fixup-for-asus-m9v-laptop.patch alsa-hda-apply-amd-controller-workaround-for-raven-platform.patch objtool-clobber-user-cflags-variable.patch tpm-fix-tpm-1.2-shutdown-sequence-to-prevent-future-.patch +pinctrl-sprd-use-define-directive-for-sprd_pinconf_p.patch +power-supply-sysfs-ratelimit-property-read-error-mes.patch +locking-lockdep-add-debug_locks-check-in-__lock_down.patch +locking-lockdep-add-debug_locks-check-in-__lock_down.patch-13969