From: Greg Kroah-Hartman Date: Mon, 30 Dec 2024 08:30:33 +0000 (+0100) Subject: 5.10-stable patches X-Git-Tag: v6.1.123~22 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=440b06408f5dfb56bb955af60477245d114d7ee0;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: power-supply-gpio-charger-fix-set-charge-current-limits.patch tracing-constify-string-literal-data-member-in-struct-trace_event_call.patch --- diff --git a/queue-5.10/power-supply-gpio-charger-fix-set-charge-current-limits.patch b/queue-5.10/power-supply-gpio-charger-fix-set-charge-current-limits.patch new file mode 100644 index 00000000000..ccfe0b8c56f --- /dev/null +++ b/queue-5.10/power-supply-gpio-charger-fix-set-charge-current-limits.patch @@ -0,0 +1,41 @@ +From afc6e39e824ad0e44b2af50a97885caec8d213d1 Mon Sep 17 00:00:00 2001 +From: Dimitri Fedrau +Date: Mon, 9 Dec 2024 11:46:15 +0100 +Subject: power: supply: gpio-charger: Fix set charge current limits + +From: Dimitri Fedrau + +commit afc6e39e824ad0e44b2af50a97885caec8d213d1 upstream. + +Fix set charge current limits for devices which allow to set the lowest +charge current limit to be greater zero. If requested charge current limit +is below lowest limit, the index equals current_limit_map_size which leads +to accessing memory beyond allocated memory. + +Fixes: be2919d8355e ("power: supply: gpio-charger: add charge-current-limit feature") +Cc: stable@vger.kernel.org +Signed-off-by: Dimitri Fedrau +Link: https://lore.kernel.org/r/20241209-fix-charge-current-limit-v1-1-760d9b8f2af3@liebherr.com +Signed-off-by: Sebastian Reichel +Signed-off-by: Greg Kroah-Hartman +--- + drivers/power/supply/gpio-charger.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/drivers/power/supply/gpio-charger.c ++++ b/drivers/power/supply/gpio-charger.c +@@ -67,6 +67,14 @@ static int set_charge_current_limit(stru + if (gpio_charger->current_limit_map[i].limit_ua <= val) + break; + } ++ ++ /* ++ * If a valid charge current limit isn't found, default to smallest ++ * current limitation for safety reasons. ++ */ ++ if (i >= gpio_charger->current_limit_map_size) ++ i = gpio_charger->current_limit_map_size - 1; ++ + mapping = gpio_charger->current_limit_map[i]; + + for (i = 0; i < ndescs; i++) { diff --git a/queue-5.10/series b/queue-5.10/series index fe80b77b2a0..c6f6848e6d2 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -75,3 +75,5 @@ bpf-fix-recursive-lock-when-verdict-program-return-s.patch drm-dp_mst-fix-mst-sideband-message-body-length-chec.patch arm64-mm-rename-asid2idx-to-ctxid2asid.patch arm64-ensure-bits-asid-15-8-are-masked-out-when-the-.patch +tracing-constify-string-literal-data-member-in-struct-trace_event_call.patch +power-supply-gpio-charger-fix-set-charge-current-limits.patch diff --git a/queue-5.10/tracing-constify-string-literal-data-member-in-struct-trace_event_call.patch b/queue-5.10/tracing-constify-string-literal-data-member-in-struct-trace_event_call.patch new file mode 100644 index 00000000000..0eac37080df --- /dev/null +++ b/queue-5.10/tracing-constify-string-literal-data-member-in-struct-trace_event_call.patch @@ -0,0 +1,66 @@ +From 452f4b31e3f70a52b97890888eeb9eaa9a87139a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= +Date: Mon, 25 Nov 2024 11:50:25 +0100 +Subject: tracing: Constify string literal data member in struct trace_event_call +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Christian Göttsche + +commit 452f4b31e3f70a52b97890888eeb9eaa9a87139a upstream. + +The name member of the struct trace_event_call is assigned with +generated string literals; declare them pointer to read-only. + +Reported by clang: + + security/landlock/syscalls.c:179:1: warning: initializing 'char *' with an expression of type 'const char[34]' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] + 179 | SYSCALL_DEFINE3(landlock_create_ruleset, + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 180 | const struct landlock_ruleset_attr __user *const, attr, + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 181 | const size_t, size, const __u32, flags) + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ./include/linux/syscalls.h:226:36: note: expanded from macro 'SYSCALL_DEFINE3' + 226 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ./include/linux/syscalls.h:234:2: note: expanded from macro 'SYSCALL_DEFINEx' + 234 | SYSCALL_METADATA(sname, x, __VA_ARGS__) \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ./include/linux/syscalls.h:184:2: note: expanded from macro 'SYSCALL_METADATA' + 184 | SYSCALL_TRACE_ENTER_EVENT(sname); \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ./include/linux/syscalls.h:151:30: note: expanded from macro 'SYSCALL_TRACE_ENTER_EVENT' + 151 | .name = "sys_enter"#sname, \ + | ^~~~~~~~~~~~~~~~~ + +Cc: stable@vger.kernel.org +Cc: Masami Hiramatsu +Cc: Mathieu Desnoyers +Cc: Mickaël Salaün +Cc: Günther Noack +Cc: Nathan Chancellor +Cc: Nick Desaulniers +Cc: Bill Wendling +Cc: Justin Stitt +Link: https://lore.kernel.org/20241125105028.42807-1-cgoettsche@seltendoof.de +Fixes: b77e38aa240c3 ("tracing: add event trace infrastructure") +Signed-off-by: Christian Göttsche +Signed-off-by: Steven Rostedt (Google) +Signed-off-by: Greg Kroah-Hartman +--- + include/linux/trace_events.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/include/linux/trace_events.h ++++ b/include/linux/trace_events.h +@@ -283,7 +283,7 @@ struct trace_event_call { + struct list_head list; + struct trace_event_class *class; + union { +- char *name; ++ const char *name; + /* Set TRACE_EVENT_FL_TRACEPOINT flag when using "tp" */ + struct tracepoint *tp; + };