The patch below does not apply to the 6.12-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.12.y
git checkout FETCH_HEAD
git cherry-pick -x e683131e64f71e957ca77743cb3d313646157329
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<stable(a)vger.kernel.org>' --in-reply-to '2025060734-elated-juvenile-da5c@gregkh' --subject-prefix 'PATCH 6.12.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From e683131e64f71e957ca77743cb3d313646157329 Mon Sep 17 00:00:00 2001
From: David Lechner <dlechner(a)baylibre.com>
Date: Thu, 29 May 2025 11:53:19 -0500
Subject: [PATCH] dt-bindings: pwm: adi,axi-pwmgen: Fix clocks
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fix a shortcoming in the bindings that doesn't allow for a separate
external clock.
The AXI PWMGEN IP block has a compile option ASYNC_CLK_EN that allows
the use of an external clock for the PWM output separate from the AXI
clock that runs the peripheral.
This was missed in the original bindings and so users were writing dts
files where the one and only clock specified would be the external
clock, if there was one, incorrectly missing the separate AXI clock.
The correct bindings are that the AXI clock is always required and the
external clock is optional (must be given only when HDL compile option
ASYNC_CLK_EN=1).
Fixes: 1edf2c2a2841 ("dt-bindings: pwm: Add AXI PWM generator")
Cc: stable(a)vger.kernel.org
Signed-off-by: David Lechner <dlechner(a)baylibre.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski(a)linaro.org>
Link: https://lore.kernel.org/r/20250529-pwm-axi-pwmgen-add-external-clock-v3-2-5…
Signed-off-by: Uwe Kleine-König <ukleinek(a)kernel.org>
diff --git a/Documentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml b/Documentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml
index 45e112d0efb4..5575c58357d6 100644
--- a/Documentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml
+++ b/Documentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml
@@ -30,11 +30,19 @@ properties:
const: 3
clocks:
- maxItems: 1
+ minItems: 1
+ maxItems: 2
+
+ clock-names:
+ minItems: 1
+ items:
+ - const: axi
+ - const: ext
required:
- reg
- clocks
+ - clock-names
unevaluatedProperties: false
@@ -43,6 +51,7 @@ examples:
pwm@44b00000 {
compatible = "adi,axi-pwmgen-2.00.a";
reg = <0x44b00000 0x1000>;
- clocks = <&spi_clk>;
+ clocks = <&fpga_clk>, <&spi_clk>;
+ clock-names = "axi", "ext";
#pwm-cells = <3>;
};
Hi Sasha,
On Tue, Jun 10, 2025 at 08:18:13AM -0400, Sasha Levin wrote:
> This is a note to let you know that I've just added the patch titled
>
> USB: serial: bus: fix const issue in usb_serial_device_match()
>
> to the 6.15-stable tree which can be found at:
> http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
>
> The filename of the patch is:
> usb-serial-bus-fix-const-issue-in-usb_serial_device_.patch
> and it can be found in the queue-6.15 subdirectory.
>
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable(a)vger.kernel.org> know about it.
>
>
>
> commit 0e91be50efc1a26ec9047dadc980631d31ef8578
> Author: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
> Date: Wed May 21 15:41:34 2025 +0200
>
> USB: serial: bus: fix const issue in usb_serial_device_match()
>
> [ Upstream commit 92cd405b648605db4da866f3b9818b271ae84ef0 ]
>
> usb_serial_device_match() takes a const pointer, and then decides to
> cast it away into a non-const one, which is not a good thing to do
> overall. Fix this up by properly setting the pointers to be const to
> preserve that attribute.
>
> Fixes: d69d80484598 ("driver core: have match() callback in struct bus_type take a const *")
> Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
> Signed-off-by: Johan Hovold <johan(a)kernel.org>
> Signed-off-by: Sasha Levin <sashal(a)kernel.org>
This patch does not need to be backported and I left out the stable
patch on purpose as usual.
Please drop.
Johan
After commit 6f110a5e4f99 ("Disable SLUB_TINY for build testing"), which
causes CONFIG_KASAN to be enabled in allmodconfig again, arm64
allmodconfig builds with older versions of clang (15 through 17) show an
instance of -Wframe-larger-than (which breaks the build with
CONFIG_WERROR=y):
drivers/staging/rtl8723bs/core/rtw_security.c:1287:5: error: stack frame size (2208) exceeds limit (2048) in 'rtw_aes_decrypt' [-Werror,-Wframe-larger-than]
1287 | u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
| ^
This comes from aes_decipher() being inlined in rtw_aes_decrypt().
Running the same build with CONFIG_FRAME_WARN=128 shows aes_cipher()
also uses a decent amount of stack, just under the limit of 2048:
drivers/staging/rtl8723bs/core/rtw_security.c:864:19: warning: stack frame size (1952) exceeds limit (128) in 'aes_cipher' [-Wframe-larger-than]
864 | static signed int aes_cipher(u8 *key, uint hdrlen,
| ^
-Rpass-analysis=stack-frame-layout only shows one large structure on the
stack, which is the ctx variable inlined from aes128k128d(). A good
number of the other variables come from the additional checks of
fortified string routines, which are present in memset(), which both
aes_cipher() and aes_decipher() use to initialize some temporary
buffers. In this case, since the size is known at compile time, these
additional checks should not result in any code generation changes but
allmodconfig has several sanitizers enabled, which may make it harder
for the compiler to eliminate the compile time checks and the variables
that come about from them.
The memset() calls are just initializing these buffers to zero, so use
'= {}' instead, which is used all over the kernel and does the exact
same thing as memset() without the fortify checks, which drops the stack
usage of these functions by a few hundred kilobytes.
drivers/staging/rtl8723bs/core/rtw_security.c:864:19: warning: stack frame size (1584) exceeds limit (128) in 'aes_cipher' [-Wframe-larger-than]
864 | static signed int aes_cipher(u8 *key, uint hdrlen,
| ^
drivers/staging/rtl8723bs/core/rtw_security.c:1271:5: warning: stack frame size (1456) exceeds limit (128) in 'rtw_aes_decrypt' [-Wframe-larger-than]
1271 | u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
| ^
Cc: stable(a)vger.kernel.org
Fixes: 554c0a3abf21 ("staging: Add rtl8723bs sdio wifi driver")
Signed-off-by: Nathan Chancellor <nathan(a)kernel.org>
---
drivers/staging/rtl8723bs/core/rtw_security.c | 44 +++++++++------------------
1 file changed, 14 insertions(+), 30 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c
index 1e9eff01b1aa..e9f382c280d9 100644
--- a/drivers/staging/rtl8723bs/core/rtw_security.c
+++ b/drivers/staging/rtl8723bs/core/rtw_security.c
@@ -868,29 +868,21 @@ static signed int aes_cipher(u8 *key, uint hdrlen,
num_blocks, payload_index;
u8 pn_vector[6];
- u8 mic_iv[16];
- u8 mic_header1[16];
- u8 mic_header2[16];
- u8 ctr_preload[16];
+ u8 mic_iv[16] = {};
+ u8 mic_header1[16] = {};
+ u8 mic_header2[16] = {};
+ u8 ctr_preload[16] = {};
/* Intermediate Buffers */
- u8 chain_buffer[16];
- u8 aes_out[16];
- u8 padded_buffer[16];
+ u8 chain_buffer[16] = {};
+ u8 aes_out[16] = {};
+ u8 padded_buffer[16] = {};
u8 mic[8];
uint frtype = GetFrameType(pframe);
uint frsubtype = GetFrameSubType(pframe);
frsubtype = frsubtype>>4;
- memset((void *)mic_iv, 0, 16);
- memset((void *)mic_header1, 0, 16);
- memset((void *)mic_header2, 0, 16);
- memset((void *)ctr_preload, 0, 16);
- memset((void *)chain_buffer, 0, 16);
- memset((void *)aes_out, 0, 16);
- memset((void *)padded_buffer, 0, 16);
-
if ((hdrlen == WLAN_HDR_A3_LEN) || (hdrlen == WLAN_HDR_A3_QOS_LEN))
a4_exists = 0;
else
@@ -1080,15 +1072,15 @@ static signed int aes_decipher(u8 *key, uint hdrlen,
num_blocks, payload_index;
signed int res = _SUCCESS;
u8 pn_vector[6];
- u8 mic_iv[16];
- u8 mic_header1[16];
- u8 mic_header2[16];
- u8 ctr_preload[16];
+ u8 mic_iv[16] = {};
+ u8 mic_header1[16] = {};
+ u8 mic_header2[16] = {};
+ u8 ctr_preload[16] = {};
/* Intermediate Buffers */
- u8 chain_buffer[16];
- u8 aes_out[16];
- u8 padded_buffer[16];
+ u8 chain_buffer[16] = {};
+ u8 aes_out[16] = {};
+ u8 padded_buffer[16] = {};
u8 mic[8];
uint frtype = GetFrameType(pframe);
@@ -1096,14 +1088,6 @@ static signed int aes_decipher(u8 *key, uint hdrlen,
frsubtype = frsubtype>>4;
- memset((void *)mic_iv, 0, 16);
- memset((void *)mic_header1, 0, 16);
- memset((void *)mic_header2, 0, 16);
- memset((void *)ctr_preload, 0, 16);
- memset((void *)chain_buffer, 0, 16);
- memset((void *)aes_out, 0, 16);
- memset((void *)padded_buffer, 0, 16);
-
/* start to decrypt the payload */
num_blocks = (plen-8) / 16; /* plen including LLC, payload_length and mic) */
---
base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494
change-id: 20250609-rtl8723bs-fix-clang-arm64-wflt-b4b9652904b5
Best regards,
--
Nathan Chancellor <nathan(a)kernel.org>
-----------------
Note this is the LAST 6.14.y release. This kernel branch is now end-of-life.
Please move to the 6.15.y kernel branch at this time.
If you notice, this has happened a bit more "early" than previous
end-of-life announcements. Normally, after -rc1 is out there is a TON
of stable patches happening due to the changes that come into the
merge-window that were marked for stable backports but didn't get into
Linus's release before -final. As some people have objected to this
large influx being added to a stable kernel that is just about to go
end-of-life, let's try marking this end-of-life a bit earlier to see how
it goes.
It might also spur maintainers/developers to get fixes into -final a bit
more as well :)
-----------------
I'm announcing the release of the 6.14.11 kernel.
All users of the 6.14 kernel series must upgrade.
The updated 6.14.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.14.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml | 3 -
Documentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml | 13 ++++-
Documentation/devicetree/bindings/usb/cypress,hx3.yaml | 19 ++++++-
Documentation/firmware-guide/acpi/dsd/data-node-references.rst | 26 ++++------
Documentation/firmware-guide/acpi/dsd/graph.rst | 11 +---
Documentation/firmware-guide/acpi/dsd/leds.rst | 7 --
Makefile | 2
drivers/android/binder.c | 16 +++++-
drivers/android/binder_internal.h | 8 ++-
drivers/android/binderfs.c | 2
drivers/bluetooth/hci_qca.c | 14 ++---
drivers/clk/samsung/clk-exynosautov920.c | 2
drivers/cpufreq/acpi-cpufreq.c | 2
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 16 +-----
drivers/nvmem/Kconfig | 1
drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 14 +++--
drivers/rtc/class.c | 2
drivers/rtc/lib.c | 24 +++++++--
drivers/thunderbolt/ctl.c | 5 +
drivers/tty/serial/jsm/jsm_tty.c | 1
drivers/usb/class/usbtmc.c | 4 +
drivers/usb/core/quirks.c | 3 +
drivers/usb/serial/pl2303.c | 2
drivers/usb/storage/unusual_uas.h | 7 ++
drivers/usb/typec/ucsi/ucsi.h | 2
fs/orangefs/inode.c | 9 +--
kernel/trace/trace.c | 2
27 files changed, 138 insertions(+), 79 deletions(-)
Alexandre Mergnat (2):
rtc: Make rtc_time64_to_tm() support dates before 1970
rtc: Fix offset calculation for .start_secs < 0
Arnd Bergmann (1):
nvmem: rmem: select CONFIG_CRC32
Aurabindo Pillai (1):
Revert "drm/amd/display: more liberal vmin/vmax update for freesync"
Bartosz Golaszewski (1):
Bluetooth: hci_qca: move the SoC type check to the right place
Carlos Llamas (1):
binder: fix yet another UAF in binder_devices
Charles Yeh (1):
USB: serial: pl2303: add new chip PL2303GC-Q20 and PL2303GT-2AB
Dave Penkler (1):
usb: usbtmc: Fix timeout value in get_stb
David Lechner (1):
dt-bindings: pwm: adi,axi-pwmgen: Fix clocks
Dmitry Antipov (1):
binder: fix use-after-free in binderfs_evict_inode()
Dustin Lundquist (1):
serial: jsm: fix NPE during jsm_uart_port_init
Gabor Juhos (2):
pinctrl: armada-37xx: use correct OUTPUT_VAL register for GPIOs > 31
pinctrl: armada-37xx: set GPIO output value before setting direction
Gautham R. Shenoy (1):
acpi-cpufreq: Fix nominal_freq units to KHz in get_max_boost_ratio()
Greg Kroah-Hartman (1):
Linux 6.14.11
Hongyu Xie (1):
usb: storage: Ignore UAS driver for SanDisk 3.2 Gen2 storage device
Jiayi Li (1):
usb: quirks: Add NO_LPM quirk for SanDisk Extreme 55AE
Lukasz Czechowski (1):
dt-bindings: usb: cypress,hx3: Add support for all variants
Mike Marshall (1):
orangefs: adjust counting code to recover from 665575cf
Pan Taixi (1):
tracing: Fix compilation warning on arm32
Pritam Manohar Sutar (1):
clk: samsung: correct clock summary for hsi1 block
Qasim Ijaz (1):
usb: typec: ucsi: fix Clang -Wsign-conversion warning
Sakari Ailus (1):
Documentation: ACPI: Use all-string data node references
Sergey Senozhatsky (1):
thunderbolt: Do not double dequeue a configuration request
Xu Yang (1):
dt-bindings: phy: imx8mq-usb: fix fsl,phy-tx-vboost-level-microvolt property