* [OE-core][wrynose 01/35] bluez5: Fix error handling for AVDTP_OPEN cmd
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 02/35] bluez5: Fix GET_CONFIGURATION cmd Yoann Congal
` (34 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Jinwang Li <jinwang.li@oss.qualcomm.com>
Return BAD_STATE instead of BAD_ACP_SEID when the SEID maps to a
valid local SEP.
Signed-off-by: Jinwang Li <jinwang.li@oss.qualcomm.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
meta/recipes-connectivity/bluez5/bluez5.inc | 1 +
...ix-error-handling-for-AVDTP_OPEN-cmd.patch | 48 +++++++++++++++++++
2 files changed, 49 insertions(+)
create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-avdtp-Fix-error-handling-for-AVDTP_OPEN-cmd.patch
diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc
index d857c23a577..169269d3771 100644
--- a/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -76,6 +76,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
file://0001-src-device-Fix-stored-gatt-cache-DB-Hash-value-no.patch \
file://0001-profile-Set-L2CAP-IMTU-for-OBEX-profile-listeners.patch \
file://0001-adapter-restrict-delta-0-RSSI-to-proximity-filters.patch \
+ file://0001-avdtp-Fix-error-handling-for-AVDTP_OPEN-cmd.patch \
"
S = "${UNPACKDIR}/bluez-${PV}"
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-avdtp-Fix-error-handling-for-AVDTP_OPEN-cmd.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-avdtp-Fix-error-handling-for-AVDTP_OPEN-cmd.patch
new file mode 100644
index 00000000000..ba77d1e0469
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5/0001-avdtp-Fix-error-handling-for-AVDTP_OPEN-cmd.patch
@@ -0,0 +1,48 @@
+From 4e0aba5a8ebd969b68cd3442e9f8066a4b15a366 Mon Sep 17 00:00:00 2001
+From: Simon Mikuda <simon.mikuda@streamunlimited.com>
+Date: Mon, 8 Jun 2026 13:29:23 +0200
+Subject: [PATCH] avdtp: Fix error handling for AVDTP_OPEN cmd
+
+We have to return BAD_STATE when local SEP is available instead of
+BAD_ACP_SEID.
+
+This fixes: AVDTP/SNK/ACP/SIG/SMG/BI-26-C
+Upstream-Status: Backport [https://github.com/bluez/bluez/commit/7c1c90f7b6d0f653c581878a039e2d02362f33f5]
+Signed-off-by: Jinwang Li <jinwang.li@oss.qualcomm.com>
+---
+ profiles/audio/avdtp.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/profiles/audio/avdtp.c b/profiles/audio/avdtp.c
+index b57ba609b..56d27b973 100644
+--- a/profiles/audio/avdtp.c
++++ b/profiles/audio/avdtp.c
+@@ -1777,13 +1777,14 @@ static gboolean avdtp_open_cmd(struct avdtp *session, uint8_t transaction,
+ return FALSE;
+ }
+
+- stream = find_stream_by_lseid(session, req->acp_seid);
+- if (!stream) {
++ sep = find_local_sep_by_seid(session, req->acp_seid);
++ if (!sep) {
+ err = AVDTP_BAD_ACP_SEID;
+ goto failed;
+ }
+
+- if (stream->state != AVDTP_STATE_CONFIGURED) {
++ stream = find_stream_by_lsep(session, sep);
++ if (!stream || stream->state != AVDTP_STATE_CONFIGURED) {
+ err = AVDTP_BAD_STATE;
+ goto failed;
+ }
+@@ -1796,7 +1797,6 @@ static gboolean avdtp_open_cmd(struct avdtp *session, uint8_t transaction,
+ AVDTP_OPEN, NULL, 0);
+ }
+
+- sep = stream->lsep;
+ if (sep->ind && sep->ind->open && !session->pending_open) {
+ if (!sep->ind->open(session, sep, stream, &err,
+ sep->user_data))
+--
+2.34.1
+
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 02/35] bluez5: Fix GET_CONFIGURATION cmd
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 01/35] bluez5: Fix error handling for AVDTP_OPEN cmd Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 03/35] bluez5: Return correct error when SEP is inuse Yoann Congal
` (33 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Jinwang Li <jinwang.li@oss.qualcomm.com>
Check the resolved stream instead of an always-NULL sep pointer
when testing for BAD_ACP_SEID.
Signed-off-by: Jinwang Li <jinwang.li@oss.qualcomm.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
meta/recipes-connectivity/bluez5/bluez5.inc | 1 +
...0001-avdtp-Fix-GET_CONFIGURATION-cmd.patch | 36 +++++++++++++++++++
2 files changed, 37 insertions(+)
create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-avdtp-Fix-GET_CONFIGURATION-cmd.patch
diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc
index 169269d3771..7e05bda4f13 100644
--- a/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -77,6 +77,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
file://0001-profile-Set-L2CAP-IMTU-for-OBEX-profile-listeners.patch \
file://0001-adapter-restrict-delta-0-RSSI-to-proximity-filters.patch \
file://0001-avdtp-Fix-error-handling-for-AVDTP_OPEN-cmd.patch \
+ file://0001-avdtp-Fix-GET_CONFIGURATION-cmd.patch \
"
S = "${UNPACKDIR}/bluez-${PV}"
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-avdtp-Fix-GET_CONFIGURATION-cmd.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-avdtp-Fix-GET_CONFIGURATION-cmd.patch
new file mode 100644
index 00000000000..3226ba39bec
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5/0001-avdtp-Fix-GET_CONFIGURATION-cmd.patch
@@ -0,0 +1,36 @@
+From 8e5ca68aeee22970e3ccf3bbb30c050938ba09a2 Mon Sep 17 00:00:00 2001
+From: Simon Mikuda <simon.mikuda@streamunlimited.com>
+Date: Mon, 8 Jun 2026 13:29:22 +0200
+Subject: [PATCH] avdtp: Fix GET_CONFIGURATION cmd
+
+This fixes AVDTP/SNK/ACP/SIG/SMG/BV-12-C
+Upstream-Status: Backport [https://github.com/bluez/bluez/commit/60437c06560e46d211aaf99620cc9510dfd8081f]
+Signed-off-by: Jinwang Li <jinwang.li@oss.qualcomm.com>
+---
+ profiles/audio/avdtp.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/profiles/audio/avdtp.c b/profiles/audio/avdtp.c
+index d475a545e..7cfc9a80d 100644
+--- a/profiles/audio/avdtp.c
++++ b/profiles/audio/avdtp.c
+@@ -1641,7 +1641,6 @@ static gboolean avdtp_getconf_cmd(struct avdtp *session, uint8_t transaction,
+ struct seid_req *req, int size)
+ {
+ GSList *l;
+- struct avdtp_local_sep *sep = NULL;
+ struct avdtp_stream *stream;
+ int rsp_size;
+ uint8_t err;
+@@ -1656,7 +1655,7 @@ static gboolean avdtp_getconf_cmd(struct avdtp *session, uint8_t transaction,
+ memset(buf, 0, sizeof(buf));
+
+ stream = find_stream_by_lseid(session, req->acp_seid);
+- if (!sep) {
++ if (!stream) {
+ err = AVDTP_BAD_ACP_SEID;
+ goto failed;
+ }
+--
+2.34.1
+
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 03/35] bluez5: Return correct error when SEP is inuse
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 01/35] bluez5: Fix error handling for AVDTP_OPEN cmd Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 02/35] bluez5: Fix GET_CONFIGURATION cmd Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 04/35] bluez5: Fix ABORT response being discarded Yoann Congal
` (32 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Jinwang Li <jinwang.li@oss.qualcomm.com>
Reject AVDTP_SET_CONFIGURATION with SEP_IN_USE when the SEID is
already bound to an active stream.
Signed-off-by: Jinwang Li <jinwang.li@oss.qualcomm.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
meta/recipes-connectivity/bluez5/bluez5.inc | 1 +
...turn-correct-error-when-SEP-is-inuse.patch | 32 +++++++++++++++++++
2 files changed, 33 insertions(+)
create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-avdtp-Return-correct-error-when-SEP-is-inuse.patch
diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc
index 7e05bda4f13..de9835e5a7f 100644
--- a/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -78,6 +78,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
file://0001-adapter-restrict-delta-0-RSSI-to-proximity-filters.patch \
file://0001-avdtp-Fix-error-handling-for-AVDTP_OPEN-cmd.patch \
file://0001-avdtp-Fix-GET_CONFIGURATION-cmd.patch \
+ file://0001-avdtp-Return-correct-error-when-SEP-is-inuse.patch \
"
S = "${UNPACKDIR}/bluez-${PV}"
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-avdtp-Return-correct-error-when-SEP-is-inuse.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-avdtp-Return-correct-error-when-SEP-is-inuse.patch
new file mode 100644
index 00000000000..583e2c2e230
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5/0001-avdtp-Return-correct-error-when-SEP-is-inuse.patch
@@ -0,0 +1,32 @@
+From f1bbe63447bcc69beb546bc1e26a4e99c529d70e Mon Sep 17 00:00:00 2001
+From: Simon Mikuda <simon.mikuda@streamunlimited.com>
+Date: Tue, 9 Jun 2026 23:30:13 +0200
+Subject: [PATCH] avdtp: Return correct error when SEP is inuse
+
+This fixes AVDTP/SNK/ACP/SIG/SMG/BI-08-C
+Upstream-Status: Backport [https://github.com/bluez/bluez/commit/39ad431de60b896a03904887a0f1d0285b719edd]
+Signed-off-by: Jinwang Li <jinwang.li@oss.qualcomm.com>
+---
+ profiles/audio/avdtp.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/profiles/audio/avdtp.c b/profiles/audio/avdtp.c
+index 7cfc9a80d..b57ba609b 100644
+--- a/profiles/audio/avdtp.c
++++ b/profiles/audio/avdtp.c
+@@ -1556,6 +1556,12 @@ static gboolean avdtp_setconf_cmd(struct avdtp *session, uint8_t transaction,
+ goto failed;
+ }
+
++ /* check if SEID is in use */
++ if (find_stream_by_lsep(session, sep)) {
++ err = AVDTP_SEP_IN_USE;
++ goto failed;
++ }
++
+ switch (sep->info.type) {
+ case AVDTP_SEP_TYPE_SOURCE:
+ service = btd_device_get_service(session->device,
+--
+2.34.1
+
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 04/35] bluez5: Fix ABORT response being discarded
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (2 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 03/35] bluez5: Return correct error when SEP is inuse Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 05/35] bluez5: Fix u128_to_string skipping data[4] Yoann Congal
` (31 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Jinwang Li <jinwang.li@oss.qualcomm.com>
Send the ABORT response after transfer_complete(), since it clears
the pending tx queue and was discarding the response first.
Signed-off-by: Jinwang Li <jinwang.li@oss.qualcomm.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
[YC: upstream commit 27b8778e630e ("bluez5: Fix ABORT response being
discarded")]
---
meta/recipes-connectivity/bluez5/bluez5.inc | 1 +
...x-Fix-ABORT-response-being-discarded.patch | 44 +++++++++++++++++++
2 files changed, 45 insertions(+)
create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-gobex-Fix-ABORT-response-being-discarded.patch
diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc
index de9835e5a7f..db650acdd03 100644
--- a/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -79,6 +79,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
file://0001-avdtp-Fix-error-handling-for-AVDTP_OPEN-cmd.patch \
file://0001-avdtp-Fix-GET_CONFIGURATION-cmd.patch \
file://0001-avdtp-Return-correct-error-when-SEP-is-inuse.patch \
+ file://0001-gobex-Fix-ABORT-response-being-discarded.patch \
"
S = "${UNPACKDIR}/bluez-${PV}"
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-gobex-Fix-ABORT-response-being-discarded.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-gobex-Fix-ABORT-response-being-discarded.patch
new file mode 100644
index 00000000000..5c0d7414ee6
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5/0001-gobex-Fix-ABORT-response-being-discarded.patch
@@ -0,0 +1,44 @@
+From 38a88cc433e0bc3cccb6dab126e484fc06ccd8bb Mon Sep 17 00:00:00 2001
+From: Jinwang Li <jinwang.li@oss.qualcomm.com>
+Date: Thu, 27 Aug 2026 16:36:51 +0800
+Subject: [PATCH] gobex: Fix ABORT response being discarded
+
+g_obex_drop_tx_queue() in transfer_complete() clears any pending tx,
+so the ABORT success response should be enqueued after transfer_complete().
+
+Fixes the following PTS test cases:
+- OPP/SR/OPH/BV-27-I
+- FTP/SR/OTR/BV-02-C
+- PBAP/PSE/PDF/BV-06-I
+- PBAP/PSE/PBF/BV-03-I
+
+Fixes: 7a35c12a6ceb ("gobex: Fix segfault caused by interrupted transfer")
+Upstream-Status: Backport [https://github.com/bluez/bluez/commit/d094be10ff0cc9d48714d35557e0fd297f36f907]
+Assisted-by: Claude:claude-sonnet-5
+Signed-off-by: Jinwang Li <jinwang.li@oss.qualcomm.com>
+---
+ gobex/gobex-transfer.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/gobex/gobex-transfer.c b/gobex/gobex-transfer.c
+index c94d018b2..e4c7c557d 100644
+--- a/gobex/gobex-transfer.c
++++ b/gobex/gobex-transfer.c
+@@ -314,11 +314,12 @@ static void transfer_abort_req(GObex *obex, GObexPacket *req, gpointer user_data
+
+ err = g_error_new(G_OBEX_ERROR, G_OBEX_ERROR_CANCELLED,
+ "Request was aborted");
+- rsp = g_obex_packet_new(G_OBEX_RSP_SUCCESS, TRUE, G_OBEX_HDR_INVALID);
+- g_obex_send(obex, rsp, NULL);
+
+ transfer_complete(transfer, err);
+ g_error_free(err);
++
++ rsp = g_obex_packet_new(G_OBEX_RSP_SUCCESS, TRUE, G_OBEX_HDR_INVALID);
++ g_obex_send(obex, rsp, NULL);
+ }
+
+ static guint8 put_get_bytes(struct transfer *transfer, GObexPacket *req)
+--
+2.34.1
+
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 05/35] bluez5: Fix u128_to_string skipping data[4]
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (3 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 04/35] bluez5: Fix ABORT response being discarded Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 06/35] gstreamer1.0-plugins-bad: use gtk+3 dependency name Yoann Congal
` (30 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Jinwang Li <jinwang.li@oss.qualcomm.com>
data[3] was used twice, skipping data[4] in the output string.
Signed-off-by: Jinwang Li <jinwang.li@oss.qualcomm.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
meta/recipes-connectivity/bluez5/bluez5.inc | 1 +
...p-Fix-u128_to_string-skipping-data-4.patch | 33 +++++++++++++++++++
2 files changed, 34 insertions(+)
create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-obexd-pbap-Fix-u128_to_string-skipping-data-4.patch
diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc
index db650acdd03..75d76cf96de 100644
--- a/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -80,6 +80,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
file://0001-avdtp-Fix-GET_CONFIGURATION-cmd.patch \
file://0001-avdtp-Return-correct-error-when-SEP-is-inuse.patch \
file://0001-gobex-Fix-ABORT-response-being-discarded.patch \
+ file://0001-obexd-pbap-Fix-u128_to_string-skipping-data-4.patch \
"
S = "${UNPACKDIR}/bluez-${PV}"
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-obexd-pbap-Fix-u128_to_string-skipping-data-4.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-obexd-pbap-Fix-u128_to_string-skipping-data-4.patch
new file mode 100644
index 00000000000..338bc228c16
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5/0001-obexd-pbap-Fix-u128_to_string-skipping-data-4.patch
@@ -0,0 +1,33 @@
+From 198f4e0785644cea2b2154b383fc4ad354707947 Mon Sep 17 00:00:00 2001
+From: Jinwang Li <jinwang.li@oss.qualcomm.com>
+Date: Wed, 23 Sep 2026 11:29:57 +0800
+Subject: [PATCH] obexd/pbap: Fix u128_to_string skipping data[4]
+
+u128_to_string uses data[3] twice causing data[4] to be skipped and
+DatabaseIdentifier, PrimaryCounter and SecondaryCounter properties to
+be printed with wrong values.
+
+Fixes: 5ee26d43c65c ("obexd/client: Add DatabaseIdentifier property")
+Upstream-Status: Backport [https://github.com/bluez/bluez/commit/8b4a4176063831476bc9244d20f43b552e4b5554]
+Assisted-by: opencode:claude-sonnet-5
+Signed-off-by: Jinwang Li <jinwang.li@oss.qualcomm.com>
+---
+ obexd/client/pbap.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/obexd/client/pbap.c b/obexd/client/pbap.c
+index 0f575e61e..d89b6aafa 100644
+--- a/obexd/client/pbap.c
++++ b/obexd/client/pbap.c
+@@ -1098,7 +1098,7 @@ static int u128_to_string(uint8_t *data, char *str, size_t len)
+ return snprintf(str, len, "%02X%02X%02X%02X%02X%02X%02X%02X"
+ "%02X%02X%02X%02X%02X%02X%02X%02X",
+ data[0], data[1], data[2], data[3],
+- data[3], data[5], data[6], data[7],
++ data[4], data[5], data[6], data[7],
+ data[8], data[9], data[10], data[11],
+ data[12], data[13], data[14], data[15]);
+ }
+--
+2.34.1
+
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 06/35] gstreamer1.0-plugins-bad: use gtk+3 dependency name
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (4 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 05/35] bluez5: Fix u128_to_string skipping data[4] Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 07/35] spdx_common: simplify get_patched_src() implementation Yoann Congal
` (29 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Shantanu Majumdar <shanmaju@qti.qualcomm.com>
Replace the PACKAGECONFIG gtk3 dependency from gtk3+ to
gtk+3 to match the recipe name used in OE-Core.
Signed-off-by: Shantanu Majumdar <shanmaju@qti.qualcomm.com>
Signed-off-by: Tushar Darote <tdarote@qti.qualcomm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
(cherry picked from commit 7993331246ac675eef1712ea7fba770518cef5b1)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
.../gstreamer/gstreamer1.0-plugins-bad_1.28.5.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.28.5.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.28.5.bb
index 17e49ebbda2..1b6a8ac30ba 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.28.5.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.28.5.bb
@@ -49,7 +49,7 @@ PACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac"
PACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2"
PACKAGECONFIG[fdkaac] = "-Dfdkaac=enabled,-Dfdkaac=disabled,fdk-aac"
PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
-PACKAGECONFIG[gtk3] = "-Dgtk3=enabled,-Dgtk3=disabled,gtk3+"
+PACKAGECONFIG[gtk3] = "-Dgtk3=enabled,-Dgtk3=disabled,gtk+3"
PACKAGECONFIG[hls] = "-Dhls=enabled,-Dhls=disabled,"
# Pick atleast one crypto backend below when enabling hls
PACKAGECONFIG[nettle] = "-Dhls-crypto=nettle,,nettle"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 07/35] spdx_common: simplify get_patched_src() implementation
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (5 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 06/35] gstreamer1.0-plugins-bad: use gtk+3 dependency name Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 08/35] spdx_common: modify UNPACKDIR instead of WORKDIR in get_patched_src() Yoann Congal
` (28 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Benjamin Robin <benjamin.robin@bootlin.com>
The behavior remains unchanged:
- Instead of saving and restoring the values of various variables, use a
copy of the data store via `d.createCopy()`. This prevents side effects
for other tasks.
- This allows removing the `try ... finally` block.
- The function `is_work_shared_spdx()` no longer needs to be called twice.
- In the work-shared case, there is no need to modify `WORKDIR` since no
task is executed from that branch.
Signed-off-by: Benjamin Robin <benjamin.robin@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e0bf8e7c5be3d87376a6c2aab5aca07fd0813763)
Signed-off-by: Kazuyoshi Akiyama <kazuyoshi_akiyama@jp.honda>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
meta/lib/oe/spdx_common.py | 81 ++++++++++++++++++--------------------
1 file changed, 39 insertions(+), 42 deletions(-)
diff --git a/meta/lib/oe/spdx_common.py b/meta/lib/oe/spdx_common.py
index 6b1a409c40c..9d1e22629b2 100644
--- a/meta/lib/oe/spdx_common.py
+++ b/meta/lib/oe/spdx_common.py
@@ -172,50 +172,47 @@ def get_patched_src(d):
Save patched source of the recipe in SPDX_WORKDIR.
"""
spdx_workdir = d.getVar("SPDXWORK")
- spdx_sysroot_native = d.getVar("STAGING_DIR_NATIVE")
- workdir = d.getVar("WORKDIR")
+ # The kernel class functions require it to be on work-shared, so we don't change WORKDIR
+ if not is_work_shared_spdx(d):
+ spdx_sysroot_native = d.getVar("STAGING_DIR_NATIVE")
+ localdata = d.createCopy()
- try:
- # The kernel class functions require it to be on work-shared, so we dont change WORKDIR
- if not is_work_shared_spdx(d):
- # Change the WORKDIR to make do_unpack do_patch run in another dir.
- d.setVar("WORKDIR", spdx_workdir)
- # Restore the original path to recipe's native sysroot (it's relative to WORKDIR).
- d.setVar("STAGING_DIR_NATIVE", spdx_sysroot_native)
-
- # The changed 'WORKDIR' also caused 'B' changed, create dir 'B' for the
- # possibly requiring of the following tasks (such as some recipes's
- # do_patch required 'B' existed).
- bb.utils.mkdirhier(d.getVar("B"))
-
- bb.build.exec_func("do_unpack", d)
-
- if d.getVar("SRC_URI") != "":
- if bb.data.inherits_class("dos2unix", d):
- bb.build.exec_func("do_convert_crlf_to_lf", d)
- bb.build.exec_func("do_patch", d)
-
- # Copy source from work-share to spdx_workdir
- if is_work_shared_spdx(d):
- share_src = d.getVar("S")
- d.setVar("WORKDIR", spdx_workdir)
- d.setVar("STAGING_DIR_NATIVE", spdx_sysroot_native)
- # Copy source to ${SPDXWORK}, same basename dir of ${S};
- src_dir = spdx_workdir + "/" + os.path.basename(share_src)
- # For kernel souce, rename suffix dir 'kernel-source'
- # to ${BP} (${BPN}-${PV})
- if bb.data.inherits_class("kernel", d):
- src_dir = spdx_workdir + "/" + d.getVar("BP")
-
- bb.note(f"copyhardlinktree {share_src} to {src_dir}")
- oe.path.copyhardlinktree(share_src, src_dir)
-
- # Some userland has no source.
- if not os.path.exists(spdx_workdir):
- bb.utils.mkdirhier(spdx_workdir)
- finally:
- d.setVar("WORKDIR", workdir)
+ # Change the WORKDIR to make do_unpack do_patch run in another dir.
+ localdata.setVar("WORKDIR", spdx_workdir)
+ # Restore the original path to recipe's native sysroot (it's relative to WORKDIR).
+ localdata.setVar("STAGING_DIR_NATIVE", spdx_sysroot_native)
+
+ # The changed 'WORKDIR' also caused 'B' changed, create dir 'B' for the
+ # possibly requiring of the following tasks (such as some recipe's
+ # do_patch required 'B' existed).
+ bb.utils.mkdirhier(localdata.getVar("B"))
+
+ bb.build.exec_func("do_unpack", localdata)
+
+ if localdata.getVar("SRC_URI") != "":
+ if bb.data.inherits_class("dos2unix", localdata):
+ bb.build.exec_func("do_convert_crlf_to_lf", localdata)
+ bb.build.exec_func("do_patch", localdata)
+
+ # Copy source from work-shared to spdx_workdir
+ else:
+ share_src = d.getVar("S")
+
+ if bb.data.inherits_class("kernel", d):
+ # For kernel source, rename suffix dir 'kernel-source' to ${BP} (${BPN}-${PV})
+ dir_name = d.getVar("BP")
+ else:
+ # Copy source to ${SPDXWORK}, same basename dir of ${S}
+ dir_name = os.path.basename(share_src)
+
+ src_dir = f"{spdx_workdir}/{dir_name}"
+ bb.note(f"copyhardlinktree {share_src} to {src_dir}")
+ oe.path.copyhardlinktree(share_src, src_dir)
+
+ # Some userland has no source.
+ if not os.path.exists(spdx_workdir):
+ bb.utils.mkdirhier(spdx_workdir)
def has_task(d, task):
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 08/35] spdx_common: modify UNPACKDIR instead of WORKDIR in get_patched_src()
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (6 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 07/35] spdx_common: simplify get_patched_src() implementation Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 09/35] spdx_common: In get_patched_src() ensure kernel dir name to be ${BP} Yoann Congal
` (27 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Benjamin Robin <benjamin.robin@bootlin.com>
This change will affect the SPDX output: the source file path will no
longer be prefixed by `sources/`.
The rest of the changes are safe because:
- `S` should reference `UNPACKDIR` and not directly reference `WORKDIR`.
- After analyzing all public layers, no `do_unpack()` or `do_patch()` was
found to reference the `${B}` variable. The comment mentioning the
`${B}` variable traces back to [1] (though no further explanation was
provided).
Additionally, this ensures proper capture of sources if the recipe
modifies `UNPACKDIR` outside of `WORKDIR` (though such cases should be
rare).
With these changes, SPDXWORK is no longer a working directory which is
"temporary" replacing WORKDIR, it is now a "temporary" directory containing
unpacked source files.
The run.do_patch.XXXX and associated files are now stored in ${WORKDIR}/temp.
[1] https://github.com/doubleopen-io/meta-doubleopen/blob/e84f0c32663da9c743e4f1802042b733df0e36d7/classes/doubleopen.bbclass#L285
Signed-off-by: Benjamin Robin <benjamin.robin@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit aa44a0f0eb5e260959ebd77f439a5d25b3c1aa2a)
Signed-off-by: Kazuyoshi Akiyama <kazuyoshi_akiyama@jp.honda>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
[YC: The SPDX change was judged a divergence from usual design where
source paths do not have this "sources/" prefix. So, this patch is a bug
fix. See https://lore.kernel.org/all/DM9S9QJC41I5.HBYN1E0X32YB@smile.fr/ ]
---
meta/lib/oe/spdx30_tasks.py | 1 -
meta/lib/oe/spdx_common.py | 18 +++++-------------
2 files changed, 5 insertions(+), 14 deletions(-)
diff --git a/meta/lib/oe/spdx30_tasks.py b/meta/lib/oe/spdx30_tasks.py
index 1821dd7de4a..862e57c3d12 100644
--- a/meta/lib/oe/spdx30_tasks.py
+++ b/meta/lib/oe/spdx30_tasks.py
@@ -873,7 +873,6 @@ def create_spdx(d):
lambda filepath: [oe.spdx30.software_SoftwarePurpose.source],
license_data,
ignore_dirs=[".git"],
- ignore_top_level_dirs=["temp"],
archive=None,
)
build_inputs |= files
diff --git a/meta/lib/oe/spdx_common.py b/meta/lib/oe/spdx_common.py
index 9d1e22629b2..013f23ae7c6 100644
--- a/meta/lib/oe/spdx_common.py
+++ b/meta/lib/oe/spdx_common.py
@@ -169,28 +169,20 @@ def collect_package_providers(d, direct_deps):
def get_patched_src(d):
"""
- Save patched source of the recipe in SPDX_WORKDIR.
+ Save patched source of the recipe in SPDXWORK.
"""
spdx_workdir = d.getVar("SPDXWORK")
- # The kernel class functions require it to be on work-shared, so we don't change WORKDIR
+ # Do not unpack the sources again for the recipe using work-shared
if not is_work_shared_spdx(d):
- spdx_sysroot_native = d.getVar("STAGING_DIR_NATIVE")
localdata = d.createCopy()
- # Change the WORKDIR to make do_unpack do_patch run in another dir.
- localdata.setVar("WORKDIR", spdx_workdir)
- # Restore the original path to recipe's native sysroot (it's relative to WORKDIR).
- localdata.setVar("STAGING_DIR_NATIVE", spdx_sysroot_native)
-
- # The changed 'WORKDIR' also caused 'B' changed, create dir 'B' for the
- # possibly requiring of the following tasks (such as some recipe's
- # do_patch required 'B' existed).
- bb.utils.mkdirhier(localdata.getVar("B"))
+ # Change the UNPACKDIR to make do_unpack do_patch run in another dir.
+ localdata.setVar("UNPACKDIR", spdx_workdir)
bb.build.exec_func("do_unpack", localdata)
- if localdata.getVar("SRC_URI") != "":
+ if localdata.getVar("SRC_URI"):
if bb.data.inherits_class("dos2unix", localdata):
bb.build.exec_func("do_convert_crlf_to_lf", localdata)
bb.build.exec_func("do_patch", localdata)
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 09/35] spdx_common: In get_patched_src() ensure kernel dir name to be ${BP}
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (7 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 08/35] spdx_common: modify UNPACKDIR instead of WORKDIR in get_patched_src() Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 10/35] package: no longer modify paths in save_debugsources_info() Yoann Congal
` (26 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Benjamin Robin <benjamin.robin@bootlin.com>
If a kernel recipe is using a tar file instead of git repository, it is
necessary to override `S` to point to the unpacked tar archive.
In this case `${S}` is not going to be in work-shared. So we must handle
this case in get_patched_src() to ensure that the kernel is extracted in
the following path: `${SPDXWORK}/${BP}`.
For a full detailed analysis see [1], but in summary this change is
necessary because:
- In `save_debugsources_info()` the sources are extracted from the debug
symbol. For the kernel Linux the source file path is modified to look
like `${BP}/init/main.c` (`${KERNEL_SRC_PATH}` is replaced by `${BP}`).
- In `get_patched_src()` the sources of the recipe are extracted (again)
in a sub-directory of `${SPDXWORK}`. If `${S}` is in work-shared and if
the recipe inherits the kernel class, then the sources are extracted in
`${SPDXWORK}/${BP}`.
- In `add_package_files()`, with topdir equal to `${SPDXWORK}`, all the
files (recursively) found in topdir are listed. For each source file,
if the file path (relative to topdir) is in the list of source files
retrieved by save_debugsources_info, then the file is added to the SPDX
SBoM.
- If we are using a tar archive, `${S}` is set for example to
`${UNPACKDIR}/linux-${PV}`, so in `get_patched_src()` the sources are
extracted in `${SPDXWORK}/sources/linux-${PV}` since
`UNPACKDIR = ${WORKDIR}/sources`. `${BP}/init/main.c` is not in
`${SPDXWORK}`, but `sources/linux-${PV}/init/main.c` is.
[1] https://github.com/bootlin/yocto-kiss/pull/26#discussion_r3626224833
Signed-off-by: Benjamin Robin <benjamin.robin@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9bb9763c4c857edfc64aa2ad189a78a4bfb0c897)
Signed-off-by: Kazuyoshi Akiyama <kazuyoshi_akiyama@jp.honda>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
meta/lib/oe/spdx_common.py | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/meta/lib/oe/spdx_common.py b/meta/lib/oe/spdx_common.py
index 013f23ae7c6..e40cf36bba1 100644
--- a/meta/lib/oe/spdx_common.py
+++ b/meta/lib/oe/spdx_common.py
@@ -187,6 +187,14 @@ def get_patched_src(d):
bb.build.exec_func("do_convert_crlf_to_lf", localdata)
bb.build.exec_func("do_patch", localdata)
+ if bb.data.inherits_class("kernel", localdata):
+ # For kernel source, rename suffix dir to ${BP} (${BPN}-${PV})
+ dir_name = localdata.getVar("BP")
+ kernel_dst_path = f"{spdx_workdir}/{dir_name}"
+ kernel_src_path = localdata.getVar("S")
+ if not os.path.exists(kernel_dst_path):
+ shutil.move(kernel_src_path, kernel_dst_path)
+
# Copy source from work-shared to spdx_workdir
else:
share_src = d.getVar("S")
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 10/35] package: no longer modify paths in save_debugsources_info()
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (8 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 09/35] spdx_common: In get_patched_src() ensure kernel dir name to be ${BP} Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 11/35] python3-pyelftools: add missing runtime dependencies Yoann Congal
` (25 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Benjamin Robin <benjamin.robin@bootlin.com>
The source files saved in `${PN}-debugsources.json.zstd` are now saved as
is: "/usr/src/kernel/" is no longer replaced by "${BP}/". However, the
file list is still filtered to exclude "<internal>" or "<built-in>", ...
With this modification, the content of `${PN}-debugsources.json.zstd`
is no longer specific or tied to SPDX generation.
The logic that modified the source file paths to match what SPDX
generation expects is now in `oe.spdx_common.get_compiled_sources()`.
Furthermore, previously, for all non-kernel recipes the source paths were
never "resolved", since the KERNEL_SRC_PATH variable is always defined.
So the returned source file paths always started with
`/usr/src/debug/${PN}/${PV}` (the value of TARGET_DBGSRC_DIR).
Update the source file paths to match what the SPDX generation expects:
- In `get_patched_src()`, the sources of the recipe are extracted
(again). The unpack task runs in a modified local context with
UNPACKDIR set to the value of `${SPDXWORK}`, so the sources end up
extracted in a sub-directory of `${SPDXWORK}`.
- In `add_package_files()`, all files below topdir, set to `${SPDXWORK}`,
are (recursively) listed. For each source file, if its path (relative
to topdir) is in the list returned by `get_compiled_sources()`, the
file is added to the SPDX SBoM.
Handle this by replacing ${TARGET_DBGSRC_DIR} with the relative path of
${S} relative to ${UNPACKDIR}. If ${S} is not relative to ${UNPACKDIR},
do nothing.
Signed-off-by: Benjamin Robin <benjamin.robin@bootlin.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b567c2f0d91fbf36886d0c3a6f6ea90c07771044)
Signed-off-by: Kazuyoshi Akiyama <kazuyoshi_akiyama@jp.honda>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
meta/lib/oe/package.py | 54 ++++++++++++++++++--------------------
meta/lib/oe/spdx_common.py | 42 ++++++++++++++++++++++++-----
2 files changed, 61 insertions(+), 35 deletions(-)
diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py
index c375acc1242..bef3c92a259 100644
--- a/meta/lib/oe/package.py
+++ b/meta/lib/oe/package.py
@@ -1060,37 +1060,33 @@ def copydebugsources(debugsrcdir, sources, d):
os.rmdir(p)
@bb.parse.vardepsexclude("BB_NUMBER_THREADS")
-def save_debugsources_info(debugsrcdir, sources_raw, d):
+def save_debugsources_info(sources_raw, d):
import json
import bb.compress.zstd
- if debugsrcdir and sources_raw:
- debugsources_file = d.expand("${PKGDESTWORK}/debugsources/${PN}-debugsources.json.zstd")
- debugsources_dir = os.path.dirname(debugsources_file)
- if not os.path.isdir(debugsources_dir):
- bb.utils.mkdirhier(debugsources_dir)
- bb.utils.remove(debugsources_file)
- workdir = d.getVar("WORKDIR")
- pn = d.getVar('PN')
-
- # Kernel sources are in a different directory and are special case
- # we format the sources as expected by spdx by replacing /usr/src/kernel/
- # into BP/
- kernel_src = d.getVar('KERNEL_SRC_PATH')
- bp = d.getVar('BP')
- sources_dict = {}
- for file, src_files in sources_raw:
- file_clean = file.replace(f"{workdir}/package/","")
- sources_clean = [
- src.replace(f"{debugsrcdir}/{pn}/", "")
- if not kernel_src else src.replace(f"{kernel_src}/", f"{bp}/")
- for src in src_files
- if not any(keyword in src for keyword in ("<internal>", "<built-in>")) and not src.endswith("/")
- ]
- sources_dict[file_clean] = sorted(sources_clean)
- num_threads = int(d.getVar("BB_NUMBER_THREADS"))
- with bb.compress.zstd.open(debugsources_file, "wt", encoding="utf-8", num_threads=num_threads) as f:
- json.dump(sources_dict, f, sort_keys=True)
+ if not sources_raw:
+ return
+
+ debugsources_file = d.expand("${PKGDESTWORK}/debugsources/${PN}-debugsources.json.zstd")
+ debugsources_dir = os.path.dirname(debugsources_file)
+ if not os.path.isdir(debugsources_dir):
+ bb.utils.mkdirhier(debugsources_dir)
+ bb.utils.remove(debugsources_file)
+
+ workdir = d.getVar("WORKDIR")
+
+ def _filter_src_file(src):
+ if src.endswith("/"):
+ return False
+ return not any(keyword in src for keyword in ("<internal>", "<built-in>"))
+
+ sources_dict = {}
+ for file, src_files in sources_raw:
+ file_clean = file.replace(f"{workdir}/package/", "")
+ sources_dict[file_clean] = sorted(filter(_filter_src_file, src_files))
+ num_threads = int(d.getVar("BB_NUMBER_THREADS"))
+ with bb.compress.zstd.open(debugsources_file, "wt", encoding="utf-8", num_threads=num_threads) as f:
+ json.dump(sources_dict, f, sort_keys=True)
@bb.parse.vardepsexclude("BB_NUMBER_THREADS")
def read_debugsources_info(d):
@@ -1337,7 +1333,7 @@ def process_split_and_strip_files(d):
copydebugsources(dv["srcdir"], sources, d)
# Save source info to be accessible to other tasks
- save_debugsources_info(dv["srcdir"], results, d)
+ save_debugsources_info(results, d)
#
# End of debug splitting
#
diff --git a/meta/lib/oe/spdx_common.py b/meta/lib/oe/spdx_common.py
index e40cf36bba1..f885f1832ae 100644
--- a/meta/lib/oe/spdx_common.py
+++ b/meta/lib/oe/spdx_common.py
@@ -277,14 +277,44 @@ def get_compiled_sources(d):
bb.debug(1, "Do not have debugsources.list. Skipping")
return [], []
- # Sources are not split now in SPDX, so we aggregate them
- sources = set(itertools.chain.from_iterable(source_info.values()))
- # Check extensions of files
+ unpackdir = d.getVar("UNPACKDIR")
+ srcdir = d.getVar("S")
+ bp = d.getVar("BP")
+ kernel_src = d.getVar("KERNEL_SRC_PATH")
+ dbgsrc_dir = d.getVar("TARGET_DBGSRC_DIR")
+
+ # Compute the relative path of source directory from ${UNPACKDIR}.
+ # The goal is to replace ${TARGET_DBGSRC_DIR} by this relative path.
+ srcdir_rel = None
+ if srcdir and unpackdir:
+ srcdir_rel = os.path.relpath(srcdir, unpackdir)
+ if srcdir_rel.startswith(".."):
+ srcdir_rel = None
+
+ sources = set()
types = set()
- for src in sources:
+
+ # Sources are not split now in SPDX, so we aggregate them
+ for src in set(itertools.chain.from_iterable(source_info.values())):
+ # In the common case, the sources are located in ${S}. To format them as
+ # expected by SPDX, we replace /usr/src/debug/${PN}/${PV} with the path
+ # of ${S} relative to ${UNPACKDIR}.
+ if dbgsrc_dir and srcdir_rel:
+ src = src.replace(f"{dbgsrc_dir}/", f"{srcdir_rel}/")
+
+ # Kernel sources are in a different directory and are special case
+ # we format the sources as expected by spdx by replacing /usr/src/kernel/
+ # into ${BP}/
+ if kernel_src and bp:
+ src = src.replace(f"{kernel_src}/", f"{bp}/")
+
+ sources.add(src)
+
+ # Check extensions of files
basename = os.path.basename(src)
ext = basename.partition(".")[2]
- if ext not in types and ext:
+ if ext:
types.add(ext)
- bb.debug(1, f"Num of sources: {len(sources)} and types: {len(types)} {str(types)}")
+
+ bb.debug(1, f"Num of sources: {len(sources)} and types: {len(types)} {types!s}")
return sources, types
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 11/35] python3-pyelftools: add missing runtime dependencies
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (9 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 10/35] package: no longer modify paths in save_debugsources_info() Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 12/35] kernel-fit-image: add FIT_LOADABLE_* variables to do_compile vardeps Yoann Congal
` (24 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Theo Gaige (Schneider Electric) <tgaige.opensource@witekio.com>
python3-asyncio and python3-json are needed as runtime dependencies of
python3-pyelftools else the readelf.py script run into the following errors :
```
Traceback (most recent call last):
File "/bin/readelf.py", line 30, in <module>
from elftools.common.utils import bytes2str, iterbytes
File "/usr/lib/python3.14/site-packages/elftools/common/utils.py", line 11, in <module>
from ..construct import ConstructError, ULInt8
File "/usr/lib/python3.14/site-packages/elftools/construct/__init__.py", line 36, in <module>
from .debug import Probe, Debugger
File "/usr/lib/python3.14/site-packages/elftools/construct/debug.py", line 7, in <module>
import pdb
File "/usr/lib/python3.14/pdb.py", line 87, in <module>
import asyncio
ModuleNotFoundError: No module named 'asyncio'
```
```
Traceback (most recent call last):
File "/bin/readelf.py", line 30, in <module>
from elftools.common.utils import bytes2str, iterbytes
File "/usr/lib/python3.14/site-packages/elftools/common/utils.py", line 11, in <module>
from ..construct import ConstructError, ULInt8
File "/usr/lib/python3.14/site-packages/elftools/construct/__init__.py", line 36, in <module>
from .debug import Probe, Debugger
File "/usr/lib/python3.14/site-packages/elftools/construct/debug.py", line 7, in <module>
import pdb
File "/usr/lib/python3.14/pdb.py", line 77, in <module>
import json
ModuleNotFoundError: No module named 'json'
```
Signed-off-by: Theo Gaige (Schneider Electric) <tgaige.opensource@witekio.com>
Reviewed-by: Hugo SIMELIERE (Schneider Electric) <hsimeliere.opensource@witekio.com>
Reviewed-by: Wahid ESSID <wahid.essid@se.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0dc1a2f9df58cf2dd1418426e38e95372aecdcde)
Signed-off-by: Theo Gaige (Schneider Electric) <tgaige.opensource@witekio.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
meta/recipes-devtools/python/python3-pyelftools_0.32.bb | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/meta/recipes-devtools/python/python3-pyelftools_0.32.bb b/meta/recipes-devtools/python/python3-pyelftools_0.32.bb
index 7e50cef2488..76cf22266bc 100644
--- a/meta/recipes-devtools/python/python3-pyelftools_0.32.bb
+++ b/meta/recipes-devtools/python/python3-pyelftools_0.32.bb
@@ -12,4 +12,10 @@ inherit pypi python_setuptools_build_meta
BBCLASSEXTEND = "native"
-RDEPENDS:${PN} += "python3-debugger python3-pprint python3-logging"
+RDEPENDS:${PN} += " \
+ python3-debugger \
+ python3-pprint \
+ python3-logging \
+ python3-asyncio \
+ python3-json \
+"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 12/35] kernel-fit-image: add FIT_LOADABLE_* variables to do_compile vardeps
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (10 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 11/35] python3-pyelftools: add missing runtime dependencies Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 13/35] boost: patch CVE-2023-34399 Yoann Congal
` (23 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Adrian Freihofer <adrian.freihofer@siemens.com>
do_compile only reads the per-loadable flags of the FIT_LOADABLE_*
variables with d.getVarFlag('FIT_LOADABLE_*', loadable), never their
values. As the flag names are not literals, bitbake cannot track these
accesses, so the flags are not part of the do_compile signature.
Changing e.g. FIT_LOADABLE_LOADADDRESS[atf] did not trigger a rebuild
and a stale FIT image was reused.
When FIT_LOADABLES is set, add the FIT_LOADABLE_* variables to
do_compile[vardeps] with a single appendVarFlag call after the loop
that already processes them.
Referencing a variable includes all its flags in the signature.
While at it, fix the duplicated word in the comment.
This is a fixup for commit 2535427d8de0
"kernel-fit-image: support arbitrary loadables"
Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 418a35dd0b4a6d0ccddb49047f059120907f6061)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
meta/classes-recipe/kernel-fit-image.bbclass | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/meta/classes-recipe/kernel-fit-image.bbclass b/meta/classes-recipe/kernel-fit-image.bbclass
index cfe43a5a306..db4798d0818 100644
--- a/meta/classes-recipe/kernel-fit-image.bbclass
+++ b/meta/classes-recipe/kernel-fit-image.bbclass
@@ -32,17 +32,19 @@ python () {
# Parse loadables config
loadables = d.getVar('FIT_LOADABLES')
if loadables:
- # Check that the loadables configuration variables are not set directly
- # directly, then assign them a synthetic value for testability purposes
- for v in ['FIT_LOADABLE_ARCH', 'FIT_LOADABLE_COMPRESSION',
- 'FIT_LOADABLE_DESCRIPTION', 'FIT_LOADABLE_ENTRYPOINT',
- 'FIT_LOADABLE_FILENAME', 'FIT_LOADABLE_LOADADDRESS',
- 'FIT_LOADABLE_OS', 'FIT_LOADABLE_TYPE']:
+ # Forbid direct assignment, set synthetic values for testability and
+ # add the vars to vardeps so their flags are part of the signature.
+ loadable_vars = ['FIT_LOADABLE_ARCH', 'FIT_LOADABLE_COMPRESSION',
+ 'FIT_LOADABLE_DESCRIPTION', 'FIT_LOADABLE_ENTRYPOINT',
+ 'FIT_LOADABLE_FILENAME', 'FIT_LOADABLE_LOADADDRESS',
+ 'FIT_LOADABLE_OS', 'FIT_LOADABLE_TYPE']
+ for v in loadable_vars:
if d.getVar(v):
raise bb.parse.SkipRecipe("You cannot use %s as a variable, you can only set flags." % v)
synt_value = " ? ".join([ d.getVarFlag(v, loadable) or "" for loadable in loadables.split() ])
d.setVar(v, synt_value)
+ d.appendVarFlag('do_compile', 'vardeps', ' ' + ' '.join(loadable_vars))
}
do_configure[noexec] = "1"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 13/35] boost: patch CVE-2023-34399
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (11 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 12/35] kernel-fit-image: add FIT_LOADABLE_* variables to do_compile vardeps Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 14/35] go: upgrade 1.26.9 -> 1.26.10 Yoann Congal
` (22 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Peter Marko <peter.marko@siemens.com>
Pick patch referencing this CVE.
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ba56fd3e9258e2351c31a402d63ac470d43c8d54)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
.../boost/boost/CVE-2023-34399.patch | 35 +++++++++++++++++++
meta/recipes-support/boost/boost_1.90.0.bb | 1 +
2 files changed, 36 insertions(+)
create mode 100644 meta/recipes-support/boost/boost/CVE-2023-34399.patch
diff --git a/meta/recipes-support/boost/boost/CVE-2023-34399.patch b/meta/recipes-support/boost/boost/CVE-2023-34399.patch
new file mode 100644
index 00000000000..f2dbccd67e9
--- /dev/null
+++ b/meta/recipes-support/boost/boost/CVE-2023-34399.patch
@@ -0,0 +1,35 @@
+From d772add4873bb2501d67554190c4272294d659f9 Mon Sep 17 00:00:00 2001
+From: Johnathan <39648915+TrebledJ@users.noreply.github.com>
+Date: Wed, 19 Aug 2026 16:50:08 +0200
+Subject: [PATCH] Reject a negative class id when loading a pointer (#332)
+
+A pointer carries the class id of what it points at, and a null pointer
+carries -1. On the way back in, only -1 was recognised as the null tag,
+and the id then indexed the class table with an upper bound check but no
+lower bound one, so an archive carrying any other negative id read that
+table at an offset of its own choosing. This is CVE-2023-34399.
+
+Treat every negative id as the null tag. No archive a released version
+ever wrote carries one other than -1, so nothing that used to load stops
+loading.
+
+CVE: CVE-2023-34399
+Upstream-Status: Backport [https://github.com/boostorg/serialization/commit/d772add4873bb2501d67554190c4272294d659f9]
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ libs/serialization/src/basic_iarchive.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libs/serialization/src/basic_iarchive.cpp b/libs/serialization/src/basic_iarchive.cpp
+index 1c6eb2047..b5c63c9ad 100644
+--- a/libs/serialization/src/basic_iarchive.cpp
++++ b/libs/serialization/src/basic_iarchive.cpp
+@@ -427,7 +427,7 @@ basic_iarchive_impl::load_pointer(
+ class_id_type cid;
+ load(ar, cid);
+
+- if(BOOST_SERIALIZATION_NULL_POINTER_TAG == cid){
++ if(/* BOOST_SERIALIZATION_NULL_POINTER_TAG */ cid < 0){
+ t = NULL;
+ return bpis_ptr;
+ }
diff --git a/meta/recipes-support/boost/boost_1.90.0.bb b/meta/recipes-support/boost/boost_1.90.0.bb
index 4b580d078be..c66f182384d 100644
--- a/meta/recipes-support/boost/boost_1.90.0.bb
+++ b/meta/recipes-support/boost/boost_1.90.0.bb
@@ -4,4 +4,5 @@ require boost.inc
SRC_URI += "file://boost-math-disable-pch-for-gcc.patch \
file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \
file://0001-dont-setup-compiler-flags-m32-m64.patch \
+ file://CVE-2023-34399.patch \
"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 14/35] go: upgrade 1.26.9 -> 1.26.10
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (12 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 13/35] boost: patch CVE-2023-34399 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 15/35] glib-2.0: patch CVE-2026-16118 Yoann Congal
` (21 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Peter Marko <peter.marko@siemens.com>
Upgrade to latest 1.26.x release [1]:
$ git --no-pager log --oneline go1.26.9..go1.26.10
4e8c85f531 (tag: go1.26.10) [release-branch.go1.26] go1.26.10
aa64342a9e [release-branch.go1.26] crypto/x509: distrust a handful of intermediates
51e7ce32a8 [release-branch.go1.26] cmd/internal/moddeps: restore tests
Fixes CVE-2026-111943
Release information: [2]
[1] https://github.com/golang/go/compare/go1.26.9...go1.26.10
[2] https://groups.google.com/g/golang-announce/c/66pojueaQek
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
[YC: fixed a typo in git log command]
---
meta/recipes-devtools/go/{go-1.26.9.inc => go-1.26.10.inc} | 2 +-
...-binary-native_1.26.9.bb => go-binary-native_1.26.10.bb} | 6 +++---
...ross-canadian_1.26.9.bb => go-cross-canadian_1.26.10.bb} | 0
.../go/{go-cross_1.26.9.bb => go-cross_1.26.10.bb} | 0
.../go/{go-crosssdk_1.26.9.bb => go-crosssdk_1.26.10.bb} | 0
.../go/{go-runtime_1.26.9.bb => go-runtime_1.26.10.bb} | 0
meta/recipes-devtools/go/{go_1.26.9.bb => go_1.26.10.bb} | 0
7 files changed, 4 insertions(+), 4 deletions(-)
rename meta/recipes-devtools/go/{go-1.26.9.inc => go-1.26.10.inc} (90%)
rename meta/recipes-devtools/go/{go-binary-native_1.26.9.bb => go-binary-native_1.26.10.bb} (80%)
rename meta/recipes-devtools/go/{go-cross-canadian_1.26.9.bb => go-cross-canadian_1.26.10.bb} (100%)
rename meta/recipes-devtools/go/{go-cross_1.26.9.bb => go-cross_1.26.10.bb} (100%)
rename meta/recipes-devtools/go/{go-crosssdk_1.26.9.bb => go-crosssdk_1.26.10.bb} (100%)
rename meta/recipes-devtools/go/{go-runtime_1.26.9.bb => go-runtime_1.26.10.bb} (100%)
rename meta/recipes-devtools/go/{go_1.26.9.bb => go_1.26.10.bb} (100%)
diff --git a/meta/recipes-devtools/go/go-1.26.9.inc b/meta/recipes-devtools/go/go-1.26.10.inc
similarity index 90%
rename from meta/recipes-devtools/go/go-1.26.9.inc
rename to meta/recipes-devtools/go/go-1.26.10.inc
index e2657cf8ad8..035da371f22 100644
--- a/meta/recipes-devtools/go/go-1.26.9.inc
+++ b/meta/recipes-devtools/go/go-1.26.10.inc
@@ -16,4 +16,4 @@ SRC_URI += "\
file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
"
-SRC_URI[main.sha256sum] = "9735d7dcdb65b35d3fa577f04064737c03b89cf1a2b71e6e69fe2f3c6f9fd4ca"
+SRC_URI[main.sha256sum] = "fd63e883ba2f2bfca93c1646b31ebef63e2b1e4d2b317c9789d976a68d81f36f"
diff --git a/meta/recipes-devtools/go/go-binary-native_1.26.9.bb b/meta/recipes-devtools/go/go-binary-native_1.26.10.bb
similarity index 80%
rename from meta/recipes-devtools/go/go-binary-native_1.26.9.bb
rename to meta/recipes-devtools/go/go-binary-native_1.26.10.bb
index a42ce443604..67201c8b748 100644
--- a/meta/recipes-devtools/go/go-binary-native_1.26.9.bb
+++ b/meta/recipes-devtools/go/go-binary-native_1.26.10.bb
@@ -9,9 +9,9 @@ PROVIDES = "go-native"
# Checksums available at https://go.dev/dl/
SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "42d158b4d8f7b61ac0a830567c940a86098fb7aac52e467a5ebec03ef5cc2f8d"
-SRC_URI[go_linux_arm64.sha256sum] = "4a97373d49fcacdcf3694fea368a500b00ee3e963974f3e7514132717632f052"
-SRC_URI[go_linux_ppc64le.sha256sum] = "a21a65001146ca0c6c022c690d5418f8298c5513a81fb5eed42f6cdb29f40063"
+SRC_URI[go_linux_amd64.sha256sum] = "ccfe7ae822d2c2f41f4fe7c956199967a4dac22d0ee0d2b2bfdb440aab3b20c5"
+SRC_URI[go_linux_arm64.sha256sum] = "3f4227ce7b206a513e794f1393adb473a07b46e94d18bd15d1c684bbb7319797"
+SRC_URI[go_linux_ppc64le.sha256sum] = "4492031a19657de3bd7e4c48dce9d9e5aa7b668300f7c2c98e620b9ac0ee84ee"
UPSTREAM_CHECK_URI = "https://golang.org/dl/"
UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/meta/recipes-devtools/go/go-cross-canadian_1.26.9.bb b/meta/recipes-devtools/go/go-cross-canadian_1.26.10.bb
similarity index 100%
rename from meta/recipes-devtools/go/go-cross-canadian_1.26.9.bb
rename to meta/recipes-devtools/go/go-cross-canadian_1.26.10.bb
diff --git a/meta/recipes-devtools/go/go-cross_1.26.9.bb b/meta/recipes-devtools/go/go-cross_1.26.10.bb
similarity index 100%
rename from meta/recipes-devtools/go/go-cross_1.26.9.bb
rename to meta/recipes-devtools/go/go-cross_1.26.10.bb
diff --git a/meta/recipes-devtools/go/go-crosssdk_1.26.9.bb b/meta/recipes-devtools/go/go-crosssdk_1.26.10.bb
similarity index 100%
rename from meta/recipes-devtools/go/go-crosssdk_1.26.9.bb
rename to meta/recipes-devtools/go/go-crosssdk_1.26.10.bb
diff --git a/meta/recipes-devtools/go/go-runtime_1.26.9.bb b/meta/recipes-devtools/go/go-runtime_1.26.10.bb
similarity index 100%
rename from meta/recipes-devtools/go/go-runtime_1.26.9.bb
rename to meta/recipes-devtools/go/go-runtime_1.26.10.bb
diff --git a/meta/recipes-devtools/go/go_1.26.9.bb b/meta/recipes-devtools/go/go_1.26.10.bb
similarity index 100%
rename from meta/recipes-devtools/go/go_1.26.9.bb
rename to meta/recipes-devtools/go/go_1.26.10.bb
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 15/35] glib-2.0: patch CVE-2026-16118
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (13 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 14/35] go: upgrade 1.26.9 -> 1.26.10 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 16/35] python3-pip: patch the vendored python3-certifi Yoann Congal
` (20 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Peter Marko <peter.marko@siemens.com>
Pick patch referencing this CVE.
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
.../glib-2.0/files/CVE-2026-16118.patch | 48 +++++++++++++++++++
meta/recipes-core/glib-2.0/glib.inc | 1 +
2 files changed, 49 insertions(+)
create mode 100644 meta/recipes-core/glib-2.0/files/CVE-2026-16118.patch
diff --git a/meta/recipes-core/glib-2.0/files/CVE-2026-16118.patch b/meta/recipes-core/glib-2.0/files/CVE-2026-16118.patch
new file mode 100644
index 00000000000..72a387079e0
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/files/CVE-2026-16118.patch
@@ -0,0 +1,48 @@
+From ca75aff83af9875ea2ad2bfbe48a85dfd99c2ce5 Mon Sep 17 00:00:00 2001
+From: Kashyap Ekbote <kashyap.ekbote@gmail.com>
+Date: Wed, 5 Aug 2026 20:50:10 +0530
+Subject: [PATCH] Fix CVE-2026-16118: heap-buffer-overflow in xdgmimemagic.c
+
+Fix out-of-bounds write in the byte-swap routine of
+_xdg_mime_magic_parse_magic_line(). On little-endian systems, the
+write side of the swap casts the base pointer to a wider type before
+adding the byte offset, causing pointer arithmetic to scale by
+sizeof(type) instead of 1. With value_length=4 and word_size=2, the
+loop writes 2 bytes past the allocated matchlet->value buffer at i=2.
+
+Parenthesize (ptr + i) before the cast so both the read and write
+sides use byte offsets.
+
+Upstream: https://gitlab.freedesktop.org/xdg/xdgmime/-/work_items/41
+
+CVE: CVE-2026-16118
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/ca75aff83af9875ea2ad2bfbe48a85dfd99c2ce5]
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ gio/xdgmime/xdgmimemagic.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gio/xdgmime/xdgmimemagic.c b/gio/xdgmime/xdgmimemagic.c
+index 98a1274c8..fe374eb4e 100644
+--- a/gio/xdgmime/xdgmimemagic.c
++++ b/gio/xdgmime/xdgmimemagic.c
+@@ -483,15 +483,15 @@ _xdg_mime_magic_parse_magic_line (FILE *magic_file,
+ for (i = 0; i < matchlet->value_length; i = i + matchlet->word_size)
+ {
+ if (matchlet->word_size == 2)
+- *((xdg_uint16_t *) matchlet->value + i) = SWAP_BE16_TO_LE16 (*((xdg_uint16_t *) (matchlet->value + i)));
++ *((xdg_uint16_t *) (matchlet->value + i)) = SWAP_BE16_TO_LE16 (*((xdg_uint16_t *) (matchlet->value + i)));
+ else if (matchlet->word_size == 4)
+- *((xdg_uint32_t *) matchlet->value + i) = SWAP_BE32_TO_LE32 (*((xdg_uint32_t *) (matchlet->value + i)));
++ *((xdg_uint32_t *) (matchlet->value + i)) = SWAP_BE32_TO_LE32 (*((xdg_uint32_t *) (matchlet->value + i)));
+ if (matchlet->mask)
+ {
+ if (matchlet->word_size == 2)
+- *((xdg_uint16_t *) matchlet->mask + i) = SWAP_BE16_TO_LE16 (*((xdg_uint16_t *) (matchlet->mask + i)));
++ *((xdg_uint16_t *) (matchlet->mask + i)) = SWAP_BE16_TO_LE16 (*((xdg_uint16_t *) (matchlet->mask + i)));
+ else if (matchlet->word_size == 4)
+- *((xdg_uint32_t *) matchlet->mask + i) = SWAP_BE32_TO_LE32 (*((xdg_uint32_t *) (matchlet->mask + i)));
++ *((xdg_uint32_t *) (matchlet->mask + i)) = SWAP_BE32_TO_LE32 (*((xdg_uint32_t *) (matchlet->mask + i)));
+
+ }
+ }
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc
index 7e7725f9bd3..aec875a3dff 100644
--- a/meta/recipes-core/glib-2.0/glib.inc
+++ b/meta/recipes-core/glib-2.0/glib.inc
@@ -237,6 +237,7 @@ SRC_URI += "\
file://skip-timeout.patch \
file://CVE-2026-58016-1.patch \
file://CVE-2026-58016-2.patch \
+ file://CVE-2026-16118.patch \
"
SRC_URI:append:class-native = " file://relocate-modules.patch \
file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 16/35] python3-pip: patch the vendored python3-certifi
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (14 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 15/35] glib-2.0: patch CVE-2026-16118 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 17/35] python3: upgrade 3.14.7 -> 3.14.9 Yoann Congal
` (19 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Jeroen Hofstee <jhofstee@victronenergy.com>
Like python3-certifi: remove emSign CAs.
See https://emudhra.we-have-a-problem.com.
Signed-off-by: Jeroen Hofstee <jhofstee@victronenergy.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
.../python3-pip/0001-Remove-emsign-437.patch | 142 ++++++++++++++++++
...tore-unaffected-emSign-roots-439-440.patch | 108 +++++++++++++
.../python/python3-pip_26.0.1.bb | 2 +
3 files changed, 252 insertions(+)
create mode 100644 meta/recipes-devtools/python/python3-pip/0001-Remove-emsign-437.patch
create mode 100644 meta/recipes-devtools/python/python3-pip/0002-Restore-unaffected-emSign-roots-439-440.patch
diff --git a/meta/recipes-devtools/python/python3-pip/0001-Remove-emsign-437.patch b/meta/recipes-devtools/python/python3-pip/0001-Remove-emsign-437.patch
new file mode 100644
index 00000000000..31baa73511d
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-pip/0001-Remove-emsign-437.patch
@@ -0,0 +1,142 @@
+From 0802dcc6194b35b0eeb86e52248ace5eadc300cd Mon Sep 17 00:00:00 2001
+From: Alex Gaynor <alex.gaynor@gmail.com>
+Date: Sun, 18 Oct 2026 12:19:26 -0400
+Subject: [PATCH 1/2] Remove emsign (#437)
+
+* Remove emSign CAs
+
+Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
+
+* 2026.10.18
+
+Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
+Signed-off-by: Jeroen Hofstee <jhofstee@victronenergy.com>
+
+---------
+
+Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
+(cherry picked from commit 5cb238caeeb6c30ec1a7309ad3e16a5aa7b10ce8)
+
+Upstream-Status: Backport [https://github.com/certifi/python-certifi/commit/5cb238caeeb6c30ec1a7309ad3e16a5aa7b10ce8]
+---
+ certifi/cacert.pem | 104 ---------------------------------------------
+ 1 file changed, 104 deletions(-)
+
+diff --git a/certifi/cacert.pem b/certifi/cacert.pem
+index fac3c31..d4e81a7 100644
+--- a/certifi/cacert.pem
++++ b/certifi/cacert.pem
+@@ -2954,110 +2954,6 @@ jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw
+ 3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0=
+ -----END CERTIFICATE-----
+
+-# Issuer: CN=emSign Root CA - G1 O=eMudhra Technologies Limited OU=emSign PKI
+-# Subject: CN=emSign Root CA - G1 O=eMudhra Technologies Limited OU=emSign PKI
+-# Label: "emSign Root CA - G1"
+-# Serial: 235931866688319308814040
+-# MD5 Fingerprint: 9c:42:84:57:dd:cb:0b:a7:2e:95:ad:b6:f3:da:bc:ac
+-# SHA1 Fingerprint: 8a:c7:ad:8f:73:ac:4e:c1:b5:75:4d:a5:40:f4:fc:cf:7c:b5:8e:8c
+-# SHA256 Fingerprint: 40:f6:af:03:46:a9:9a:a1:cd:1d:55:5a:4e:9c:ce:62:c7:f9:63:46:03:ee:40:66:15:83:3d:c8:c8:d0:03:67
+------BEGIN CERTIFICATE-----
+-MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYD
+-VQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBU
+-ZWNobm9sb2dpZXMgTGltaXRlZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBH
+-MTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgxODMwMDBaMGcxCzAJBgNVBAYTAklO
+-MRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xv
+-Z2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIBIjAN
+-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQz
+-f2N4aLTNLnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO
+-8oG0x5ZOrRkVUkr+PHB1cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aq
+-d7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHWDV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhM
+-tTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ6DqS0hdW5TUaQBw+jSzt
+-Od9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrHhQIDAQAB
+-o0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQD
+-AgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31x
+-PaOfG1vR2vjTnGs2vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjM
+-wiI/aTvFthUvozXGaCocV685743QNcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6d
+-GNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q+Mri/Tm3R7nrft8EI6/6nAYH
+-6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeihU80Bv2noWgby
+-RQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx
+-iN66zB+Afko=
+------END CERTIFICATE-----
+-
+-# Issuer: CN=emSign ECC Root CA - G3 O=eMudhra Technologies Limited OU=emSign PKI
+-# Subject: CN=emSign ECC Root CA - G3 O=eMudhra Technologies Limited OU=emSign PKI
+-# Label: "emSign ECC Root CA - G3"
+-# Serial: 287880440101571086945156
+-# MD5 Fingerprint: ce:0b:72:d1:9f:88:8e:d0:50:03:e8:e3:b8:8b:67:40
+-# SHA1 Fingerprint: 30:43:fa:4f:f2:57:dc:a0:c3:80:ee:2e:58:ea:78:b2:3f:e6:bb:c1
+-# SHA256 Fingerprint: 86:a1:ec:ba:08:9c:4a:8d:3b:be:27:34:c6:12:ba:34:1d:81:3e:04:3c:f9:e8:a8:62:cd:5c:57:a3:6b:be:6b
+------BEGIN CERTIFICATE-----
+-MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQG
+-EwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNo
+-bm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g
+-RzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4MTgzMDAwWjBrMQswCQYDVQQGEwJJ
+-TjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9s
+-b2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMw
+-djAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0
+-WXTsuwYc58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xyS
+-fvalY8L1X44uT6EYGQIrMgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuB
+-zhccLikenEhjQjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggq
+-hkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+DCBeQyh+KTOgNG3qxrdWB
+-CUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7jHvrZQnD
+-+JbNR6iC8hZVdyR+EhCVBCyj
+------END CERTIFICATE-----
+-
+-# Issuer: CN=emSign Root CA - C1 O=eMudhra Inc OU=emSign PKI
+-# Subject: CN=emSign Root CA - C1 O=eMudhra Inc OU=emSign PKI
+-# Label: "emSign Root CA - C1"
+-# Serial: 825510296613316004955058
+-# MD5 Fingerprint: d8:e3:5d:01:21:fa:78:5a:b0:df:ba:d2:ee:2a:5f:68
+-# SHA1 Fingerprint: e7:2e:f1:df:fc:b2:09:28:cf:5d:d4:d5:67:37:b1:51:cb:86:4f:01
+-# SHA256 Fingerprint: 12:56:09:aa:30:1d:a0:a2:49:b9:7a:82:39:cb:6a:34:21:6f:44:dc:ac:9f:39:54:b1:42:92:f2:e8:c8:60:8f
+------BEGIN CERTIFICATE-----
+-MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkG
+-A1UEBhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEg
+-SW5jMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAw
+-MFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln
+-biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNpZ24gUm9v
+-dCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+upufGZ
+-BczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZ
+-HdPIWoU/Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH
+-3DspVpNqs8FqOp099cGXOFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvH
+-GPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4VI5b2P/AgNBbeCsbEBEV5f6f9vtKppa+c
+-xSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleoomslMuoaJuvimUnzYnu3Yy1
+-aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+XJGFehiq
+-TbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL
+-BQADggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87
+-/kOXSTKZEhVb3xEp/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4
+-kqNPEjE2NuLe/gDEo2APJ62gsIq1NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrG
+-YQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9wC68AivTxEDkigcxHpvOJpkT
+-+xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQBmIMMMAVSKeo
+-WXzhriKi4gp6D/piq1JM4fHfyr6DDUI=
+------END CERTIFICATE-----
+-
+-# Issuer: CN=emSign ECC Root CA - C3 O=eMudhra Inc OU=emSign PKI
+-# Subject: CN=emSign ECC Root CA - C3 O=eMudhra Inc OU=emSign PKI
+-# Label: "emSign ECC Root CA - C3"
+-# Serial: 582948710642506000014504
+-# MD5 Fingerprint: 3e:53:b3:a3:81:ee:d7:10:f8:d3:b0:1d:17:92:f5:d5
+-# SHA1 Fingerprint: b6:af:43:c2:9b:81:53:7d:f6:ef:6b:c3:1f:1f:60:15:0c:ee:48:66
+-# SHA256 Fingerprint: bc:4d:80:9b:15:18:9d:78:db:3e:1d:8c:f4:f9:72:6a:79:5d:a1:64:3c:a5:f1:35:8e:1d:db:0e:dc:0d:7e:b3
+------BEGIN CERTIFICATE-----
+-MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQG
+-EwJVUzETMBEGA1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMx
+-IDAeBgNVBAMTF2VtU2lnbiBFQ0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAw
+-MFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln
+-biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQDExdlbVNpZ24gRUND
+-IFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd6bci
+-MK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4Ojavti
+-sIGJAnB9SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0O
+-BBYEFPtaSNCAIEDyqOkAB2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB
+-Af8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQC02C8Cif22TGK6Q04ThHK1rt0c
+-3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwUZOR8loMRnLDRWmFLpg9J
+-0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ==
+------END CERTIFICATE-----
+-
+ # Issuer: CN=Hongkong Post Root CA 3 O=Hongkong Post
+ # Subject: CN=Hongkong Post Root CA 3 O=Hongkong Post
+ # Label: "Hongkong Post Root CA 3"
+--
+2.53.0
+
diff --git a/meta/recipes-devtools/python/python3-pip/0002-Restore-unaffected-emSign-roots-439-440.patch b/meta/recipes-devtools/python/python3-pip/0002-Restore-unaffected-emSign-roots-439-440.patch
new file mode 100644
index 00000000000..f129adc4bbc
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-pip/0002-Restore-unaffected-emSign-roots-439-440.patch
@@ -0,0 +1,108 @@
+From e82ee82a34e70a4fbf5003ba6cf2fcd62a24d764 Mon Sep 17 00:00:00 2001
+From: Nathan Neulinger <nneul@neulinger.org>
+Date: Mon, 19 Oct 2026 21:10:51 -0500
+Subject: [PATCH 2/2] Restore unaffected emSign roots (#439) (#440)
+
+(cherry picked from commit 662df63d7906df66f1f07c0751a3dfe9da14d914)
+Upstream-Status: Backport [https://github.com/certifi/python-certifi/commit/662df63d7906df66f1f07c0751a3dfe9da14d914]
+Signed-off-by: Jeroen Hofstee <jhofstee@victronenergy.com>
+
+---
+ certifi/cacert.pem | 81 ++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 81 insertions(+)
+
+diff --git a/certifi/cacert.pem b/certifi/cacert.pem
+index d4e81a7..4c74ecd 100644
+--- a/certifi/cacert.pem
++++ b/certifi/cacert.pem
+@@ -2954,6 +2954,87 @@ jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw
+ 3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0=
+ -----END CERTIFICATE-----
+
++# Issuer: CN=emSign Root CA - G1 O=eMudhra Technologies Limited OU=emSign PKI
++# Subject: CN=emSign Root CA - G1 O=eMudhra Technologies Limited OU=emSign PKI
++# Label: "emSign Root CA - G1"
++# Serial: 235931866688319308814040
++# MD5 Fingerprint: 9c:42:84:57:dd:cb:0b:a7:2e:95:ad:b6:f3:da:bc:ac
++# SHA1 Fingerprint: 8a:c7:ad:8f:73:ac:4e:c1:b5:75:4d:a5:40:f4:fc:cf:7c:b5:8e:8c
++# SHA256 Fingerprint: 40:f6:af:03:46:a9:9a:a1:cd:1d:55:5a:4e:9c:ce:62:c7:f9:63:46:03:ee:40:66:15:83:3d:c8:c8:d0:03:67
++-----BEGIN CERTIFICATE-----
++MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYD
++VQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBU
++ZWNobm9sb2dpZXMgTGltaXRlZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBH
++MTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgxODMwMDBaMGcxCzAJBgNVBAYTAklO
++MRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xv
++Z2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIBIjAN
++BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQz
++f2N4aLTNLnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO
++8oG0x5ZOrRkVUkr+PHB1cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aq
++d7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHWDV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhM
++tTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ6DqS0hdW5TUaQBw+jSzt
++Od9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrHhQIDAQAB
++o0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQD
++AgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31x
++PaOfG1vR2vjTnGs2vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjM
++wiI/aTvFthUvozXGaCocV685743QNcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6d
++GNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q+Mri/Tm3R7nrft8EI6/6nAYH
++6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeihU80Bv2noWgby
++RQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx
++iN66zB+Afko=
++-----END CERTIFICATE-----
++
++# Issuer: CN=emSign Root CA - C1 O=eMudhra Inc OU=emSign PKI
++# Subject: CN=emSign Root CA - C1 O=eMudhra Inc OU=emSign PKI
++# Label: "emSign Root CA - C1"
++# Serial: 825510296613316004955058
++# MD5 Fingerprint: d8:e3:5d:01:21:fa:78:5a:b0:df:ba:d2:ee:2a:5f:68
++# SHA1 Fingerprint: e7:2e:f1:df:fc:b2:09:28:cf:5d:d4:d5:67:37:b1:51:cb:86:4f:01
++# SHA256 Fingerprint: 12:56:09:aa:30:1d:a0:a2:49:b9:7a:82:39:cb:6a:34:21:6f:44:dc:ac:9f:39:54:b1:42:92:f2:e8:c8:60:8f
++-----BEGIN CERTIFICATE-----
++MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkG
++A1UEBhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEg
++SW5jMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAw
++MFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln
++biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNpZ24gUm9v
++dCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+upufGZ
++BczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZ
++HdPIWoU/Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH
++3DspVpNqs8FqOp099cGXOFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvH
++GPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4VI5b2P/AgNBbeCsbEBEV5f6f9vtKppa+c
++xSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleoomslMuoaJuvimUnzYnu3Yy1
++aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+XJGFehiq
++TbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL
++BQADggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87
++/kOXSTKZEhVb3xEp/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4
++kqNPEjE2NuLe/gDEo2APJ62gsIq1NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrG
++YQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9wC68AivTxEDkigcxHpvOJpkT
+++xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQBmIMMMAVSKeo
++WXzhriKi4gp6D/piq1JM4fHfyr6DDUI=
++-----END CERTIFICATE-----
++
++# Issuer: CN=emSign ECC Root CA - C3 O=eMudhra Inc OU=emSign PKI
++# Subject: CN=emSign ECC Root CA - C3 O=eMudhra Inc OU=emSign PKI
++# Label: "emSign ECC Root CA - C3"
++# Serial: 582948710642506000014504
++# MD5 Fingerprint: 3e:53:b3:a3:81:ee:d7:10:f8:d3:b0:1d:17:92:f5:d5
++# SHA1 Fingerprint: b6:af:43:c2:9b:81:53:7d:f6:ef:6b:c3:1f:1f:60:15:0c:ee:48:66
++# SHA256 Fingerprint: bc:4d:80:9b:15:18:9d:78:db:3e:1d:8c:f4:f9:72:6a:79:5d:a1:64:3c:a5:f1:35:8e:1d:db:0e:dc:0d:7e:b3
++-----BEGIN CERTIFICATE-----
++MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQG
++EwJVUzETMBEGA1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMx
++IDAeBgNVBAMTF2VtU2lnbiBFQ0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAw
++MFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln
++biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQDExdlbVNpZ24gRUND
++IFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd6bci
++MK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4Ojavti
++sIGJAnB9SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0O
++BBYEFPtaSNCAIEDyqOkAB2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB
++Af8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQC02C8Cif22TGK6Q04ThHK1rt0c
++3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwUZOR8loMRnLDRWmFLpg9J
++0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ==
++-----END CERTIFICATE-----
++
+ # Issuer: CN=Hongkong Post Root CA 3 O=Hongkong Post
+ # Subject: CN=Hongkong Post Root CA 3 O=Hongkong Post
+ # Label: "Hongkong Post Root CA 3"
+--
+2.53.0
+
diff --git a/meta/recipes-devtools/python/python3-pip_26.0.1.bb b/meta/recipes-devtools/python/python3-pip_26.0.1.bb
index b6581575580..378fcd823ee 100644
--- a/meta/recipes-devtools/python/python3-pip_26.0.1.bb
+++ b/meta/recipes-devtools/python/python3-pip_26.0.1.bb
@@ -29,6 +29,8 @@ SRC_URI += "file://no_shebang_mangling.patch \
file://CVE-2026-8643.patch \
file://CVE-2026-8643-regression_p1.patch \
file://CVE-2026-8643-regression_p2.patch \
+ file://0001-Remove-emsign-437.patch;patchdir=src/pip/_vendor \
+ file://0002-Restore-unaffected-emSign-roots-439-440.patch;patchdir=src/pip/_vendor \
"
SRC_URI[sha256sum] = "c4037d8a277c89b320abe636d59f91e6d0922d08a05b60e85e53b296613346d8"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 17/35] python3: upgrade 3.14.7 -> 3.14.9
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (15 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 16/35] python3-pip: patch the vendored python3-certifi Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 18/35] python3: upgrade 3.14.9 -> 3.14.10 Yoann Congal
` (18 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Ross Burton <ross.burton@arm.com>
The release notes are long[1] but the highlight is upgrading the bundled
pip wheel to 26.2.2, as pip bundles certifi which needed upgrading due
to the eMudhra intermediate CA compromise.
[1] https://docs.python.org/release/3.14.9/whatsnew/changelog.html
[2] https://emudhra.we-have-a-problem.com
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 526baf80188308bc1e65b09ccb41186772cd6336)
Dropped parts updating patches for openssl-4 or ptests.
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
.../0001-Avoid-shebang-overflow-on-python-config.py.patch | 2 +-
...1-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch | 2 +-
...1-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch | 2 +-
meta/recipes-devtools/python/python3/makerace.patch | 2 +-
.../python/{python3_3.14.7.bb => python3_3.14.9.bb} | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
rename meta/recipes-devtools/python/{python3_3.14.7.bb => python3_3.14.9.bb} (99%)
diff --git a/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch
index 7a605383647..7cacaf0ff37 100644
--- a/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch
+++ b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch
@@ -19,7 +19,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index e946018..345ed29 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -2835,6 +2835,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
+@@ -2839,6 +2839,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
@ # Substitution happens here, as the completely-expanded BINDIR
@ # is not available in configure
sed -e "s,@EXENAME@,$(EXENAME)," < $(srcdir)/Misc/python-config.in >python-config.py
diff --git a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
index 60391e726bd..580d38a4031 100644
--- a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
+++ b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
@@ -21,7 +21,7 @@ diff --git a/Lib/sysconfig/__init__.py b/Lib/sysconfig/__init__.py
index 0a8bcc0..a2341f2 100644
--- a/Lib/sysconfig/__init__.py
+++ b/Lib/sysconfig/__init__.py
-@@ -538,12 +538,12 @@ def _init_config_vars():
+@@ -539,12 +539,12 @@ def _init_config_vars():
_CONFIG_VARS['py_version'] = _PY_VERSION
_CONFIG_VARS['py_version_short'] = _PY_VERSION_SHORT
_CONFIG_VARS['py_version_nodot'] = _PY_VERSION_SHORT_NO_DOT
diff --git a/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch b/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
index c7f14cad1e0..4e41b04a3bb 100644
--- a/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
+++ b/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
@@ -18,7 +18,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index 526d500..a7e536d 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -861,8 +861,7 @@ profile-run-stamp:
+@@ -863,8 +863,7 @@ profile-run-stamp:
# enabled.
$(MAKE) profile-gen-stamp
# Next, run the profile task to generate the profile information.
diff --git a/meta/recipes-devtools/python/python3/makerace.patch b/meta/recipes-devtools/python/python3/makerace.patch
index 248a521118c..b589dfb3460 100644
--- a/meta/recipes-devtools/python/python3/makerace.patch
+++ b/meta/recipes-devtools/python/python3/makerace.patch
@@ -20,7 +20,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index a7e536d..e946018 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -2741,7 +2741,7 @@ COMPILEALL_OPTS=-j0
+@@ -2745,7 +2745,7 @@ COMPILEALL_OPTS=-j0
TEST_MODULES=@TEST_MODULES@
.PHONY: libinstall
diff --git a/meta/recipes-devtools/python/python3_3.14.7.bb b/meta/recipes-devtools/python/python3_3.14.9.bb
similarity index 99%
rename from meta/recipes-devtools/python/python3_3.14.7.bb
rename to meta/recipes-devtools/python/python3_3.14.9.bb
index e73dc8d7728..2a5279480b2 100644
--- a/meta/recipes-devtools/python/python3_3.14.7.bb
+++ b/meta/recipes-devtools/python/python3_3.14.9.bb
@@ -40,7 +40,7 @@ SRC_URI:append:class-native = " \
file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \
"
-SRC_URI[sha256sum] = "3b48dac8fb59f62eaa67ac83c1eb12bda1b7a08406dd286e252c11a66be27f81"
+SRC_URI[sha256sum] = "e02d9ac21cebda6e46435369744a92c65cc7cd8669697694122cf97ffacd1e53"
# exclude pre-releases for both python 2.x and 3.x
UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 18/35] python3: upgrade 3.14.9 -> 3.14.10
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (16 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 17/35] python3: upgrade 3.14.7 -> 3.14.9 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 19/35] python3: skip test.test_readline.TestHistoryManipulation on musl Yoann Congal
` (17 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Peter Marko <peter.marko@siemens.com>
This is an expedited security release to address the compromised eMudhra
intermediate CA keys. These keys are now blocked by the ssl module as a
last resort against their use. Normal uses of pip, including to upgrade
pip itself, are now safe from attacks based on those compromised keys,
even if pip hasn't been updated yet.
Release information: [1]
Security content in this release
* CVE-2026-115557 gh-160040: Distrust compromised eMudhra intermediate CA keys
* CVE-2026-114583 gh-160097: Reject links replacing the destination in tarfile.tar_filter
* gh-160300: Reject cookies with a negative version in http.cookiejar
[1] https://www.python.org/downloads/release/python-31410/
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 4041f4a2e031f76e5a90207e855c735fd14259b1)
Dropped parts updating patches for openssl-4 or ptests.
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
.../0001-Avoid-shebang-overflow-on-python-config.py.patch | 2 +-
...1-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch | 2 +-
.../0001-Update-test_sysconfig-for-posix_user-purelib.patch | 2 +-
meta/recipes-devtools/python/python3/makerace.patch | 2 +-
.../python/{python3_3.14.9.bb => python3_3.14.10.bb} | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
rename meta/recipes-devtools/python/{python3_3.14.9.bb => python3_3.14.10.bb} (99%)
diff --git a/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch
index 7cacaf0ff37..79fee9803fe 100644
--- a/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch
+++ b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch
@@ -19,7 +19,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index e946018..345ed29 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -2839,6 +2839,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
+@@ -2844,6 +2844,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
@ # Substitution happens here, as the completely-expanded BINDIR
@ # is not available in configure
sed -e "s,@EXENAME@,$(EXENAME)," < $(srcdir)/Misc/python-config.in >python-config.py
diff --git a/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch b/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
index 4e41b04a3bb..d3f46c372a6 100644
--- a/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
+++ b/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
@@ -18,7 +18,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index 526d500..a7e536d 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -863,8 +863,7 @@ profile-run-stamp:
+@@ -864,8 +864,7 @@ profile-run-stamp:
# enabled.
$(MAKE) profile-gen-stamp
# Next, run the profile task to generate the profile information.
diff --git a/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch b/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch
index 5509b7475a9..0864f23926a 100644
--- a/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch
+++ b/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch
@@ -25,7 +25,7 @@ diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
index 1fe4b68..383142a 100644
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
-@@ -434,7 +434,7 @@ class TestSysConfig(unittest.TestCase, VirtualEnvironmentMixin):
+@@ -435,7 +435,7 @@ class TestSysConfig(unittest.TestCase, VirtualEnvironmentMixin):
expected = os.path.normpath(global_path.replace(base, user, 1))
# bpo-44860: platlib of posix_user doesn't use sys.platlibdir,
# whereas posix_prefix does.
diff --git a/meta/recipes-devtools/python/python3/makerace.patch b/meta/recipes-devtools/python/python3/makerace.patch
index b589dfb3460..7167d5b4e82 100644
--- a/meta/recipes-devtools/python/python3/makerace.patch
+++ b/meta/recipes-devtools/python/python3/makerace.patch
@@ -20,7 +20,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index a7e536d..e946018 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -2745,7 +2745,7 @@ COMPILEALL_OPTS=-j0
+@@ -2750,7 +2750,7 @@ COMPILEALL_OPTS=-j0
TEST_MODULES=@TEST_MODULES@
.PHONY: libinstall
diff --git a/meta/recipes-devtools/python/python3_3.14.9.bb b/meta/recipes-devtools/python/python3_3.14.10.bb
similarity index 99%
rename from meta/recipes-devtools/python/python3_3.14.9.bb
rename to meta/recipes-devtools/python/python3_3.14.10.bb
index 2a5279480b2..73d6e89854d 100644
--- a/meta/recipes-devtools/python/python3_3.14.9.bb
+++ b/meta/recipes-devtools/python/python3_3.14.10.bb
@@ -40,7 +40,7 @@ SRC_URI:append:class-native = " \
file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \
"
-SRC_URI[sha256sum] = "e02d9ac21cebda6e46435369744a92c65cc7cd8669697694122cf97ffacd1e53"
+SRC_URI[sha256sum] = "de414a57119abef52784d8993e341d53aed635fc2b05c2607d9f98a2c5b72032"
# exclude pre-releases for both python 2.x and 3.x
UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 19/35] python3: skip test.test_readline.TestHistoryManipulation on musl
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (17 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 18/35] python3: upgrade 3.14.9 -> 3.14.10 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 20/35] piglit: fix build with Python 3.14.9 Yoann Congal
` (16 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Ross Burton <ross.burton@arm.com>
Fixes to the editline integration have sadly introduced regressions on
musl:
FAIL: test_append_limited_history (test.test_readline.TestHistoryManipulation.test_append_limited_history)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3.14/test/test_readline.py", line 208, in test_append_limited_history
self.assertEqual(readline.get_history_item(1), "second line")
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: '_HiStOrY_V2_' != 'second line'
- _HiStOrY_V2_
+ second line
======================================================================
FAIL: test_write_read_append (test.test_readline.TestHistoryManipulation.test_write_read_append)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3.14/test/test_readline.py", line 101, in test_write_read_append
self.assertEqual(readline.get_current_history_length(), 3)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: 4 != 3
A ticket has been filed upstream so skip the tests for now.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7ba31b6a42f884964d2cff04235a930f757b9e4b)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
meta/recipes-devtools/python/python3_3.14.10.bb | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/meta/recipes-devtools/python/python3_3.14.10.bb b/meta/recipes-devtools/python/python3_3.14.10.bb
index 73d6e89854d..a4cd0697d2a 100644
--- a/meta/recipes-devtools/python/python3_3.14.10.bb
+++ b/meta/recipes-devtools/python/python3_3.14.10.bb
@@ -274,6 +274,11 @@ SKIPPED_TESTS:append:class-target:libc-musl = " \
--ignore test.test_ctypes.test_dlerror.TestNullDlsym.test_null_dlsym \
"
+# https://github.com/python/cpython/issues/159424
+SKIPPED_TESTS:append:libc-musl = " \
+ --ignore test.test_readline.TestHistoryManipulation.test_append_limited_history \
+ --ignore test.test_readline.TestHistoryManipulation.test_write_read_append \
+"
do_install_ptest:append () {
sed -i -e "s|SKIPPED_TESTS=|SKIPPED_TESTS=\"${SKIPPED_TESTS}\"|" ${D}${PTEST_PATH}/run-ptest
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 20/35] piglit: fix build with Python 3.14.9
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (18 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 19/35] python3: skip test.test_readline.TestHistoryManipulation on musl Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 21/35] systemd: add iproute2-devlink runtime dependency to udev Yoann Congal
` (15 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Ross Burton <ross.burton@arm.com>
Python 3.14.9 added bounds checking to the mtime argument, so piglit
passing the mtime as a string causes runtime errors:
File "/usr/lib/python3.14/gzip.py", line 303, in _write_gzip_header
if not 0 <= mtime < 2**32:
TypeError: '<=' not supported between instances of 'int' and 'str'
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 66cf97860d9833b852298a6cd60334c372a18dc3)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
...-reproducible_mtime-should-be-an-int.patch | 33 +++++++++++++++++++
meta/recipes-graphics/piglit/piglit_git.bb | 1 +
2 files changed, 34 insertions(+)
create mode 100644 meta/recipes-graphics/piglit/piglit/0001-tests-serializer-reproducible_mtime-should-be-an-int.patch
diff --git a/meta/recipes-graphics/piglit/piglit/0001-tests-serializer-reproducible_mtime-should-be-an-int.patch b/meta/recipes-graphics/piglit/piglit/0001-tests-serializer-reproducible_mtime-should-be-an-int.patch
new file mode 100644
index 00000000000..4578c296b0d
--- /dev/null
+++ b/meta/recipes-graphics/piglit/piglit/0001-tests-serializer-reproducible_mtime-should-be-an-int.patch
@@ -0,0 +1,33 @@
+From 58a5bea55a5f7972462124e7a8f1b1971ad5483d Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Thu, 22 Oct 2026 14:09:08 +0100
+Subject: [PATCH] tests/serializer: reproducible_mtime should be an int
+X-ARM-No-Footer: NoDisclaimer
+
+The mtime argument is an integer not a string, so parse it with int().
+
+Passing a string breaks piglit with Python 3.14.9, which does integer
+bound checks on the specified mtime.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/1269]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ tests/serializer.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/serializer.py b/tests/serializer.py
+index 5ee9a1578..f7fdadf43 100644
+--- a/tests/serializer.py
++++ b/tests/serializer.py
+@@ -140,7 +140,7 @@ def serializer(name, profile, outfile):
+ tree = et.ElementTree(root)
+ reproducible_mtime = None
+ if 'SOURCE_DATE_EPOCH' in os.environ:
+- reproducible_mtime=os.environ['SOURCE_DATE_EPOCH']
++ reproducible_mtime=int(os.environ['SOURCE_DATE_EPOCH'])
+ with gzip.GzipFile(outfile, 'wb', mtime=reproducible_mtime) as f:
+ tree.write(f, encoding='utf-8', xml_declaration=True)
+
+--
+2.43.0
+
diff --git a/meta/recipes-graphics/piglit/piglit_git.bb b/meta/recipes-graphics/piglit/piglit_git.bb
index 76596350628..5d7cdafb070 100644
--- a/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/meta/recipes-graphics/piglit/piglit_git.bb
@@ -14,6 +14,7 @@ SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=ma
file://0001-tests-egl-spec-make-egl_ext_surface_compression-cond.patch \
file://0001-tests-no_error.py-modify-_command-and-not-command.patch \
file://0001-generated_tests-use-shape-in-place-of-newshape-on-nu.patch \
+ file://0001-tests-serializer-reproducible_mtime-should-be-an-int.patch \
"
UPSTREAM_CHECK_COMMITS = "1"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 21/35] systemd: add iproute2-devlink runtime dependency to udev
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (19 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 20/35] piglit: fix build with Python 3.14.9 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 22/35] bind: upgrade 9.20.29 -> 9.20.30 Yoann Congal
` (14 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Peter Marko <peter.marko@siemens.com>
Service file ${nonarch_libdir}/udev/rules.d/81-net-bridge.rules executes
/usr/sbin/devlink which causes errors seen in journal on systems which
don't install this package explicitly.
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 69bf564780353d34cfd87bf73960cfadd8b2c6ac)
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
meta/recipes-core/systemd/systemd_259.5.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/recipes-core/systemd/systemd_259.5.bb b/meta/recipes-core/systemd/systemd_259.5.bb
index e924884bf95..3c747545322 100644
--- a/meta/recipes-core/systemd/systemd_259.5.bb
+++ b/meta/recipes-core/systemd/systemd_259.5.bb
@@ -760,6 +760,7 @@ FILES:libsystemd-shared = "${libdir}/systemd/libsystemd-shared*.so"
RPROVIDES:udev = "hotplug"
+RDEPENDS:udev += "iproute2-devlink"
RDEPENDS:udev-bash-completion += "bash-completion"
RDEPENDS:udev-hwdb += "udev"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 22/35] bind: upgrade 9.20.29 -> 9.20.30
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (20 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 21/35] systemd: add iproute2-devlink runtime dependency to udev Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 23/35] recipe_sanity: Drop rename overwrite detection Yoann Congal
` (13 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
ReleaseNotes: https://bind9.readthedocs.io/en/v9.20.30/notes.html#notes-for-bind-9-20-30
CVE fixes: CVE-2026-19630, CVE-2026-96888, CVE-2026-97313, CVE-2026-94300
- Other bug fixes are mentioned in ReleaseNotes.
- Refresh existing patches
Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 3d52bad81bb24f84af630b9bbd3cadd7048ceec5)
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
.../bind/bind/0001-avoid-start-failure-with-bind-user.patch | 2 +-
.../0001-m4-Backport-ax_prog_cc_for_build.m4-macros.patch | 2 +-
...0001-named-lwresd-V-and-start-log-hide-build-options.patch | 4 ++--
| 4 ++--
meta/recipes-connectivity/bind/bind/conf.patch | 2 +-
.../bind/bind/init.d-add-support-for-read-only-rootfs.patch | 2 +-
.../bind/bind/make-etc-initd-bind-stop-work.patch | 2 +-
.../bind/{bind_9.20.29.bb => bind_9.20.30.bb} | 2 +-
8 files changed, 10 insertions(+), 10 deletions(-)
rename meta/recipes-connectivity/bind/{bind_9.20.29.bb => bind_9.20.30.bb} (97%)
diff --git a/meta/recipes-connectivity/bind/bind/0001-avoid-start-failure-with-bind-user.patch b/meta/recipes-connectivity/bind/bind/0001-avoid-start-failure-with-bind-user.patch
index 15796a15fba..d302bc14810 100644
--- a/meta/recipes-connectivity/bind/bind/0001-avoid-start-failure-with-bind-user.patch
+++ b/meta/recipes-connectivity/bind/bind/0001-avoid-start-failure-with-bind-user.patch
@@ -1,4 +1,4 @@
-From 95141cf9494292fc5645165ef3d5e9e2ed2208c6 Mon Sep 17 00:00:00 2001
+From 1c087c24e8162c7a042cf1f19ad313e0f3a21196 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 15 Oct 2018 16:55:09 +0800
Subject: [PATCH] avoid start failure with bind user
diff --git a/meta/recipes-connectivity/bind/bind/0001-m4-Backport-ax_prog_cc_for_build.m4-macros.patch b/meta/recipes-connectivity/bind/bind/0001-m4-Backport-ax_prog_cc_for_build.m4-macros.patch
index 99e781799da..eb0adcfabef 100644
--- a/meta/recipes-connectivity/bind/bind/0001-m4-Backport-ax_prog_cc_for_build.m4-macros.patch
+++ b/meta/recipes-connectivity/bind/bind/0001-m4-Backport-ax_prog_cc_for_build.m4-macros.patch
@@ -1,4 +1,4 @@
-From 06e9624eb7e474a08ed7e1a456bfe9759ba211da Mon Sep 17 00:00:00 2001
+From aa978a473328123575af0270dc1dd274050bdfc0 Mon Sep 17 00:00:00 2001
From: Khem Raj <khem.raj@oss.qualcomm.com>
Date: Fri, 10 Apr 2026 23:33:49 +0000
Subject: [PATCH] m4: Backport ax_prog_cc_for_build.m4 macros
diff --git a/meta/recipes-connectivity/bind/bind/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/meta/recipes-connectivity/bind/bind/0001-named-lwresd-V-and-start-log-hide-build-options.patch
index 80a4f2abded..5871fb433cd 100644
--- a/meta/recipes-connectivity/bind/bind/0001-named-lwresd-V-and-start-log-hide-build-options.patch
+++ b/meta/recipes-connectivity/bind/bind/0001-named-lwresd-V-and-start-log-hide-build-options.patch
@@ -1,4 +1,4 @@
-From f28920a59b658fcda24efde1c45322f785a0b0fe Mon Sep 17 00:00:00 2001
+From 525570781b873c3434df49ac753afca7c1bd9613 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Mon, 27 Aug 2018 21:24:20 +0800
Subject: [PATCH] `named/lwresd -V' and start log hide build options
@@ -20,7 +20,7 @@ Signed-off-by: Armin Kuster <akuster@mvista.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 0bc3965..e1c2b12 100644
+index 4d02c6e..225f59c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -35,7 +35,7 @@ AC_DEFINE([PACKAGE_VERSION_EXTRA], ["][bind_VERSION_EXTRA]["], [BIND 9 Extra par
--git a/meta/recipes-connectivity/bind/bind/bind-ensure-searching-for-json-headers-searches-sysr.patch b/meta/recipes-connectivity/bind/bind/bind-ensure-searching-for-json-headers-searches-sysr.patch
index 323985a4025..73300b46e87 100644
--- a/meta/recipes-connectivity/bind/bind/bind-ensure-searching-for-json-headers-searches-sysr.patch
+++ b/meta/recipes-connectivity/bind/bind/bind-ensure-searching-for-json-headers-searches-sysr.patch
@@ -1,4 +1,4 @@
-From f003f396067e6cc1e2ec609b296bb642b8ddf47b Mon Sep 17 00:00:00 2001
+From 4388bec9a8ebd7d9dded4b1942a5670cdaec064f Mon Sep 17 00:00:00 2001
From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Tue, 9 Jun 2015 11:22:00 -0400
Subject: [PATCH] bind: ensure searching for json headers searches sysroot
@@ -32,7 +32,7 @@ Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 26c442a..0bc3965 100644
+index 75088e5..4d02c6e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -872,7 +872,7 @@ AS_CASE([$with_lmdb],
diff --git a/meta/recipes-connectivity/bind/bind/conf.patch b/meta/recipes-connectivity/bind/bind/conf.patch
index 28ee4ae74d3..f88f93951f1 100644
--- a/meta/recipes-connectivity/bind/bind/conf.patch
+++ b/meta/recipes-connectivity/bind/bind/conf.patch
@@ -1,4 +1,4 @@
-From 5fc3dfd3f994b5fd97e97837eee2ad808cd8af93 Mon Sep 17 00:00:00 2001
+From 65c90b60cc9f30c383b8e30b900abd04bc977bd1 Mon Sep 17 00:00:00 2001
From: Qing He <qing.he@intel.com>
Date: Tue, 30 Nov 2010 13:35:42 +0800
Subject: [PATCH] bind: add new recipe
diff --git a/meta/recipes-connectivity/bind/bind/init.d-add-support-for-read-only-rootfs.patch b/meta/recipes-connectivity/bind/bind/init.d-add-support-for-read-only-rootfs.patch
index b373251c47e..388335b2711 100644
--- a/meta/recipes-connectivity/bind/bind/init.d-add-support-for-read-only-rootfs.patch
+++ b/meta/recipes-connectivity/bind/bind/init.d-add-support-for-read-only-rootfs.patch
@@ -1,4 +1,4 @@
-From 42c109317070d19fda70635b7043cbc6f9ec36ef Mon Sep 17 00:00:00 2001
+From c58e1309e80449ecc1fa1fa793630b53c08f958e Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Thu, 27 Mar 2014 02:34:41 +0000
Subject: [PATCH] init.d: add support for read-only rootfs
diff --git a/meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch b/meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch
index 74cf947787a..bd6ada88228 100644
--- a/meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch
+++ b/meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch
@@ -1,4 +1,4 @@
-From 2e1314f2e71be15704ba18756250185b36a5c0da Mon Sep 17 00:00:00 2001
+From ad9cb821a119f441f6131e01715d5e0eab368fc0 Mon Sep 17 00:00:00 2001
From: Roy Li <rongqing.li@windriver.com>
Date: Thu, 15 Nov 2012 02:27:54 +0000
Subject: [PATCH] bind: make "/etc/init.d/bind stop" work
diff --git a/meta/recipes-connectivity/bind/bind_9.20.29.bb b/meta/recipes-connectivity/bind/bind_9.20.30.bb
similarity index 97%
rename from meta/recipes-connectivity/bind/bind_9.20.29.bb
rename to meta/recipes-connectivity/bind/bind_9.20.30.bb
index 5ce94d597b4..bf51c48b601 100644
--- a/meta/recipes-connectivity/bind/bind_9.20.29.bb
+++ b/meta/recipes-connectivity/bind/bind_9.20.30.bb
@@ -21,7 +21,7 @@ SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \
file://0001-m4-Backport-ax_prog_cc_for_build.m4-macros.patch \
"
-SRC_URI[sha256sum] = "587029508b3b1b43229fae416c97e5543aba45809cefaca98a5004a02a5736c1"
+SRC_URI[sha256sum] = "9e1443a40a72a30272cbc3196d020a6b2e26937111c83e59e101e82e1e3b4fef"
UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
# follow the ESV versions divisible by 2
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 23/35] recipe_sanity: Drop rename overwrite detection
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (21 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 22/35] bind: upgrade 9.20.29 -> 9.20.30 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 24/35] dropbear: add follow-up patches for CVE-2019-6111 Yoann Congal
` (12 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Bitbake itself checks for probelmatic renames now during key expansion so this
check shouldn't be needed anymore (it dates from pre 2011).
(https://git.openembedded.org/bitbake/tree/lib/bb/data.py#n96 in expandKeys())
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7944665886cb0bf881807a5d849ebdf42a33d1bf)
The corresponding bitbake change was merged in 2.18: 4986a548e (data: Fix
expandKeys recursion issue). Include this in wrynose as well so layers
using this class continue to work.
Signed-off-by: Anuj Mittal <anuj.mittal@oss.qualcomm.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
meta/classes/recipe_sanity.bbclass | 21 ---------------------
1 file changed, 21 deletions(-)
diff --git a/meta/classes/recipe_sanity.bbclass b/meta/classes/recipe_sanity.bbclass
index a5cc4315fb8..3c763de1f20 100644
--- a/meta/classes/recipe_sanity.bbclass
+++ b/meta/classes/recipe_sanity.bbclass
@@ -34,13 +34,6 @@ def req_vars(cfgdata, d):
elif val == cfgval:
__note("%s should be defined to something other than default (%s)" % (var, cfgval), d)
-def var_renames_overwrite(cfgdata, d):
- renames = d.getVar("__recipe_sanity_renames", False)
- if renames:
- for (key, newkey, oldvalue, newvalue) in renames:
- if oldvalue != newvalue and oldvalue != cfgdata.get(newkey):
- __note("rename of variable '%s' to '%s' overwrote existing value '%s' with '%s'." % (key, newkey, oldvalue, newvalue), d)
-
def incorrect_nonempty_PACKAGES(cfgdata, d):
if bb.data.inherits_class("native", d) or \
bb.data.inherits_class("cross", d):
@@ -113,7 +106,6 @@ python do_recipe_sanity () {
__note(msg, d)
can_delete_others(p, cfgdata, d)
- var_renames_overwrite(cfgdata, d)
req_vars(cfgdata, d)
bad_runtime_vars(cfgdata, d)
}
@@ -137,19 +129,6 @@ python recipe_sanity_eh () {
d.setVar("__recipe_sanity_cfgdata", cfgdata)
#d.setVar("__recipe_sanity_cfgdata", d)
-
- # Sick, very sick..
- from bb.data_smart import DataSmart
- old = DataSmart.renameVar
- def myrename(self, key, newkey):
- oldvalue = self.getVar(newkey, 0)
- old(self, key, newkey)
- newvalue = self.getVar(newkey, 0)
- if oldvalue:
- renames = self.getVar("__recipe_sanity_renames", 0) or set()
- renames.add((key, newkey, oldvalue, newvalue))
- self.setVar("__recipe_sanity_renames", renames)
- DataSmart.renameVar = myrename
}
addhandler recipe_sanity_eh
recipe_sanity_eh[eventmask] = "bb.event.ConfigParsed"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 24/35] dropbear: add follow-up patches for CVE-2019-6111
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (22 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 23/35] recipe_sanity: Drop rename overwrite detection Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 25/35] dropbear: patch CVE-2026-35385 Yoann Congal
` (11 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Peter Marko <peter.marko@siemens.com>
Pick additional patches referencing this CVE from 2026.90 or 2026.91
releases.
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
[YC: Note: this might change user-visible behavior:
a Remote to local "scp -r" into an existing directory will now
return an error.
]
---
.../dropbear/dropbear/CVE-2019-6111-01.patch | 364 ++++++++++++++++++
.../dropbear/dropbear/CVE-2019-6111-02.patch | 43 +++
.../dropbear/dropbear/CVE-2019-6111-03.patch | 34 ++
.../dropbear/dropbear/CVE-2019-6111-04.patch | 43 +++
.../recipes-core/dropbear/dropbear_2025.89.bb | 4 +
5 files changed, 488 insertions(+)
create mode 100644 meta/recipes-core/dropbear/dropbear/CVE-2019-6111-01.patch
create mode 100644 meta/recipes-core/dropbear/dropbear/CVE-2019-6111-02.patch
create mode 100644 meta/recipes-core/dropbear/dropbear/CVE-2019-6111-03.patch
create mode 100644 meta/recipes-core/dropbear/dropbear/CVE-2019-6111-04.patch
diff --git a/meta/recipes-core/dropbear/dropbear/CVE-2019-6111-01.patch b/meta/recipes-core/dropbear/dropbear/CVE-2019-6111-01.patch
new file mode 100644
index 00000000000..8e6da5fc23f
--- /dev/null
+++ b/meta/recipes-core/dropbear/dropbear/CVE-2019-6111-01.patch
@@ -0,0 +1,364 @@
+From 143291baca6ebb3407a0c25c85bd53bf041a6ab7 Mon Sep 17 00:00:00 2001
+From: Matt Johnston <matt@ucc.asn.au>
+Date: Mon, 20 Apr 2026 20:57:11 +0800
+Subject: [PATCH] scp: more CVE-2019-6111 fix
+
+Cherrypicked from OpenSSH portable
+
+commit 3d896c157c722bc47adca51a58dca859225b5874
+djm Sun Feb 10 11:15:52 2019 +0000
+
+upstream: when checking that filenames sent by the server side
+
+match what the client requested, be prepared to handle shell-style brace
+alternations, e.g. "{foo,bar}".
+
+"looks good to me" millert@ + in snaps for the last week courtesy
+deraadt@
+
+CVE: CVE-2019-6111
+Upstream-Status: Backport [https://github.com/mkj/dropbear/commit/143291baca6ebb3407a0c25c85bd53bf041a6ab7]
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ src/scp.c | 281 +++++++++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 269 insertions(+), 12 deletions(-)
+
+diff --git a/src/scp.c b/src/scp.c
+index bf98986c..d151587c 100644
+--- a/src/scp.c
++++ b/src/scp.c
+@@ -74,7 +74,6 @@
+ */
+
+ #include "includes.h"
+-/*RCSID("$OpenBSD: scp.c,v 1.130 2006/01/31 10:35:43 djm Exp $");*/
+
+ #include <fnmatch.h>
+
+@@ -600,6 +599,253 @@ tolocal(int argc, char **argv)
+ }
+ }
+
++/* Appends a string to an array; returns 0 on success, -1 on alloc failure */
++static int
++append(char *cp, char ***ap, size_t *np)
++{
++ char **tmp;
++
++ if ((tmp = reallocarray(*ap, *np + 1, sizeof(*tmp))) == NULL)
++ return -1;
++ tmp[(*np)] = cp;
++ (*np)++;
++ *ap = tmp;
++ return 0;
++}
++
++/*
++ * Finds the start and end of the first brace pair in the pattern.
++ * returns 0 on success or -1 for invalid patterns.
++ */
++static int
++find_brace(const char *pattern, int *startp, int *endp)
++{
++ int i;
++ int in_bracket, brace_level;
++
++ *startp = *endp = -1;
++ in_bracket = brace_level = 0;
++ for (i = 0; i < INT_MAX && *endp < 0 && pattern[i] != '\0'; i++) {
++ switch (pattern[i]) {
++ case '\\':
++ /* skip next character */
++ if (pattern[i + 1] != '\0')
++ i++;
++ break;
++ case '[':
++ in_bracket = 1;
++ break;
++ case ']':
++ in_bracket = 0;
++ break;
++ case '{':
++ if (in_bracket)
++ break;
++ if (pattern[i + 1] == '}') {
++ /* Protect a single {}, for find(1), like csh */
++ i++; /* skip */
++ break;
++ }
++ if (*startp == -1)
++ *startp = i;
++ brace_level++;
++ break;
++ case '}':
++ if (in_bracket)
++ break;
++ if (*startp < 0) {
++ /* Unbalanced brace */
++ return -1;
++ }
++ if (--brace_level <= 0)
++ *endp = i;
++ break;
++ }
++ }
++ /* unbalanced brackets/braces */
++ if (*endp < 0 && (*startp >= 0 || in_bracket))
++ return -1;
++ return 0;
++}
++
++/*
++ * Assembles and records a successfully-expanded pattern, returns -1 on
++ * alloc failure.
++ */
++static int
++emit_expansion(const char *pattern, int brace_start, int brace_end,
++ int sel_start, int sel_end, char ***patternsp, size_t *npatternsp)
++{
++ char *cp;
++ int o = 0, tail_len = strlen(pattern + brace_end + 1);
++
++ if ((cp = malloc(brace_start + (sel_end - sel_start) +
++ tail_len + 1)) == NULL)
++ return -1;
++
++ /* Pattern before initial brace */
++ if (brace_start > 0) {
++ memcpy(cp, pattern, brace_start);
++ o = brace_start;
++ }
++ /* Current braced selection */
++ if (sel_end - sel_start > 0) {
++ memcpy(cp + o, pattern + sel_start,
++ sel_end - sel_start);
++ o += sel_end - sel_start;
++ }
++ /* Remainder of pattern after closing brace */
++ if (tail_len > 0) {
++ memcpy(cp + o, pattern + brace_end + 1, tail_len);
++ o += tail_len;
++ }
++ cp[o] = '\0';
++ if (append(cp, patternsp, npatternsp) != 0) {
++ free(cp);
++ return -1;
++ }
++ return 0;
++}
++
++/*
++ * Expand the first encountered brace in pattern, appending the expanded
++ * patterns it yielded to the *patternsp array.
++ *
++ * Returns 0 on success or -1 on allocation failure.
++ *
++ * Signals whether expansion was performed via *expanded and whether
++ * pattern was invalid via *invalid.
++ */
++static int
++brace_expand_one(const char *pattern, char ***patternsp, size_t *npatternsp,
++ int *expanded, int *invalid)
++{
++ int i;
++ int in_bracket, brace_start, brace_end, brace_level;
++ int sel_start, sel_end;
++
++ *invalid = *expanded = 0;
++
++ if (find_brace(pattern, &brace_start, &brace_end) != 0) {
++ *invalid = 1;
++ return 0;
++ } else if (brace_start == -1)
++ return 0;
++
++ in_bracket = brace_level = 0;
++ for (i = sel_start = brace_start + 1; i < brace_end; i++) {
++ switch (pattern[i]) {
++ case '{':
++ if (in_bracket)
++ break;
++ brace_level++;
++ break;
++ case '}':
++ if (in_bracket)
++ break;
++ brace_level--;
++ break;
++ case '[':
++ in_bracket = 1;
++ break;
++ case ']':
++ in_bracket = 0;
++ break;
++ case '\\':
++ if (i < brace_end - 1)
++ i++; /* skip */
++ break;
++ }
++ if (pattern[i] == ',' || i == brace_end - 1) {
++ if (in_bracket || brace_level > 0)
++ continue;
++ /* End of a selection, emit an expanded pattern */
++
++ /* Adjust end index for last selection */
++ sel_end = (i == brace_end - 1) ? brace_end : i;
++ if (emit_expansion(pattern, brace_start, brace_end,
++ sel_start, sel_end, patternsp, npatternsp) != 0)
++ return -1;
++ /* move on to the next selection */
++ sel_start = i + 1;
++ continue;
++ }
++ }
++ if (in_bracket || brace_level > 0) {
++ *invalid = 1;
++ return 0;
++ }
++ /* success */
++ *expanded = 1;
++ return 0;
++}
++
++/* Expand braces from pattern. Returns 0 on success, -1 on failure */
++static int
++brace_expand(const char *pattern, char ***patternsp, size_t *npatternsp)
++{
++ char *cp, *cp2, **active = NULL, **done = NULL;
++ size_t i, nactive = 0, ndone = 0;
++ int ret = -1, invalid = 0, expanded = 0;
++
++ *patternsp = NULL;
++ *npatternsp = 0;
++
++ /* Start the worklist with the original pattern */
++ if ((cp = strdup(pattern)) == NULL)
++ return -1;
++ if (append(cp, &active, &nactive) != 0) {
++ free(cp);
++ return -1;
++ }
++ while (nactive > 0) {
++ cp = active[nactive - 1];
++ nactive--;
++ if (brace_expand_one(cp, &active, &nactive,
++ &expanded, &invalid) == -1) {
++ free(cp);
++ goto fail;
++ }
++ if (invalid)
++ fatal("%s: invalid brace pattern \"%s\"", __func__, cp);
++ if (expanded) {
++ /*
++ * Current entry expanded to new entries on the
++ * active list; discard the progenitor pattern.
++ */
++ free(cp);
++ continue;
++ }
++ /*
++ * Pattern did not expand; append the finename component to
++ * the completed list
++ */
++ if ((cp2 = strrchr(cp, '/')) != NULL)
++ *cp2++ = '\0';
++ else
++ cp2 = cp;
++ if (append(xstrdup(cp2), &done, &ndone) != 0) {
++ free(cp);
++ goto fail;
++ }
++ free(cp);
++ }
++ /* success */
++ *patternsp = done;
++ *npatternsp = ndone;
++ done = NULL;
++ ndone = 0;
++ ret = 0;
++ fail:
++ for (i = 0; i < nactive; i++)
++ free(active[i]);
++ free(active);
++ for (i = 0; i < ndone; i++)
++ free(done[i]);
++ free(done);
++ return ret;
++}
++
+ void
+ source(int argc, char **argv)
+ {
+@@ -841,7 +1087,8 @@ sink(int argc, char **argv, const char *src)
+ off_t size, statbytes;
+ int setimes, targisdir, wrerrno = 0;
+ char ch, *cp, *np, *targ, *why, *vect[1], buf[2048];
+- char *src_copy = NULL, *restrict_pattern = NULL;
++ char **patterns = NULL;
++ size_t n, npatterns = 0;
+ struct timeval tv[2];
+
+ #define atime tv[0]
+@@ -868,16 +1115,13 @@ sink(int argc, char **argv, const char *src)
+ * Prepare to try to restrict incoming filenames to match
+ * the requested destination file glob.
+ */
+- if ((src_copy = strdup(src)) == NULL)
+- fatal("strdup failed");
+- if ((restrict_pattern = strrchr(src_copy, '/')) != NULL) {
+- *restrict_pattern++ = '\0';
+- }
++ if (brace_expand(src, &patterns, &npatterns) != 0)
++ fatal("%s: could not expand pattern", __func__);
+ }
+ for (first = 1;; first = 0) {
+ cp = buf;
+ if (atomicio(read, remin, cp, 1) != 1)
+- return;
++ goto done;
+ if (*cp++ == '\n')
+ SCREWUP("unexpected <newline>");
+ do {
+@@ -900,7 +1144,7 @@ sink(int argc, char **argv, const char *src)
+ }
+ if (buf[0] == 'E') {
+ (void) atomicio(vwrite, remout, "", 1);
+- return;
++ goto done;
+ }
+ if (ch == '\n')
+ *--cp = 0;
+@@ -956,9 +1200,14 @@ sink(int argc, char **argv, const char *src)
+ run_err("error: unexpected filename: %s", cp);
+ exit(1);
+ }
+- if (restrict_pattern != NULL &&
+- fnmatch(restrict_pattern, cp, 0) != 0)
+- SCREWUP("filename does not match request");
++ if (npatterns > 0) {
++ for (n = 0; n < npatterns; n++) {
++ if (fnmatch(patterns[n], cp, 0) == 0)
++ break;
++ }
++ if (n >= npatterns)
++ SCREWUP("filename does not match request");
++ }
+ if (targisdir) {
+ static char *namebuf = NULL;
+ static size_t cursize = 0;
+@@ -1123,7 +1372,15 @@ bad: run_err("%s: %s", np, strerror(errno));
+ break;
+ }
+ }
++done:
++ for (n = 0; n < npatterns; n++)
++ free(patterns[n]);
++ free(patterns);
++ return;
+ screwup:
++ for (n = 0; n < npatterns; n++)
++ free(patterns[n]);
++ free(patterns);
+ run_err("protocol error: %s", why);
+ exit(1);
+ }
diff --git a/meta/recipes-core/dropbear/dropbear/CVE-2019-6111-02.patch b/meta/recipes-core/dropbear/dropbear/CVE-2019-6111-02.patch
new file mode 100644
index 00000000000..99819b732ad
--- /dev/null
+++ b/meta/recipes-core/dropbear/dropbear/CVE-2019-6111-02.patch
@@ -0,0 +1,43 @@
+From 61bd0e3e6573277de17359763aa5827a189c8d7f Mon Sep 17 00:00:00 2001
+From: Matt Johnston <matt@ucc.asn.au>
+Date: Sat, 2 May 2026 08:43:26 +0800
+Subject: [PATCH] scp: Disallow -r to an existing directory
+
+Checks of received paths don't catch all cases in -r recursive mode, so
+disallow -r when the destination directory exists. This mitigates
+CVE-2019-6111, where unexpected files would be accepted from a malicious
+scp server.
+
+Alternatives like rsync could be used in that case.
+
+The new error message may be misleading if parent path components of the
+destination are also missing, though the command would have failed
+regardless.
+
+CVE: CVE-2019-6111
+Upstream-Status: Backport [https://github.com/mkj/dropbear/commit/61bd0e3e6573277de17359763aa5827a189c8d7f]
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ src/scp.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/src/scp.c b/src/scp.c
+index d151587c..09297a5b 100644
+--- a/src/scp.c
++++ b/src/scp.c
+@@ -583,6 +583,15 @@ tolocal(int argc, char **argv)
+ if (*suser == '\0')
+ suser = NULL;
+ }
++
++ char *dest = *(argv + argc - 1);
++ if (!(access(dest, F_OK) == 0 && errno == ENOENT)) {
++ /* paths sent from the server in recursive mode aren't adequately
++ * checked that they match the requested files, so disallow this */
++ fprintf(stderr, "-r destination \"%s\" must not already exist\n", dest);
++ exit(1);
++ }
++
+ host = cleanhostname(host);
+ len = strlen(src) + CMDNEEDS + 20;
+ bp = xmalloc(len);
diff --git a/meta/recipes-core/dropbear/dropbear/CVE-2019-6111-03.patch b/meta/recipes-core/dropbear/dropbear/CVE-2019-6111-03.patch
new file mode 100644
index 00000000000..c70bf4bb68c
--- /dev/null
+++ b/meta/recipes-core/dropbear/dropbear/CVE-2019-6111-03.patch
@@ -0,0 +1,34 @@
+From 0c5629a5d543ef5e4eff43345b1eedf2afef84ca Mon Sep 17 00:00:00 2001
+From: Matt Johnston <matt@ucc.asn.au>
+Date: Mon, 4 May 2026 21:35:57 +0800
+Subject: [PATCH] scp: don't use reallocarray
+
+reallocarray() isn't portable. An overflow check can be used instead.
+
+Fixes: 143291baca6e ("scp: more CVE-2019-6111 fix")
+
+CVE: CVE-2019-6111
+Upstream-Status: Backport [https://github.com/mkj/dropbear/commit/0c5629a5d543ef5e4eff43345b1eedf2afef84ca]
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ src/scp.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/scp.c b/src/scp.c
+index e5ce4e2f..2f7a6279 100644
+--- a/src/scp.c
++++ b/src/scp.c
+@@ -614,7 +614,12 @@ append(char *cp, char ***ap, size_t *np)
+ {
+ char **tmp;
+
+- if ((tmp = reallocarray(*ap, *np + 1, sizeof(*tmp))) == NULL)
++ if (*np + 1 > (SIZE_MAX / sizeof(*tmp))) {
++ /* overflow */
++ return -1;
++ }
++
++ if ((tmp = realloc(*ap, (*np + 1) * sizeof(*tmp))) == NULL)
+ return -1;
+ tmp[(*np)] = cp;
+ (*np)++;
diff --git a/meta/recipes-core/dropbear/dropbear/CVE-2019-6111-04.patch b/meta/recipes-core/dropbear/dropbear/CVE-2019-6111-04.patch
new file mode 100644
index 00000000000..810e7e7963c
--- /dev/null
+++ b/meta/recipes-core/dropbear/dropbear/CVE-2019-6111-04.patch
@@ -0,0 +1,43 @@
+From 16ce059ed8e914e210af67e199041943ec747034 Mon Sep 17 00:00:00 2001
+From: Matt Johnston <matt@ucc.asn.au>
+Date: Mon, 4 May 2026 21:36:41 +0800
+Subject: [PATCH] scp: fix recursive overwrite check
+
+Non-recursive transfers were incorrectly disallowed to an existing
+destination.
+
+In addition, the destination check logic was wrong.
+
+Fixes: 61bd0e3e6573 ("scp: Disallow -r to an existing directory")
+
+CVE: CVE-2019-6111
+Upstream-Status: Backport [https://github.com/mkj/dropbear/commit/16ce059ed8e914e210af67e199041943ec747034]
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ src/scp.c | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/src/scp.c b/src/scp.c
+index 2f7a6279..4b4990ea 100644
+--- a/src/scp.c
++++ b/src/scp.c
+@@ -585,11 +585,14 @@ tolocal(int argc, char **argv)
+ }
+
+ char *dest = *(argv + argc - 1);
+- if (!(access(dest, F_OK) == 0 && errno == ENOENT)) {
+- /* paths sent from the server in recursive mode aren't adequately
+- * checked that they match the requested files, so disallow this */
+- fprintf(stderr, "-r destination \"%s\" must not already exist\n", dest);
+- exit(1);
++ if (iamrecursive) {
++ /* Destination must not exist */
++ if (!(access(dest, F_OK) == -1 && errno == ENOENT)) {
++ /* paths sent from the server in recursive mode aren't adequately
++ * checked that they match the requested files, so disallow this */
++ fprintf(stderr, "-r destination \"%s\" must not already exist\n", dest);
++ exit(1);
++ }
+ }
+
+ host = cleanhostname(host);
diff --git a/meta/recipes-core/dropbear/dropbear_2025.89.bb b/meta/recipes-core/dropbear/dropbear_2025.89.bb
index 685ecf9a1b3..6cb520f68d9 100644
--- a/meta/recipes-core/dropbear/dropbear_2025.89.bb
+++ b/meta/recipes-core/dropbear/dropbear_2025.89.bb
@@ -25,6 +25,10 @@ SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
file://dropbear.socket \
file://dropbear.default \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+ file://CVE-2019-6111-01.patch \
+ file://CVE-2019-6111-02.patch \
+ file://CVE-2019-6111-03.patch \
+ file://CVE-2019-6111-04.patch \
"
SRC_URI[sha256sum] = "0d1f7ca711cfc336dc8a85e672cab9cfd8223a02fe2da0a4a7aeb58c9e113634"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 25/35] dropbear: patch CVE-2026-35385
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (23 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 24/35] dropbear: add follow-up patches for CVE-2019-6111 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 26/35] python3-urllib3: Fix CVE-2026-44432 Yoann Congal
` (10 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Peter Marko <peter.marko@siemens.com>
Pick patch referencing this CVE from 2026.90 release.
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
.../dropbear/dropbear/CVE-2026-35385.patch | 42 +++++++++++++++++++
.../recipes-core/dropbear/dropbear_2025.89.bb | 1 +
2 files changed, 43 insertions(+)
create mode 100644 meta/recipes-core/dropbear/dropbear/CVE-2026-35385.patch
diff --git a/meta/recipes-core/dropbear/dropbear/CVE-2026-35385.patch b/meta/recipes-core/dropbear/dropbear/CVE-2026-35385.patch
new file mode 100644
index 00000000000..6794acd57a0
--- /dev/null
+++ b/meta/recipes-core/dropbear/dropbear/CVE-2026-35385.patch
@@ -0,0 +1,42 @@
+From 443ccc1fd1b9a4e3747f6b5cd644b7af49064308 Mon Sep 17 00:00:00 2001
+From: Matt Johnston <matt@ucc.asn.au>
+Date: Sat, 2 May 2026 08:17:25 +0800
+Subject: [PATCH] scp: clear setuid/setgid bits on received files
+
+From openssh-portable 487e8ac146f7d6616f65c125d5edb210519b833a
+Tracked as CVE-2026-35385
+
+upstream: when downloading files as root in legacy (-O) mode and
+
+without the -p (preserve modes) flag set, clear setuid/setgid bits from
+downloaded files as one might expect.
+
+AFAIK this bug dates back to the original Berkeley rcp program.
+
+Reported by Christos Papakonstantinou of Cantina and Spearbit.
+
+OpenBSD-Commit-ID: 49e902fca8dd933a92a9b547ab31f63e86729fa1
+
+CVE: CVE-2026-35385
+Upstream-Status: Backport [https://github.com/mkj/dropbear/commit/443ccc1fd1b9a4e3747f6b5cd644b7af49064308]
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ src/scp.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/scp.c b/src/scp.c
+index 09297a5b..79b0a12d 100644
+--- a/src/scp.c
++++ b/src/scp.c
+@@ -1114,8 +1114,10 @@ sink(int argc, char **argv, const char *src)
+
+ setimes = targisdir = 0;
+ mask = umask(0);
+- if (!pflag)
++ if (!pflag) {
++ mask |= 07000;
+ (void) umask(mask);
++ }
+ if (argc != 1) {
+ run_err("ambiguous target");
+ exit(1);
diff --git a/meta/recipes-core/dropbear/dropbear_2025.89.bb b/meta/recipes-core/dropbear/dropbear_2025.89.bb
index 6cb520f68d9..9f04327bd1a 100644
--- a/meta/recipes-core/dropbear/dropbear_2025.89.bb
+++ b/meta/recipes-core/dropbear/dropbear_2025.89.bb
@@ -29,6 +29,7 @@ SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
file://CVE-2019-6111-02.patch \
file://CVE-2019-6111-03.patch \
file://CVE-2019-6111-04.patch \
+ file://CVE-2026-35385.patch \
"
SRC_URI[sha256sum] = "0d1f7ca711cfc336dc8a85e672cab9cfd8223a02fe2da0a4a7aeb58c9e113634"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 26/35] python3-urllib3: Fix CVE-2026-44432
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (24 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 25/35] dropbear: patch CVE-2026-35385 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 27/35] python3-urllib3: Fix CVE-2026-97687 Yoann Congal
` (9 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Yogita Urade <yurade@cisco.com>
This patch applies the upstream fix as referenced in [2],
using the commit shown in [1].
[1] https://github.com/urllib3/urllib3/commit/2bdcc44d1e163fb5cc48a8662425e35e15adfe6a
[2] https://security-tracker.debian.org/tracker/CVE-2026-44432
Signed-off-by: Yogita Urade <yurade@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
.../python3-urllib3/CVE-2026-44432.patch | 157 ++++++++++++++++++
.../python/python3-urllib3_2.6.3.bb | 1 +
2 files changed, 158 insertions(+)
create mode 100644 meta/recipes-devtools/python/python3-urllib3/CVE-2026-44432.patch
diff --git a/meta/recipes-devtools/python/python3-urllib3/CVE-2026-44432.patch b/meta/recipes-devtools/python/python3-urllib3/CVE-2026-44432.patch
new file mode 100644
index 00000000000..2cccc0a9a10
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-urllib3/CVE-2026-44432.patch
@@ -0,0 +1,157 @@
+From 2bdcc44d1e163fb5cc48a8662425e35e15adfe6a Mon Sep 17 00:00:00 2001
+From: Illia Volochii <illia.volochii@gmail.com>
+Date: Thu, 7 May 2026 18:39:03 +0300
+Subject: [PATCH] Merge commit from fork
+
+* Avoid any decoding in `HTTPResponse.drain_conn`
+
+* Add a comment
+
+* Simplify `drain_conn`
+
+* Add tests
+
+* Add additional checks to the test
+
+* Fix full decompression on the 2nd small read from response using Brotli
+
+* Add a changelog entry
+
+* Inverse the order in the changelog entry
+
+* Mention `stream` call
+
+CVE: CVE-2026-44432
+Upstream-Status: Backport [https://github.com/urllib3/urllib3/commit/2bdcc44d1e163fb5cc48a8662425e35e15adfe6a]
+
+Backport Changes:
+- Omitted changelog/GHSA-mf9v-mfxr-j63j.bugfix.rst because the OE recipe
+ backport applies the runtime fix and tests; the package does not ship it.
+
+Signed-off-by: Yogita Urade <yurade@cisco.com>
+---
+ src/urllib3/response.py | 17 +++++++++++------
+ test/test_response.py | 24 +++++++++++++++++++++---
+ test/with_dummyserver/test_connection.py | 19 +++++++++++++++++++
+ 3 files changed, 51 insertions(+), 9 deletions(-)
+
+diff --git a/src/urllib3/response.py b/src/urllib3/response.py
+index 521c31b282..e9246b75e3 100644
+--- a/src/urllib3/response.py
++++ b/src/urllib3/response.py
+@@ -798,13 +798,14 @@ def drain_conn(self) -> None:
+ Unread data in the HTTPResponse connection blocks the connection from being released back to the pool.
+ """
+ try:
+- self.read(
+- # Do not spend resources decoding the content unless
+- # decoding has already been initiated.
+- decode_content=self._has_decoded_content,
+- )
++ self._raw_read()
+ except (HTTPError, OSError, BaseSSLError, HTTPException):
+ pass
++ if self._has_decoded_content:
++ # `_raw_read` skips decompression, so we should clean up the
++ # decoder to avoid keeping unnecessary data in memory.
++ self._decoded_buffer = BytesQueueBuffer()
++ self._decoder = None
+
+ @property
+ def data(self) -> bytes:
+@@ -1091,7 +1092,11 @@ def read(
+ elif amt is not None:
+ cache_content = False
+
+- if self._decoder and self._decoder.has_unconsumed_tail:
++ if (
++ self._decoder
++ and self._decoder.has_unconsumed_tail
++ and len(self._decoded_buffer) < amt
++ ):
+ decoded_data = self._decode(
+ b"",
+ decode_content,
+
+diff --git a/test/test_response.py b/test/test_response.py
+index c70262c04e..da521137bf 100644
+--- a/test/test_response.py
++++ b/test/test_response.py
+@@ -858,22 +858,33 @@ def test_memory_usage_decode_with_max_length(
+ pytest.skip(f"Proper {request.node.callspec.id} decoder is not available")
+
+ name, compressed_data = data
+- limit = 1024 * 1024 # 1 MiB
++ limit1 = 1024 * 1024 # 1 MiB
++ # We test with two read calls because the second call may be
++ # able to use the internal buffer filled by the first call, and
++ # we want to ensure that full decompression is never triggered
++ # by the second call. The limit for the second call is lowered
++ # to make sure that the internal buffer is used for the Brotli
++ # case specifically https://github.com/google/brotli/issues/1396
++ limit2 = 1024 # 1 KiB
+ if read_method in ("read_chunked", "stream"):
+ httplib_r = httplib.HTTPResponse(MockSock) # type: ignore[arg-type]
++ httplib_r.chunked = True
++ httplib_r.chunk_left = 1
+ httplib_r.fp = MockChunkedEncodingResponse([compressed_data]) # type: ignore[assignment]
+ r = HTTPResponse(
+ httplib_r,
+ preload_content=False,
+ headers={"transfer-encoding": "chunked", "content-encoding": name},
+ )
+- next(getattr(r, read_method)(amt=limit, decode_content=True))
++ for limit in (limit1, limit2):
++ next(getattr(r, read_method)(amt=limit, decode_content=True))
+ else:
+ fp = BytesIO(compressed_data)
+ r = HTTPResponse(
+ fp, headers={"content-encoding": name}, preload_content=False
+ )
+- getattr(r, read_method)(amt=limit, decode_content=True)
++ for limit in (limit1, limit2):
++ getattr(r, read_method)(amt=limit, decode_content=True)
+
+ # Check that the internal decoded buffer is empty unless brotli
+ # is used.
+@@ -883,6 +894,13 @@ def test_memory_usage_decode_with_max_length(
+ if name != "br" or brotli.__name__ == "brotlicffi":
+ assert len(r._decoded_buffer) == 0
+
++ # Check that memory usage is still within the limit while the
++ # connection is being drained, meaning that the call does not
++ # decompress the whole content.
++ r.drain_conn()
++ assert r._decoder is None
++ assert len(r._decoded_buffer) == 0
++
+ def test_multi_decoding_deflate_deflate(self) -> None:
+ data = zlib.compress(zlib.compress(b"foo"))
+
+diff --git a/test/with_dummyserver/test_connection.py b/test/with_dummyserver/test_connection.py
+index b9c547c00f..940815dac2 100644
+--- a/test/with_dummyserver/test_connection.py
++++ b/test/with_dummyserver/test_connection.py
+@@ -138,3 +138,22 @@ def test_invalid_tunnel_scheme(pool: HTTPConnectionPool) -> None:
+ str(e.value)
+ == "Invalid proxy scheme for tunneling: 'socks', must be either 'http' or 'https'"
+ )
++
++
++def test_response_after_drain_conn(pool: HTTPConnectionPool) -> None:
++ """
++ Test that a connection can be reused after calling `drain_conn` on
++ an unread response.
++ """
++ conn = pool._get_conn()
++
++ conn.request("GET", "/", preload_content=False)
++ response = conn.getresponse()
++ assert response.status == 200
++ response.drain_conn()
++
++ conn.request("GET", "/", preload_content=False)
++ response = conn.getresponse()
++ assert response.status == 200
++
++ conn.close()
diff --git a/meta/recipes-devtools/python/python3-urllib3_2.6.3.bb b/meta/recipes-devtools/python/python3-urllib3_2.6.3.bb
index 537a68cdabf..b9d9b5671e4 100644
--- a/meta/recipes-devtools/python/python3-urllib3_2.6.3.bb
+++ b/meta/recipes-devtools/python/python3-urllib3_2.6.3.bb
@@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=52d273a3054ced561275d4d15260ecda"
SRC_URI += "file://CVE-2026-44431.patch \
file://CVE-2026-97689.patch \
+ file://CVE-2026-44432.patch \
"
SRC_URI[sha256sum] = "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 27/35] python3-urllib3: Fix CVE-2026-97687
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (25 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 26/35] python3-urllib3: Fix CVE-2026-44432 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 28/35] python3-urllib3: Fix CVE-2026-97688 Yoann Congal
` (8 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Yogita Urade <yurade@cisco.com>
This patch applies the upstream fix as referenced in [3],
using the commit shown in [1] and [2].
[1] https://github.com/urllib3/urllib3/commit/b6447295fff7b38fdffc67e0df9712d60cef3cc3
[2] https://github.com/urllib3/urllib3/commit/07408cec79d1856d81bb42c74a904a24fdb9e465
[3] https://security-tracker.debian.org/tracker/CVE-2026-97687
Signed-off-by: Yogita Urade <yurade@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
.../python3-urllib3/CVE-2026-97687_p1.patch | 277 +++++++++++
.../python3-urllib3/CVE-2026-97687_p2.patch | 450 ++++++++++++++++++
.../python/python3-urllib3_2.6.3.bb | 2 +
3 files changed, 729 insertions(+)
create mode 100644 meta/recipes-devtools/python/python3-urllib3/CVE-2026-97687_p1.patch
create mode 100644 meta/recipes-devtools/python/python3-urllib3/CVE-2026-97687_p2.patch
diff --git a/meta/recipes-devtools/python/python3-urllib3/CVE-2026-97687_p1.patch b/meta/recipes-devtools/python/python3-urllib3/CVE-2026-97687_p1.patch
new file mode 100644
index 00000000000..5bd1b8f2d71
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-urllib3/CVE-2026-97687_p1.patch
@@ -0,0 +1,277 @@
+From b6447295fff7b38fdffc67e0df9712d60cef3cc3 Mon Sep 17 00:00:00 2001
+From: Dustin Hoeppner <dhoepp@me.com>
+Date: Fri, 12 Jun 2026 08:27:08 -0500
+Subject: [PATCH] Fix `proxy_ssl_context` ignored for HTTPS forwarding proxies
+ (#3786)
+
+Co-authored-by: Illia Volochii <illia.volochii@gmail.com>
+
+CVE: CVE-2026-97687
+Upstream-Status: Backport [https://github.com/urllib3/urllib3/commit/b6447295fff7b38fdffc67e0df9712d60cef3cc3]
+
+Backport Changes:
+- Omitted changelog/2577.bugfix.rst because the OE recipe backport applies
+ the runtime fix and tests; the package does not ship it.
+
+Signed-off-by: Yogita Urade <yurade@cisco.com>
+---
+ src/urllib3/connection.py | 16 ++
+ src/urllib3/poolmanager.py | 15 ++
+ test/with_dummyserver/test_proxy_poolmanager.py | 149 +++++++++++++++++++++--
+ 3 files changed, 163 insertions(+), 17 deletions(-)
+
+diff --git a/src/urllib3/connection.py b/src/urllib3/connection.py
+index 84e1dab945..49d1c11ea7 100644
+--- a/src/urllib3/connection.py
++++ b/src/urllib3/connection.py
+@@ -793,6 +793,20 @@ def connect(self) -> None:
+ # Remove trailing '.' from fqdn hostnames to allow certificate validation
+ server_hostname_rm_dot = server_hostname.rstrip(".")
+
++ # Forwarding proxies should use proxy SSL context for
++ # wrapping since that's the connection being established,
++ # whereas tunneling proxies should use the connection's SSL
++ # context.
++ # However, for backwards compatibility reasons, if the proxy
++ # is forwarding but no proxy SSL context is provided, we
++ # fall back to using the connection's SSL context until
++ # urllib3 v3.0. Appropriate warning is emitted in
++ # ``ProxyManager.__init__``.
++ if self.proxy_is_forwarding and self.proxy_config is not None:
++ ssl_context = self.proxy_config.ssl_context
++ else:
++ ssl_context = self.ssl_context
++
+ sock_and_verified = _ssl_wrap_socket_and_match_hostname(
+ sock=sock,
+ cert_reqs=self.cert_reqs,
+@@ -806,7 +820,7 @@ def connect(self) -> None:
+ key_file=self.key_file,
+ key_password=self.key_password,
+ server_hostname=server_hostname_rm_dot,
+- ssl_context=self.ssl_context,
++ ssl_context=ssl_context,
+ tls_in_tls=tls_in_tls,
+ assert_hostname=self.assert_hostname,
+ assert_fingerprint=self.assert_fingerprint,
+
+diff --git a/src/urllib3/poolmanager.py b/src/urllib3/poolmanager.py
+index 3914dec268..b7248d210d 100644
+--- a/src/urllib3/poolmanager.py
++++ b/src/urllib3/poolmanager.py
+@@ -581,6 +581,21 @@ def __init__(
+ if proxy.scheme not in ("http", "https"):
+ raise ProxySchemeUnknown(proxy.scheme)
+
++ if (
++ use_forwarding_for_https
++ and proxy.scheme == "https"
++ and connection_pool_kw.get("ssl_context") is not None
++ ):
++ warnings.warn(
++ "Passing ssl_context when use_forwarding_for_https=True is deprecated "
++ "and will raise an error in urllib3 v3.0. "
++ "Use proxy_ssl_context to configure the TLS connection to the proxy.",
++ FutureWarning,
++ stacklevel=2,
++ )
++ if proxy_ssl_context is None:
++ proxy_ssl_context = connection_pool_kw.get("ssl_context")
++
+ if not proxy.port:
+ port = port_by_scheme.get(proxy.scheme, 80)
+ proxy = proxy._replace(port=port)
+
+diff --git a/test/with_dummyserver/test_proxy_poolmanager.py b/test/with_dummyserver/test_proxy_poolmanager.py
+index 6921bc6d22..48f9704b9a 100644
+--- a/test/with_dummyserver/test_proxy_poolmanager.py
++++ b/test/with_dummyserver/test_proxy_poolmanager.py
+@@ -10,6 +10,7 @@
+ import socket
+ import ssl
+ import tempfile
++import typing
+ from test import LONG_TIMEOUT, SHORT_TIMEOUT, resolvesLocalhostFQDN, withPyOpenSSL
+ from test.conftest import ServerConfig
+
+@@ -24,7 +25,7 @@
+ )
+ from urllib3 import HTTPResponse
+ from urllib3._collections import HTTPHeaderDict
+-from urllib3.connection import VerifiedHTTPSConnection
++from urllib3.connection import HTTPSConnection, VerifiedHTTPSConnection
+ from urllib3.connectionpool import connection_from_url
+ from urllib3.exceptions import (
+ ConnectTimeoutError,
+@@ -166,6 +167,43 @@ def test_https_proxy_forwarding_for_https(self) -> None:
+ r = https.request("GET", f"{self.https_url}/")
+ assert r.status == 200
+
++ @requires_network()
++ @pytest.mark.parametrize(
++ "proxy_ssl_context_kw",
++ [
++ ("ssl_context",),
++ ("proxy_ssl_context",),
++ ("ssl_context", "proxy_ssl_context"),
++ ],
++ )
++ def test_https_proxy_forwarding_for_https_with_custom_context(
++ self, proxy_ssl_context_kw: tuple[str, ...]
++ ) -> None:
++ """
++ Test that an HTTP request succeeds when using a forwarding HTTPS
++ proxy with an SSL context provided via either
++ ``proxy_ssl_context``, ``ssl_context`` (fallback), or both.
++ """
++
++ proxy_ctx = ssl.create_default_context()
++ proxy_ctx.load_verify_locations(DEFAULT_CA)
++
++ warning_checker: contextlib.AbstractContextManager[typing.Any]
++ if "ssl_context" in proxy_ssl_context_kw:
++ warning_checker = pytest.warns(FutureWarning, match="ssl_context")
++ else:
++ warning_checker = contextlib.nullcontext()
++ with warning_checker:
++ proxy = proxy_from_url(
++ self.https_proxy_url,
++ **{kw: proxy_ctx for kw in proxy_ssl_context_kw},
++ use_forwarding_for_https=True,
++ )
++
++ with proxy:
++ resp = proxy.request("GET", self.https_url)
++ assert resp.status == 200
++
+ def test_nagle_proxy(self) -> None:
+ """Test that proxy connections do not have TCP_NODELAY turned on"""
+ with ProxyManager(self.proxy_url) as http:
+@@ -694,20 +732,8 @@ def test_https_proxy_tls_error(
+ assert isinstance(e.value.reason.original_error, SSLError)
+
+ @requires_network()
+- @pytest.mark.parametrize(
+- ["proxy_scheme", "use_forwarding_for_https"],
+- [
+- ("http", False),
+- ("https", False),
+- ("https", True),
+- ],
+- )
+- def test_proxy_https_target_tls_error(
+- self, proxy_scheme: str, use_forwarding_for_https: str
+- ) -> None:
+- if proxy_scheme == "https" and use_forwarding_for_https:
+- pytest.skip("Test is expected to fail due to urllib3/urllib3#2577")
+-
++ @pytest.mark.parametrize("proxy_scheme", ["http", "https"])
++ def test_proxy_https_target_tls_error(self, proxy_scheme: str) -> None:
+ proxy_url = self.https_proxy_url if proxy_scheme == "https" else self.proxy_url
+ proxy_ctx = ssl.create_default_context()
+ proxy_ctx.load_verify_locations(DEFAULT_CA)
+@@ -717,12 +743,103 @@ def test_proxy_https_target_tls_error(
+ proxy_url,
+ proxy_ssl_context=proxy_ctx,
+ ssl_context=ctx,
+- use_forwarding_for_https=use_forwarding_for_https,
+ ) as proxy:
+ with pytest.raises(MaxRetryError) as e:
+ proxy.request("GET", self.https_url)
+ assert isinstance(e.value.reason, SSLError)
+
++ @requires_network()
++ def test_forwarding_proxy_tls_error_with_fallback(self) -> None:
++ """
++ Test that when only ``ssl_context`` is passed to a forwarding
++ HTTPS proxy, a ``FutureWarning`` is emitted and if the TLS
++ handshake with the proxy fails using that context, the error is
++ a ``ProxyError`` wrapping the original TLS error.
++ """
++ ctx = ssl.create_default_context()
++
++ with pytest.warns(FutureWarning, match="ssl_context"):
++ proxy = proxy_from_url(
++ self.https_proxy_url,
++ ssl_context=ctx,
++ use_forwarding_for_https=True,
++ )
++
++ with proxy:
++ with pytest.raises(MaxRetryError) as e:
++ proxy.request("GET", self.https_url)
++ assert isinstance(e.value.reason, ProxyError)
++ assert isinstance(e.value.reason.original_error, SSLError)
++
++ @requires_network()
++ def test_forwarding_proxy_ssl_context_precedence(self) -> None:
++ """
++ Test that when both ``ssl_context`` and ``proxy_ssl_context``
++ are passed to a forwarding HTTPS proxy, ``proxy_ssl_context`` is
++ used for the proxy connection and ``ssl_context`` is ignored
++ (with a warning).
++ """
++ ssl_context = ssl.create_default_context(cafile=DEFAULT_CA)
++ proxy_ssl_context = ssl.create_default_context(cafile=DEFAULT_CA)
++
++ with pytest.warns(FutureWarning, match="ssl_context"):
++ proxy = proxy_from_url(
++ self.https_proxy_url,
++ proxy_ssl_context=proxy_ssl_context,
++ ssl_context=ssl_context,
++ use_forwarding_for_https=True,
++ )
++
++ with proxy:
++ pool = proxy.connection_from_url(self.https_url)
++ with contextlib.closing(pool._new_conn()) as conn:
++ conn = typing.cast(HTTPSConnection, conn)
++ conn.connect()
++ assert isinstance(conn.sock, ssl.SSLSocket)
++ assert conn.sock.context is proxy_ssl_context
++
++ @requires_network()
++ def test_forwarding_proxy_ssl_context_fallback(self) -> None:
++ """
++ Test that when only ``ssl_context`` is passed to a forwarding
++ HTTPS proxy, a ``FutureWarning`` is emitted and ``ssl_context``
++ is used as the proxy TLS context (fallback).
++ """
++ ssl_context = ssl.create_default_context(cafile=DEFAULT_CA)
++
++ with pytest.warns(FutureWarning, match="ssl_context"):
++ proxy = proxy_from_url(
++ self.https_proxy_url,
++ ssl_context=ssl_context,
++ use_forwarding_for_https=True,
++ )
++
++ with proxy:
++ pool = proxy.connection_from_url(self.https_url)
++ with contextlib.closing(pool._new_conn()) as conn:
++ conn = typing.cast(HTTPSConnection, conn)
++ conn.connect()
++ assert isinstance(conn.sock, ssl.SSLSocket)
++ assert conn.sock.context is ssl_context
++
++ @requires_network()
++ def test_forwarding_non_https_proxy_ssl_context_fallback(self) -> None:
++ """
++ Test that when only ``ssl_context`` is passed to a forwarding
++ non-HTTPS proxy, no warning or error is emitted.
++ """
++ ssl_context = ssl.create_default_context(cafile=DEFAULT_CA)
++ # No warning/error should be emitted even when ``ssl_context``
++ # is provided to a non-HTTPS proxy for some reason.
++ proxy = proxy_from_url(
++ self.proxy_url,
++ ssl_context=ssl_context,
++ use_forwarding_for_https=True,
++ )
++ with proxy:
++ resp = proxy.request("GET", self.https_url)
++ assert resp.status == 200
++
+ def test_scheme_host_case_insensitive(self) -> None:
+ """Assert that upper-case schemes and hosts are normalized."""
+ with proxy_from_url(self.proxy_url.upper(), ca_certs=DEFAULT_CA) as http:
diff --git a/meta/recipes-devtools/python/python3-urllib3/CVE-2026-97687_p2.patch b/meta/recipes-devtools/python/python3-urllib3/CVE-2026-97687_p2.patch
new file mode 100644
index 00000000000..8c2b26e89e0
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-urllib3/CVE-2026-97687_p2.patch
@@ -0,0 +1,450 @@
+From 07408cec79d1856d81bb42c74a904a24fdb9e465 Mon Sep 17 00:00:00 2001
+From: Andrey Petrov <andrey.petrov@shazow.net>
+Date: Wed, 29 Jul 2026 18:20:36 -0400
+Subject: [PATCH] Isolate HTTPS proxy TLS settings from target TLS (#5093)
+
+CVE: CVE-2026-97687
+Upstream-Status: Backport [https://github.com/urllib3/urllib3/commit/07408cec79d1856d81bb42c74a904a24fdb9e465]
+
+Backport Changes:
+- Omitted changelog/5093.bugfix.rst because the OE recipe backport applies
+ the runtime fix and tests; the package does not ship it.
+
+Signed-off-by: Yogita Urade <yurade@cisco.com>
+---
+ src/urllib3/connection.py | 93 +++++++++-----
+ src/urllib3/poolmanager.py | 8 +
+ test/with_dummyserver/test_proxy_poolmanager.py | 150 ++++++++++++++++++++++-
+ 3 files changed, 205 insertions(+), 46 deletions(-)
+
+diff --git a/src/urllib3/connection.py b/src/urllib3/connection.py
+index 8a89488d7c..443cb01be1 100644
+--- a/src/urllib3/connection.py
++++ b/src/urllib3/connection.py
+@@ -838,30 +838,30 @@ def connect(self) -> None:
+ # fall back to using the connection's SSL context until
+ # urllib3 v3.0. Appropriate warning is emitted in
+ # ``ProxyManager.__init__``.
++ wrapped_socket: ssl.SSLSocket | SSLTransport
+ if self.proxy_is_forwarding and self.proxy_config is not None:
+- ssl_context = self.proxy_config.ssl_context
++ wrapped_socket = self._connect_tls_proxy(self.host, sock)
++ is_verified = self.proxy_is_verified is True
+ else:
+- ssl_context = self.ssl_context
+-
+- sock_and_verified = _ssl_wrap_socket_and_match_hostname(
+- sock=sock,
+- cert_reqs=self.cert_reqs,
+- ssl_version=self.ssl_version,
+- ssl_minimum_version=self.ssl_minimum_version,
+- ssl_maximum_version=self.ssl_maximum_version,
+- ca_certs=self.ca_certs,
+- ca_cert_dir=self.ca_cert_dir,
+- ca_cert_data=self.ca_cert_data,
+- cert_file=self.cert_file,
+- key_file=self.key_file,
+- key_password=self.key_password,
+- server_hostname=server_hostname_rm_dot,
+- ssl_context=ssl_context,
+- tls_in_tls=tls_in_tls,
+- assert_hostname=self.assert_hostname,
+- assert_fingerprint=self.assert_fingerprint,
+- )
+- self.sock = sock_and_verified.socket
++ wrapped_socket, is_verified = _ssl_wrap_socket_and_match_hostname(
++ sock=sock,
++ cert_reqs=self.cert_reqs,
++ ssl_version=self.ssl_version,
++ ssl_minimum_version=self.ssl_minimum_version,
++ ssl_maximum_version=self.ssl_maximum_version,
++ ca_certs=self.ca_certs,
++ ca_cert_dir=self.ca_cert_dir,
++ ca_cert_data=self.ca_cert_data,
++ cert_file=self.cert_file,
++ key_file=self.key_file,
++ key_password=self.key_password,
++ server_hostname=server_hostname_rm_dot,
++ ssl_context=self.ssl_context,
++ tls_in_tls=tls_in_tls,
++ assert_hostname=self.assert_hostname,
++ assert_fingerprint=self.assert_fingerprint,
++ )
++ self.sock = wrapped_socket
+
+ # If an error occurs during connection/handshake we may need to release
+ # our lock so another connection can probe the origin.
+@@ -882,7 +882,7 @@ def connect(self) -> None:
+ # If this connection doesn't know if the origin supports HTTP/2
+ # we report back to the HTTP/2 probe our result.
+ if target_supports_http2 is None:
+- supports_http2 = sock_and_verified.socket.selected_alpn_protocol() == "h2"
++ supports_http2 = wrapped_socket.selected_alpn_protocol() == "h2"
+ http2_probe.set_and_release(
+ host=probe_http2_host,
+ port=probe_http2_port,
+@@ -896,7 +896,7 @@ def connect(self) -> None:
+ if self.proxy_is_forwarding:
+ self.is_verified = False
+ else:
+- self.is_verified = sock_and_verified.is_verified
++ self.is_verified = is_verified
+
+ # If there's a proxy to be connected to we are fully connected.
+ # This is set twice (once above and here) due to forwarding proxies
+@@ -906,24 +906,47 @@ def connect(self) -> None:
+ # Set `self.proxy_is_verified` unless it's already set while
+ # establishing a tunnel.
+ if self._has_connected_to_proxy and self.proxy_is_verified is None:
+- self.proxy_is_verified = sock_and_verified.is_verified
++ self.proxy_is_verified = is_verified
+
+ def _connect_tls_proxy(self, hostname: str, sock: socket.socket) -> ssl.SSLSocket:
+ """
+- Establish a TLS connection to the proxy using the provided SSL context.
++ Establish a TLS connection to the proxy using proxy-specific policy.
+ """
+- # `_connect_tls_proxy` is called when self._tunnel_host is truthy.
+ proxy_config = typing.cast(ProxyConfig, self.proxy_config)
+- ssl_context = proxy_config.ssl_context
++ proxy_ssl_context = proxy_config.ssl_context
++
++ ssl_context: ssl.SSLContext | None
++ cert_reqs: int | str | None
++ if proxy_ssl_context is not None:
++ # Prefer the proxy's cert policy for the proxy connection
++ ssl_context = proxy_ssl_context
++ cert_reqs = proxy_ssl_context.verify_mode
++ ca_certs = None
++ ca_cert_dir = None
++ ca_cert_data = None
++ ssl_version = None
++ ssl_minimum_version = None
++ ssl_maximum_version = None
++ else:
++ # Otherwise we inherit the pool's cert policies
++ ssl_context = self.ssl_context if self.proxy_is_forwarding else None
++ cert_reqs = self.cert_reqs
++ ca_certs = self.ca_certs
++ ca_cert_dir = self.ca_cert_dir
++ ca_cert_data = self.ca_cert_data
++ ssl_version = self.ssl_version
++ ssl_minimum_version = self.ssl_minimum_version
++ ssl_maximum_version = self.ssl_maximum_version
++
+ sock_and_verified = _ssl_wrap_socket_and_match_hostname(
+ sock,
+- cert_reqs=self.cert_reqs,
+- ssl_version=self.ssl_version,
+- ssl_minimum_version=self.ssl_minimum_version,
+- ssl_maximum_version=self.ssl_maximum_version,
+- ca_certs=self.ca_certs,
+- ca_cert_dir=self.ca_cert_dir,
+- ca_cert_data=self.ca_cert_data,
++ cert_reqs=cert_reqs,
++ ssl_version=ssl_version,
++ ssl_minimum_version=ssl_minimum_version,
++ ssl_maximum_version=ssl_maximum_version,
++ ca_certs=ca_certs,
++ ca_cert_dir=ca_cert_dir,
++ ca_cert_data=ca_cert_data,
+ server_hostname=hostname,
+ ssl_context=ssl_context,
+ assert_hostname=proxy_config.assert_hostname,
+
+diff --git a/src/urllib3/poolmanager.py b/src/urllib3/poolmanager.py
+index c10e5d53cf..c1eb131290 100644
+--- a/src/urllib3/poolmanager.py
++++ b/src/urllib3/poolmanager.py
+@@ -583,6 +583,9 @@ def __init__(
+ if proxy.scheme not in ("http", "https"):
+ raise ProxySchemeUnknown(proxy.scheme)
+
++ # Keep the deprecated ssl_context fallback on the manager for
++ # compatibility, while passing only explicit proxy policy to connections.
++ self.proxy_ssl_context = proxy_ssl_context
+ if (
+ use_forwarding_for_https
+ and proxy.scheme == "https"
+@@ -595,8 +598,8 @@ def __init__(
+ FutureWarning,
+ stacklevel=2,
+ )
+- if proxy_ssl_context is None:
+- proxy_ssl_context = connection_pool_kw.get("ssl_context")
++ if self.proxy_ssl_context is None:
++ self.proxy_ssl_context = connection_pool_kw.get("ssl_context")
+
+ if not proxy.port:
+ port = port_by_scheme.get(proxy.scheme, 80)
+@@ -604,7 +607,6 @@ def __init__(
+
+ self.proxy = proxy
+ self.proxy_headers = proxy_headers or {}
+- self.proxy_ssl_context = proxy_ssl_context
+ self.proxy_config = ProxyConfig(
+ proxy_ssl_context,
+ use_forwarding_for_https,
+
+diff --git a/test/with_dummyserver/test_proxy_poolmanager.py b/test/with_dummyserver/test_proxy_poolmanager.py
+index 48f9704b9a..0991f93a19 100644
+--- a/test/with_dummyserver/test_proxy_poolmanager.py
++++ b/test/with_dummyserver/test_proxy_poolmanager.py
+@@ -114,6 +114,13 @@ def test_is_verified_https_proxy_to_http_target(self) -> None:
+ assert r.status == 200
+ assert_is_verified(https, proxy=True, target=False)
+
++ def test_is_verified_https_proxy_to_http_target_without_proxy_config(self) -> None:
++ with proxy_from_url(self.https_proxy_url, ca_certs=DEFAULT_CA) as https:
++ https.connection_pool_kw["_proxy_config"] = None
++ r = https.request("GET", f"{self.http_url}/")
++ assert r.status == 200
++ assert_is_verified(https, proxy=True, target=False)
++
+ def test_is_verified_https_proxy_to_https_target(self) -> None:
+ with proxy_from_url(self.https_proxy_url, ca_certs=DEFAULT_CA) as https:
+ r = https.request("GET", f"{self.https_url}/")
+@@ -144,6 +151,18 @@ def test_https_proxy_with_proxy_ssl_context(self) -> None:
+ r = https.request("GET", f"{self.http_url}/")
+ assert r.status == 200
+
++ @withPyOpenSSL
++ def test_https_proxy_with_proxy_ssl_context_pyopenssl(self) -> None:
++ proxy_ssl_context = create_urllib3_context()
++ proxy_ssl_context.load_verify_locations(DEFAULT_CA)
++
++ with proxy_from_url(
++ self.https_proxy_url,
++ proxy_ssl_context=proxy_ssl_context,
++ ) as https:
++ response = https.request("GET", f"{self.http_url}/")
++ assert response.status == 200
++
+ @withPyOpenSSL
+ def test_https_proxy_pyopenssl_not_supported(self) -> None:
+ with proxy_from_url(self.https_proxy_url, ca_certs=DEFAULT_CA) as https:
+@@ -779,8 +798,8 @@ def test_forwarding_proxy_ssl_context_precedence(self) -> None:
+ used for the proxy connection and ``ssl_context`` is ignored
+ (with a warning).
+ """
+- ssl_context = ssl.create_default_context(cafile=DEFAULT_CA)
+- proxy_ssl_context = ssl.create_default_context(cafile=DEFAULT_CA)
++ ssl_context = create_urllib3_context(cert_reqs=ssl.CERT_REQUIRED)
++ proxy_ssl_context = create_urllib3_context(cert_reqs=ssl.CERT_NONE)
+
+ with pytest.warns(FutureWarning, match="ssl_context"):
+ proxy = proxy_from_url(
+@@ -797,6 +816,7 @@ def test_forwarding_proxy_ssl_context_precedence(self) -> None:
+ conn.connect()
+ assert isinstance(conn.sock, ssl.SSLSocket)
+ assert conn.sock.context is proxy_ssl_context
++ assert proxy_ssl_context.verify_mode == ssl.CERT_NONE
+
+ @requires_network()
+ def test_forwarding_proxy_ssl_context_fallback(self) -> None:
+@@ -805,15 +825,21 @@ def test_forwarding_proxy_ssl_context_fallback(self) -> None:
+ HTTPS proxy, a ``FutureWarning`` is emitted and ``ssl_context``
+ is used as the proxy TLS context (fallback).
+ """
+- ssl_context = ssl.create_default_context(cafile=DEFAULT_CA)
++ ssl_context = create_urllib3_context(cert_reqs=ssl.CERT_NONE)
+
+ with pytest.warns(FutureWarning, match="ssl_context"):
+ proxy = proxy_from_url(
+ self.https_proxy_url,
+ ssl_context=ssl_context,
++ cert_reqs=ssl.CERT_REQUIRED,
++ ca_certs=DEFAULT_CA,
+ use_forwarding_for_https=True,
+ )
+
++ assert proxy.proxy_ssl_context is ssl_context
++ assert proxy.proxy_config is not None
++ assert proxy.proxy_config.ssl_context is None
++
+ with proxy:
+ pool = proxy.connection_from_url(self.https_url)
+ with contextlib.closing(pool._new_conn()) as conn:
+@@ -821,6 +847,23 @@ def test_forwarding_proxy_ssl_context_fallback(self) -> None:
+ conn.connect()
+ assert isinstance(conn.sock, ssl.SSLSocket)
+ assert conn.sock.context is ssl_context
++ assert ssl_context.verify_mode == ssl.CERT_REQUIRED
++
++ @requires_network()
++ def test_https_proxy_to_http_target_ssl_context_fallback(self) -> None:
++ ssl_context = create_urllib3_context()
++ ssl_context.load_verify_locations(DEFAULT_CA)
++
++ with proxy_from_url(
++ self.https_proxy_url,
++ ssl_context=ssl_context,
++ ) as proxy:
++ pool = proxy.connection_from_url(self.http_url)
++ with contextlib.closing(pool._new_conn()) as conn:
++ conn = typing.cast(HTTPSConnection, conn)
++ conn.connect()
++ assert isinstance(conn.sock, ssl.SSLSocket)
++ assert conn.sock.context is ssl_context
+
+ @requires_network()
+ def test_forwarding_non_https_proxy_ssl_context_fallback(self) -> None:
+@@ -921,32 +964,38 @@ def test_https_proxy_assert_fingerprint_md5(
+ destination_url = f"https://{server.host}:{server.port}"
+
+ proxy_ctx = urllib3.util.ssl_.create_urllib3_context(verify_flags=0)
++ proxy_ctx.load_verify_locations(proxy.ca_certs)
+ proxy_fingerprint = self._get_proxy_fingerprint_md5(proxy.ca_certs)
+ with proxy_from_url(
+ proxy_url,
+- ca_certs=proxy.ca_certs,
++ ca_certs=server.ca_certs,
+ proxy_ssl_context=proxy_ctx,
+ proxy_assert_fingerprint=proxy_fingerprint,
+ ) as https:
+ https.request("GET", destination_url)
+
++ @pytest.mark.parametrize("use_forwarding_for_https", [False, True])
+ def test_https_proxy_assert_fingerprint_md5_non_matching(
+- self, no_san_proxy_with_server: tuple[ServerConfig, ServerConfig]
++ self,
++ no_san_proxy_with_server: tuple[ServerConfig, ServerConfig],
++ use_forwarding_for_https: bool,
+ ) -> None:
+ proxy, server = no_san_proxy_with_server
+ proxy_url = f"https://{proxy.host}:{proxy.port}"
+ destination_url = f"https://{server.host}:{server.port}"
+
+ proxy_ctx = urllib3.util.ssl_.create_urllib3_context(verify_flags=0)
++ proxy_ctx.load_verify_locations(proxy.ca_certs)
+ proxy_fingerprint = self._get_proxy_fingerprint_md5(proxy.ca_certs)
+ new_char = "b" if proxy_fingerprint[5] == "a" else "a"
+ proxy_fingerprint = proxy_fingerprint[:5] + new_char + proxy_fingerprint[6:]
+
+ with proxy_from_url(
+ proxy_url,
+- ca_certs=proxy.ca_certs,
++ ca_certs=server.ca_certs,
+ proxy_ssl_context=proxy_ctx,
+ proxy_assert_fingerprint=proxy_fingerprint,
++ use_forwarding_for_https=use_forwarding_for_https,
+ ) as https:
+ with pytest.raises(MaxRetryError) as e:
+ https.request("GET", destination_url)
+@@ -964,8 +1013,11 @@ def test_https_proxy_assert_hostname(
+ ) as https:
+ https.request("GET", destination_url)
+
++ @pytest.mark.parametrize("use_forwarding_for_https", [False, True])
+ def test_https_proxy_assert_hostname_non_matching(
+- self, san_proxy_with_server: tuple[ServerConfig, ServerConfig]
++ self,
++ san_proxy_with_server: tuple[ServerConfig, ServerConfig],
++ use_forwarding_for_https: bool,
+ ) -> None:
+ proxy, server = san_proxy_with_server
+ destination_url = f"https://{server.host}:{server.port}"
+@@ -975,6 +1027,7 @@ def test_https_proxy_assert_hostname_non_matching(
+ proxy.base_url,
+ ca_certs=proxy.ca_certs,
+ proxy_assert_hostname=proxy_hostname,
++ use_forwarding_for_https=use_forwarding_for_https,
+ ) as https:
+ with pytest.raises(MaxRetryError) as e:
+ https.request("GET", destination_url)
+@@ -1064,6 +1117,7 @@ def test_https_proxy_no_san_hostname_checks_common_name(
+ destination_url = f"https://{server.host}:{server.port}"
+
+ proxy_ctx = urllib3.util.ssl_.create_urllib3_context(verify_flags=0)
++ proxy_ctx.load_verify_locations(proxy.ca_certs)
+ try:
+ proxy_ctx.hostname_checks_common_name = True
+ # PyPy doesn't like us setting 'hostname_checks_common_name'
+@@ -1074,6 +1128,86 @@ def test_https_proxy_no_san_hostname_checks_common_name(
+ pytest.skip("Test requires 'SSLContext.hostname_checks_common_name=True'")
+
+ with proxy_from_url(
+- proxy_url, ca_certs=proxy.ca_certs, proxy_ssl_context=proxy_ctx
++ proxy_url, ca_certs=server.ca_certs, proxy_ssl_context=proxy_ctx
+ ) as https:
+ https.request("GET", destination_url)
++
++ @pytest.mark.parametrize(
++ "target_tls_kwargs",
++ [
++ pytest.param({"server_hostname": "example.com"}, id="server-hostname"),
++ pytest.param({"assert_hostname": "example.com"}, id="assert-hostname"),
++ pytest.param({"assert_fingerprint": "00" * 32}, id="assert-fingerprint"),
++ ],
++ )
++ def test_https_proxy_forwarding_ignores_target_identity_settings(
++ self,
++ san_proxy_with_server: tuple[ServerConfig, ServerConfig],
++ target_tls_kwargs: dict[str, typing.Any],
++ ) -> None:
++ proxy, server = san_proxy_with_server
++ proxy_ctx = create_urllib3_context()
++ proxy_ctx.load_verify_locations(proxy.ca_certs)
++
++ with proxy_from_url(
++ proxy.base_url,
++ proxy_ssl_context=proxy_ctx,
++ proxy_assert_hostname=proxy.host,
++ use_forwarding_for_https=True,
++ **target_tls_kwargs,
++ ) as https:
++ pool = https.connection_from_url(server.base_url)
++ with contextlib.closing(pool._new_conn()) as conn:
++ conn = typing.cast(HTTPSConnection, conn)
++ conn.connect()
++ assert isinstance(conn.sock, ssl.SSLSocket)
++ assert conn.sock.context is proxy_ctx
++
++ def test_https_proxy_forwarding_ignores_target_client_certificate(
++ self,
++ san_proxy_with_server: tuple[ServerConfig, ServerConfig],
++ ) -> None:
++ proxy, server = san_proxy_with_server
++ proxy_ctx = create_urllib3_context()
++ proxy_ctx.load_verify_locations(proxy.ca_certs)
++ missing_cert = str(pathlib.Path(proxy.ca_certs).with_name("missing-cert.pem"))
++
++ with proxy_from_url(
++ proxy.base_url,
++ proxy_ssl_context=proxy_ctx,
++ cert_file=missing_cert,
++ use_forwarding_for_https=True,
++ ) as https:
++ pool = https.connection_from_url(server.base_url)
++ with contextlib.closing(pool._new_conn()) as conn:
++ conn = typing.cast(HTTPSConnection, conn)
++ conn.connect()
++ assert isinstance(conn.sock, ssl.SSLSocket)
++ assert conn.sock.context is proxy_ctx
++
++ def test_https_proxy_forwarding_ignores_target_tls_policy(
++ self,
++ san_proxy_with_server: tuple[ServerConfig, ServerConfig],
++ ) -> None:
++ proxy, server = san_proxy_with_server
++ proxy_ctx = create_urllib3_context(cert_reqs=ssl.CERT_REQUIRED)
++ proxy_ctx.load_verify_locations(proxy.ca_certs)
++ proxy_cert_store_stats = proxy_ctx.cert_store_stats()
++
++ with proxy_from_url(
++ proxy.base_url,
++ proxy_ssl_context=proxy_ctx,
++ cert_reqs=ssl.CERT_NONE,
++ ca_certs=DEFAULT_CA,
++ use_forwarding_for_https=True,
++ ) as https:
++ for target_url in (server.base_url, "https://example.com/"):
++ pool = https.connection_from_url(target_url)
++ with contextlib.closing(pool._new_conn()) as conn:
++ conn = typing.cast(HTTPSConnection, conn)
++ conn.connect()
++ assert isinstance(conn.sock, ssl.SSLSocket)
++ assert conn.sock.context is proxy_ctx
++
++ assert proxy_ctx.verify_mode == ssl.CERT_REQUIRED
++ assert proxy_ctx.cert_store_stats() == proxy_cert_store_stats
diff --git a/meta/recipes-devtools/python/python3-urllib3_2.6.3.bb b/meta/recipes-devtools/python/python3-urllib3_2.6.3.bb
index b9d9b5671e4..ad5dd190d8d 100644
--- a/meta/recipes-devtools/python/python3-urllib3_2.6.3.bb
+++ b/meta/recipes-devtools/python/python3-urllib3_2.6.3.bb
@@ -6,6 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=52d273a3054ced561275d4d15260ecda"
SRC_URI += "file://CVE-2026-44431.patch \
file://CVE-2026-97689.patch \
file://CVE-2026-44432.patch \
+ file://CVE-2026-97687_p1.patch \
+ file://CVE-2026-97687_p2.patch \
"
SRC_URI[sha256sum] = "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 28/35] python3-urllib3: Fix CVE-2026-97688
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (26 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 27/35] python3-urllib3: Fix CVE-2026-97687 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 29/35] gnupg: Fix CVE-2026-105712 Yoann Congal
` (7 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Yogita Urade <yurade@cisco.com>
This patch applies the upstream fix as referenced in [3],
using the commit shown in [1] and regression commit from [2].
Regression test-only follow-up skips the Brotli case when urllib3 uses
brotlicffi, because that trailing-data case is unsupported by that
backend. The skip is limited to Brotli; the Deflate regression case
remains covered.
[1] https://github.com/urllib3/urllib3/commit/ea2ad7b21a80da3632f80016526a18864586077f
[2] https://github.com/urllib3/urllib3/commit/9016d7e8afc68185496ef07f3c3a4a743d04922e
[3] https://security-tracker.debian.org/tracker/CVE-2026-97688
[4] https://github.com/urllib3/urllib3/pull/5258
Signed-off-by: Yogita Urade <yurade@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
.../CVE-2026-97688-regression.patch | 29 +++++
.../python3-urllib3/CVE-2026-97688.patch | 107 ++++++++++++++++++
.../python/python3-urllib3_2.6.3.bb | 2 +
3 files changed, 138 insertions(+)
create mode 100644 meta/recipes-devtools/python/python3-urllib3/CVE-2026-97688-regression.patch
create mode 100644 meta/recipes-devtools/python/python3-urllib3/CVE-2026-97688.patch
diff --git a/meta/recipes-devtools/python/python3-urllib3/CVE-2026-97688-regression.patch b/meta/recipes-devtools/python/python3-urllib3/CVE-2026-97688-regression.patch
new file mode 100644
index 00000000000..220b024e1e8
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-urllib3/CVE-2026-97688-regression.patch
@@ -0,0 +1,29 @@
+From 9016d7e8afc68185496ef07f3c3a4a743d04922e Mon Sep 17 00:00:00 2001
+From: Illia Volochii <illia.volochii@gmail.com>
+Date: Tue, 15 Sep 2026 22:04:41 +0300
+Subject: [PATCH] Skip `test_read_chunked_with_trailing_data_does_not_hang` for
+ brotlicffi (#5258)
+
+CVE: CVE-2026-97688
+Upstream-Status: Backport [https://github.com/urllib3/urllib3/commit/9016d7e8afc68185496ef07f3c3a4a743d04922e]
+
+Signed-off-by: Yogita Urade <yurade@cisco.com>
+---
+ test/test_response.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/test/test_response.py b/test/test_response.py
+index 5ecdbd9..24118f6 100644
+--- a/test/test_response.py
++++ b/test/test_response.py
+@@ -831,6 +831,8 @@ class TestResponse:
+ # while trailing data remains in the decoder's input buffer.
+ original_data = b"A" * 100
+ content_encoding, compress_func = data
++ if content_encoding == "br" and brotli.__name__ == "brotlicffi":
++ pytest.skip("This case is not supported by brotlicffi")
+ compressed_data = compress_func(original_data) + b"tail"
+ httplib_r = httplib.HTTPResponse(MockSock) # type: ignore[arg-type]
+ httplib_r.fp = MockChunkedEncodingResponse([compressed_data]) # type: ignore[assignment]
+--
+2.35.6
diff --git a/meta/recipes-devtools/python/python3-urllib3/CVE-2026-97688.patch b/meta/recipes-devtools/python/python3-urllib3/CVE-2026-97688.patch
new file mode 100644
index 00000000000..4fcdce68fc2
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-urllib3/CVE-2026-97688.patch
@@ -0,0 +1,107 @@
+From ea2ad7b21a80da3632f80016526a18864586077f Mon Sep 17 00:00:00 2001
+From: Illia Volochii <illia.volochii@gmail.com>
+Date: Tue, 15 Sep 2026 21:32:04 +0300
+Subject: [PATCH] Merge commit from fork
+
+* Prevent an infinite loop when decoding Deflate responses
+
+* Move the new test to a better place
+
+* Add a changelog entry
+
+CVE: CVE-2026-97688
+Upstream-Status: Backport [https://github.com/urllib3/urllib3/commit/ea2ad7b21a80da3632f80016526a18864586077f]
+
+Backport Changes:
+- Omitted changelog/GHSA-gh4c-6fx4-qh6g.bugfix.rst because the OE recipe
+ backport applies the runtime fix and tests; the package does not ship it.
+
+Signed-off-by: Yogita Urade <yurade@cisco.com>
+---
+ src/urllib3/response.py | 8 +++++++-
+ test/test_response.py | 38 +++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 44 insertions(+), 2 deletions(-)
+
+diff --git a/src/urllib3/response.py b/src/urllib3/response.py
+index e9e0cee75e..dccdb12936 100644
+--- a/src/urllib3/response.py
++++ b/src/urllib3/response.py
+@@ -76,6 +76,10 @@ def __init__(self) -> None:
+ def decompress(self, data: bytes, max_length: int = -1) -> bytes:
+ data = self._unfed_data + data
+ self._unfed_data = b""
++ # Data received after EOF cannot produce more output from this
++ # Deflate stream.
++ if self._obj.eof:
++ return b""
+ if not data and not self._obj.unconsumed_tail:
+ return data
+ original_max_length = max_length
+@@ -118,7 +122,9 @@ def decompress(self, data: bytes, max_length: int = -1) -> bytes:
+ @property
+ def has_unconsumed_tail(self) -> bool:
+ return bool(self._unfed_data) or (
+- bool(self._obj.unconsumed_tail) and not self._first_try
++ bool(self._obj.unconsumed_tail)
++ and not self._first_try
++ and not self._obj.eof
+ )
+
+ def flush(self) -> bytes:
+
+diff --git a/test/test_response.py b/test/test_response.py
+index 799325b58c..4675646232 100644
+--- a/test/test_response.py
++++ b/test/test_response.py
+@@ -11,7 +11,7 @@
+ from base64 import b64decode
+ from http.client import IncompleteRead as httplib_IncompleteRead
+ from io import BufferedReader, BytesIO, TextIOWrapper
+-from test import onlyBrotli, onlyZstd
++from test import LONG_TIMEOUT, onlyBrotli, onlyZstd
+ from unittest import mock
+
+ import pytest
+@@ -813,6 +813,42 @@ def test_read_chunked_with_all_data_already_in_decompressor(
+ assert len(result[-1]) == len(original_data) % 10240
+ assert b"".join(result) == original_data
+
++ @pytest.mark.timeout(LONG_TIMEOUT)
++ @pytest.mark.parametrize(
++ "data",
++ [d[1] for d in _test_compressor_params],
++ ids=[d[0] for d in _test_compressor_params],
++ )
++ def test_read_chunked_with_trailing_data_does_not_hang(
++ self,
++ request: pytest.FixtureRequest,
++ data: tuple[str, typing.Callable[[bytes], bytes]] | None,
++ ) -> None:
++ if data is None:
++ pytest.skip(f"Proper {request.node.callspec.id} decoder is not available")
++ # The decoded body must fill multiple bounded reads so EOF is reached
++ # while trailing data remains in the decoder's input buffer.
++ original_data = b"A" * 100
++ content_encoding, compress_func = data
++ compressed_data = compress_func(original_data) + b"tail"
++ httplib_r = httplib.HTTPResponse(MockSock) # type: ignore[arg-type]
++ httplib_r.fp = MockChunkedEncodingResponse([compressed_data]) # type: ignore[assignment]
++ r = HTTPResponse(
++ httplib_r,
++ preload_content=False,
++ headers={
++ "transfer-encoding": "chunked",
++ "content-encoding": content_encoding,
++ },
++ )
++
++ stream = r.stream(len(original_data) // 2, decode_content=True)
++ if content_encoding in ("br", "zstd"):
++ with pytest.raises(DecodeError):
++ list(stream)
++ else:
++ assert b"".join(stream) == original_data
++
+ @pytest.mark.parametrize(
+ "delta",
+ (
diff --git a/meta/recipes-devtools/python/python3-urllib3_2.6.3.bb b/meta/recipes-devtools/python/python3-urllib3_2.6.3.bb
index ad5dd190d8d..73bfd369747 100644
--- a/meta/recipes-devtools/python/python3-urllib3_2.6.3.bb
+++ b/meta/recipes-devtools/python/python3-urllib3_2.6.3.bb
@@ -8,6 +8,8 @@ SRC_URI += "file://CVE-2026-44431.patch \
file://CVE-2026-44432.patch \
file://CVE-2026-97687_p1.patch \
file://CVE-2026-97687_p2.patch \
+ file://CVE-2026-97688.patch \
+ file://CVE-2026-97688-regression.patch \
"
SRC_URI[sha256sum] = "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 29/35] gnupg: Fix CVE-2026-105712
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (27 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 28/35] python3-urllib3: Fix CVE-2026-97688 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 30/35] linux-yocto/6.18: aufs: refresh to upstream aufs6.18 Yoann Congal
` (6 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Deepak Rathore <deeratho@cisco.com>
This patch backports the upstream gpgtar security fix and its
follow-up to GnuPG 2.5.17. The security fix, directory handling
follow-up, and public CVE advisory are referenced in [1], [2],
and [3]. The follow-up includes a regression check for dry-run
extraction with a non-existing -C directory.
[1] https://github.com/gpg/gnupg/commit/7a2692fe5e580ae3bbb2a47abc4baaf1af65aa88
[2] https://github.com/gpg/gnupg/commit/1bdd1f5bb4d192d9700dd6ab2540b0a940c23dd5
[3] https://nvd.nist.gov/vuln/detail/CVE-2026-105712
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
.../gnupg/CVE-2026-105712-regression.patch | 39 ++++
.../gnupg/gnupg/CVE-2026-105712.patch | 194 ++++++++++++++++++
meta/recipes-support/gnupg/gnupg_2.5.17.bb | 2 +
3 files changed, 235 insertions(+)
create mode 100644 meta/recipes-support/gnupg/gnupg/CVE-2026-105712-regression.patch
create mode 100644 meta/recipes-support/gnupg/gnupg/CVE-2026-105712.patch
diff --git a/meta/recipes-support/gnupg/gnupg/CVE-2026-105712-regression.patch b/meta/recipes-support/gnupg/gnupg/CVE-2026-105712-regression.patch
new file mode 100644
index 00000000000..6097da38c30
--- /dev/null
+++ b/meta/recipes-support/gnupg/gnupg/CVE-2026-105712-regression.patch
@@ -0,0 +1,39 @@
+From 1bdd1f5bb4d192d9700dd6ab2540b0a940c23dd5 Mon Sep 17 00:00:00 2001
+From: NIIBE Yutaka <gniibe@fsij.org>
+Date: Tue, 14 Apr 2026 04:32:00 +0000
+Subject: [PATCH] tools:gpgtar: Fix for a case of non existing dir with -C.
+
+* tools/gpgtar-extract.c (gpgtar_extract): Call the
+check_output_directory function only when DIRNAME exists.
+
+--
+GnuPG-bug-id: 8159
+
+CVE: CVE-2026-105712
+Upstream-Status: Backport [https://github.com/gpg/gnupg/commit/1bdd1f5bb4d192d9700dd6ab2540b0a940c23dd5]
+
+Backport Changes:
+- Used gnupg_access() for the existence check because 2.5.17 does not
+ have the upstream COMPAT_NO_DIR_CHECK compatibility flag.
+
+Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
+(cherry picked from commit 1bdd1f5bb4d192d9700dd6ab2540b0a940c23dd5)
+Signed-off-by: Deepak Rathore <deeratho@cisco.com>
+---
+ tools/gpgtar-extract.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tools/gpgtar-extract.c b/tools/gpgtar-extract.c
+index 5ca80cb..a5a925c 100644
+--- a/tools/gpgtar-extract.c
++++ b/tools/gpgtar-extract.c
+@@ -504,7 +504,8 @@ gpgtar_extract (const char *filename, int decrypt)
+ goto leave;
+ }
+
+- if (!check_output_directory (dirname))
++ if (gnupg_access (dirname, F_OK) == 0
++ && !check_output_directory (dirname))
+ {
+ err = gpg_error (GPG_ERR_INV_ARG);
+ goto leave;
diff --git a/meta/recipes-support/gnupg/gnupg/CVE-2026-105712.patch b/meta/recipes-support/gnupg/gnupg/CVE-2026-105712.patch
new file mode 100644
index 00000000000..9b0bc1ca663
--- /dev/null
+++ b/meta/recipes-support/gnupg/gnupg/CVE-2026-105712.patch
@@ -0,0 +1,194 @@
+From 8df56dd913f3c910c9b265691efaac6c36a007a1 Mon Sep 17 00:00:00 2001
+From: NIIBE Yutaka <gniibe@fsij.org>
+Date: Fri, 20 Mar 2026 13:33:00 +0900
+Subject: [PATCH] tool:gpgtar: Check the output directory with --directory.
+
+* doc/tools.texi (gpgtar): Clarify about the --directory option.
+* tools/gpgtar-extract.c (check_output_directory): New.
+(gpgtar_extract): Call check_output_directory.
+
+--
+
+GnuPG-bug-id: 8159
+
+CVE: CVE-2026-105712
+Upstream-Status: Backport [https://github.com/gpg/gnupg/commit/7a2692fe5e580ae3bbb2a47abc4baaf1af65aa88]
+
+Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
+(cherry picked from commit 7a2692fe5e580ae3bbb2a47abc4baaf1af65aa88)
+Signed-off-by: Deepak Rathore <deeratho@cisco.com>
+---
+ doc/tools.texi | 11 ++--
+ tools/gpgtar-extract.c | 123 ++++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 128 insertions(+), 6 deletions(-)
+
+diff --git a/doc/tools.texi b/doc/tools.texi
+index 45f3e897d..691b7dc9c 100644
+--- a/doc/tools.texi
++++ b/doc/tools.texi
+@@ -2024,11 +2024,12 @@ Do not actually output the extracted files.
+ @item --directory @var{dir}
+ @itemx -C @var{dir}
+ @opindex directory
+-Extract the files into the directory @var{dir}. The default is to
+-take the directory name from the input filename. If no input filename
+-is known a directory named @file{GPGARCH} is used. For tarball
+-creation, switch to directory @var{dir} before performing any
+-operations.
++Extract the files into the directory @var{dir}. It raises an error
++when @var{dir} is not empty, or @var{dir} is a symlink to other
++directory. When this option is not given, the default is to take the
++directory name from the input filename. If no input filename is known
++a directory, named @file{GPGARCH} is used. For tarball creation,
++switch to directory @var{dir} before performing any operations.
+
+ @item --files-from @var{file}
+ @itemx -T @var{file}
+diff --git a/tools/gpgtar-extract.c b/tools/gpgtar-extract.c
+index d23ccc579..5ca80cb89 100644
+--- a/tools/gpgtar-extract.c
++++ b/tools/gpgtar-extract.c
+@@ -24,6 +24,8 @@
+ #include <errno.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <dirent.h>
++#include <fcntl.h>
+ #include <string.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+@@ -369,6 +371,112 @@ create_directory (const char *dirprefix)
+ }
+
+
++/* Check the output directory DIRNAME if it's not symlink and empty.
++ Return 1 if good, 0 otherwise. */
++static int
++check_output_directory (const char *dirname)
++{
++#ifdef HAVE_W32_SYSTEM
++#define dirent _wdirent
++#define DIR _WDIR
++#define readdir _wreaddir
++#define closedir _wclosedir
++#endif
++ DIR *d;
++ struct dirent *dent;
++ int count = 0;
++
++#ifdef HAVE_W32_SYSTEM
++ wchar_t *wdirname;
++ DWORD attr;
++
++ wdirname = utf8_to_wchar (dirname);
++ if (!wdirname)
++ return 0;
++
++ attr = GetFileAttributesW (wdirname);
++
++ if (attr == INVALID_FILE_ATTRIBUTES)
++ {
++ log_error ("error getting attributes '%s': %s\n", dirname, w32_strerror (-1));
++ xfree (wdirname);
++ return 0;
++ }
++ else if ((attr & FILE_ATTRIBUTE_REPARSE_POINT))
++ {
++ /* It's reparse point (possibly symlink), not good. */
++ log_error ("Not a regular directory (may be symlink): %s\n", dirname);
++ xfree (wdirname);
++ return 0;
++ }
++
++ d = _wopendir (wdirname);
++ xfree (wdirname);
++#else
++# if O_NOFOLLOW == 0
++ struct stat sbuf;
++
++ if (lstat (dirname, &sbuf))
++ return 0;
++
++ if (S_ISLNK (sbuf.st_mode))
++ {
++ /* It's symlink, not good. */
++ log_error ("It's symbolic link: %s\n", dirname);
++ return 0;
++ }
++
++ d = opendir (dirname);
++# else
++ int fd;
++
++ /* With O_NOFOLLOW, make sure it's not symlink. */
++ fd = open (dirname, (O_RDONLY | O_NOFOLLOW));
++ if (fd < 0)
++ {
++ log_error ("Can't open (symlink?): %s\n", dirname);
++ return 0;
++ }
++
++ d = fdopendir (fd);
++# endif
++#endif
++
++ if (d == NULL)
++ return 0;
++
++ while ((dent = readdir (d)) != NULL)
++ {
++ if (dent->d_name[0] == '.' && dent->d_name[1] == 0)
++ continue;
++
++ if (dent->d_name[0] == '.' && dent->d_name[1] == '.'
++ && dent->d_name[2] == 0)
++ continue;
++
++ count++;
++ }
++
++ /* In case of fdopendir, FD is released by closedir. */
++ closedir (d);
++
++ if (count)
++ {
++ /* It's not empty, not good. */
++ log_error ("Directory not empty: %s\n", dirname);
++ return 0;
++ }
++
++ /* Good. */
++ return 1;
++}
++
++#ifdef HAVE_W32_SYSTEM
++#undef dirent
++#undef DIR
++#undef readdir
++#undef closedir
++#endif
+ \f
+ gpg_error_t
+ gpgtar_extract (const char *filename, int decrypt)
+@@ -388,7 +496,20 @@ gpgtar_extract (const char *filename, int decrypt)
+ memset (&tarinfo_buffer, 0, sizeof tarinfo_buffer);
+
+ if (opt.directory)
+- dirname = xtrystrdup (opt.directory);
++ {
++ dirname = xtrystrdup (opt.directory);
++ if (!dirname)
++ {
++ err = gpg_error_from_syserror ();
++ goto leave;
++ }
++
++ if (!check_output_directory (dirname))
++ {
++ err = gpg_error (GPG_ERR_INV_ARG);
++ goto leave;
++ }
++ }
+ else
+ {
+ if (opt.filename)
diff --git a/meta/recipes-support/gnupg/gnupg_2.5.17.bb b/meta/recipes-support/gnupg/gnupg_2.5.17.bb
index 6b2af1c96c9..04666ee8d77 100644
--- a/meta/recipes-support/gnupg/gnupg_2.5.17.bb
+++ b/meta/recipes-support/gnupg/gnupg_2.5.17.bb
@@ -20,6 +20,8 @@ SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
file://0002-use-pkgconfig-instead-of-npth-config.patch \
file://0001-Woverride-init-is-not-needed-with-gcc-9.patch \
file://CVE-2026-57062.patch \
+ file://CVE-2026-105712.patch \
+ file://CVE-2026-105712-regression.patch \
"
SRC_URI:append:class-native = " file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \
file://relocate.patch"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 30/35] linux-yocto/6.18: aufs: refresh to upstream aufs6.18
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (28 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 29/35] gnupg: Fix CVE-2026-105712 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 31/35] linux-yocto/6.18: update to v6.18.57 Yoann Congal
` (5 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Bruce Ashfield <bruce.ashfield@gmail.com>
Integrating the following commit(s) to linux-yocto/6.18:
1/2 [
Author: Bruce Ashfield
Email: bruce.ashfield@gmail.com
Subject: aufs: update to upstream aufs6.18 (latest)
Date: Sat, 3 Oct 2026 22:06:19 -0400
Refresh the in-tree aufs to the current upstream aufs-standalone aufs6.18
snapshot (f8b3fda5). Brings in accumulated upstream aufs bugfixes plus the
x86 CONFIG_PREEMPT_RT support, superseding the standalone backport posted
to the linux-yocto list.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]
2/2 [
Author: Bruce Ashfield
Email: bruce.ashfield@gmail.com
Subject: fs/aufs: route the FUSE mnt-ns check back through is_current_mnt_ns
Date: Sat, 3 Oct 2026 23:54:11 -0400
The aufs6.18 refresh moved fs/aufs to the native upstream snapshot, whose
vfsub.c calls our_mnt() directly. Upstream exports our_mnt() via its own
standalone integration patch; our integration instead exports a small
is_current_mnt_ns() wrapper. The refresh delta reverted that carried
adaptation, leaving the aufs module with an unexported our_mnt() reference
that fails to link whenever aufs is compiled.
Restore the adaptation: route the CONFIG_AUFS_BR_FUSE mnt-ns check back
through is_current_mnt_ns(). Unlike v7.x, 6.18 does not need the
open-coded rename-lock helpers -- lock_rename()/unlock_rename() are still
exported in the 6.18 kernel (the unexport landed upstream in v7.1), so the
native vfsub.c rename-locking links as-is here.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4f2e85e25ddf35220fe8b12fa1f1f354930ef563)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
.../linux/linux-yocto-rt_6.18.bb | 4 ++--
.../linux/linux-yocto-tiny_6.18.bb | 4 ++--
meta/recipes-kernel/linux/linux-yocto_6.18.bb | 20 +++++++++----------
3 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_6.18.bb b/meta/recipes-kernel/linux/linux-yocto-rt_6.18.bb
index 5db966af1e7..ac97f340da1 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_6.18.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_6.18.bb
@@ -15,8 +15,8 @@ python () {
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "f892d97a3d660b9e7f4dc0618e0737f6e23906a7"
-SRCREV_meta ?= "366edfd67e22da481a7e6beb6386e1f7d19e71cf"
+SRCREV_machine ?= "64ebedd888ed53620df352f568a8b55c5620d169"
+SRCREV_meta ?= "b505aeae4f62715ec4801e292b32ad68593b3341"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.18;destsuffix=${KMETA};protocol=https"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_6.18.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_6.18.bb
index ef90b3db194..4cbcfc0084c 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_6.18.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_6.18.bb
@@ -18,8 +18,8 @@ DEPENDS += "openssl-native util-linux-native"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine ?= "8372c22a7d24c8fa15b62e13c1b5524a94caf9dc"
-SRCREV_meta ?= "366edfd67e22da481a7e6beb6386e1f7d19e71cf"
+SRCREV_machine ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
+SRCREV_meta ?= "b505aeae4f62715ec4801e292b32ad68593b3341"
PV = "${LINUX_VERSION}+git"
diff --git a/meta/recipes-kernel/linux/linux-yocto_6.18.bb b/meta/recipes-kernel/linux/linux-yocto_6.18.bb
index 8bf35579cda..95cae43557d 100644
--- a/meta/recipes-kernel/linux/linux-yocto_6.18.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_6.18.bb
@@ -17,18 +17,18 @@ KBRANCH:qemux86-64 ?= "v6.18/standard/base"
KBRANCH:qemuloongarch64 ?= "v6.18/standard/base"
KBRANCH:qemumips64 ?= "v6.18/standard/mti-malta"
-SRCREV_machine:qemuarm ?= "16672075f0d625c2a7186a00a0d47b34f8ac1e36"
-SRCREV_machine:qemuarm64 ?= "8372c22a7d24c8fa15b62e13c1b5524a94caf9dc"
-SRCREV_machine:qemuloongarch64 ?= "8372c22a7d24c8fa15b62e13c1b5524a94caf9dc"
+SRCREV_machine:qemuarm ?= "f271f5b5cce5f2c67c00ccb5b4bf60502d4ddc0b"
+SRCREV_machine:qemuarm64 ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
+SRCREV_machine:qemuloongarch64 ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
SRCREV_machine:qemumips ?= "62ea92a539f58803a222be98b81118403074206e"
-SRCREV_machine:qemuppc ?= "8372c22a7d24c8fa15b62e13c1b5524a94caf9dc"
-SRCREV_machine:qemuriscv64 ?= "8372c22a7d24c8fa15b62e13c1b5524a94caf9dc"
-SRCREV_machine:qemuriscv32 ?= "8372c22a7d24c8fa15b62e13c1b5524a94caf9dc"
-SRCREV_machine:qemux86 ?= "8372c22a7d24c8fa15b62e13c1b5524a94caf9dc"
-SRCREV_machine:qemux86-64 ?= "8372c22a7d24c8fa15b62e13c1b5524a94caf9dc"
+SRCREV_machine:qemuppc ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
+SRCREV_machine:qemuriscv64 ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
+SRCREV_machine:qemuriscv32 ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
+SRCREV_machine:qemux86 ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
+SRCREV_machine:qemux86-64 ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
SRCREV_machine:qemumips64 ?= "9fb4ff0187c85426f21fd40d4c61b742800f65c4"
-SRCREV_machine ?= "8372c22a7d24c8fa15b62e13c1b5524a94caf9dc"
-SRCREV_meta ?= "366edfd67e22da481a7e6beb6386e1f7d19e71cf"
+SRCREV_machine ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
+SRCREV_meta ?= "b505aeae4f62715ec4801e292b32ad68593b3341"
# set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll
# get the <version>/base branch, which is pure upstream -stable, and the same
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 31/35] linux-yocto/6.18: update to v6.18.57
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (29 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 30/35] linux-yocto/6.18: aufs: refresh to upstream aufs6.18 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:29 ` Patchtest results for " patchtest
2026-11-11 9:02 ` [OE-core][wrynose 32/35] linux-yocto/6.18: update to v6.18.59 Yoann Congal
` (4 subsequent siblings)
35 siblings, 1 reply; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Bruce Ashfield <bruce.ashfield@gmail.com>
Updating linux-yocto/6.18 to the latest korg -stable release that comprises
the following commits:
2ff600d29ee47 Linux 6.18.57
d1e095c75d127 HID: steam: Clean up locking
cf71a6ee1d4e3 HID: steam: Refactor registration
86724f4bcf604 HID: steam: Rearrange teardown sequence
05d39902539a3 HID: steam: Fully unregister controller when hidraw is opened
3142648c952d6 sched_ext: Generate qseq from a per-task counter
f94a12ddd3184 drm/amd/display: Don't replace a sink mode that shares the native totals
82ac8c4939bdb regulator: of: fill in supply names in of_regulator_bulk_get_all()
32642616a8d73 SUNRPC: Add Kconfig dependency on CRYPTO_KRB5
69bf8d145ee1b can: fix unique skb identifier regression under RPS
cf32eb20dfacf xfs: fix exchange-range-to-eof file size exchange
7d3b9b2c9dc57 xfs: stop exchanging reflink flags when exchanging mappings
87655adb5ddb1 xfs: remove duplicate INO1_WRITTEN check
30e08c92118cc ACPI: scan: Use acpi_setup_gpe_for_wake() for buttons
d0813c7c09dfa ACPI: scan: Do not mark button ACPI devices as wakeup-capable
5e9c814ee4da9 workqueue: Annotate alloc_workqueue_va() with __printf(1, 0)
2d2c32b1b9e32 accel/amdxdna: Fix crash when destroying a suspended hardware context
a82142af837f6 accel/amdxdna: Fix race condition when checking rpm_on
27f52d4089ade accel/amdxdna: Resume power for creating and destroying hardware context
44e61f1834831 s390/zcrypt: Pad trailing CCA or EP11 message with zeros
00a44ff06bcff s390/zcrypt: Improve EP11 CPRB domain handling with ASN.1 parsing
f463f474773aa s390/zcrypt: Improve EP11 CPRB length and overflow checks
584400144020f s390/zcrypt: Improve CCA CPRB length and overflow checks
7673661a8adc0 workqueue: fix devm_alloc_workqueue() va_list misuse
5c03da7451714 netfs: Fix missing alloc tagging of direct mempool allocations
22adb6751bcf9 net: fix backlog_unlock_irq_restore() vs CONFIG_PREEMPT_RT
07861e84b766c media: verisilicon: Fix kernel panic due to __initconst misuse
a582e7391fe35 netfs, afs: Fix symlink reading
4719852d14db2 cifs: consolidate time_last_write stamp into _cifsFileInfo_put()
8f7285d608ed0 btrfs: make sure EXTENT_BUFFER_READING is cleared under refs_lock
fdee3570b282a drm/panthor: validate userspace queue count against initialized firmware slot count
e3e6779f77ab6 x86/CPU/AMD: Fix AMD TLBI Erratum #1718
bf0f3412d5a0d drm/vc4: Fix binner slot allocation failing on an idle GPU
4835dbcde5cc3 vsock: Fix memory leak in vmci_transport_recv_dgram_cb()
2594795fd832f net: openvswitch: validate transport header presence in set_ipv6_addr
0849ecf1c65e8 ptp: ocp: fix PCIe delay estimation calculation
3938430f0237c mlxsw: spectrum_flower: Fix port range register leak in tmplt_create()
5b1fb3b105ff6 net/mlx5e: Order ICOSQ cc update after CQ doorbell
e241465838e26 veth: fix peer NETDEV_XDP_ACT_NDO_XMIT after GRO is toggled while down
9caa2eca5cc83 drm/imagination: Fix reference and vm_bo handling in remap()
cc18eb0e99411 flow_dissector: avoid u16 truncation of hlen in bpf_flow_dissect()
cb0d55754b4f9 bnxt_en: Re-write the BARs following any type of PCIe errors
fd6a2b055dbc8 bnxt_en: Drop pci_save_state() after pci_restore_state()
5026c5070b825 bnxt_en: Delay for 5 seconds after AER DPC for all chips
f41becbee8fc6 bnxt_en: Fix driver init in kdump kernel
8ef2b3ce6d142 bnxt_en: Add bnxt_clear_bars() helper
b18a649649549 pfcp: make sure the SEID is linear before reading it
75e7f850cabd5 net: bcmgenet: if UMAC was suspended in SW_RESET, restore it to SW_RESET
e378bd8705659 Revert "net/mlx5: E-Switch, preserve max tx speed on vport state modification"
972b9285ae530 net/sched: cls_route: reject change with no routing attribute
8de57bfec3825 devlink: fix devlink_rel reference leak when notify work is pending
27748588c9310 net: sparx5: start the TOD counters on non-PTP lan969x variants
9993e6a0ac1b5 flow_dissector: avoid u16 truncation of skb->len when computing thoff
0bcebf2c4305c cgroup/cpuset: Call is_in_v2_mode() after acquiring cpuset_mutex in cpuset_handle_hotplug()
1194fd4c6dd1d spi: sg2044-nor: Honor SPI clock limits
f3e80f5132dc4 spi: sg2044-nor: Return transfer errors
64bb35079dcbc ASoC: samsung: i2s: enable op_clk in probe to balance runtime PM
ef15a51966ee1 ASoC: adau1372: fix invalid default state of output ASRC and DAC muxes
47c0c7a051b70 ASoC: adau1372: allow sleepy powerdown GPIOs
1bee950630df0 Revert "wifi: ath12k: add panic handler"
e3f7cc4ef04d1 wifi: mt76: mt792x: pick the SAR table layout from the table itself
83ec70a640fe1 wifi: mt76: mt792x: treat 0xff ACPI SAR entries as no limit
7fb2d37329c62 wifi: mt76: mt7925: don't put the band auto marker in TGID
0f9afe238eeb7 wifi: mt76: mt7915: disable rx napi when removing device
f240282165821 wifi: mt76: mt7996: fix struct mt7996_mcu_wed_rro_ba_delete_event layout
0ed29ec00eb33 wifi: mt76: mt7925: restore the legacy BSS after MLO teardown
69aae4146191f wifi: mt76: use ALTX queue for packets to disassociated stations
a18f68c1e72c8 wifi: mt76: route nullfunc frames to PSD/ALTX queue
9f28f50465086 wifi: mt76: account non-AQL frames per peer rather than per link
65b080310077c wifi: mt76: add PS buffering support for HW-managed TIM drivers
12b467683be5f wifi: mac80211: add ieee80211_txq_aql_pending()
09c6284b21f2e wifi: mac80211: add AQL support for multicast packets
aafd1724f65ef wifi: mt76: don't return TXQ when exceeding max non-AQL packets
0cf84535c031a riscv: vector: Fix output operands in context save
b56f9e11ac9f1 riscv: vector: Fix data pointer constraints in context save/restore
2c77af8bb5dc1 net: make dev_xdp_sb_prog_count() see programs attached through a link
63bc3cf8d7dd9 drm/xe/mmio: Fix xe_mmio_wait32() to honor delay/sleep maximums
36d7e2da7a873 btrfs: fix lost error return value in btrfs_listxattr()
a97114b9b00ed btrfs: fix xattr replace when multiple xattrs are packed in the same item
2797eb38773a9 btrfs: unlock inode and extent in caller when io_uring read extent fails
7a3addbdc5ad1 btrfs: free iov when btrfs_uring_read_extent() fails
033dda5b321f0 btrfs: always return -EIOCBQUEUED after btrfs_uring_read_extent_endio
77de9adf46f5b zloop: zero out only the unread tail of short reads
7057b683922fc arm64/boot: Don't set PMUv3p9 FGT2 bits without PMUv3
ce79a6c5cc1b8 nvmet: use the local P2P device on metadata allocation failure
e76979e27f0c5 nvmet: return Invalid Field for invalid NSIDs feature 82h
b7725acf9c574 ice: Restore Ordered MMIO Writes for Tx Doorbells
cbab667ef8b5d tee: optee: ffa: support shared memory offsets on large-page kernels
c83bf3973da6f tee: optee: fix kernel-doc warnings
7110c7f70c59e cxgb4/ch_ktls: disable softirqs around tid_list erases
181cb48c1e9af amt: send the relay's General Query directly from the receive path
85e5512369d4f net/sched: em_text: reject unterminated algo before autoload
bea10b84e22ef drm/vc4: Free the BO cache size list on teardown
742619c8637b9 drm/aspeed: Balance the display clock enable on teardown
01318927a9055 gpio: exar: initialize the ID before registering its cleanup
5b26dbb27c0cb drm/dp: don't mark the AUX backlight enabled when enabling failed
73e8503fac49c Bluetooth: btintel_pcie: Add shared HW reset for clean start
39ab048cce70d Bluetooth: btintel_pcie: fix TX descriptor bounds check
62a167e7e6d8c fs: don't let a migrating task hide its reference from do_umount()
6850385e26bf2 fs: move mntput_no_expire() slowpath into a dedicated routine
7505f139d8995 mount: refuse MOVE_MOUNT_SET_GROUP on an unbindable mount
cc21cda4cac5d arm64: dts: lx2160a: fix the iic5 spi3 pinmux offset and value
5a673697e4a3e arm64: dts: lx2160a: fix IIC1 pinmux submask rejected by pinctrl-single
ab0f32981ce39 arm64: dts: lx2160a: fix incorrect pinmux
fea9c705bbc61 smb/server: fix tree connection leak in smb2_tree_connect()
46a431c0a25a8 ksmbd: convert tree_conns_lock to rw_semaphore
0af43b52fe4b1 printk: Don't WARN on kthread_run failure.
9bf96b4347f54 bpf: check_cond_jmp_op(): properly infer if register is null
8a3257f142ae5 net: stmmac: fix dma mapping leak in stmmac_tso_xmit()
afca229b39acc ipv6: mcast: use rcu_assign_pointer() for __rcu list updates
45462e5ba345a ipv6: mcast: annotate data-races around mca_users
a0cd9e22f8fae bpf: backtrack_insn(): Handle ld_{abs,ind} subprog exit edge
3a39bc9707fbd bpf: backtracking shouldn't clear outer frame R1-R5 for callbacks
65f636322ac40 bpf: Mark syscall helpers as sleepable
364a31052aa9e ring-buffer: Add checking nr_subbufs to persistent ring buffer validation
5b40198a0c69e ring-buffer: Skip invalid sub-buffers when validating persistent ring buffer
6bb6ae5ab1bef bpf: zero extend the result of an arena 32-bit cmpxchg
c4d3bdb3ab211 bpf: don't rewrite bpf_fastcall patterns entered by a jump
65bea674f43c0 bpf: Don't infer non-NULL from a pointer with an unbounded offset
8d19e2cdfba9b bpf: Keep refcount_acquire nullable for borrowed RCU kptrs
bb667eb575c90 bpf: Mark NULL kptr stores precise
08b534bafdd9d bpf: Preserve inner map identity in callback frames
3f30b2cd4eba4 tracing: Fix subbuf resize races with trace_pipe_raw readers
b1fe6379e401b bpf: mark a NULL call argument precise
787405e9e7bdc iommu/riscv: Serialize command queue publishing
3e6400e3b8b85 virtio_ring: fix stale descriptor flags after a failed packed add
831dab9b9bcc1 vduse: validate virtqueue alignment
7f8ee0b8f6324 vhost: invalidate vring access on IOTLB transitions
d9232a90c6f7d tracing: Take trace_array reference when opening a tracer options file
30dacb56f0728 drm/amdgpu: skip the VMID 0 flush for VRAM
6ac7a29691558 smb: client: honor forceuid/forcegid when mapping SIDs to uid/gid
2be31f252ade7 smb: client: avoid using uninitialized SIDs in cifs_posix_to_fattr()
28289d880e6d1 ksmbd: fix maximum allowed access checks
eb2e3bb27e78c ksmbd: remove redundant DACL check in smb_check_perm_dacl
2e7e39bb81913 remoteproc: qcom_wcnss: Fix handling the lack of PD regulators in v3
5c9ab0c9cede9 powerpc/xive: propagate IPI init errors to prevent use-after-free
e3388edec1fff powerpc/xive: add error return value to xive_smp_probe()
ebdd932dc24c1 ACPI: bus: Introduce acpi_bus_get_primary_device()
041cce629a08d drm/xe: don't WARN on kernel job timeout when device already wedged
40bab0da844c1 nfsd: convert nfsd_net boolean flags to unsigned long flags word
65aa0a4c4c1bf nfsd: use workqueue enable/disable APIs for v4_end_grace sync
96d4b275281b4 dm-pcache: validate seg_id fields from persistent memory
3d8391d3149a1 drm/amd/display: Fix dangling pointer in plane reset function
3a03827bb3cda drm/amd/display: Fix dangling pointer in CRTC reset function
f786e7b3adbf3 dmaengine: xilinx_dma: Fix CPU stall in xilinx_dma_poll_timeout
7abc9b49ad01a uprobes/x86: Move optimized uprobe from nop5 to nop10
cf08ff2255de9 bpf: Reject MEM_ALLOC BTF accesses past object bounds
644cf4e77c277 bpf: Reject writes through untrusted BTF pointers
16a82add1918d platform/x86: dell-wmi-base: Fix handling of ultra performance key
93a20b14f8627 bpf: Reject rdonly/rdwr_buf_size kfunc arguments that exceed u32 max
0203146ad4509 usb: gadget: uac: validate rate list length before storing
8410cd2690d46 platform/x86: asus-wmi: fix resource leaks on probe failure
1ad6456898f6e esp: do not unref managed frag pages in esp_ssg_unref()
80968b42d1308 RDMA/rvt: Return NULL after port allocation failure
6a2e023429a41 fs/resctrl: Fix UAF from worker threads when domains are removed
c6492e1741204 cxl/features: Serialize multi-part Get/Set Feature transfers
a60bc2df2d323 firmware: arm_scmi: Fix SCMI device destroy lifetimes
f85333284fcb6 firmware: arm_scmi: Fix OF node reference handling
21bc07293ec4f firmware: arm_scmi: Clear SystemPower flag on create failure
074d062040197 ext4: fix ABBA deadlock in ext4_xattr_inode_cache_find()
094f0a895cf97 bpf: Fix WARNING in bpf_tracing_link_release
01b5fcdc30c0a pinctrl: mediatek: use devm_gpiochip_add_data() for GPIO chip
f3480c59f4ce9 scsi: ufs: core: Validate string descriptors
9d39f6dda00f6 scsi: ufs: core: Convert string descriptor format macros to enum
268cbe3a36ae5 iommu/tegra241-cmdqv: Don't fall back to a freed smmu after devm_krealloc()
c36816feff47f PCI: Fix UAF when probe runs concurrent to dyn ID removal
5e81d109f2e24 PCI: Fix dyn_id add TOCTOU
0787e34b894bd PCI: Make pci_match_one_device() match on ID instead of device
2fcd26f468014 RDMA/cxgb4: Fix dereg_skb leak and double free in write_tpt_entry()
ffd56ada81f97 nvmet: fix return status of RMI log page on allocation failure
f2be47fa8e225 drm/panthor: Add vm_bind region with kbo range overlap check
23bed4ef132c5 wifi: ath12k: fix overreads in ath12k_wmi_process_csa_switch_count_event()
ffcc9ea4e4d12 md: remove REQ_NOWAIT support from raid1/10/456
7a1b971b799ea wifi: mt76: fix handling channel context with different bands in mt76_switch_vif_chanctx()
2aa3d3b9fac91 wifi: mt76: mt792x: fix use-after-free in mt76_rx_poll_complete
aca0cd273b486 wifi: mt76: cancel reset and rc work on device unregister
9a9e902bd0556 bpf: Reject >8 byte return values on return-reading trampoline paths
e512823aabbdc wifi: mt76: mt7996: clear stale link state on full reset
e9e2854fcff57 arm64: ptrace: Keep 'orig_x0' in-sync with x0 on syscall entry
0ec1d14cf302a wifi: nl80211: clean up color-change beacon data on errors
f334b26b884df wifi: brcmfmac: fix P2P action frame handling without device vif
9260a92ce90e6 serial: core: do fallible allocations before the console can be registered
ddf51d74ee9f9 serial: core: clear freed pointers on uart_register_driver() failure
2af4c46b42990 tty: skip cdev_del() when no cdev is registered
2fd9c8112907c HID: logitech-hidpp: Fix FF device cleanup on init failure
8397942b67128 ublk: validate auto buf reg before taking uring_cmd
f81972b235f3e bpf: Invalidate RCU pointers after final spin unlock
3556caa31a2bf PCI/sysfs: Add lockdown checks to legacy I/O and memory handlers
9b405b3e7e131 thermal: hwmon: Remove hwmon class device along with its parent
9d44822ba34d6 ocfs2: o2hb: quiesce negotiate handlers and timeout work
bf4bd72020f33 ocfs2/heartbeat: fix slot mapping rollback leaks on error paths
1f0f61573ba4c bpf: Clear buf on error in __bpf_get_task_stack
35ef785b25ee2 bpf: Remove trace_in argument from __bpf_get_stack
63669625833c4 bpf: Factor callchain_finalize function from __bpf_get_stack
8c30d9fd61ebf bpf: Factor callchain_store function from __bpf_get_stack
562d24ac214ba drm/amd/display: Resize MST HDCP per-connector arrays to 32
b5896fc269e9f drm/amd/display: disable replay when crc source is enabled
d5f3dae82705d coresight: etm4x: missing cscfg_csdev_disable_active_config() in perf enable
e90f746f4ca38 scsi: sd: Fix special_vec mempool leak when scsi_alloc_sgtables() fails
fcee001f57bdb scsi: sd: Move the sd_config_discard() function definition
ce8103676f4d4 btrfs: check if root is readonly when setting posix acl
172f349f2c59b btrfs: apply the AUTO_K(V)FREE macros throughout the code
58b0ab0340ce0 btrfs: zoned: flush active metadata block group at btree_writepages() start
243bf1e45e40b iommu/vt-d: Fix iopf_refcount leak on RID domain replacement
11dfe2896ea23 iommu: Pass in old domain to attach_dev callback functions
6822ba1ae9b6d NFS: Return a delegation the client fails to record
e4ab436d5ba61 bpf: Compare iterator types during state pruning
a25ea67a913f9 clocksource/drivers/samsung_pwm: Switch to raw_spinlock_t type
6e6f8e3bfc66d nvmet: fix max_qid race between configfs and controller allocation
5c6593422eb3c blk-iolatency: clear delay state when freeing policy data
b399a88eb8b16 blk-iocost: clear delay state when freeing policy data
f4ca62414f4fb blk-cgroup: delay freeing policy data after rcu grace period
d4ba9d888ac0a bpf: Check pointer type for all atomic RMW paths
272c05a51285f ksmbd: fix slab-out-of-bounds read in ksmbd_alloc_user()
dc1e34f78dfab ksmbd: serialize oplock close with pending break ownership
ff6870cf3b7ec ksmbd: defer publishing granted locks to prevent UAF/double-free race
52b91bc5253bb ksmbd: safely discard unregistered deferred locks
f77d2accafca5 ksmbd: detach blocked lock requests before freeing
1ff0e41afbe73 ksmbd: scope session state changes to bound connections
d39da3ff8d39c dpll: fix NULL deref in dpll_device_ops() during teardown race
5235abdb760bb virtio_net: Fix resize of the RX ring
0887d41abf766 irqchip/gic-v5: Clear per-CPU IRS data on teardown
f57b0fd1c62e1 ip6mr: do not clone dst in ip6mr_cache_report()
884cbf15ccd39 net: bridge: arp/nd proxy: fix reading neigh ha
f43ef9a3f9c12 vxlan: fix reading neigh ha
f4d23937e1c41 NFSv4.1: zero referring call lists before decoding
68fb30607169c net/sched: account classifier filter allocations to memcg
1ca1df82d9248 fuse: Fix the condition to enable over-io-uring
8460dc49c9756 Bluetooth: L2CAP: access chan->conn safely in get/setsockopt
8a8585e421d06 Bluetooth: do not leak an hci_conn when a second LE connect is rejected
7b3e08eea1e8c net: mana: Cap MSI-X vectors to the device MSI-X table size
c08314f917829 octeontx2-af: fix cn20k mailbox lifetime on repeated rvu_mbox_init()
c6b56b8d549a0 netfilter: nf_tables: skip double clone set expressions on element insert
ef4dee4640c6a KVM: SEV: Forcefully invalidate SNP VMSA if its backing gmem page is zapped
506f03b5f869c LoongArch: KVM: Validate MSI data before routing it to EIOINTC
34a2a7134fd66 LoongArch: KVM: Get VM PMU capability from HW GCFG register
56c2c5ad35614 media: chips-media: wave5: Resume device before setting EOS flag
c26cbd5c33cd7 drm/amdgpu: force complete the KIQ ring fences on reset
7d722821e2f62 drm/amdgpu: force complete the MES ring fences on reset
ef073edd7cfd3 zram: fix out-of-bounds access in writeback_store()
836ce2b99bcce lockd, nfsd: RCU-protect nlmsvc_ops dispatch
df5500ab85df6 nfsd: restore rq_status_counter to even on all nfsd_dispatch() exit paths
9646dfee88073 ceph: fix UAF in check_new_map() on session freed during unlock
e1f692b6da3e6 cifs: call pagecache_isize_extended() in cifs_setsize() when extending
5481766125041 ext2: Fix lost inode updates for IS_SYNC inodes
0692a8fdf0222 kho: fix size calculation in kho_preserved_memory_reserve()
996dd15f60121 SUNRPC: Reject short RFC 4121 MIC tokens in gss_krb5_verify_mic_v2
5909f8f04e9b7 SUNRPC: Switch MIC token verification to crypto/krb5
ffb0423b4f4b0 SUNRPC: Switch MIC token generation to crypto/krb5
1e9125bb7948c SUNRPC: Switch wrap token decryption to crypto/krb5
5ec781a29eed1 SUNRPC: Switch wrap token encryption to crypto/krb5
6b4d0c9cf2b10 SUNRPC: Prepare crypto/krb5 encryption and checksum handles
5cf04fdbbf30e SUNRPC: Add errno-to-GSS status conversion helper
08efba8d62560 SUNRPC: Add crypto/krb5 enctype lookup to krb5_ctx
65f0f82f20334 svcrdma: Clear sc_cm_id when ADDR_CHANGE replacement fails
35d5dd0c2fd1e svcrdma: wake sq waiters when the transport closes
f35cf68b14422 svcrdma: Add Write chunk WRs to the RPC's Send WR chain
ddbd71a378094 RISC-V: KVM: Fix PMU event info array size overflow
0d4316e30efc8 KVM: riscv: Fix Spectre-v1 in PMU counter access
0f035333e1994 ntb: Store original DMA address for future release
b8cd3b632a0ce NTB: ntb_transport: Use ntb_get_dma_dev() for DMA buffers
6a01c4d3a3ae1 NTB: core: Add .get_dma_dev() callback to ntb_dev_ops
7672973957e3e tipc: avoid busy looping in tipc_exit_net()
ed7e9715849ab fbdev: Wrap user-invoked calls to fb_set_var() in helper
69164d6bdad5d drm/amdkfd: Add bounds check for CRAT subtype length
39841db9322cd drm/amdkfd: Fix infinite loop parsing CRAT with zero subtype length
22c2169770ad3 bpf: Check sk_state before sk_protocol in bpf_tcp_*_syncookie
bea1f73ad69ee drm/amd/display: check if dml21_add_phantom_plane() is successful
63844dc03960b dmaengine: idxd: fix double free of wq, engine, and group structs
e299b7d1334eb idpf: bound interrupt-vector register fill to the allocated array
a4de6fc95b2f3 Bluetooth: hci_sync: hold conn in hci_connect_acl/le_sync() callbacks
e124f7b170337 soc: xilinx: Fix race condition in event registration
afef4b0de4f3c drivers: firmware: xilinx: Switch to new family code in zynqmp_pm_get_family_info()
a19c48d9f5a73 drivers: firmware: xilinx: Add unique family code for all platforms
547ea9f567498 netfilter: flowtable: avoid num_encaps underflow on bridge VLAN untag
be7fb59512ffc btrfs: lzo: reject compressed segment that overflows the compressed input
0977a6f234396 optee: ffa: Add NULL check in optee_ffa_lend_protmem
fdc93f4a80107 scsi: core: pair EH runtime PM get and put
5cea365559449 ovpn: defer key slot crypto freeing to workqueue
eb81c8e758f49 ipvs: revalidate ihl to prevent out-of-bounds access
d10e73572cda4 eth: bnxt: avoid deadlock when canceling IRQ affinity notifier
21f5381a57a5f eth: bnxt: decrease indent in bnxt_request_irq()
bf3f37c2d40b5 gpio: pca953x: fix pca953x_irq_bus_sync_unlock regmap lock
868c478abce85 soc: aspeed: lpc-snoop: Fix usercopy overflow in snoop_file_read
056876c9db1e9 btrfs: lzo: reject inline extents without valid headers
618fc8dc219c1 accel/amdxdna: Fix locally exploitable BUG_ON in amdxdna_insert_pages()
b3d05a335cbd3 accel/amxdna: Fix page-insertion errors in amdxdna_insert_pages()
4af94462c0ca2 bpf: Fix netns reference imbalance in conntrack kfuncs
b57164cdddb46 vhost_iotlb: bound map allocation in add_range
2b80707b9e276 eventfs: Use children field for rcu head and add memory barriers
969a96479add6 btrfs: skip global block reserve accounting for rescue mounts
f5427cab06564 btrfs: warn about extent buffer that can not be released
23b0f4117e970 btrfs: only invalidate btree inode pages after all ebs are released
a6f972c50552e btrfs: split btrfs_fs_closing() and change return type to bool
f8e5715a37378 KVM: arm64: vgic: Fix race between LPI release and re-registration
4b296d176580a nexthop: take nh->lock for f6i_list walks in replace check and notify
f97fae992155b nexthop: avoid unlocked f6i_list walk in nh_rt_cache_flush
2c0a8cc97a9d9 xsk: reclaim invalid Tx descriptors in ZC batch path
1ff789fdfa231 xsk: provide sufficient space in pool->tx_descs
9990cac513e8b net/sched: cls_u32: validate offshift to prevent shift-out-of-bounds
15ed8a9b7c63e netfs: Fix folio_queue ENOMEM in writeback by adding a mempool
ff5625d27415a Bluetooth: hci_sync: hold conn in hci_connect_big_sync() callback
ff926f3ef6c80 Bluetooth: hci_conn: Fix using conn->le_{tx,rx}_phy as supported PHYs
946dc5835c8fb net: Convert proto_ops bind() callbacks to use sockaddr_unsized
f1b4c6aaf7655 hdlc_ppp: fix potential null pointer in ppp_cp_event logging
68ffe4265775e Bluetooth: hci_sync: hold conn in hci_connect_pa_sync() callback
a76243488740a octeontx2-af: Block VFs from clobbering special CGX PKIND state
59adeedebf02a s390/zcrypt: Close speculative mem read possibility
20b0b0159390f s390/zcrypt: Rework domain processing within zcrypt device driver
2a25ddf0bf6dd s390/zcrypt: Move inline function rng_type6cprb_msgx from header to code
23a541c31b45f drm/amd/display: Fix divide-by-zero in calculate_mcache_setting on zero viewport
029b363c9b690 md/raid1,raid10: fix error-path detection with md_cloned_bio()
bcf30e14d2bd5 md/raid1,raid10: fix bio accounting for split md cloned bios
ea2d1d2ebf60b md/raid1,raid10: fix deadlock in read error recovery path
e4a59511e1abd md: replace wait loop with wait_event() in md_handle_request()
55c6f05b66772 wifi: ath12k: fix memory leak in ath12k_wifi7_dp_rx_h_verify_tkip_mic()
c09314b8b4c62 wifi: ath12k: fix inconsistent arvif state in vdev_create error paths
d94bf50756d7f ocfs2: validate fast symlink target during inode read
b4059a1f57eff bpf: Reject sleepable BPF_LSM_CGROUP programs at load time
68cf46755894d wifi: mac80211: bound S1G TIM PVB walk to the TIM element
0901d2c894426 wifi: ieee80211: split S1G definitions out
f488b83a38103 ixgbe: do not configure xps for XDP queues
29e07ec352f0a ext4: validate donor file superblock early in EXT4_IOC_MOVE_EXT
0bc97a4110e87 ext4: add mext_check_validity() to do basic check
6166cb1344f16 iommu/dma-iommu: Fix wrong scatterlist length assignment in P2PDMA path
98c7e206af48b cxl/region: Block region delete during region creation
53fb46cf933dc netfilter: nf_dup_netdev: add nf_dev_xmit_recursion*() helpers and use them
fcacd948b10a3 netfilter: nft_fwd_netdev: use recursion counter in neigh egress path
7d5a0dc8eaab4 netfilter: nft_fwd_netdev: add device and headroom validate with neigh forwarding
33aed3ba04aa5 RDMA/bnxt_re: Free CQ toggle page after firmware teardown
2106c337905d7 RDMA/bnxt_re: Add a max slot check for SQ
b422e3eff0edf net: serialize netif_running() check in enqueue_to_backlog()
9a6916a934277 net: fully inline backlog_unlock_irq_restore()
459536b3acf13 net: optimize enqueue_to_backlog() for the fast path
580896e330038 fs/ntfs3: call _ntfs_bad_inode() when failing to rename
da6675b393516 fs/ntfs3: Reformat code and update terminology
308d7951ca221 i3c: mipi-i3c-hci: Fix race in i3c_hci_addr_to_dev()
7a45046068791 md/raid1: fix writes_pending and barrier reference leaks on write failures
c642583adc136 md/raid10: fix writes_pending leak on write request failures
453f4f1e90de5 bpf: Guard conntrack opts error writes
644b4c05bd1a4 bpf: net: netfilter: drop dead NULL checks
3827ff67f9fbe tipc: fix UAF in cleanup_bearer() due to premature dst_cache_destroy()
9de9e8f279de0 drm/panthor: Always use the IRQ-safe variant when acquiring the fence lock
bc8f2d1c6f7cf xen/pvcalls: bound backend response req_id before indexing rsp[]
177d22d31a4eb iomap: release pages on atomic dio size mismatch
0be672071d6e8 net/mlx5: LAG, Fix off-by-one in single-FDB error rollback
31cc289d5b179 Bluetooth: 6lowpan: avoid untracked enable work
3dd12422653ad accel/amdxdna: Fix VMA access race
33819cca7b76d accel/amdxdna: Refactor GEM BO handling and add helper APIs for address retrieval
bf63433873a06 accel/amdxdna: Fill invalid payload for failed command
08ff33dce6f91 net/liquidio: drop cached VF pci_dev LUT
241cf3b7455be accel/amdxdna: reject user command submission without a command BO
0a2c89d538fd4 ata: libata-core: Add NOLPM quirk for PNY CS900 1TB SSD
4739b1b833cf2 ata: libata-core: Disable LPM on Silicon Motion MD619{H,G}XCLDE3TC
1c3d9c6bd5b79 wifi: mac80211: validate extension-frame layout before RX
9cbad9c8125f5 net/sched: Handle TC_ACT_REDIRECT from qdisc filter chains
c59a693fbd213 drm/amd/display: use kvzalloc to allocate struct dc
c2ddd180bbee7 wifi: cfg80211: use wiphy work for socket owner autodisconnect
01f8a354497ba bpf: Fix UAF in sock clone early bailouts
0b2c44363432a bpf: Use rcu_read_lock_dont_migrate in bpf_sk_storage.c
88c38ff74f834 drm/xe/guc: Keep scheduler timeline name alive
81f70f130eff9 drm/xe/guc: Hold device ref until queue teardown completes
8549ac21ab503 bnxt_en: Handle partially initialized auxiliary devices
e611403f30928 fwctl/bnxt_en: Refactor aux bus functions to be more generic
5d3cea7d41dc7 tipc: serialize udp bearer replicast list updates
6089f561e2c31 cifs: fix cifsFileInfo leak on kmalloc failure in deferred close drain paths
984ce52ea0e01 cifs: prevent readdir from changing file size due to stale directory metadata
0c07e046e6391 drm/xe/vf: Add drm_dev guards when detaching CCS read/write buffers
16656c3d73469 LoongArch: BPF: Zero-extend signed ALU32 div/mod results
08fffd2881e28 idpf: fix max_vport related crash on allocation error during init
c174969f6af6c drm/i915/gt: Fix NULL deref on sched_engine alloc failure
f7e744bac9a72 drm/amdgpu: Fix kernel panic during driver load failure
cfb5a56c21888 ksmbd: prevent path traversal bypass by restricting caseless retry
3eaec47518e12 smb/client: fix chown/chgrp with SMB3 POSIX Extensions
d16713c060066 wifi: mt76: mt7921/mt7925: fix NULL dereference in CSA beacon
3f9c0fdefa043 KVM: guest_memfd: Treat memslot binding offset+size as unsigned values
5afc2d9b86bed netfs: Fix zeropoint update where i_size > remote_i_size
b76568c672184 drm/msm/adreno: Fix a reference leak in a6xx_gpu_init()
fcb23bb31508b erofs: fix metabuf leak in inode xattr initialization
48d09dea506de net: hsr: defer node table free until after RCU readers
a2650f8461cd8 wifi: mac80211: capture fast-RX rate before mesh reuses skb->cb
3899d6f924925 wifi: mac80211: fix missing RX bitrate update for mesh forwarding path
f669571a2bf50 netfilter: x_tables: allocate hook ops while under mutex
a014668cbd95b netfilter: x_tables: allow initial table replace without emitting audit log message
f048f297d93fd netfs: Fix missing barriers when accessing stream->subrequests locklessly
93531bca46707 afs: Fix the locking used by afs_get_link()
86f4c1586418d cachefiles: Fix error return when vfs_mkdir() fails
b9390aa62fdca nvme-pci: fix dma_vecs leak on p2p memory
fba32257979dd nvme-pci: fix dma mapping leak on data setup error
c85f325d9ec31 ACPI: button: Fix ACPI GPE handler leak during removal
78677084cd090 ACPI: button: Tweak acpi_button_remove()
38c79dacc8063 ACPI: button: Convert the driver to a platform one
bad88022f8949 ACPI: button: Adjust event notification routines
4ec3a8ca97394 net/sched: fix packet loop on netem when duplicate is on
b050fd0c2063b net: Introduce skb tc depth field to track packet loops
2090c1a236833 KVM: arm64: Correctly cap ZCR_EL2 provided by a guest hypervisor
fa34d3e14cb76 drm/amdgpu: fix amdgpu_hmm_range_get_pages
768daa9f4276b netfilter: nf_tables: add hook transactions for device deletions
7e4ab3907f44d f2fs: read COW data with the original inode during atomic write
8363c219d88e7 fbdev: omap2: fix use-after-free in omapfb_mmap
48ac6bab9999b fbdev: omap2: fix inconsistent lock returns in omapfb_mmap
4338663dfd21b power: supply: max77705: Free allocated workqueue and fix removal order
4e1af66d855f5 power: supply: max77705: Drop duplicated IRQ error message
fa4be2054a3e2 workqueue: devres: Add device-managed allocate workqueue
5459933a799aa net: phonet: do not BUG_ON() in pn_socket_autobind() on failed bind
a8c1480bb066c drm/amd/display: Wrap DCN32 phantom-plane allocation in DC_RUN_WITH_PREEMPTION_ENABLED
afe815a67ec8f wifi: cfg80211: enforce HE/EHT cap/oper consistency
daacc9d1430b6 ptp: ocp: fix resource freeing order
9446167bef89b ptp: ocp: Make ptp_ocp_unregister_ext() NULL-aware
de05e37d02f3f ublk: reset per-IO canceled flag on each fetch
09207dc57ab4c powerpc/64s: Fix unmap race with PMD migration entries
e72ffe59e48a7 greybus: raw: fix use-after-free on cdev close
cb06a07d835ba f2fs: fix data loss caused by incorrect use of nat_entry flag
910e498613d5b ice: fix double-free of tx_buf skb
c789649d4334a ice: fix potential NULL pointer deref in error path of ice_set_ringparam()
e98cea6d5562f ice: fix race condition in TX timestamp ring cleanup
cbfbc9d446d98 ice: reshuffle and group Rx and Tx queue fields by cachelines
349499a65b6b5 ceph: put folios not suitable for writeback
5df268406ef38 libceph: Fix potential out-of-bounds access in __ceph_x_decrypt()
d0ce7b07dafe4 drm/ttm: Fix ttm_bo_shrink() infinite LRU walk on backup failure
060f8f3020516 drm/ttm: Fix ttm_bo_swapout() infinite LRU walk on swapout failure
dc24e03be0e4b Revert "net/smc: Introduce TCP ULP support"
2da62dbb4169e drm/amdgpu/userq: fix access to stale wptr mapping
b33d6f5da16e0 pseries/papr-hvpipe: Fix race with interrupt handler
51a321dec76f7 papr-hvpipe: convert papr_hvpipe_dev_create_handle() to FD_PREPARE()
1d15503e454bf drm/amd/display: Fix dc_link NULL handling in HPD init
96889fcdb0988 media: iris: fix use-after-free of fmt_src during MBPF check
46edfdcf95d2b media: iris: turn platform caps into constants
b0eb0a8959ac2 KVM: nSVM: Triple fault if restore host CR3 fails on nested #VMEXIT
73df74544b552 udf: fix partition descriptor append bookkeeping
4456be93464a5 gfs2: fix memory leaks in gfs2_fill_super error path
370154a83a835 gfs2: Rename gfs2_{withdrawing_or_ => }withdrawn
1b6a9f81c4715 gfs2: Get rid of delayed withdraws
dfd14e14772c6 gfs2: Asynchronous withdraw
604dca7c20a15 gfs2: Add clean argument to lm_unmount hook
74b981f0d3b90 gfs2: Clean up quotad timeout handling
9e0652e243ef4 gfs2/sysfs: Replace sprintf/snprintf with sysfs_emit
e0e31a7ed1191 ASoC: amd: acp-mach-common: Add missing error check for clock acquisition
4097a2afe8acc scsi: qla2xxx: Completely fix fcport double free
57a79c5df057d soc/tegra: pmc: Fix unsafe generic_handle_irq() call
5133ef7c893c2 media: verisilicon: Avoid G2 bus error while decoding H.264 and HEVC
6c5d98f24f995 media: v4l2-mem2mem: Add a kref to the v4l2_m2m_dev structure
6ad4caadc6343 btrfs: don't BUG() on unexpected delayed ref type in run_one_delayed_ref()
6311ee6daa9cc btrfs: remove 'reserved' argument from btrfs_pin_extent()
81e1ae665004b btrfs: do not ASSERT() when the fs flips RO inside btrfs_repair_io_failure()
559f856b109c4 hfs: Replace BUG_ON with error handling for CNID count checks
3a409a64b2d61 ASoC: qcom: q6asm: drop DSP responses for closed data streams
d9bf525dff80b ASoC: qcom: q6asm: handle the responses after closing
02b033e18e08a drm/amd/display: Adjust PHY FSM transition to TX_EN-to-PLL_ON for TMDS on DCN35
203a9241a7384 drm/amd/display: Rename FAMS2 global control lock to DMUB HW control lock
28768bc7ea0b1 srcu: Use irq_work to start GP in tiny SRCU
37419fa1b0bc2 irqwork: Move data struct to a types header
d14847cb7f65d mshv: Fix error handling in mshv_region_pin
f33de03b47c14 mshv: Move region management to mshv_regions.c
06c0ce18055a5 mshv: Centralize guest memory region destruction
93ed80634288d mshv: Refactor and rename memory region handling functions
a40a75df33267 static_call: allow using STATIC_CALL_TRAMP_STR() from assembly
5cfa4f537a056 Bluetooth: hci_sync: hci_cmd_sync_queue_once() return -EEXIST if exists
971854e7b6ddd ALSA: ctxfi: Check the error for index mapping
88cc09bb70651 ALSA: ctxfi: Refactor resource alloc for sparse mappings
1422b94887c5c ALSA: ctxfi: Use explicit output flag for DAIO resources
c0904c424f7da ALSA: ctxfi: Add hw parameter to daio_mgr_dao_init()
dbc8b8d33c9e1 Bluetooth: hci_event: move wake reason storage into validated event handlers
c516c2e06fe58 net: ti: icssg-prueth: fix use-after-free of CPPI descriptor in RX path
2352d719cccfc net: ti: icssg-prueth: Make emac_run_xdp function independent of page
2157742f5c32f net: ti: icssg-prueth: Add functions to create and destroy Rx/Tx queues
41f3fa0d14bb8 ti: icssg: convert to ndo_hwtstamp API
6e5c3ddf17a2c blktrace: fix __this_cpu_read/write in preemptible context
6b3546e3a8c66 accel/amdxdna: Fix NULL pointer dereference of mgmt_chann
2f62f8be57882 PCI: endpoint: Add missing NULL check for alloc_workqueue()
b0d908230b3d8 PCI: Add WQ_PERCPU to alloc_workqueue() users
b569ff8a1bc1b accel/amdxdna: Fix potential NULL pointer dereference in context cleanup
09ed30edcfa1f accel/amdxdna: Add hardware specific attributes
3bdd26582d026 accel/amdxdna: Enhance runtime power management
5a7d0e2810891 ata: libata-scsi: do not lose CHECK CONDITION for failed ATAPI commands
e01c79761c7b3 namespace: handle mount locking for automounts correctly
6b8dc3713a763 namespace: never expire a locked mount
494c57572d2d5 namespace: refuse an automount below a mount that is in no namespace
fa75dae156df1 fcntl: refuse F_SET_RW_HINT on an immutable inode
5f97df8ca7fad namei: don't reveal overmounted entries in refwalk
d29cd99db3db7 namespace: unhash a dentry before detaching the mounts on it
7e1c466011ba9 namespace: don't let a pseudo dentry become the root of a mount
390ddcea2a8ac dcache: don't put a mountpoint on a dentry that's being removed
e3aba6900483f namespace: check the mounts before reading their parents in pivot_root()
888363d74c3b5 namespace: remove the fsnotify marks of a mount namespace in process context
b9c40553f6ceb namespace: look at the topmost mount for a mount namespace file
a0ba48256f5df namespace: check a recursive bind mount for mount namespace loops
d73f04e92c1aa namespace: check a submount for references right before unmounting it
acbe9e4418e2e namespace: queue a mount only once for mount notifications
33b4344f69013 namespace: check the target before walking it in do_mount_setattr()
c44f5c30f0a97 fs: refuse fspick() on internal superblocks
b47b40c4f0584 namespace: don't copy an unmounted mount tree
eecc9cd0fc07d namespace: don't inherit MNT_UMOUNT in clone_mnt()
5e0a1f2c753a7 namespace: reset the old parent's ->overmount in mnt_change_mountpoint()
bf2c8dec26fb7 fs: don't silently unmount busy mounts
9bd1181b36f2d mount: keep a copied mount unbindable
c6307228af65a drm/amd/display: Fix direct scanout alpha on some DRM_FORMATs
d9da2f7bbbffb drm/amdgpu/userq: return the memdup_user() error for the user MQD
112dbe2b10d6d drm/amdgpu/userq: only accept doorbell BOs as queue doorbell
21aee7fc9310d drm/amdgpu: copy debugfs register data outside the GRBM/SRBM locks
1a5c03198ae86 drm/amdgpu: make Mac FB workaround generic
8d6f773d74790 drm/amdgpu: serialize vblank counter reads against GPU reset
3d4890b4ab04f drm/amdkfd: fix dma_buf reference leak in get_dmabuf_info
f009879ed9906 drm/amdkfd: align SDMA doorbell base for shader doorbell writes
3a11adcfd9a2d drm/xe: Fix stale pinned_link entry when fb-pin performs the final unpin
993c952e6832a drm/xe: Fix shrinker accounting double-subtraction on nested external pins
76e5ddd7d9822 drm/vmwgfx: validate pitch coming from userspace
ea22f8a5d11a4 drm/vc4: Fix firmware reference leak in vc4_drm_bind()
e61465d3e0292 drm/vc4: drain the hangcheck timer and works on V3D unbind
f9b215b3e37a5 drm/imagination: Size page table preallocation by device address
0b4a0fb98b9ff drm/i915/gt: Unmask interrupts only when ACTIVE is true
152fb5083b933 drm/i915/gem: Prevent overstepping exec array boundary
cd7bec509c180 drm/gud: don't keep a connector without a CRTC as connector_state
4e7b508c7c60d drm/fb-helper: defer setup when fbdev_probe() fails, not just on -EAGAIN
a661f401f83b8 Bluetooth: RFCOMM: Fix NULL tty_dev dereference in rfcomm_dev_shutdown
4f46de658ce61 Bluetooth: RFCOMM: free the skb when the DLC has no owner
b108ea7ebba14 Bluetooth: SCO: serialise sco_conn lifetime against sco_recv_scodata()
ec227cddd13cd Bluetooth: MGMT: Fix status of pending commands flushed on power off
c6489a3a0ac8c Bluetooth: ISO: Serialize concurrent connect calls
90b744066ca52 Bluetooth: ISO: Reject concurrent BIS listener setup
7db33b36213a3 Bluetooth: hci_sync: Fix command skb lifetime during scan setup
c3d2799877906 Bluetooth: hci_sock: Serialize dead-device detachment
c9c20d334cd5e Bluetooth: btintel_pcie: use managed IRQ teardown
71beae6f2e8bc riscv: hwprobe: use _BITULL() rather than BIT() in MIPS vendor uapi header
2e5c80bbc062a riscv: futex: untag the user pointer before the atomic access
b86e88a3dc6e1 riscv: fix load_unaligned_zeropad() fixup for RV32
fa465a7819ecb riscv: errata: select RISCV_ALTERNATIVE_EARLY for THEAD GHOSTWRITE
7d1367a53137e riscv: entry: gate shadow call stack reload on sstatus.SPP, not tp
8bfcbd5022818 scsi: qedi: Initialize callback state before registration
ce2eee635fd3e pmdomain: rockchip: propagate subdomain add errors
1072890e6c1af pmdomain: rockchip: fix clock leak on domain probe failure
5874c0e2bd030 pmdomain: rockchip: don't ignore clock lookup errors on attach
28606d4d4dbe8 pmdomain: imx8m-blk-ctrl: Serialize power on/off across sibling domains
f6fbe9c6b3996 regulator: tps6594-regulator: Fix n_linear_ranges for TPS65224 BUCK2-4
199a62d70314d regulator: ltc3676: don't read the write-only HRST and CLIRQ registers
681adbc9c7a82 optee: register TEE devices only once fully initialized
55f12552b00a3 openvswitch: fix soft lockup in the netlink flow dump
558a189ca357d nvme: fix swapped ZRASF zone state values for full and read only
961563117626f net: team: free skb when broadcast has no txable port
0c0568c9d35c4 net: team: stop reusing skb after queue override
5b144f83f2179 net: usb: ax88179_178a: fix rx frame length for non-last packets
cc7cc5955d22e net: sparx5: free the matchall entry on destroy
5551399751e2c net: skbuff: don't leave stale bytes in skb_copy_and_csum_bits()
d7fea7141036f net: dsa: microchip: fix KSZ8765 fiber detection
d109141ba1465 net: bridge: avoid recursive multicast port cleanup
6a1833f0d7dc0 net/smc: protect clcsock lifetime in smc_getname
3efe0e0944157 net/packet: guard the ll header push in packet_rcv_spkt()
3a1caa886d41d mmc: sdhci-sprd: disable runtime PM on remove
46e75703ca3f0 mmc: mtk-sd: Cancel request timeout work on remove
9ac3fd9dc917d mmc: cavium-thunderx: destroy slot platform devices on remove
8668f432a9bf7 mmc: cavium-octeon: destroy slot platform devices on remove
e3bf232c913b7 dm: fix reading free memory in do_resume
c86f80cd246c0 dm-snap: reject the transient exception store for snapshot-merge
4f0ee735dc68e dm-integrity: fix buffer overflow in inline mode with large tag size
a1a875614dae4 dm-crypt: reject the lmk IV mode with AEAD ciphers
7a25ca170c12a mm: don't schedule deferred kernel page table freeing while booting
d7e811c3a49cd memstick: rtsx_usb_ms: complete requests after eject instead of dropping them
f2795c50144d5 memstick: core: wait for request completion before freeing card
11516a0c402a6 KEYS: Fix add_key() race with keyring restriction
955b1f75c4001 keys: finalize persistent keyring timeout after link attempt
beb05f484a1e4 ice: fix metadata_dst refcount handling on representor teardown
ca8a6285b11d0 ice: fix use-after-free in dynamic port cleanup
bb8f6b89587d0 ibmveth: fix TX LTB and filter unwind on open-fail
a065bd31ec462 ibmveth: h_free logical LAN on open-fail after register
06656aaa7e43a gve: fix XSK buffer leak on error descriptor
506f9de069d07 gve: fix XSK buffer leak when rings are stopped
42935a6100192 gve: fix napi_disable deadlock when attempting to disable XSK pools
a027e0d7765d1 gpio: xilinx: fix runtime PM leak on request error path
76390ac0bca7e gpio: mpsse: fix race when arming the IRQ poll worker
1eb70d10bbb8a EDAC/amd64: Mask UMC chip select to the four implemented selects
2d79ddc9a0cc0 sctp: copy zeroed stats to user in sctp_getsockopt_pr_streamstatus() when !streamoute
5509d498e1b9e selinux: preserve NATIVE_LABELS on already-initialized sb in set_mnt_opts
5a41bcc5057dc selinux: fix data race on AVC latest_notif
215c29f7f4606 Revert "wifi: libertas: reject short monitor TX frames"
1428c5f1d346a tipc: hold a reference to nodes found by link name
0af8780bdfdfc tipc: destroy topsrv workqueues before closing connections
1c7463ac0e99c tcp: reject net_iov in zerocopy receive mapping hints
3d555c31b0d27 swiotlb: fix default_swiotlb_limit() for non-growable default pool
d2b5f637b9b67 strparser: make sure __strp_recv isn't running before tearing down the parser
65cb86860a80f tee: shm: reject zero-sized allocations in tee_dyn_shm_alloc_helper()
086944c1c2cbb xen/netfront: don't leak the skb when xennet_fill_frags() fails
b12a25fb2b9d5 workqueue: Fix NULL current_pwq deref in chained work check
4d64a3d6e96aa wireguard: noise: reject response consumption after intermediate initiation
38da24fd5c9d0 wireguard: queueing: preserve tstamp_type when encapsulating packet
d730b466496ce wifi: mt76: mt7996: fix uninitialized buf read in mt7996_variant_fem_init()
dd117d17e8aa2 wifi: mt76: mt7603: initialize global station WCID
eef16a74ff8ed wifi: brcmfmac: fix P2P device removal race in brcmf_detach()
38bad3930b118 vsock/virtio: account only unread bytes in read_skb()
6139c710d8bee usb: f81604: fix struct f81604_int_data size mismatch
5680b6fb30546 dm ioctl: don't let data_start run past the buffer
2200fe1d6148b cipso: adjust cached option offsets when removing CIPSO
8d88d3221204f cgroup/cpuset: Handle cpu hotplug race in guarantee_active_cpus()
12ba7d8b9cd45 btrfs: scrub: fix local_root reference leak in scrub_print_warning_inode()
a768b88cd157b ASoC: amd: yc: Add DMI quirk for Acer Aspire Go 15 (AG15-21P)
13bbcfe755d46 arm64: irq: exclude the softirq stack switch from KCOV
1ea7241101753 ALSA: hda/tas2781: Accept V1 calibration data without CRC
f7dc71c1ce885 ALSA: ctxfi: Fix memory leakage when clearing DAO input mappers
0b0278e760d7b Input: xpad - add support for Corsair Novablade Pro
2e4f80c023119 Input: xpad - add support for 8BitDo Pro 2 Wired Controller for Xbox
d738e51bf2c21 Input: ati_remote2 - fix type confusion in device attribute handlers
4ac7d92a4698e ipv6: do not warn on route notification size race
7dfa7ca97f3ac ipv4: do not warn on route notification size race
c1f48d1c2d5e9 ipv4: stop route notification sizing when nexthop group shrinks
21cba134c30c1 ipv4: stop exception dump when nexthop group shrinks
c6d670ac656ba ipv4: stop PMTU walk when nexthop group shrinks
71cbad138969e rust_binder: reschedule node refcount update on thread exit
f3e835af6226f ipv4: validate checksum_start before completing checksum
fa1bceba169b1 ipv6: Fix redirect exception creation for UDP/RAW sockets
61a32face36f7 crypto: drbg - Fix ineffective sanity check
af98611ad109e net: dsa: mt7530: fix .get_stats64 sleeping in atomic context
4d8ed219b1921 f2fs: fix to reset all pinned status during fggc
b2cf17d39dd2c f2fs: fix to shrink gc_lock coverage in f2fs_gc_range()
3f63f071bf82b accel/amdxdna: Bound the sync_bo flush range to the BO size
d7b9770a487e1 ynl: fix schema check errors
3a49853272bd3 doc/netlink: netlink-raw: Add max check
56760e83aa4e8 netfs: zero the tail of a short DIO/unbuffered read
61519a5a1d70f net: mana: Skip WQ object destruction for uninitialized RXQ
b5aa7f1773f80 net: mana: check xdp_rxq registration before unreg in mana_destroy_rxq()
867119b4b5880 net/mlx5e: Prevent stale XSK buffer release on MPWQE refill retry
639522e5056ca net/mlx5e: Prevent stale XSK buffer release on refill retry
50cff3f112d64 fs: Free any excess xarray nodes in clear_inode()
fbd977e513971 bnxt_en: fix DMA mapping length for padded small packets
17ad2612c11a7 Linux 6.18.56
a47406c769f72 ipv4: free inet_opt and ireq_opt after an RCU grace period
b473ee29aa0d3 iio: adc: adi-axi-adc: Initialize state mutex
bb29dd90885b4 iio: adc: adi-axi-adc: Make use of dev_err_probe()
e05c55de819b4 iio: buffer-dmaengine: fix sg entry iteration when building dma_vecs
845c959178cca net: mana: Sync page pool RX frags for CPU
55aa2774323e7 net: mana: remove double CQ cleanup in mana_create_rxq error path
72d2f54367895 xen/netfront: drop RX packets with a short Ethernet header
626deff23b544 net: usb: qmi_wwan: add Quectel EG120K-EA
525694a6021ec KVM: x86: Re-pend GET_NESTED_STATE_PAGES if getting said pages fails
81d7875515906 KVM: x86: Add static calls for nested virtualization ops
69f1d46341c28 KVM: x86: Reject nested CAP enablement if nested virtualization is disabled
9a4605ac9045d KVM: move TSS constants from kvm_host.h to tss.h
318ef696fa3c7 KVM: SVM: Use the active VMCB's MSR bitmap when checking if MSR is intercepted
267c586a090a4 KVM: arm64: Use stage-1 leaf size for VM_PFNMAP
1113374a17d7f KVM: arm64: Apply the fine-grained UNDEFs without FEAT_FGT
e4f086a7d7074 KVM: arm64: Always populate FGT masks at boot time
a014b1a377e45 KVM: x86: Move IRQ-related helper declarations from kvm_host.h => irq.h
cf0654248c87f arm64: errata: Add Cortex-A725 erratum 3821522 workaround
424e851050f47 arm64: errata: Factor out broken AMU const counter cap
277c4d8eac0ba arm64: mm: Fix the break-before-make flush range for erratum 2645198
e506333d1b9f4 perf: Require kernel access for text poke events
2581b43e162cf perf/core: Check kernel access when kernel callchains are requested
a16986dac7be5 perf: Replace perf_event_header__init_id with full header init
624370942abd3 unwind: Shorten lines
08bf919f041af tty: fix saved termios reset race
9e8595cbd31db usb: typec: ucsi: acpi: Assume UCSI 1.2 on Acer Nitro ANV15-41
100f92cc90149 tty: n_gsm: fix missing modem controls after DLCI open in convergence layer type 2
ba927133b3018 usb: dwc3: gadget: fix IRQ storm on invalid event buffer count
9b995b757a87d drm/amd/display: Fix fast updates on DCE 8.1
6f36088234647 drm/amdgpu: reset VI ASIC on MacBookPro14,3
d12b62677fb48 drm/amdgpu: reset VI ASIC on MacBookPro15,1
0e0fd96b26263 drm/amd/display: Preserve eDP mode on initial ASSR failure
8786c5bc77375 drm/amd/display: Mark DCE 6.4 as not APU
6b0cc4e32599f iio: adc: ad4030: fix invalid oversampling_ratio validation
23222e50948a2 iio: adc: ad4030: Use BIT macro to improve code readability
9c8158ef4ccce units: Add HZ_PER_GHZ
a0a1929d66d6b smb: client: only require read lease for size-extending preallocate
aec958676fb75 iio: adc: aspeed: propagate reset deassert errors
49c97ba1a3a3f iio: adc: aspeed: Simplify with dev_err_probe
74d723eee7296 smb: client: distinguish real EOF from a stale remote_i_size on read
cecf4114069fc smb: client: flush dirty data before zeroing a range
405a969c0b335 thunderbolt: Don't access a DP tunnel after its DPRX read was canceled
9cedbfde14500 wifi: mac80211: set info->band for 802.3 encap offload frames
cbdcf80683f53 wifi: mac80211: Add sta pointer sanity check in ieee80211_8023_xmit()
03525b632908b wifi: mac80211: count only matching reservations in reserved switch
80e8b0ea73ba2 mtd: spinand: fix NULL pointer dereference with no ECC engine
2d86abd280714 nvme-multipath: set BLK_FEAT_ZONED only after the zone info is known
d3d6d7efdacc0 nvmet: copy the hostid into the ctrl before creating PR pc_refs
dd053fc01eefa nvmet-tcp: Don't error if TLS is enabed on a reset
889c61e3d0f10 Bluetooth: Serialize SMP remote OOB data access
e887e43bd5aa7 fsverity: add dependency on 64K or smaller pages
b4c0c41b952c2 fs,fsverity: remove check for fsverity being enabled in setattr_prepare()
2efdeec99ca09 fs,fsverity: reject size changes on fsverity files in setattr_prepare
8f317daa50fe1 rust: irq: pass RegistrationInner as cookie to request_irq
333fa4bb5dbbe rust: devres: ensure revocation is complete before device finishes unbinding
e7930d857cc79 rust: devres: fix race between concurrent revokers
5017fdcb5ad73 rust: devres: add 'static bound to Devres<T>
8ae7e5dec4f34 rust: devres: fix race condition due to nesting
946ae2e1669b6 mm/vma: predicate setting mmap_prepare VMA fields on new vma alloc
60f3b22d501dd mm/vma: rename __mmap_prepare() function to avoid confusion
98f6a4589e0f5 netfs: clear post-EOF pagecache when extending a file via write
4b8ce1686dea1 pfcp: fix socket lifetime on netdevice registration failure
8bed333470a1b mtd: rawnand: vf610_nfc: fix false bitflips on reads of erased pages
0a6c9b3801903 drm/amd/powerplay: fix VoltageObjectInfo zero-stride loop and OOB read
e68380710fc97 svcrdma: Use svc_xprt_put to free listener on create failure
d1d9694ae47da mptcp: fix msk->timer_ival reset
e64703280ce7a iio: trigger: cancel reenable_work before freeing trigger
e113bac1d5e72 iio: proximity: vl53l0x-i2c: claim direct mode for raw reads
28e76a775c304 iio: proximity: vcnl3020: fix ISR bitmask check in IRQ handler
a70d84d2f6c32 iio: proximity: sx9324: Correct proximity channel resolution
20ebd7f4e35c0 iio: proximity: pulsedlight: fix iio_device left registered on PM setup failure
58237debc18dd iio: proximity: isl29501: Fix return type of isl29501_register_write
6501b032be217 iio: proximity: aw96103: validate firmware data length
493e743ea1b59 iio: pressure: rohm-bm1390: Return error when read fails
4fd5a61e61d68 iio: pressure: bmp280: fix out-of-bounds access in sampling frequency lookup
10a958e76c737 iio: light: rohm-bu27034: Fix infinite delay on error
cc71400bc965c iio: light: gp2ap020a00f: drain irq_work after free_irq
ce308ce18dedc iio: imu: adis16480: fix unprotected debugfs reads
50e8d70ba0743 iio: imu: adis16400: fix unprotected debugfs reads
60699102827fd iio: health: max30102: fix NULL dereference in interrupt handler
b53dc6e15aead iio: gyro: adis16136: fix unprotected debugfs reads
786f0162fe6d2 iio: frequency: admv1013: fix wrong channel field used in admv1013_read_raw()
d6a83a5015071 iio: cdc: ad7150: fix OF matching and publish module aliases
b134ef820610b iio: buffer: Ensure bounce buffer used for unaligned case is zeroed.
b466db9e68b47 iio: buffer: serialize buffer teardown with mode claims
8aef1e8bdd86d iio: admv1013: initialize callback mutex before registering notifier
a5fe2d1b55fab iio: adc: xilinx-xadc: free IRQ before cancelling the unmask worker on unbind
f44e2ac2fb114 iio: adc: sun4i-gpadc-iio: drop underflowing pm_runtime_put() calls
d74c2489acc5f iio: adc: sun4i-gpadc-iio: clean up on thermal zone registration failure
6dd3bf785d030 iio: adc: stm32-adc: fix possible division by zero in processed channel
2754d336af34b iio: adc: stm32-adc: fix check on internal channel availability
56e8e9d9992b4 iio: adc: rohm-bd79124: Fix rising alarm
2a3fd11fd0e19 iio: adc: rohm-bd79124: Fix GPIO mask check
02a9e6a95a3bf iio: adc: rohm-bd79124: Fix channel initialization
1d8beaae5a745 iio: adc: rohm-bd79124: Catch regmap errors at measurement start/stop
2eb7f097e15dc iio: adc: pac1934: check ACPI label duplication
fe0ceff995d91 iio: adc: max1363: sign-extend bipolar differential channel reads
f87d392bb4ebf iio: adc: axp288: Add TS bias override for Haier HV103H
ed1a6230155fd iio: adc: ade9000: request interrupts after powering the device
f73b94acc7ec8 iio: adc: ade9000: handle Phase C dip events in IRQ1 handler
fddb6cc28134b iio: adc: ade9000: fix overlapping scan_index for current and voltage channels
d2400175228fb iio: adc: ade9000: fix NULL pointer dereference in clkout registration
f20b94a7dc1ff iio: adc: ad_sigma_delta: fix use-after-free on unbind
0633f83c4caa9 iio: adc: ad7173: Fix digital filter configuration
d2261795797bc iio: accel: sca3000: fix frequency divider condition check
3365209e758c8 iio: accel: kxcjk-1013: reject duplicate event disable
5c7ca8fe72064 iio: accel: kionix-kx022a: Prevent memory leak and fix state
4165641d06ef4 smb: client: split cifsFileInfo bitfields to avoid shared-byte RMW races
f82242fe3109a smb: client: flush and commit data before querying allocated ranges
dce9bca8afcbd smb: client: discard post-EOF pagecache when extending a file via copy range
b75dadb50a25e smb: client: discard post-EOF pagecache when extending a file via zero range
2f97f929dad9e thunderbolt: Reject oversized XDomain properties responses
58cb2aa1d29f7 thunderbolt: Disable CL states for the Anker Prime TB5 dock
2f5893172fc61 thunderbolt: Fix domain reference leak when DPRX read is canceled
34a6e27c954e5 thunderbolt: Tear down inactive DP tunnels when the domain is stopped
e09cbad4db58a thunderbolt: Mark discovered tunnels as active
c444d2c17dc23 thunderbolt: Hold a router reference for each allocated HopID
f18faa3d3b810 thunderbolt: Fix KASAN reported use-after-free when request is canceled
29664699216c6 USB: serial: option: add Compal EXC-T1 support
af4224809ea1b USB: serial: option: add Quectel RG660QB
3ef1b5c9a7194 USB: serial: option: add Compal EXM-G1x support
8b495843267b9 USB: serial: option: add Quectel EG060W
02e1112182d8a USB: serial: option: add support for SIMCom SIM8260C
4597ddd6168ae USB: serial: fix ioctl hangup race
a1aa474768f69 USB: serial: fix driver deregistration order
4d6da6867b4ac USB: serial: fix dynamic id driver deregistration race
02fc7a87f0291 USB: serial: ssu100: fix baud rate overflow
4e18c175cea26 USB: serial: quatech2: fix baud rate overflow
25a5f7239a43a USB: serial: cp210x: add Corsair AX1500i Power Supply
452f1c9b76f7a wifi: mac80211: handle empty FILS association request payload
128e800a41270 wifi: mac80211: fix mesh fast xmit path deletion UAF
a613c891906b5 wifi: mac80211: release mesh path quota on failed additions
1892e71aa2e5e wifi: mac80211: reject invalid 320 MHz CSA bandwidth
42aa9feb27b60 wifi: mac80211: minstrel_ht: validate fixed rate index
d0183cd1f6a2d wifi: mac80211: keep fallback association elements alive
3b75831ceee76 wifi: mac80211: account proxy paths against the mesh path limit
772bd89304ecf wifi: mac80211: drain PS delivery work during station teardown
481f9230284c2 wifi: mac80211: shut down RX BA session timer on teardown
1c82d0c5d5091 wifi: mac80211: keep paired old chanctx alive
cd8f8f45d81aa wifi: iwlegacy: 3945: free EEPROM data on remove
b0e97bd40e0c2 wifi: cw1200: fix TX padding OOB read leaking heap data to device
4c9a32a808104 wifi: cfg80211: fix RTS threshold setting for single-radio PHY
98abf374e5096 KVM: arm64: vgic-its: Fix MOVALL handling of source redistributor
b37ae6e65a1dc KVM: arm64: Clear HCR_EL2.RW for 32-bit non-protected vCPUs
97c1dcce17ef2 KVM: x86/mmu: Bail from shadow walks if the root is invalid or a dummy
8b7d4f68fef96 KVM: SEV: Do cache maintenance on the source VM *before* clearing SEV state
b1de3ebf59507 KVM: SEV: Nullify "have run CPUs" mask pointer when freeing it
f6189e26d0237 KVM: nVMX: Force MSR bitmap refresh if runtime eVMCS controls are modified
1a62eb293f60a mtd: spinand: Do not update the QE bit on devices without one
b28120197cc15 mtd: spinand: fix zero oobavail when no ECC engine is used
23cef33571b19 mtd: spinand: Enable QE on all dies
2bbaa3f8df83f mtd: spi-nor: core: Fix mutex leak in spi_nor_rww_start_exclusive()
875c57f2df09f mtd: rawnand: vf610_nfc: fix reads on chips with more than 64 bytes of OOB
1ed0ccd564915 mtd: rawnand: cadence: Initialize IRQ state before requesting IRQ
cadf42f22438f mtd: mtd_intel_dg: reset poll counter for each erase
a991c28066e7b mtd: block2mtd: Fix divide error when erase_size is zero
2423a05dd0f21 nvmet: pci-epf: reject too-short SGL segments
7fd3c363eba4f nvmet-auth: fix out-of-bounds write in nvmet_auth_challenge()
21ffcae171d11 nvme-pci: add NVME_QUIRK_DMAPOOL_ALIGN_512 for Micron 4100AT
49e8a3224c91f nvme-multipath: fix underflow in ANA log bounds checks
e30a2406408d2 tpm: fix off-by-four bounds check in tpm2_get_random()
aa480f05aed7a net: extend IPv6 exthdr detection of tunneled packets
6316d17324bd4 ipvs: bound LBLCR and LBLC cache growth
891bd8335a0de io_uring: fix task_work add use-after-free with SQPOLL
a85d0f00671b4 fprobe: Use guard(rcu_sched_notrace) and check rcu_is_watching()
bdbc8e78aa96d tracing: fprobe: fix suspicious rcu usage in fprobe_entry
b0f76d4cb9be5 mm/damon/core: do non-safe region walk on kdamond_apply_schemes()
d3c2d2692bdf4 x86/mm: Drop unnecessary PMD page copy when freeing
fe23680e6f1d5 x86/mm: Don't apply va_align to hugetlb mappings on AMD F15h
84df222de86ea Bluetooth: btintel_pcie: reject oversized TX packets in send_frame()
c3b5e6da4ba64 Bluetooth: btintel_pcie: fix plen overflow in btintel_pcie_recv_frame()
c42ce5373405c Bluetooth: btintel: fix buffer over-read in btintel_hw_error()
708cdd203d0bb Bluetooth: hci_core: Serialize fragmented ISO packet queueing
1681f97afdf92 Bluetooth: hci_core: Serialize SCO and ISO scheduling with teardown
86e9708f9d19a Bluetooth: hci_core: Serialize ACL scheduling with channel deletion
dd4db9f808ac2 Bluetooth: hci_core: Fix inquiry cache timestamps on 64-bit systems
cabd58d9bb66d Bluetooth: hci_conn: Lock parent access during enhanced SCO setup
333257e6e4a7b Bluetooth: hci_sync: Fix inquiry cache use-after-free
0a554901bd227 Bluetooth: RFCOMM: Fix initial port reference race
4230d65032fcf i2c: xiic: don't clobber msg->len to signal block-read completion
51e1125ff7d63 i2c: xiic: preserve PEC byte length in SMBus block read setup
ba0632683728e EDAC/altera: Fix device node reference leaks in the SDMMC ECC setup
865f3bdebbc9b EDAC/altera: Fix use-after-free in error paths
74eeb95c0478b EDAC/altera: Fix memory leak on dci allocation failure
9846b85c2eb8b EDAC/altera: Drop __init from ECC setup paths for re-probe safety
0c03cb91b5698 EDAC/altera: Do not allow driver unbinding
9d2d3b3dfe897 EDAC/versalnet: Drop remote processor handle refcount on driver removal
e561c2740b628 ALSA: hda/realtek: Fix silent speaker on Higole F9B
d8986de05cc6c ALSA: hda/realtek: Fix square wave output on ASUS Strix G615LR
eb0c7fda59cf6 ALSA: ua101: reject mismatched capture/playback packet sizes
fc5c52848e405 ALSA: seq: Serialize compat port-info ioctls
9590d16791625 ALSA: hda/tegra: Re-enable SDO workaround for Tegra194
69d2b7a4c1151 ASoC: qcom: lpass-cpu: use DAI table index for playback constraints
d195c8c763fdd ASoC: codecs: rt1017-sdca-sdw: fix uninitialized stream_config->type
7df8c39a50f36 ASoC: codecs: max98363: fix uninitialized stream_config->type
2bce6f006cfe0 arm64/fpsimd: signal: Forbid non-streaming SVE payload on SME-only systems
1c17db14f2c23 serial: sc16is7xx: refill TX FIFO below trigger using fresh TXLVL
8f9103651d6ab serial: sc16is7xx: fix TX gap caused by kfifo circular buffer wrap-around
48e09369839fb serial: vt8500: Fix clock reference leak in vt8500_serial_probe()
f895ed664cb7a serial: tegra: don't clear the Tx FIFO on an Rx-only reset
d8233d6b391b4 serial: ma35d1: Fix clock reference leak in ma35d1serial_probe()
7019a84c23c1f serial: fix TIOCMIWAIT race
3f151c2e86f5d serial: revert guards in uart_wait_modem_status()
c3ba14c29d55b serial: 8250_omap: fix wake irq cleared during suspend
e32440fa536af serial: 8250_bcm7271: fix use-after-free in brcmuart_remove()
2c8614981d3e6 tty: serial: max3100: shut down timer before freeing port
94af6cd832e9b tty: abort break signalling on hangup
c110c6eed54fb tty: serial: qcom_geni_serial: Keep console RX functional after deep idle
6b7be3b9b8579 tty: port: fix tty_port_tty_vhangup() race
7021acc84c2e0 tty: tty_port: restore TTY_IO_ERROR on activation failure
821050631750e tty: vcc: hold port lock when clearing tty pointer in vcc_cleanup
4335278d0e753 tty: vcc: zero-initialize control packet in vcc_send_ctl()
3551bdf843a1f tty: amiserial: fix broken TIOCMIWAIT
e8615dfe80cf5 tty: vt: fix memory leak in vc_allocate()
d16046f1ace26 usb: cdns3: Fix NULL pointer dereference in cdns3_pci_probe
95160fe606e68 usb: cdns3: fix use-after-free in cdns3_gadget_exit()
072535f26dc5c usb: typec: ucsi: displayport: Current CAM OOB index fixup
f5ed186d0cf38 usb: typec: ucsi: Get the connector fwnode based on reg value
41934f92e7a54 usb: typec: ucsi: glink: fix use-after-free of ucsi on remove
75dc6cb377efd usb: typec: tipd: fix uninitialized typec_partner_desc in cd321x_update_work()
282be6ae8be79 usb: typec: tipd: fix uninitialized typec_partner_desc in tps6598x_connect()
30dbaf3c6696b usb: typec: tipd: don't send GAID when probe fails in APP mode
b2ed8643face2 usb: typec: tcpm: recover after failure to start the frs ams
4333174ea52c8 USB: dwc2: shut down wakeup timer before freeing HCD state
1da16c46b8d71 usb: core: clear both ep_in and ep_out for non-ep0 control endpoints
bd89c4f42f564 usb: chipidea: tegra: disable runtime PM on resume failure
7811d8e26c77f usb: gadget: f_fs: Fix NULL pointer dereference in FUNCTIONFS_ENDPOINT_DESC
5298c96bf0068 USB: gadget: dummy-hcd: Fix wait for outstanding request completions
474e9e1852fb5 usb: gadget: aspeed-vhub: cancel wake work on device removal
9f0321e8e9afb usb: dwc3: am62: Fix runtime PM usage count leak on probe error path
7b5ed2d30ccc6 usb: typec: port-mapper: Only match USB4 port if host interface is available
50a92c02551c1 usb: typec: anx7411 - stop the IRQ before destroying the workqueue
8c611876c002d usb: gadget: f_uac1_legacy: validate bRequest index in generic_{set,get}_cmd
87f2185423e01 usb: gadget: midi2: Fix the jack descriptor array sizes
772149e7badba usb: ohci-st: disable controller wakeup on removal
ec69932b45585 usb: ohci-spear: disable controller wakeup on removal
dc1b196ad5956 usb: ohci-s3c2410: disable controller wakeup on removal
83e8bd42bd17b usb: ohci-da8xx: disable controller wakeup on cleanup
a12e803d22551 usb: octeon-hcd: fix the FIFO-flush timeout computation
e9545dd8bc625 usb: hub: use shorter 120ms post resume hold for SS root hubs
e2d62928f2666 usb: storage: sierra_ms: reject short SWoC info transfers
5e8980a81af19 USB: serial: fix port tear down use-after-free
a0ed07b5bbb2d USB: cdc-acm: skip URB restart in port_shutdown if disconnected
108af6f585ddc USB: cdc-acm: fix racy TIOCMIWAIT implementation
9b5b83ca2a668 soc: qcom: geni-se: Correct QUP Core ICC vote constants
d54df2de22f9a rust_binder: cancel deferred work items in thread exit
f7fb6c2835ede nitro_enclaves: fix use-after-free on SLOT_ALLOC failure
c5504e179135d Input: synaptics - limit T440p InterTouch quirk to LEN0036
fc92d4499f3fa Input: synaptics - add LEN205b entry to smbus_pnp_ids for ThinkPad T490
95e8d0a7b22fa Input: s6sy761 - fix resume ordering and restore sensing
d79caaf07875c Input: i8042 - add nomux quirk for Fujitsu LIFEBOOK U7410
bcfd26841471a Input: atkbd - skip deactivate for Lenovo IdeaPad Slim 3 15IWC11
0278c68c59b94 kgdboc: Fix tty driver reference leak in configure_kgdboc()
1299cb3fb0615 binder: fix leaked fd fixups on TF_UPDATE_TXN supersede
86cdcc87d4ba6 binder: fix is_failure flag for superseded transaction cleanup
5b113e8ee3268 drm/amdgpu: skip the noirq suspend reset for a switcheroo-parked GPU
587469076e4ff drm/amdgpu: fix ACP MFD device leak on init failure
7ca44cb14d024 drm/amdgpu: fix IP instance memory leak on kobject add failure
b84f1386d84b3 drm/mediatek: Fix pdev reference leak in mtk_drm_bind()
629458b7e4955 drm/mediatek: Fix ovl adaptor platform device leak
88f8a92dcb0cb drm/mediatek: Add missing IS_ERR check for ovl_adaptor platform device
4d12b763c2c55 drm/radeon: Read the VRAM VBIOS signature with readb()
652f631e2e3a8 drm/amdgpu/gfx6: fix firmware leak on teardown
36fa4159d0054 drm/amd/pm/si: Fix updating clock limits on AC/DC
e67aef159f430 drm/amd/pm/si: Check AMD_IS_MOBILITY flag for PPSMC_SYSTEMFLAG_GPIO_DC
197946faa1b79 drm/amd/display: check dc_state_create_copy() for NULL in dm_suspend
f3db2853e2a28 PCI: Accept AtomicOps already enabled by the hypervisor
f3eaf31910087 spi: cs42l43: Workaround for wrong speaker ID on Dell XPS 13 DX13260
d5a81039adc6a ALSA: ice1712: Fix the error handling via auto-cleanup at probe
fc34dd95d3baa ALSA: core: Define auto-cleanup for snd_card_free()
524063fea29f8 perf: Fix race between perf_event_exit_task() and perf_pending_task()
7648757145aa9 i2c: at91: release DMA channels when probe defers
efd0d161b0cb7 net: mvneta: clear XDP pfmemalloc flag between frames
53b21bc2df6e8 ipv6: sr: use skb_get_hash_net() in seg6_make_flowlabel()
f81d40e2eb695 net/mlx5e: Fix AF_XDP TX timestamp teardown NULL dereference
9a76ae59fd637 net: sparx5: make ports inherit the switch base mac address type
e3630ff89b777 of: Put coreboot node after compatibility check
47c5ac61e6fb6 net: microchip: vcap: stop scanning after deleting key field
4033e1a9262c5 netfilter: flowtable: generalize pending status bit
f6143ae109df5 netfilter: bpf: reject invalid NAT manipulation types
55d033324f67a ipvs: filter some flags received in the backup server
7151f14d59155 ipvs: do not create invisible templates
60e9a6e2ba718 ipvs: fix missing counter decrement in lblc
e5633d81b2daf tcp: refresh TS.Recent for accepted old ACKs
35c706d6eb196 net: sparx5: skip ptp deinit if init was skipped
297769d75dc67 net: sparx5: move PTP IRQ handling out of sparx5_start()
728138dcfc92f net: sparx5: move stats initialization and add deinit function
387478e9e9861 net: sparx5: move MAC table initialization and add deinit function
a0a8687eb7878 net: sparx5: move VCAP initialization to probe
ebb164ae76ad9 net: sparx5: move netdev and notifier block registration to probe
a01c71ab74ea4 net: phy: qcom: at803x: Fix IPQ5018 short-cable DAC values
82be3d08de9e1 net: ethernet: mtk_eth_soc: allocate dummy netdev sooner
2f581814e4e3e net: cap skb->queue_mapping when the tx queue is picked
2294b62eaec6f net: bcmgenet: fix NULL dereference in set_coalesce before first open
507c895019a81 net: pcs: rzn1-miic: Clear MIIC protection state before unprotect sequence
a4b63808f99a5 virtio_blk: set the zone write granularity
ac4827cf96532 net/sched: sch_codel: match the no-drop threshold to the packet size
ab6842a1c7bdd net/sched: fq_codel: match the no-drop threshold to the packet size
e94970076d293 gve: DQO: accept TSO packets with non-protocol gso_type bits
5069ce898148b net: restrict SO_RESERVE_MEM to TCP sockets and cap max value
358d5ac5a5d57 net: stmmac: fix rx Scatter-Gather support
5847b60561a31 net: stmmac: convert priv->sph* to boolean and rename
f78d45d5f1ac4 net: page_pool: fix use-after-free in page_pool_recycle_ring_bulk()
f74f100e49588 tipc: prevent GCM nonce reuse on peer key changes
adad3ff80e50c octeontx2-af: mcs: Fix SC resource cleanup loop
3a6e67ff267af net/mlx5: Fix slab-out-of-bounds when handling team device events
8438b4f65a179 net: systemport: Fix RUNT MIB counter register offset calculation
96d8b26be5bc4 net: systemport: Fix buffer overflow in bcm_sysport_get_stats()
7f16443a30f4e Bluetooth: hci_sync: don't drain cmd_sync backlog on unregister
70d2afb554015 netfilter: ipset: do not update comments from kernel-side adds
e50eaba0b34be ipv6: fix prefix route expiry in modify_prefix_route()
6598215a1d8e2 net: bcmgenet: allocate RX buffers as page fragments
ebc9611ab154c net/sched: cls_api: reclaim an empty proto on the error path
63120572edde8 net/mctp: publish the mctp_dev only after it is initialised
380acb097059c ARC: arch_cmpxchg_relaxed to use size of pointed type not pointer
a85823b074f9f arm64: topology: fix arch_freq_get_on_cpu() overflow above 4.19 GHz
b0fce76873a5e Bluetooth: btintel: validate DDC record lengths
8ba754621f105 Bluetooth: hci_core: free the HCI ID if naming fails
790730e4d95de blk-mq: set RQF_USE_SCHED when the operation is known
2e8f3fdb0825c blk-mq: factor out a helper blk_mq_limit_depth()
c97ef13ad96be block: reject polled dio with user integrity metadata
ed389554fe22c ASoC: codecs: rt274: Fix format setting for 44100 rate
eb04ba7d97809 ASoC: codecs: rt286: Revert delay value for jack setup
88e96d902efee wifi: mac80211: prevent AP VLAN tx from other interfaces
227ebe48704be wifi: mac80211: Add 802.3 multicast encapsulation offload support
9f4e5abe6bf72 wifi: mac80211: Add multicast to unicast support for 802.3 path
dd7973a4130b0 wifi: cfg80211: preserve hidden-group beacon IE ownership
cfd70c9b19846 rtc: mpfs: fix unchecked devm_clk_get() error pointer in probe()
9cff19ddd7f90 rtc: ac100: Fix clock provider use-after-free on probe failure
00dc50cede967 rtc: dev: zero-initialize struct rtc_wkalrm to prevent information leak
345ce265cf604 wifi: ath9k_htc: bound TX aggregation to MAX_TX_BUF_SIZE
e0c21130c1c77 wifi: ath9k: reject short WMI command responses
9a9467f7cc633 wifi: ath11k: reset ar->num_stations on hardware start
9338b2dea74cb wifi: mac80211: drop oversized fragments to avoid extra_len overflow
f9d075fa9fba9 wifi: mac80211: remove RX_DROP
f41735133943b ASoC: tegra: Fix ASRC Stream6 input threshold control
71d140099165d wifi: wfx: validate MIB read length before copying to caller
9091199beced3 ASoC: wm8903: Move the DRC QR threshold to the register that holds it
b8cbeda043e47 of/overlay: don't create "//" paths for fragments targeting the root
7a46f1917b320 of/overlay: don't leak fragment references when changeset init fails
2222a8b7dfeb3 random: fix vgetrandom_opaque_params kernel-doc
541d61d59f19a nvmet: preserve device path on allocation failure
f971f1c63cf71 mtd: core: call _get_device() with the master MTD
4c73c1859fa64 iio: accel: kionix-kx022a: Fix array boundary check
489e51034910f iio: light: rohm-bu27034: Fix error return
09a9a2a9548f2 iio: dac: rohm-bd79703: Do not allow writing SCALE
7899d0530b411 mm/damon/core: don't skip damos_adjust_quota() while esz is not zero
122b8541f511d random: vDSO: avoid call to memset() when zeroing reserved parameter
3f75da1e4ee69 ALSA: line6: reject oversized playback packets
84727facd8506 ALSA: caiaq: unregister the input device when probe fails
9cec23424c598 wifi: wlcore: Fix runtime PM leak in wlcore_remove()
ad06f7312d3f6 vt: skip screen update for DEC alignment test on backgroup consoles
037d7e3ca5c59 vt: selection: Fix unsigned underflow and slab-out-of-bounds read in paste_selection()
233a2e190b128 vc_screen: reload vc pointer before if (ret) in vcs_write() to avoid UAF
90c29158159e4 net: dst_metadata: fix false-positive memcpy overflow in tun_dst_unclone
7d2ff870f0cf1 rds_tcp: close NULL deref window in rds_tcp_set_callbacks
dc87b56b43c91 mm/huge_memory: initialise workingset state before folio split
9ebb974773bfa mm: shmem: ignore sysfs configs for shmem forced collapse
7a1e8daeaa466 virt: vmgenid: set driver_data before registering notification handlers
0af47cb2575d4 virt: vmgenid: remap memory as decrypted
258310d59a82e module: fix lost error code from codetag_load_module()
512eaf01ffabf netfs: zero gaps in read-gaps folio to avoid writing back stale data
96c46c75b0d47 tpm: Disable TPM on null key name mismatch
e701345d886e8 sctp: check RCV_SHUTDOWN after the sendmsg connect wait
e0cabda9b6f4d rtc: spear: initialize IRQ state before requesting alarm IRQ
160619b387072 rtc: ac100: Assign .num before accessing .hws
37286a49cc744 r8169: disable EEE on RTL8168h/8111h
69ca64bbb5288 net/packet: prevent TX_RING byte count overflow
c5f91098edee9 netfilter: nft_flow_offload: drop flowtable reference on init error path
ba56d6f9f1a8d net: phy: aquantia: fix system interface type not updated in forced mode
ed997f875d03d net: fix checksum offsets in skb_splice_from_iter()
0d1525fdcd335 of/overlay: only treat a positive changeset id as registered
7dc6a769153c0 of/overlay: put property on deadprops only after changeset add succeeds
42f6d682e0ab5 of/irq: Fix remaining refcount leaks in of_irq_init()
f7ea1916e8a80 octeontx2-pf: Fix RSS indirection table size
6745fa65f4115 kprobes: Skip disarmed probes when checking optkprobe overlap
c2733ea2c15a1 kasan: unpoison task stack below watermark only in generic mode
2ebeba4f9e815 io_uring/zcrx: requeue multishot receives stopped by a local resource
4e9e016c4f498 io_uring/cmd_net: end TX_TIMESTAMP multishot when the CQ is full
0c19a6c1d25fd HID: multitouch: stop the release timer from being rearmed on remove
97be6396817bd HID: bpf: cast size to ssize_t when checking hid_bpf_hw_request
308db93de666a crypto: x86/aes-gcm - fix always true check for last AAD segment
88633025f20ba audit: fix exe mark UAF in kill_rules()
745e83328dd69 ALSA: usb-audio: Apply IGNORE_CTL_ERROR quirk to all Audient devices
224b56b7c02b2 smb: client: close completed creates on compound wait errors
78e718c5aa146 cifs: Remove the RFC1002 header from smb_hdr
f09875ff901e9 smb: client: close handle after create-context parsing failure
080573f419506 smb/client: pass cifs_open_info_data to SMB2_open()
7bdc4b7d99a82 smb/client: use stack-allocated smb2_file_all_info in smb3_query_mf_symlink()
605ef5bd74d02 cifs: on replayable errors back-off before replay, not after
178820984f2cd Bluetooth: btusb: Add IMC Networks QCA9377 to quirks table
60ba99f910b76 ASoC: sdw_utils: Set snd_soc_dai_link_ch_map.codec_ch_mask for capture
f44d5d3b7e344 neighbour: Annotate access to neigh_parms fields.
3b91cdacb16b7 neighbour: Use RCU list helpers for neigh_parms.list writers.
df057d89e0cc2 RISC-V: KVM: Fix null pointer dereference in kvm_riscv_aia_imsic_has_attr()
b15c79fca2806 xfs: don't let memory failures leak blocks and kill repairs
70a7918fda54a smb: client: use finish_no_open() for non-regular inodes
677aeec9783c8 mm/execmem: make the populate and alloc atomic
7ad8b185dd7e9 selftests/mm: hugetlb-mremap: add setup of HugeTLB pages
22e82acec93a6 KVM: arm64: nv: Delay freeing of shadow S2 structures until VM destruction
81e3f065a6485 KVM: arm64: nv: Fix life cycle of the nested_mmus array
e18b8236c57fc btrfs: initialize inode mapping flags for cached inodes
725bd2f3c81d5 Linux 6.18.55
fa047f2a02500 bpf: Reject key-less BTF for hash maps
98fd50aaaeb2a rose: don't warn on stray CALL_ACCEPTED/CLEAR_CONFIRMATION in state 3
5454ea6e22e7d rose: use timer_shutdown_sync() for t0timer teardown
bcf4c43f797ce rose: guard rose_transmit_link() against a NULL neighbour
7d10439345e2b rose: keep the route needed for routing loop detection
6c401ae426e20 sched_ext: Derive SCX_RQ_IN_WAKEUP from the core enqueue flags
d3c8fb7094c53 hfsplus: avoid double unload_nls() on mount failure
500c9259f5a66 mm/damon/core: fix unconditionally skip last region
f6660e9a3e1e6 rust: net: phy: fix off-by-one bit positions in device status accessors
d50418db3b862 Revert "rust: net: phy: fix off-by-one bit positions in device status accessors"
c525772c304c9 RISC-V: KVM: Serialize IMSIC attributes with vCPU migration
5fdc644a4fea4 RISC-V: KVM: Fix null pointer dereference in kvm_riscv_aia_imsic_rw_attr()
4a04ed9157581 net/sched: act_ct: avoid modifying shared unconfirmed ct entry
812c16a255e77 net/sched: act_ct: fix helper UAF due to extensions realloc
9ba16ce8f3faa x86/sev: Make vTPM SVSM calls preemption-safe
e43d42bd711e7 x86/sev: Remove redundant ghcbs_initialized checks around __sev_{get,put}_ghcb()
524becfebcd0f x86/sev: Carve out the SVSM code into a separate compilation unit
b2a9d6ff593b5 x86/sev: Add internal header guards
1cad4f235e150 x86/sev: Move the internal header
99607d955be3b perf/x86/intel: Remove incorrect LionCove PEBS data-source constraints
7ba97aa16778e perf/x86/intel: Update event constraints and cache_extra_regsfor LNL
edc0309282aab perf/x86/intel: Fix GRT PEBS load/store direction for latency events, to fix sample classification
51199c793bc05 perf/x86/intel: Update event constraints and cache_extra_regsfor ADL
24e79508b237d net: ipconfig: bound DHCP option construction
8fbfa861dfd4f net: ipconfig: Remove outdated comment and indent code block
bda487567d0b7 net: macb: fix dma_alloc_coherent() leak on macb_alloc() error paths
aa4845a710ae9 HID: alps: unregister DualPoint Stick input device on remove
48c5c02bf6fde HID: hid-alps: Use pm_ptr instead of #ifdef CONFIG_PM
d0f6244f4af44 PCI: Fix BAR resize for devices on a root bus
85b1112945f21 super: make iterate_supers_type() deletion-safe
ccf96a4b8626a mm/hugetlb: do not dissolve gigantic pages without runtime support
2ab4b6815d10e mm/hugetlb: create hstate_is_gigantic_no_runtime helper
4cef512a955e4 mm/rmap: fix missing barrier between anon_vma init and vma->anon_vma publish
a56e5bcc43310 mm/rmap: allocate anon_vma_chain objects unlocked when possible
fcbedba553a9c drm/client: fix restore of partially initialized client
933145e2bbb4c drm/client: Pass force parameter to client restore
0589706ace3bd drm/client: Remove holds_console_lock parameter from suspend/resume
817dd706ee616 drm/amdgpu: Fix acpi device leak in amdgpu_acpi_enumerate_xcc()
13f299763f6c0 drm/i915/quirks: Limit eDP rate to HBR2 on HP Pavilion Plus 14-ew1
97e40aa29c10c drm/i915/psr: Disable PSR2 on Xiaomi Book Pro 14 2026 as a quirk
66f814e8af462 drm/i915/psr: Fixes for Dell XPS DA14260 quirk
782b5210e89e7 drm/i915/psr: Disable Panel Replay on Dell XPS 14 DA14260 as a quirk
5815329988acf i2c: qcom-geni: Fix hardcoded clock index in SE_GENI_CLK_SEL
f42562dd027dc vlan: require the MAC header to be present in __vlan_insert_inner_tag()
241e67b60308c cgroup/cpuset: Return PERR_NOCPUS in remote_partition_enable() on subpartitions_cpus conflict
d186e0171c8a4 cgroup/cpuset: Ensure domain isolated CPUs stay in root or isolated partition
8a64ac9f03fc9 cgroup/cpuset: Move up prstate_housekeeping_conflict() helper
438bf73ca9775 net: tls: fix silent data drop under pipe back-pressure
66a2179d02668 xfs: fix cursor and pointer handling when recovering iunlink buckets
86b17699bd0c2 xfs: fix blockgc group quota scanning when usrquota isn't enforced
930a9c1c321ef xfs: don't let hidden_space go negative in xfs_metafile_resv_init
09ebf777ad4e2 xfs: call xfs_dquot_set_prealloc_limits if we installed default rtb limits
d46492fb8018d xfs: fix wild memcpy access when formatting ondisk rtrefcount btree roots
543bc5fd7d8ec xfs: fix rtgroup repair estimations
6aabf4f351cd8 xfs: check di_forkoff correctly in scrub
f99c672471797 xfs: use the correct reservations for rtrmap/refcount recovery
adb80d620dabe xfs: don't call xfs_exchange_range_finish for a dry run
770d21b52c91b xfs: check padding field in xfs_ioc_commit_range
09b7a63e11c7c xfs: use correct jiffies comparison function in xchk_maybe_relax
6a65a68097a19 xfs: release orphanage dir inode if chown fails
ac76f8df55980 xfs: fix attr fork block count checks in xrep_inode_blockcounts
ef7a56c6630ff xfs: don't assert when XFS_SCRUB_TYPE_HEALTHY scans return corruption
c2ac475ddd737 smb: client: validate POSIX create context length
31107f79ad33b smb: client: preserve create-context parsing errors
abab661eed00f smb: client: clean up failed cached directory opens
05a7fd80024ff smb: client: fix create context out-of-bounds reads
8f5b30cc12c40 Bluetooth: RFCOMM: fix NULL dereference of dlc->session in RFCOMM_CONNINFO
416546cd6a54e Bluetooth: mgmt: fix race in read_unconf_index_list()
c6a288e6001bc Bluetooth: L2CAP: validate frame length before control and FCS access
ed4c026cc4094 Bluetooth: ISO: release unused CIS holds after channel attach
4e49206d9574a Bluetooth: ISO: balance the parent hold in hci_bind_bis()
173457fa3e99e Bluetooth: hci_sock: reject out-of-range OCF values
f894f6292d512 Bluetooth: hci_sock: validate event length before filtering
3ff5a8d949e3a Bluetooth: hci_conn: fix CIS hold ownership on reuse
57ccaa818307b RISC-V: KVM: Fix HSM hart status error propagation
5567ce11304db RISC-V: KVM: Propagate interrupted G-stage faults
ea91f05a55b80 RISC-V: KVM: Synchronize hrtimer callback during teardown
e5dd2a91a7ae3 KVM: arm64: Transfer the hyp stack pages out of the host stage-2
970de111c0874 KVM: arm64: nv: Fix null ptr deref on nested wp/unmap, teardown race
c23ed110d27ba KVM: arm64: Fix spurious warning for benign stage 2 teardown race
8530a05b304d3 KVM: arm64: Fix AArch32 DBGBXVR<n> handling
37dfb676fafd1 KVM: SEV: Do cache maintenance on the source VM during intra-host migration
6aef7cf800098 KVM: SEV: Free have_run_cpus during VM destruction even if VM is no longer SEV
066a53a0bc19e KVM: Don't treat reserved xarray entries as having memory attributes
7dcaf0107523f KVM: Ensure memory attributes xarray nodes are accounted to the caller's memcg
cf441a0db681d s390/vfio-ap: fix KVM GISC and page leak when queue removed from host config
af295f0eab683 s390/pci: Don't report recovery success on skipped recovery
eef5c8e1cca6f s390/pci: Report SCLP status on error events when no pdev is associated
743a8458978d1 s390/pci: Fix missing device lock in zpci_report_status()
dd5ed64dadb07 s390/pci: Fix leak of struct pci_dev reference in zpci_report_status()
748ec2f7f5df9 s390/cmf: Fix virtual vs physical address confusion
c3bbcb32deecc s390/cio: Fix NULL pointer dereference in ccw_device_get_util_str()
02664a8d8d592 pinctrl: sunxi: keep a shadow copy of the data register output latches
1deeeca89ea12 pinctrl: single: free the IRQ on domain creation failure
a23f9f9b56b79 perf/core: Run sched_task() for PMUs with only CPU-wide events
249a2bd87a0e5 perf/core: Fix NULL pmu_ctx passed to pmu->sched_task()
5023c70853ad9 parisc: Increase kernel stack size to 32kb
ee56b5e18f566 scsi: libiscsi_tcp: Check the data direction of a Data-In PDU
cc444e4ad4346 nfc: trf7970a: power down on startup RX gain failure
14b1467cfc663 nfc: port100: reject frames whose declared length exceeds the received data
810f204ef8f61 nfc: llcp: drop truncated I/RR/RNR PDUs in nfc_llcp_recv_hdlc()
841af260ff477 nfc: fix use-after-free in nfc_get_local_general_bytes
12cf803edfffe netfilter: nf_tables: skip expired catchall elements on insert and delete
191239b093969 netfilter: ip6t_rt: fix zero-address non-strict match out-of-bounds read
eafe081ea77d2 netfilter: ip6t_rpfilter: reject routes without inet6_dev
8a611f33216f4 net: usb: lan78xx: Fix URB reference leak in lan78xx_submit_deferred_urbs()
7d2377868feb7 net: usb: cdc_mbim: add MeiG Smart SRM821 to ZLP whitelist
43ff11501ea6a net: txgbe: fix FDIR filter restore for VF rules
9447ddd8b9242 net: phy: micrel: Advance register data pointer in write loop
30ff01b4c7e41 net: ena: fix MMIO read buffer leak on probe failure
e8a2f48bbff1f net: ena: fix PHC cleanup on probe failure
ab3c4a4c85f2e net: bridge: mdb: restart port group walk after deletion
4b7161804d8f3 net: atl1e: fix soft lockup on out-of-range hw_next_to_clean read
586847400b116 net: atl1c: fix soft lockup on out-of-range tpd_cons read
5f23080a625dd net: openvswitch: conntrack: fix helper UAF due to extensions realloc
caefcd433ecb2 net: openvswitch: conntrack: remove 'add_helper' dead code
e2829ae5459dd net: openvswitch: conntrack: avoid modifying shared unconfirmed ct entry
729737267e7c1 net: hisilicon: hns_dsaf_mac: fix mdio device leak in hns_mac_register_phy()
0f573b0576252 net: atl1: fix soft lockup on out-of-range cmb_tpd_next_to_clean read
ba664d8363864 net: arp: terminate device name before lookup
aca91d8fa0ecb net: airoha: npu: cancel wdt_work after releasing the WDT IRQ
968550a439f64 net/sched: reject IDR error pointers when deleting actions
3803dc8477f08 net/mlx5e: fix swapped IPv6 IPsec policy masks
0c336ecabaf9d net/mlx5e: advertise MACsec offload only when supported
99d8dc5166374 net/mlx5: Fix rev_entry reference leak in mlx5_tc_ct_shared_counter_get()
c3129e6f26e18 HID: wacom: fix OOB read in wacom_wac_pen_serial_enforce()
5695ec5339d4d HID: quirks: add ALWAYS_POLL quirk for SDINNOVATION gaming keyboard
925da1d2a2478 HID: alps: fix use-after-free on input2 registration failure
eda9bcb721f15 packet: use ubuf_info completion for TX_RING packets
879c911f77b8a PCI: of_property: Omit bus properties without a subordinate bus
e59cb7eda7c06 mm/damon/vaddr: avoid hw-driven pte updates during damon_hugetlb_mkold()
850cc4a84b36a mm/hugetlb: preserve mremap address delta when skipping page tables
b1db1ec5c8941 gpio: tps65219: Fix TPS65214 GPIO direction programming
ac3c7eb6a44ba gpio: tps65219: Use the variant-specific direction callback
fabe897e61e45 gpio: tps65219: Fix GPIO input value reads
f2f1683955b95 drm/virtio: fix NULL pointer dereference on fence allocation failure
8fa78900fd242 drm/virtio: fix memory leak of fence event on execbuffer failure
c2d4689c3ea92 drm/xe: Keep walking on SVM eviction failure
c306b6419fd00 drm/xe: Limit sg segment size to PAGE_SIZE on Xen PV
2bcbfc5e7bfa9 drm/xe: harden adjust_idledly() against divide-by-zero and overflow
ba678c2b02e0d drm/xe/vm: nuke PTs only after unlinking contested VMAs
19f5a5839b308 drm/nouveau: don't bump pin count on failed re-pin in nouveau_bo_pin_locked()
35151e9a82741 drm/nouveau: RCU-free the scheduler-containing nouveau_sched
59aa1f8c95941 drm/nouveau: Fix runtime PM leak in nouveau_connector_detect()
030e93fc91d55 drm/nouveau: Fix gem reference leak in validate_init()
109a8d2d5b7d2 drm/nouveau: fix double-free in nvif_vmm_dtor
6d497216c10af drm/nouveau: Fix bridge reference leak in nv1a_ram_new()
9132215d2c90e drm/nouveau: fix autosuspend cleanup during teardown
0d29bf51f8ddd drm/nouveau/uvmm: fix UAF in nouveau_uvmm_sm when BO is in TTM_PL_SYSTEM
c83261854e19a drm/amdgpu: Fix vmid_wait fence leak in amdgpu_ring_init()
c28e74395ab09 drm/amdgpu: Fix runtime PM leak in amdgpu_debugfs_test_ib_show()
0bfb0419a1480 drm/amdgpu: Fix last_update fence leak in amdgpu_vm_init()
d197b15d4beb9 drm/amd/display: Bump frame warning limit for clang builds of dml
89a11c7efe387 drm/amd/display: Fix dc stream excess put in dm_update_crtc_state()
fe933dda0bb18 drm/i915/dp_mst: Fix configuring TUs for a disconnected stream
369f4e3264374 drm/i915/dp_mst: Fix configuring FEC for a disconnected stream
cc890d3f1b15b drm/i915: fix incorrect RCU teardown order
bbef7450e2b42 drm/imagination: Fix page count for page table for map() interface
afe5b4d66d45b drm/imagination: Propagate map failures correctly from pvr_mmu_map_sgl()
e2ee061626008 rds: ib: Clear the sg list when mapping an MR fails
e35cb500dd148 mctp: route: iterate socket tag list in mctp_lookup_prealloc_tag()
e06f8b6e27cc6 llc: reserve device headroom for allocated frames
58a417a19d801 gpio: zynq: fix runtime PM leak on request error path
cf3d043582e10 gpio: cdev: fix kernel stack leak to user-space in error path
a9f738487c11f gpio: arizona: Fix runtime PM leak in arizona_gpio_direction_out()
6fcfc362344ed ipv6: sr: enforce exact attribute length for SEG6_ATTR_DST
1d42828565889 ipv6: do not let ipv6_find_hdr() return an offset past the packet end
599d0498a3931 ipe: protect the dm-verity root hash with RCU
48f7d0233c3cc ipe: fix use-after-free when auditing a newly loaded policy
c2a5e59185862 fsl/fman: Fix clk reference leak in read_dts_node()
fd3bf32279df9 writeback: report a Tasks-RCU quiescent state per cgwb drain pass
1dccf5dc2f8fe workqueue: Fix NULL current_pwq deref in flush dependency check
dd4b920672387 writeback: bound cleanup_offline_cgwb() rescans by rotating scanned inodes
37ec7353f4ac4 fs/ntfs3: use d_instantiate_new() in ntfs_create_inode() and murder syzbot's "WARNING in do_new_mount" saga
b1229b210ef5a fou: reject omitted FOU_ATTR_IPPROTO on FOU_ENCAP_DIRECT
2f7042429a8e9 cgroup/pids: Restore pids.events notifications in local mode
caf8b2d9b30c3 crypto: s390/hmac - Generate intermediate CV for API partial block handling
7504b677c4370 bpf: fs/xattr: don't assume the inode is locked in path_unlink/path_rmdir
4d97a141e85a0 bna: prevent IOC timer rearm during teardown
1603abb0c5042 ata: libata-scsi: bound the ATA passthru sense descriptor writes
cdccb760be1f1 arm64: errata: match the target implementation CPU's own MIDR
071f51188a5d8 arm64/boot: Disable trapping of PMZR_EL0 writes to EL2
6279211e7d245 af_packet: fix integer overflow in prb_calc_retire_blk_tmo()
ec23855274a73 sctp: discard the rest of the packet on a stale-cookie error
7ba87509c54cd tcp: prevent collapsing skbs across boundary in rtx queue
12cc3a1eac5a2 tipc: reject invalid and unexpected GRP_ACK_MSG to prevent bc_ackers underflow
ca40f4df4ab2f virtio_net: copy zerocopy frags in start_xmit without NAPI
33da1ff56f955 x86/PCI: Disable enhanced atomics on AMD NBIO 7.7 and 7.11
f50d2e8cc1f1d x86/mce: Fix hardware debug register corruption on task migration
a557816c6e38e netfilter: nf_tables: join hook list via splice_list_rcu() in commit phase
7b32eba3fad84 rculist: add list_splice_rcu() for private lists
162bf5f73f1b4 mptcp: return sk_wait_data() errors from recvmsg()
9fe317b999aa8 sched/core: Account PSI IRQ time to the execution context, not the scheduling context
23250517cd475 perf/core: Fix a refcount leak in attach_perf_ctx_data()
654fc8445ca8d perf/x86/intel: Make @data a mandatory param for intel_guest_get_msrs()
0688289753450 perf/x86/intel: Don't pointlessly context switch DS_AREA (and PEBS config) if PEBS is unused
8cb5a01cb5f12 perf/x86/intel: Don't write PEBS_ENABLED on host<=>guest xfers if CPU has PEBS isolation, to fix stuck PEBS_ENABLED
c205e3fc9962c perf/x86/intel: Ensure KVM guest PEBS path doesn't set unwanted PERF_GLOBAL_CTRL bits
4bcb371019097 autofs: fix sbi->pipe file reference leak in autofs_kill_sb()
c7ee4bea64f55 vlan: ensure sufficient headroom in vlan_dev_hard_header()
7f8b56c82919c net/sched: sch_teql: fix shadowed err in __teql_resolve()
15d00994a1bd2 bridge: check llc_mac_hdr_init() return value in br_send_bpdu()
41dcae82bece9 llc: fix skb UAF and leaks on llc_mac_hdr_init() failure
2dc3ae3942e15 gve: DQO: reject TSO packets with an out of range MSS
089e04db44754 gve: fix TX drop when GSO MSS is too small for hw
feab3880a72b4 gve: DQO: fix header length used by gve_can_send_tso() for UDP GSO
2f855c52a2e1d gve: add support for UDP GSO for DQO format
6d4a5ce75b6e3 gve: Enable hw-gro by default if device supported
adbfc707ff6b9 gve: Advertise NETIF_F_GRO_HW instead of NETIF_F_LRO
6c7937db1d561 gve: Allow ethtool to configure rx_buf_len
bcaedb514a5d2 gve: Use extack to log xdp config verification errors
a0d644b8ff883 gve: Consolidate and persist ethtool ring changes
5f86408eba31b net: ethernet: stmmac: dwmac-rk: fix bulk clock leak when the PHY clock fails
d990b786abfd6 tipc: Fix a data race on mon->peer_cnt in mon_timeout()
3d65a2eb4449f net/smc: fix UAF on lgr list traversal in smcr_port_err()
8468d05aa08dc nfp: hold IPsec RX state under the XArray lock
4e7a4af364c20 net: phylink: record the PHY only once bringup cannot fail
631aa4cb45099 tcp: fix use-after-free of retransmit_skb_hint in tcp_send_synack()
2357c682f6eaf net: dsa: mt7530: leave the MDIO IRQ mappings to regmap-irq
62c0e38b2e503 net: dsa: mt7530: fix NULL dereference on unbind of MT7531 and MT7621
2b42adf3b8ee9 macsec: initialize SecY before registering the netdevice
dc106fe25e9a8 bonding: crypto offload enabled, non-offload slave failover, rekey failed
e0560db0ea6e1 drm/imagination: clamp freelist reconstruction requests
2cc1c3977acbf net: xps: reject an out of range traffic class
a3c5eb6e382dd vxlan: use one headroom snapshot for neighbour replies
bdd41b96e8143 ip_gre: Reject enabling collect metadata through changelink
c3fab2f1d8a6e net: bcmgenet: mask DMA_TIMEOUT_MASK when reading DMA_RING0_TIMEOUT
d68899b50caf8 net: bcmgenet: validate Ethernet address in bcmgenet_set_mac_addr
b3ebe8983d86f net: bcmgenet: do not skip WoL power up on GENET V1
21a0de4858779 net: bcmgenet: initialize u64 stats seq counter for all queues
aefa837c26674 net: bcmgenet: fix 64-bit RTNL stats reading in ethtool on 32-bit systems
501baaeca7d12 net: stmmac: clear stale buf->page after recycling on skb build failure
0f7ed27586acf tg3: use random MAC address when tg3_get_device_address fails
e40990861074a bpf: Fix BSWAP 32 and 16 on MIPS64
876ef04c75c27 bpf: Fix immediate JMP JEQ/JNE on MIPS32
6d76ddce4f1ba vrf: Stop corrupting skb->csum when capturing CHECKSUM_COMPLETE packets
cfa643f2ca36c net: skbuff: fix pull-bound underflow in skb_checksum_setup_ipv6()
25bb7c3622522 veth: manage XDP program pointers during channel resize
63bcc2fee6419 net: bcmgenet: stop Tx NAPI before disabling the queues
284166f34b8fb net/sched: act_gate: budget the per-entry list in get_fill_size
e72cbedc4596e nfc: pn533: fix OOB read in pn533_acr122_is_rx_frame_valid()
8978dff632519 nfc: llcp: fix slab-out-of-bounds reads when logging service names
f234197f3bda3 nfc: llcp: fix WKS SAP hijacking via prefix match in nfc_llcp_wks_sap()
2386d107df6d2 nfc: llcp: fix -ENOMEM on connect with zero-length service name
fdd95e819d828 nfc: st21nfca: validate ISO15693 inventory length
cbde7f5d32617 nfc: llcp: fix sdreq TLV list leak on parse/alloc/send failure
0b32dcc8a3f94 nfc: virtual_ncidev: Add missing ioctl compat handler
27cf04ba4e7ef selftests/nci: Fix out-of-bounds store on thread join
f9cbe5c68d93a selftests: nci: Fix uninitialized family ID on missing attribute
da8a077573836 nfc: llcp: Fix race condition in accept_queue lifecycle
3316903fdc3a3 selftests: nci: Correct pthread_create return value check
b94cf09720543 nfc: llcp: Fix list corruption / refcount desync in nfc_llcp_recv_dm()
57919d0662d88 nfc: st21nfca: validate received frame size
ed2e00bb22c73 nfc: nfcmrvl: validate helper command length before pull
940b626854de2 bpf: Reject dev-bound-only programs on other devices
9923e1c537f91 net/sched: fix potential stack infoleak in em_text_dump()
92c9f2ea634d9 eth: fbnic: Avoid rounding zero ring sizes
3ea177bdba25f net: stmmac: selftests: Account for alignment shift on dwmac1000 for Jumbo test
b17959fb4d55f net: stmmac: dwmac4: Use the correct bufzise when the len is exactly 8K
4c4217aaa5e4b net: stmmac: selftests: Capture all packets for vlan checks
e7a8bbb6149b4 net: stmmac: selftests: Check the dev->features for S-TAG offload testing
74da0c1cede8a net: stmmac: selftests: Support running selftests on DSA conduits
d18cb8fd1b6ba sctp: hold asoc or transport before mod_timer() in timer handlers
650dcd938e563 net/mlx5: Bridge, don't fail unlink of untracked/unsupported peer ports
cdeca5de4e186 net/mlx5: Bridge, don't fail switchdev events of sibling eswitch ports
cea597519b9ca bpf, sockmap: Reject max_entries > INT_MAX in sock_map_alloc
d95dd5a6c6cd0 bpf: Fix bpf_sock context code generation
1196903a27cac bpf: Fix bounds check for skb-backed dynptrs
fb1e2df8e2e28 thermal: gov_step_wise: Fix stale mitigation vote with non-zero lower bounds
0f5d8953cb63a net: pcs: xpcs: fix clock reference leak on xpcs_init_clks failure
54e98316ce5c1 genetlink: report the real command id for dump-only ops in policy dumps
41e444535c60f net: ethernet: ti: netcp: fix pm_runtime usage counter leak on error
ca9986cc824f2 net: spacemit: clear TX descriptor on fragment mapping failure
9c6af88fbefbe s390/debug: Fix NULL pointer dereference in debug_info_copy()
36831afe8eba0 s390/debug: Do not register views for failed static debug areas
8b661a045082c drm/i915/psr: Clear stale sel fetch enable bits on sel fetch disable
6515c41503eef tg3: clean up PHYLIB resources on probe failure
c21daf37d5ce9 udp: remove a disconnected socket from the 4-tuple hash table
7a0bbe5654ecb udp: relocate a connected socket in the 4-tuple hash table on re-connect
ed902d5546fb9 ipv6: Fix dst leak for uncached routes.
6ab6c9d120b30 net: usb: sr9700: include receive overhead in the length check
e3c21e8b53906 dpll: use exact lookup for reference sync pin id
649ffc76ed548 ipv6: Prevent rt6_insert_exception() for dying fib6_info.
ff8cff3aff673 octeontx2-af: Fix memory scaling limitation in SR-IOV mode
be00deee60044 Bluetooth: RFCOMM: Reject short EA=0 frames in rfcomm_recv_frame()
8ec5838a35b03 Bluetooth: btintel_pcie: validate device-supplied DMA indices
8f31031326994 Bluetooth: bnep: fix out-of-bounds reads on short RX/TX frames and control fallthrough
a8f3a829f3a53 ovpn: reject invalid peer VPN addresses
7efbc134253c1 ovpn: reject multipeer peers without VPN addresses
daab972893aec ovpn: reject duplicate peer VPN addresses
12ee72319805a ovpn: always unhash old VPN addresses before rehashing
c44a04722f7da ovpn: replace bind when clearing stale local source
21dbc9f4d0bdd ovpn: replace bind when learning local endpoint
324ebbde06cd5 ovpn: validate peer state before caching UDP dst
db97cfe9a5070 ovpn: track UDP socket route key for peer dst cache
ba3877bdcc9aa ovpn: skip UDP source validation for unspecified addresses
8c1d7994a18ec ovpn: preserve IPv6 scope id for netlink peer endpoints
ebffd70e4877b drm/bridge: samsung-dsim: fix TE GPIO lifetime for host attach
d6b59a9fece4d drm/virtio: sync shmem backing on guest-bound transfers
e7df00bb036e0 Revert "drm/virtio: Allow importing prime buffers when 3D is enabled"
5c2cb3dd14477 drm/virtio: release the GEM object on virtio_gpu_vram_create() errors
81c6769e069d7 drm/virtio: fix object leaks in virtio_gpu_resource_create_blob_ioctl()
b516446a25bf3 drm/virtio: fix object leak in virtio_gpu_resource_create_ioctl()
a93dce15dfef2 drm/virtio: fix object leak when drm_gem_handle_create() fails
0fa25ba50a382 net/sched: sch_hfsc: bound the classify inner-filter walk with a drift budget
cd12d3e086202 bpf: Check params size before reading reserved fields
dd9c6f8f05170 net: usb: catc: bound the RX packet length in catc_rx_done()
9c11e543fec32 bpf: Bound ownership depth through local kptrs and graph roots
c9338057df102 sctp: avoid livelock while updating retransmit path
c7a254c16c6fb eth: fbnic: Handle FW mailbox completions flagged with an error
a85a019b3011a eth fbnic: Add debugfs hooks for firmware mailbox
6a112552d3055 eth: fbnic: Reuse RX mailbox pages
8a052cd4b2cae eth: fbnic: Set AW_FLUSH_MODE alongside AW_FLUSH when flushing the mailbox
c5b5aee41b9f5 eth: fbnic: reset num_napi when the napi vectors are freed
6c903188b6761 eth: fbnic: Handle maximum standalone channels
8dc5667770912 ip6_gre: Call ip6erspan_tunnel_unlink_md() in ip6erspan_changelink().
7254b702e5561 net: ethernet: mtk_eth_soc: unregister net_devices in case of probe failure
40aeafbcbc7bc net: gue: reject invalid REMCSUM offsets
00734f3684fce net/sched: act_ct: don't WARN on benign flow_offload_alloc() failure
ca29834c8c146 drm/nouveau/disp: don't reject HDMI config on cards without SCDC
40afa1f7a5c77 drm/nouveau/clk: don't clobber reclock status when restoring volt/fan
0d096a7f7d792 drm/nouveau/clk: fix list cursor use after loop in nvkm_clk_ustate_update
f2e9005aadb67 ocfs2: make ocfs2_calc_xattr_init() return void
b17aa4955e3a6 arm64: io: Reject non-user protection in ioremap_prot()
0994c3e3b4e3e netfilter: ctnetlink: fix suspicious RCU usage in expect_iter_name
f100578039b31 ipvs: revalidate ihl before icmp_send
302477c9ffefa netfilter: nft_synproxy: use the family-aware checksum helper
07a3ec8fdc5a1 netfilter: nfnetlink_queue: hold nfnl mutex in event notifier
b0ef9450e93f2 netfilter: flowtable: publish HW_DEAD after worker is done
1363c71be27a7 ipv4: fib: fix data-race and stale genid check around nh->nh_saddr
5be5ccd3a5563 libbpf: Reject truncated ldimm64 CO-RE relocations
2d7d04357c41a bpf: Restrict CO-RE poisoning to relocatable instructions
2fe1569e32ddf net/mlx5: devcom, Base component size on linked devices
8ebfd34fef750 octeontx2-af: use seq_file for rsrc_alloc debugfs
6127164efa94e net: pcs: rzn1-miic: Fix config array initialization
f6696481eedfd net/sched: cls_u32: fix manual hash table handle IDR aliasing
f4277b19edbc6 eth: fbnic: Fix payload page pool error cleanup
6e271f093d15d bpf: Skip unsettled links in link iterator
b5c0cff0c5331 xsk: Use a 32-bit compare in xsk_map_gen_lookup
e4f3e476cd406 fs: avoid repeated scans in evict_inodes()
22225cd612b26 s390/cio: Guard PMCW field accesses with dnv check
5eae708cca8f4 s390/cio: Check pmcw.dnv before pmcw.ena in I/O entry points
591ba131193ee s390/cio: Fix cio_update_schib() to not cache invalid schib
8bd9905dfbd97 s390/pci/docs: Fix sriov_numvfs attribute name
e163f1dccede7 docs: s390/pci: Improve and update PCI documentation
6675f801b0d60 scsi: megaraid_sas: Protect megasas_get_ctrl_info() in megasas_resume()
0117e731435bd selftests: cgroup: give the O_TMPFILE open in get_temp_fd() a mode
2189a219397d8 Bluetooth: mgmt: Dequeue pending mesh_send_sync entries on cancel
8a36598050cd1 Bluetooth: btnxpuart: Fix skb leak in nxp_process_fw_dump()
6fdabd654578e Bluetooth: SMP: reject Security Request over BR/EDR
9c051b12ca106 pinctrl: sunxi: A523: fix voltage withstand encoding
0af16d8be3ec7 scsi: sd_zbc: Reject disks with too many zones
0cb85377daaef squashfs: Add dictionary size range check to prevent shift-out-of-bounds
5d54693bc457c KVM: arm64: Fix FGT mapping for HFGITR_EL2.nGCSEPP
cb68b5589318f KVM: arm64: Return -EINVAL for an empty SMCCC filter range at base 0
4efda20408714 KVM: arm64: Derive GUEST_HAS_SVE from the SVE feature bit at EL2
f126952167146 KVM: arm64: Include VM type when checking VM capabilities in pKVM
bbcd7e851d57d KVM: arm64: Fix MTE flag initialization for protected VMs
c142034ad3a84 KVM: arm64: vgic-v3: Fix GICv3 trapping in protected mode
bd46b41f412fb KVM: arm64: Do not clear VM-wide SVE feature on vCPU init failure
faf66e55e8749 KVM: arm64: Validate the SVE vector length in pkvm_vcpu_init_sve()
65bffaf100df8 KVM: arm64: vgic-its: Skip unreachable devices instead of failing the save
80a6b712dc193 KVM: arm64: vgic-its: Free the caches when GITS_BASER changes
c2230cd149507 RISC-V: KVM: Fix perf-backed counter accounting across stop and read
f6f1d27e0c893 RISC-V: KVM: Report snapshot write failure to the guest
f4363eede3e74 RISC-V: KVM: Preserve firmware counter value across stop/start
d6de766d8d26d KVM: riscv: Fix NACL hfence entry update order
5c221f33a5183 HID: bpf: fix __hid_bpf_hw_check_params report length
5f9e2ecb725ad HID: amd_sfh: Validate PCI BAR size before mapping
905d1a40f34f7 pinctrl: meson: Fix typo in s4 group name
b67b4c763f211 bpf, arm64: set up the frame pointer for the exception callback
ae1ffd04e98be bpf, sockmap: Fix self-redirect copied_seq double-counting
1d6581b544a88 bpf: Fix UAF due to concurrent consumption of ttrace lists in alloc_bulk
51a17f0ce19c4 bpf: Register dtor for freeing special fields
6785313d4fac9 bpf: Fix out-of-bounds read of rtt_min in sock_ops
44f9bcb5ab2b2 bpf: Avoid soft lockup in __htab_map_lookup_and_delete_batch()
5ad116c23f149 KVM: x86/pmu: Move Intel PMU global MSRs to intel_is_valid_msr()
08a4d55b26724 HID: elecom: fix bus type for M-XGL20DLBK
49688a0d1ac69 HID: multitouch: Add report ID mismatch quirk for ASUS ROG Z13 Folio
55bbebf2829c3 tcp: Skip cond_resched() in inet_csk_listen_stop() under BPF context
91a482a81eabd bpf: Fix out-of-bounds read of sk_protocol in bpf_sock_destroy()
8eb4cd72daad3 bpf: Fix divide-by-zero in btf_struct_walk()
5334c609bf927 selftests/ftrace: Fix unique symbol check in kprobe_non_uniq_symbol.tc
37b18688cd18f bpf: Disallow bpf_skb_pull_data() for LWT_SEG6LOCAL
69fe51a3bd78d bpf: Fix bpf_skb_change_tail wrt csum partial skbs
04bb5b2eb9f1d s390/uv: Prevent potential out-of-bounds read
018e137ac1da2 s390/uv: Fix loop condition in uv_find_secrets
a379ac504fcb8 KVM: s390: Fix IRQ injection with SIGP Stop and Store Status
7c7a6ba6128f2 remoteproc: qcom_q6v5_adsp: Fix iommu_unmap() usage
50d844aead62c ALSA: hda/realtek: Add StarFighter HDA SSID
56b321df2863d ALSA: hda/realtek: Limit Star Labs internal mic boost
2945d3eb73d61 drm/amd/display: Atomize IRQ register read/modify/write ops
d1079deec828d erofs: fix large folio race in erofs_fscache_req_complete
14ae74db795ab xfs: don't stash removename operations with unknown ftype
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e5e96e09fcd99cd92fa30d57545eb986daf3d953)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
.../linux/linux-yocto-rt_6.18.bb | 6 ++---
.../linux/linux-yocto-tiny_6.18.bb | 6 ++---
meta/recipes-kernel/linux/linux-yocto_6.18.bb | 24 +++++++++----------
3 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_6.18.bb b/meta/recipes-kernel/linux/linux-yocto-rt_6.18.bb
index ac97f340da1..9690d312b8b 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_6.18.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_6.18.bb
@@ -15,13 +15,13 @@ python () {
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "64ebedd888ed53620df352f568a8b55c5620d169"
-SRCREV_meta ?= "b505aeae4f62715ec4801e292b32ad68593b3341"
+SRCREV_machine ?= "f87ce4ad0a7f6290a8fd961a63fd1653c7308a14"
+SRCREV_meta ?= "5978c5f530b91cfb62213506ee6f157897432ba3"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.18;destsuffix=${KMETA};protocol=https"
-LINUX_VERSION ?= "6.18.54"
+LINUX_VERSION ?= "6.18.57"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_6.18.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_6.18.bb
index 4cbcfc0084c..939ca9c5b83 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_6.18.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_6.18.bb
@@ -9,7 +9,7 @@ require recipes-kernel/linux/linux-yocto.inc
include recipes-kernel/linux/cve-exclusion.inc
include recipes-kernel/linux/cve-exclusion_6.18.inc
-LINUX_VERSION ?= "6.18.54"
+LINUX_VERSION ?= "6.18.57"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -18,8 +18,8 @@ DEPENDS += "openssl-native util-linux-native"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
-SRCREV_meta ?= "b505aeae4f62715ec4801e292b32ad68593b3341"
+SRCREV_machine ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
+SRCREV_meta ?= "5978c5f530b91cfb62213506ee6f157897432ba3"
PV = "${LINUX_VERSION}+git"
diff --git a/meta/recipes-kernel/linux/linux-yocto_6.18.bb b/meta/recipes-kernel/linux/linux-yocto_6.18.bb
index 95cae43557d..ce4878d0f27 100644
--- a/meta/recipes-kernel/linux/linux-yocto_6.18.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_6.18.bb
@@ -17,25 +17,25 @@ KBRANCH:qemux86-64 ?= "v6.18/standard/base"
KBRANCH:qemuloongarch64 ?= "v6.18/standard/base"
KBRANCH:qemumips64 ?= "v6.18/standard/mti-malta"
-SRCREV_machine:qemuarm ?= "f271f5b5cce5f2c67c00ccb5b4bf60502d4ddc0b"
-SRCREV_machine:qemuarm64 ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
-SRCREV_machine:qemuloongarch64 ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
+SRCREV_machine:qemuarm ?= "3881e81dea81f6aea84ea28b22899708f3fef903"
+SRCREV_machine:qemuarm64 ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
+SRCREV_machine:qemuloongarch64 ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
SRCREV_machine:qemumips ?= "62ea92a539f58803a222be98b81118403074206e"
-SRCREV_machine:qemuppc ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
-SRCREV_machine:qemuriscv64 ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
-SRCREV_machine:qemuriscv32 ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
-SRCREV_machine:qemux86 ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
-SRCREV_machine:qemux86-64 ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
+SRCREV_machine:qemuppc ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
+SRCREV_machine:qemuriscv64 ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
+SRCREV_machine:qemuriscv32 ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
+SRCREV_machine:qemux86 ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
+SRCREV_machine:qemux86-64 ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
SRCREV_machine:qemumips64 ?= "9fb4ff0187c85426f21fd40d4c61b742800f65c4"
-SRCREV_machine ?= "aa6a6669031c1e6a30eaa9d8abf4d25ce447acb9"
-SRCREV_meta ?= "b505aeae4f62715ec4801e292b32ad68593b3341"
+SRCREV_machine ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
+SRCREV_meta ?= "5978c5f530b91cfb62213506ee6f157897432ba3"
# set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll
# get the <version>/base branch, which is pure upstream -stable, and the same
# meta SRCREV as the linux-yocto-standard builds. Select your version using the
# normal PREFERRED_VERSION settings.
BBCLASSEXTEND = "devupstream:target"
-SRCREV_machine:class-devupstream ?= "1b357ecb321392158d507b04672ffee57bfa071d"
+SRCREV_machine:class-devupstream ?= "2ff600d29ee478d0a8d46ef8a58afb5e038fe692"
PN:class-devupstream = "linux-yocto-upstream"
KBRANCH:class-devupstream = "v6.18/base"
@@ -43,7 +43,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.18;destsuffix=${KMETA};protocol=https"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "6.18.54"
+LINUX_VERSION ?= "6.18.57"
PV = "${LINUX_VERSION}+git"
^ permalink raw reply related [flat|nested] 39+ messages in thread* Patchtest results for [OE-core][wrynose 31/35] linux-yocto/6.18: update to v6.18.57
2026-11-11 9:02 ` [OE-core][wrynose 31/35] linux-yocto/6.18: update to v6.18.57 Yoann Congal
@ 2026-11-11 9:29 ` patchtest
0 siblings, 0 replies; 39+ messages in thread
From: patchtest @ 2026-11-11 9:29 UTC (permalink / raw)
To: Yoann Congal; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 3210 bytes --]
Thank you for your submission. Patchtest identified one
or more issues with the patch. Please see the log below for
more information:
---
Testing patch /home/patchtest/share/mboxes/wrynose-31-35-linux-yocto-6.18-update-to-v6.18.57.patch
FAIL: test commit message user tags: Mbox includes one or more GitHub-style username tags. Ensure that any "@" symbols are stripped out of usernames (test_mbox.TestMbox.test_commit_message_user_tags)
PASS: test CVE check ignore (test_metadata.TestMetadata.test_cve_check_ignore)
PASS: test Signed-off-by presence (test_mbox.TestMbox.test_signed_off_by_presence)
PASS: test auh changelog truncation notice (test_mbox.TestMbox.test_auh_changelog_truncation_notice)
PASS: test author valid (test_mbox.TestMbox.test_author_valid)
PASS: test commit message presence (test_mbox.TestMbox.test_commit_message_presence)
PASS: test lic files chksum modified not mentioned (test_metadata.TestMetadata.test_lic_files_chksum_modified_not_mentioned)
PASS: test max line length (test_metadata.TestMetadata.test_max_line_length)
PASS: test mbox format (test_mbox.TestMbox.test_mbox_format)
PASS: test non-AUH upgrade (test_mbox.TestMbox.test_non_auh_upgrade)
PASS: test shortlog format (test_mbox.TestMbox.test_shortlog_format)
PASS: test shortlog length (test_mbox.TestMbox.test_shortlog_length)
PASS: test target mailing list (test_mbox.TestMbox.test_target_mailing_list)
SKIP: pretest pylint: No python related patches, skipping test (test_python_pylint.PyLint.pretest_pylint)
SKIP: pretest src uri left files: Patch cannot be merged (test_metadata.TestMetadata.pretest_src_uri_left_files)
SKIP: test CVE tag format: No new source patches introduced (test_patch.TestPatch.test_cve_tag_format)
SKIP: test Signed-off-by presence: No new source patches introduced (test_patch.TestPatch.test_signed_off_by_presence)
SKIP: test Upstream-Status presence: No new source patches introduced (test_patch.TestPatch.test_upstream_status_presence_format)
SKIP: test bugzilla entry format: No bug ID found (test_mbox.TestMbox.test_bugzilla_entry_format)
SKIP: test lic files chksum presence: No added recipes, skipping test (test_metadata.TestMetadata.test_lic_files_chksum_presence)
SKIP: test license presence: No added recipes, skipping test (test_metadata.TestMetadata.test_license_presence)
SKIP: test pylint: No python related patches, skipping test (test_python_pylint.PyLint.test_pylint)
SKIP: test series merge on head: Merge test is disabled for now (test_mbox.TestMbox.test_series_merge_on_head)
SKIP: test src uri left files: Patch cannot be merged (test_metadata.TestMetadata.test_src_uri_left_files)
SKIP: test summary presence: No added recipes, skipping test (test_metadata.TestMetadata.test_summary_presence)
---
Please address the issues identified and
submit a new revision of the patch, or alternatively, reply to this
email with an explanation of why the patch should be accepted. If you
believe these results are due to an error in patchtest, please submit a
bug at https://bugzilla.yoctoproject.org/ (use the 'Patchtest' category
under 'Yocto Project Subprojects'). For more information on specific
failures, see: https://wiki.yoctoproject.org/wiki/Patchtest. Thank
you!
^ permalink raw reply [flat|nested] 39+ messages in thread
* [OE-core][wrynose 32/35] linux-yocto/6.18: update to v6.18.59
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (30 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 31/35] linux-yocto/6.18: update to v6.18.57 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:02 ` [OE-core][wrynose 33/35] groff: build less in groff-native Yoann Congal
` (3 subsequent siblings)
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Bruce Ashfield <bruce.ashfield@gmail.com>
Updating linux-yocto/6.18 to the latest korg -stable release that comprises
the following commits:
1253a6aa5d104 Linux 6.18.59
9a5d65b06dc33 smb: client: drain outstanding I/O before truncating on O_TRUNC open
a4c584ea79d95 ice: fix crash in ethtool offline loopback test
9f158a9b10e1e ice: fix broken Rx on VFs
f4a25618c3683 ice: switch to Page Pool
0026267561bc6 ice: drop page splitting and recycling
c8bd04221f6a8 ice: remove legacy Rx and construct SKB
4d143608a0445 smb: client: fix data corruption with concurrent writes and O_TRUNC
c027f8b429dbb vsock/vmci: validate packet source for connected sockets
ecd7ead4bf05e ipv4: udp: Create exceptions before socket matching
6cd829de69efd vsock/virtio: validate packet source for connected sockets
569c34a35fbc9 virtio: set skb owner of virtio_transport_reset_no_sock() reply
f320b85c90fe5 workqueue: Fix unbound pool lifetime for pending pwqs
299912bbc6455 workqueue: release pwq pools by pool type
94d13387b96e5 io_uring/cancel: don't spin on local work the task can't run
7123c79206e49 io_uring/cancel: move cancelation code from io_uring.c to cancel.c
76cb14d6f1433 io_uring/cancel: move __io_uring_cancel() into cancel.c
755e88e78beaf io_uring/cancel: move request/task cancelation logic into cancel.c
de477667b890b cifs: add revalidation on FSCTL failure in smb2_duplicate_extents()
242c7b3a71ddf smb/client: refresh allocation size after duplicate extents
8d891c218016b sched_ext: Fix stall when a task enqueued with SCX_ENQ_LAST lands back on its CPU's local DSQ
6ac46ae5ac561 drm/amdgpu: free the userptr ranges when a CS fails after parser_bos
2058a1fe791bb tracing: Keep the predicate limit separate from program capacity
07180a910e9d0 tracing: Fix ignored return value of resize_buffer_duplicate_size()
a425e1c687595 sched_ext: idle: Respect task affinity in restricted CPU selection
dfcfe2874e7c1 drm/i915/dmc: Harden DMC firmware payload parsing
c8b1a48404679 ntfs3: free the sbi after a grace period
d977b979081ef fs/ntfs3: fix ntfs_mount_options leak in ntfs_fill_super()
129b0a64fe9ac ntfs3: fix double free of sbi->options->nls and clarify ownership of fc->fs_private
e0ab437276575 ntfs3: fix use-after-free of sbi->options in cmp_fnames
a1647b653549f scsi: st: Fix use-after-free race between st_remove() and st_open()
d2f591e6c7304 smb: client: fix multiuser mount with krb5
d96f3365ce61c smb: client: fix heap overflow in cifs_do_set_acl()
45e60747a9db2 net/sched: cls_flower: validate mask pointer after nla_next()
898cb4f2e12a5 ksmbd: zero the FS_OBJECT_ID_INFORMATION buffer before filling it in
d8c450ad0d089 ksmbd: initialize FileSystemControlFlags in FS_CONTROL_INFORMATION
beba2ef6f66a7 ksmbd: fill in FileSysIdentifier in FS_POSIX_INFORMATION
a9f14ea73e82d net: psp: do not inherit the Rx association on clone
8243d587a081e net: bridge: mcast: don't truncate the port group walk on teardown
80d5db1686b05 ext4: free the sbi after a grace period
cad63a7798d6a ASoC: SOF: ipc4-topology: Fix shift-out-of-bounds for aggregated ALH capture
c17cc2027773e futex: Fix mm reuse handling for FUT_OFF_MMSHARED
dce8f7f03a47b drm/amdgpu: keep the eviction fence until the last handle is closed
0caeefed99b37 KVM: x86/mmu: Cope with the SS bit being set in #NPF exit codes
7786dde1b5001 KVM: x86/mmu: Preserve nested TDP shadow page tables if they are used as roots
dc29c0478b856 netfilter: nft_byteorder: remove multi-register support
61f376654fb9d drm/amdgpu: Fix VCE 3 ring align_mask
d49fa454c2869 KVM: SVM: Stop toggling virtual VMSAVE/VMLOAD on intercept recalc
5dac5c7ba8f5f ipv4: avoid divide by zero in fib_rebalance
ba5001db9bb23 s390/pci: Fix leak of uninitialized kernel data in SCLP report
34fa3607b7604 s390/ctcm: Prevent XID null dereference
813a72beaa5d3 page_pool: keep frag_offset aligned for odd-sized requests
40507f59f230d sctp: validate chunk length in the inqueue parser
b8b7d28dc2b74 tipc: protect node reset trace dump with node lock
f7e82f72b90ce workqueue: Annotate cb_lock nesting when draining a dead BH pool
6b26b3d39904c workqueue: Use raise_softirq() to trigger softirq in irq_work handler
b6a0e5faf0dca netlink: specs: add missing mask attributes for conntrack dump
62ed32a1d4499 netlink: specs: fix the conntrack filter type
e20e6b14e3b5c xfs: fix zoned write iomap flags assignments
19a1a22029ad3 xfs: fix capability check in xfs
e5456dec79c71 xfs: don't hold buffer locks across sync transaction commit in xfs_sync_sb_buf
8f2efa742f4cf net/iucv: fix the recvmsg window update
3cdd8b1abddeb mac802154: fix data race and NULL deref on local->assoc_dev
c8922e7afb058 dm-integrity: require stable writes for internal hash modes
fc512700f1413 dm-integrity: fix infinite loop on discard with large tag size
40791f07bad61 dm-ebs: fix incorrect device offset check in ebs_ctr()
ac5d887ab9359 dm-crypt: fix a tiny race condition in crypt_dec_pending
73df2ff409f3d dm cache: fix issue with background work locking
de9e8e587c07b dm cache: fix demotion stats in passthrough mode
04d020b3d0b58 cifs: don't update i_size in cifs_do_truncate without a cached handle
2f9dd8214d421 cgroup: fix spurious SIGKILL of CLONE_INTO_CGROUP children
86814e5370068 tcp: fix use-after-free in do_tcp_getsockopt(TCP_CC_INFO)
c1804ef016392 tcp: fix use-after-free in do_tcp_getsockopt(TCP_CONGESTION)
f641066b0ddcd wifi: p54: validate firmware record lengths
09c7cce2e59e6 tracing: Fix hist trigger timestamps for buffered events
813e18881c647 tracing: Do not initialize tracefs work if tracing is disabled
a866a8a753922 tracing: Check operator stack capacity before pushing
7c0c6d88a232a tracing: Take trace_types_lock when dropping the buffer_meta reference
c4918c28b1baf tracing: Fix the shift out of bounds in the log2 histogram modifier
3a3c4503ba1b4 drm/xe: Bump LRU for external objects on exec and rebind
ef82b4d5cb4a3 drm/i915/dmc: Add sanity check for DMC load address
22fd3f760845f drm/i915/cx0_phy: Fix ARL-S host bridge detection
96d9996e5dbcf drm/exec: don't immediately add prelocked obj to array of locked objs
07002a326c7cc drm/amdgpu: report the BO alignment in bytes in GEM_LIST_HANDLES
652b1f26125fe drm/amdgpu: don't drop the runtime PM reference twice in amdgpu_gpr
05507b9b19f95 drm/amdgpu/sdma3: Work around POLL_REGMEM / FENCE hang
6cfc4a25d4f02 drm/amd/pm: add zero fan stop temperature support on smu 14.0.2
55a65ef61e277 scsi: libiscsi: Validate the task named by a management response
7215a69b6456f scsi: libiscsi: Validate the ITT reflected in a Reject PDU
6cadfa6f1f589 scsi: libiscsi: Reject a negative task index from parse_pdu_itt
1d91ec793d6c8 scsi: xen/scsifront: Check for a NULL shadow entry on a backend response
2effbe746452c scsi: bsg: Pass reply_len to bsg_setup_queue() to fit UFS ARPMB replies
029770f5baded ring-buffer: Fix false warning in ring_buffer_map_get_reader()
2f1248b728b56 ring-buffer: Fix the sub-buffer array base in rb_meta_subbuf_idx()
8512d0312cc0e ring-buffer: Do not show buffer_meta for CPUs without a buffer
29469305a9390 perf: Update cgroup time when rotating multiplexed events
b67fb3955b07d perf: Track the perf mlock gift separately
5d476bb76b7d7 i2c: viai2c-wmt: Fix clock leak in wmt_i2c_probe()
d2cb4d7451491 i2c: qcom-cci: Fix HALT_ACK reset request being dropped
1f36e4ddd05d5 tracing/histograms: Reject non-stacktrace fields for synthetic stacktrace fields
13735c2cf4849 tools: gpio: fix building from the top level with O=
77a63d1b813b0 sctp: revalidate output stream after association connect wait
6232e93c3036c pinctrl: amd: Clear S4 wake bits when firmware has _AEI
5f23e4e3a31da net: rds: fix uninitialized trans dereference in CM event handler
2465d27ef90de net/sched: fix use-after-free in __tcf_action_put()
568323cddd54f lib/crypto: poly1305: Use memzero_explicit() in poly1305_final()
ae6584eaaa4f1 lib/crypto: arm64: Fix lost Poly1305 carry when resuming NEON state
492c10662177f namei: test for a negative dentry the way traverse_mounts() does
4586ef24ce390 eventfs: Free the eventfs_inode after an rcu grace period too
2e10b8a74f55b pid_namespace: make zap_pid_ns_processes() freezable
952501bfc6e5e fsnotify: prevent mark additions during connector teardown
d00d5f534a823 KVM: nVMX: Reset MMU back to the root MMU if loading L2 state fails for !VM-Entry
b77e9622bbade x86/kvm: Don't consume async #PF flags on a kernel #PF in NMI context
811fb6d0b0760 watch_queue: Fix note pool publication race in watch_queue_set_size()
2b54d3c971a1e unicode: free the map after a grace period
d518fc5cced10 bootconfig: give the footer size static_assert a message
1a177064f501e autofs: ignore notification errors from a replaced pipe
debb0f36bfe3d afs: free the super info after a grace period
5078c91f5c84b accel/rocket: search every core slot when a core is removed
7249a442ab261 PCI: Don't treat ~0 as ready in pci_dev_wait() with RRS SV
7595bacee48bc printk: Postpone kthread startup
3eb08f09bfb36 perf: Fix perf_pmu_migrate_context() leaving events behind
d0ffb0dc01166 gpio: mxc: fix race between gpiochip registration and IRQ domain setup
238f93bd1d063 gpio: mxc: fix wakeup_pads bit operations
dab5c228a8468 gpio: mxc: use BIT() macro
911f606dd05d7 gpio: mxc: fix both_edges bit operations
261802c14e1a3 gpio: mxc: fix race between chained IRQ handler install and probe completion
78189c0e35abb gpiolib: fix memory leak in gpiod_set_array_value_complex() on error paths
1c9fcfca51e3c calipso: keep BIG TCP payload_len in calipso_skbuff_setattr()
e221a7d6f7c91 net/ipv6: Introduce payload_len helpers
40c04abcbc34e net: bcmgenet: unshare the skb before writing the control block
bdd55b8a8acbf netlink: avoid hashing the network namespace pointer
c9fb89246d992 scsi: libsas: Fix SMP IO deadlock during HA resume
fbb5a6f0b06fb tracing: probes: error if BTF is required but unavailable
4c42ce499ce4b pipe: preserve existing fasync readers on writer setup failure
7780f9e828da0 samples: pidfd: fix userprogs typo
04d4571c00db6 ocfs2/dlm: Protect the recovery list during debugfs reads
de3923caf0772 drm/panthor: fix immortalis condition
9b07828b133b3 scsi: target: iscsi: Fix race in discovery auth updates
71e12d43ef37e scsi: st: Save the visited block for the partition the drive is in
e3bf250a2fda6 nios2: fix __wsum type degradation in csum_fold()
e4d45c651d19f spi: tegra114: assert CS GPIO for every transfer in a message
21f41b6daf0db drm/xe/oa: Zero OA buffer at allocation
6046bb9cb2859 drm/xe: skip eviction of a BO with no resource
8d15821aa2de1 ASoC: amd: yc: disable MSI on resume
efe1393e783f2 net/mlx5: HWS, fix flow meter offset within its bulk
a3516f0704b96 net/mlx5: HWS, release L2 to L3 tunnel reformats to their own pool
79071b67182e1 accel/rocket: clear rdev on device init failure
06791594274f8 netlink: reset skb headers before unicast and multicast filtering
4a9fb8122a19d regmap: Drop map lock during cache init and exit
bae057687f615 regcache: Do not overwrite error code when finalizing cache after error
b498b70a8174b regcache: Add ->populate() callback to separate from ->init()
0a9a172d4cbfc ASoC: nau8822: Fix the 128x oversampling switch bits
9a87917b8f3d5 ASoC: wm8978: Fix the 128x oversampling switch bits
9b1a72628f125 ASoC: max98371: Fix the Speaker DHT Min Volume bits
384e00dd8908b ASoC: pcm3168a: Fix the DAC zero flag polarity bit
db3a7a70cc214 ASoC: cs42l52: Fix the NG Type Switch bit
856ecf3c600af ASoC: cs42l56: Put the Limiter Cushion control on the limiter register
4528f8d38d893 ASoC: stm32: spdifrx: fix synchronization state check
d3239b8f4fc46 ASoC: Intel: avs: Reset the stream unless it is already prepared
a7c7d0ff87637 net/rds: don't let the rdma_cm destroy an id RDS still owns on route failure
c2c5359ef2c33 vsock: treat TCP_CLOSING as once-established
fb5fb74fb4fff gpio: nct6694: Mark the GPIO controller as sleeping
6b03e354526f6 drm/vc4: hdmi: Move packet RAM enable to PM runtime
47b725c17dcb2 pinctrl: sunxi: dt: do not accumulate npins across probe attempts
9d0508bcf6743 pinctrl: qcom: ipq5018: replace gcc_plltest with pwm2 on gpio12
2ac0256a28e15 power: supply: core: prevent unregistering a power supply while a callback runs
dda0df37aabd8 power: supply: generic-adc-battery: Fix temperature IIO channel conversion
06e3e6dc2688f tools/power turbostat: Fix add_counter issue if > 24 counters.
f573d257aad5a tools/power turbostat: Fix PMT error path fd handling
b2af180dbc5f5 tools/power turbostat: Fix CWF PMT off-by-one
e2c86984ccc0b tools/power turbostat: Fix fd_perf leak on reset
e76e6284de2ba pinctrl: qcom: ipq5018: add missing pwm3 function on gpio13
54e54a690bf13 pinctrl: qcom: qcs8300: Fix intr_target_width
f47ce27af80b8 Drivers: hv: Don't reset VMBus connection state on error/exit paths
2b561786c9076 x86/hyperv: Avoid using per-cpu output page in hv_apicid_to_vp_index()
7141331f2d245 Drivers: hv: Avoid infinite retry loop in init_vp_index()
c3e5854b2e8b6 power: supply: ds2780: Fix ds2780_get_capacity() returning raw value
7de3a5a49410a power: supply: Fix maintenance charge table kernel-doc
ea9c08c33d57c ARM: dts: ti/omap: dra7: fix PCIe PHY clock divider definition
0992d03e55e5a soc/tegra: fuse: Add missing newline to APBMISC error message
07fa8baa78d64 kho: free phys_bits bitmaps using free_page() in __kho_abort()
96d2abaa2e328 i2c: qcom-geni: Restore the source-clock selection policy
cd3c05651d04b rose: purge rose_neigh->queue on final teardown
6b450cf6dd419 ax25: bound REJ-driven fast retransmits with the existing N2 counter
c7bdc88b27cc6 ALSA: ctxfi: Use correct DAIO type for da_desc
fb5e2dd6565a9 ALSA: ctxfi: Rename SPDIFI1 to SPDIFI_BAY
7fca3600e79e9 ALSA: ctxfi: Don't enumerate SPDIF1 at DAIO initialization
b48ebe399b4e7 drm/ttm: fix swapped-out resources never leaving their bulk_move range
2926d88bb7fc4 Linux 6.18.58
2566780c684c9 KVM: x86: Use active memslots for the per-vCPU MMIO cache
517404e157395 ksmbd: fix heap out-of-bounds write in krb5_authenticate()
88c7c3aa8d0ff wifi: atk9k: Revert "wifi: ath9k: reject short WMI command responses"
5c0940abe76c9 bpf, sockmap: Account for receive queue in FIONREAD without a verdict program
8b7748e9904f8 kho: free chunks using free_page() instead of kfree()
a6d84b420a848 io_uring/kbuf: don't charge provided buffer rings to RLIMIT_MEMLOCK
e46794d1936ca io_uring: do not charge the SQ/CQ rings to RLIMIT_MEMLOCK
314b72d5e8273 rose: hold a reference on incoming sockets queued for accept()
30ec3025b7715 USB: iowarrior: fix use-after-free on disconnect race
e8ed9a1dfc74f usb: iowarrior: remove inherent race with minor number
c24d2e190b955 selinux: allow multiple opens of /sys/fs/selinux/policy
93a7f297362de mm/damon/core: fix damos_walk() vs kdamond_fn() exit race
7e54ed8a780c8 mm/damon/core: cancel damos_walk() before damon_ctx->kdamond reset
7ea3850b9ce00 xfs: close crash window in attr dabtree inactivation
4b963fddf470f xfs: factor out xfs_attr3_leaf_init
50144efd23ad9 xfs: factor out xfs_attr3_node_entry_remove
0f39d936a3493 ima: Fix stack-out-of-bounds in is_bprm_creds_for_exec()
265ca3f6524be ima: Access decompressed kernel module to verify appended signature
7d6fd50746482 fat: stop reading directory entries past the end-of-directory marker
f6c1e709a4f91 cifs: fix time_last_write stamp placement in setattr/truncate paths
2efa187fd4c9b drm/xe/i2c: cancel the client work on remove
97e736000731f scsi: ufs: core: Avoid unsafe MMIO reads in ufshcd_mcq_compl_all_cqes_lock()
ee01d48f0f086 scsi: ufs: core: Add a comment block above ufshcd_mcq_compl_all_cqes_lock()
e36bac5923a3b scsi: ufs: core: Add debug log for MCQ command timeout
d12c834b97c36 scsi: ufs: core: Move an assignment in ufshcd_mcq_process_cqe()
a34a230ccea1b scsi: ch: Do not keep references to data transfer element devices
8176ec7e36987 scsi: ufs: core: Decouple CQ sweep from request iterator in MCQ
9e8fc7972b398 riscv: patch: fix handling of bpf-jit execmem addresses
420bf39a22a73 riscv: patch: Avoid early phys_to_page()
08275dcfbfc3b net: mana: reserve RX buffer headroom to fix forwarding performance
eececf7c3a679 net: xilinx: axienet: Free outstanding DMA buffers on dmaengine stop
cc7732b8549ec Bluetooth: RFCOMM: connect the session socket without rfcomm_mutex
638ee6bca1975 sched_ext: Fix CPU hotplug hang when a dying CPU's tasks sit in the BPF scheduler
454b67fcc28c1 dm-integrity: validate the superblock on resume
2e25842f0e442 dm-integrity: fix NULL pointer dereference when the 'R' flag is used
0c9d4f9c66ca7 wifi: mt76: connac: tolerate inactive BSS deactivation
22732b0f290ac nfsd: fix all-zero stateid in CB_OFFLOAD for async COPY
0c5595cba7224 mm/mremap: fix locked_vm leak from MREMAP_DONTUNMAP self-merge
5720bf6b91295 mm/mremap: fix locked_vm leak by splitting VMA for MREMAP_DONTUNMAP
fdf4f011c6004 iavf: send MAC change request synchronously
5aa9efb559174 iavf: iavf_virtchnl_completion: drop duplicate ether_addr_equal() test
b030fde644501 drm/amd: Create a device link between APU display and XHCI devices
2d06cb25a497d ip6_gre: remove obsolete ERSPAN PMTU update
903a2ab8325a2 PCI: dwc: Return -EIO from dw_pcie_wait_for_link() if device is not active
adc0d81b4d415 PCI: dwc: Return -ENODEV from dw_pcie_wait_for_link() if device is not found
e32aa1d85126e RDMA/erdma: Use IRQ-safe XArray helpers for QP and CQ tables
3c03f6f7c6f2d usb: gadget: f_hid: Add missing error code
7820bca8cb207 spi: mpc52xx: clean up interrupt handling
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5d1656b394fb5c06269ff9251e1dd0b4a93b7821)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
.../linux/linux-yocto-rt_6.18.bb | 6 ++---
.../linux/linux-yocto-tiny_6.18.bb | 6 ++---
meta/recipes-kernel/linux/linux-yocto_6.18.bb | 24 +++++++++----------
3 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_6.18.bb b/meta/recipes-kernel/linux/linux-yocto-rt_6.18.bb
index 9690d312b8b..cf6ed368c53 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_6.18.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_6.18.bb
@@ -15,13 +15,13 @@ python () {
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "f87ce4ad0a7f6290a8fd961a63fd1653c7308a14"
-SRCREV_meta ?= "5978c5f530b91cfb62213506ee6f157897432ba3"
+SRCREV_machine ?= "582762f4ac66e79c16b088b3fbb5a67a57a15d88"
+SRCREV_meta ?= "cf1eb35154969907fb08e980fe6d1881c97d6a97"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.18;destsuffix=${KMETA};protocol=https"
-LINUX_VERSION ?= "6.18.57"
+LINUX_VERSION ?= "6.18.59"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_6.18.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_6.18.bb
index 939ca9c5b83..d117eb8a205 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_6.18.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_6.18.bb
@@ -9,7 +9,7 @@ require recipes-kernel/linux/linux-yocto.inc
include recipes-kernel/linux/cve-exclusion.inc
include recipes-kernel/linux/cve-exclusion_6.18.inc
-LINUX_VERSION ?= "6.18.57"
+LINUX_VERSION ?= "6.18.59"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -18,8 +18,8 @@ DEPENDS += "openssl-native util-linux-native"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
-SRCREV_meta ?= "5978c5f530b91cfb62213506ee6f157897432ba3"
+SRCREV_machine ?= "0aa9c16e54e9a318d97bae25e0082d7807186232"
+SRCREV_meta ?= "cf1eb35154969907fb08e980fe6d1881c97d6a97"
PV = "${LINUX_VERSION}+git"
diff --git a/meta/recipes-kernel/linux/linux-yocto_6.18.bb b/meta/recipes-kernel/linux/linux-yocto_6.18.bb
index ce4878d0f27..f579bacf7ac 100644
--- a/meta/recipes-kernel/linux/linux-yocto_6.18.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_6.18.bb
@@ -17,25 +17,25 @@ KBRANCH:qemux86-64 ?= "v6.18/standard/base"
KBRANCH:qemuloongarch64 ?= "v6.18/standard/base"
KBRANCH:qemumips64 ?= "v6.18/standard/mti-malta"
-SRCREV_machine:qemuarm ?= "3881e81dea81f6aea84ea28b22899708f3fef903"
-SRCREV_machine:qemuarm64 ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
-SRCREV_machine:qemuloongarch64 ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
+SRCREV_machine:qemuarm ?= "5d45ccb59e84ed3f8071c55eeba225af3d8ff987"
+SRCREV_machine:qemuarm64 ?= "0aa9c16e54e9a318d97bae25e0082d7807186232"
+SRCREV_machine:qemuloongarch64 ?= "0aa9c16e54e9a318d97bae25e0082d7807186232"
SRCREV_machine:qemumips ?= "62ea92a539f58803a222be98b81118403074206e"
-SRCREV_machine:qemuppc ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
-SRCREV_machine:qemuriscv64 ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
-SRCREV_machine:qemuriscv32 ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
-SRCREV_machine:qemux86 ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
-SRCREV_machine:qemux86-64 ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
+SRCREV_machine:qemuppc ?= "0aa9c16e54e9a318d97bae25e0082d7807186232"
+SRCREV_machine:qemuriscv64 ?= "0aa9c16e54e9a318d97bae25e0082d7807186232"
+SRCREV_machine:qemuriscv32 ?= "0aa9c16e54e9a318d97bae25e0082d7807186232"
+SRCREV_machine:qemux86 ?= "0aa9c16e54e9a318d97bae25e0082d7807186232"
+SRCREV_machine:qemux86-64 ?= "0aa9c16e54e9a318d97bae25e0082d7807186232"
SRCREV_machine:qemumips64 ?= "9fb4ff0187c85426f21fd40d4c61b742800f65c4"
-SRCREV_machine ?= "cbba43337e083c0ace9a6cf998850eb1d3f4a0b0"
-SRCREV_meta ?= "5978c5f530b91cfb62213506ee6f157897432ba3"
+SRCREV_machine ?= "0aa9c16e54e9a318d97bae25e0082d7807186232"
+SRCREV_meta ?= "cf1eb35154969907fb08e980fe6d1881c97d6a97"
# set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll
# get the <version>/base branch, which is pure upstream -stable, and the same
# meta SRCREV as the linux-yocto-standard builds. Select your version using the
# normal PREFERRED_VERSION settings.
BBCLASSEXTEND = "devupstream:target"
-SRCREV_machine:class-devupstream ?= "2ff600d29ee478d0a8d46ef8a58afb5e038fe692"
+SRCREV_machine:class-devupstream ?= "1253a6aa5d104312bf0992afacc15220ae35bdf9"
PN:class-devupstream = "linux-yocto-upstream"
KBRANCH:class-devupstream = "v6.18/base"
@@ -43,7 +43,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.18;destsuffix=${KMETA};protocol=https"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "6.18.57"
+LINUX_VERSION ?= "6.18.59"
PV = "${LINUX_VERSION}+git"
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 33/35] groff: build less in groff-native
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (31 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 32/35] linux-yocto/6.18: update to v6.18.59 Yoann Congal
@ 2026-11-11 9:02 ` Yoann Congal
2026-11-11 9:29 ` Patchtest results for " patchtest
2026-11-11 9:03 ` [OE-core][wrynose 34/35] scripts/install-buildtools: Update to 6.0.4 Yoann Congal
` (2 subsequent siblings)
35 siblings, 1 reply; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:02 UTC (permalink / raw)
To: openembedded-core
From: Ross Burton <ross.burton@arm.com>
When building groff-native we only really need enough of groff to build
manpages, and don't need documentation or extra tools.
Patch the Makefile to stop building the doc and contrib directories,
which both take time and have incomplete build dependencies that cause
intermittent failures[1][2].
This makes groff-native faster to build:
groff-native do_compile -30.6s -33.7% 90.9s -> 60.3s
And some tools are removed, which I don't believe are needed by anything
we build:
/usr/bin/chem was removed
/usr/bin/eqn2graph was removed
/usr/bin/gdiffmk was removed
/usr/bin/gperl was removed
/usr/bin/gpinyin was removed
/usr/bin/mmroff was removed
/usr/bin/pic2graph was removed
/usr/share/groff/1.24.1/tmac/chem.pic was removed
/usr/share/groff/1.24.1/tmac/hdmisc.tmac was removed
/usr/share/groff/1.24.1/tmac/hdtbl.tmac was removed
/usr/share/groff/1.24.1/tmac/mm was removed
/usr/share/groff/1.24.1/tmac/mm/0.MT was removed
/usr/share/groff/1.24.1/tmac/mm/4.MT was removed
/usr/share/groff/1.24.1/tmac/mm/5.MT was removed
/usr/share/groff/1.24.1/tmac/mm/ms.cov was removed
/usr/share/groff/1.24.1/tmac/mm/se_ms.cov was removed
/usr/share/groff/1.24.1/tmac/mmse.tmac was removed
/usr/share/groff/1.24.1/tmac/mm.tmac was removed
/usr/share/groff/1.24.1/tmac/mom.tmac was removed
/usr/share/groff/1.24.1/tmac/mse.tmac was removed
/usr/share/groff/1.24.1/tmac/m.tmac was removed
/usr/share/groff/1.24.1/tmac/om.tmac was removed
/usr/share/groff/1.24.1/tmac/refer-mm.tmac was removed
/usr/share/groff/1.24.1/tmac/rfc1345.tmac was removed
/usr/share/groff/1.24.1/tmac/sboxes.tmac was removed
[1] oe-core d1a02bdd242 ("groff: Fix occasional build race failure")
[2] https://bugzilla.yoctoproject.org/show_bug.cgi?id=16279
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9deeb7474b2586eb031e4f00a644aed9ccf8cb19)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
[YC: For [YOCTO #16279] ]
---
.../groff/files/build-less.patch | 24 +++++++++++++++++++
meta/recipes-extended/groff/groff_1.24.1.bb | 8 +++++--
2 files changed, 30 insertions(+), 2 deletions(-)
create mode 100644 meta/recipes-extended/groff/files/build-less.patch
diff --git a/meta/recipes-extended/groff/files/build-less.patch b/meta/recipes-extended/groff/files/build-less.patch
new file mode 100644
index 00000000000..dc560fbb309
--- /dev/null
+++ b/meta/recipes-extended/groff/files/build-less.patch
@@ -0,0 +1,24 @@
+Build less bits of groff to save time and reduce random build
+failures from missing dependencies in this logic.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+--- a/Makefile.am~ 2026-05-15 13:23:08.000000000 +0100
++++ b/Makefile.am 2026-05-15 13:29:17.053867035 +0100
+@@ -556,15 +556,0 @@
+-include $(top_srcdir)/contrib/chem/chem.am
+-include $(top_srcdir)/contrib/eqn2graph/eqn2graph.am
+-include $(top_srcdir)/contrib/gdiffmk/gdiffmk.am
+-include $(top_srcdir)/contrib/glilypond/glilypond.am
+-include $(top_srcdir)/contrib/gperl/gperl.am
+-include $(top_srcdir)/contrib/gpinyin/gpinyin.am
+-include $(top_srcdir)/contrib/grap2graph/grap2graph.am
+-include $(top_srcdir)/contrib/hdtbl/hdtbl.am
+-include $(top_srcdir)/contrib/install-font/install-font.am
+-include $(top_srcdir)/contrib/mm/mm.am
+-include $(top_srcdir)/contrib/mom/mom.am
+-include $(top_srcdir)/contrib/pic2graph/pic2graph.am
+-include $(top_srcdir)/contrib/rfc1345/rfc1345.am
+-include $(top_srcdir)/contrib/sboxes/sboxes.am
+-include $(top_srcdir)/doc/doc.am
diff --git a/meta/recipes-extended/groff/groff_1.24.1.bb b/meta/recipes-extended/groff/groff_1.24.1.bb
index 24b8146a727..dd5ebee3df2 100644
--- a/meta/recipes-extended/groff/groff_1.24.1.bb
+++ b/meta/recipes-extended/groff/groff_1.24.1.bb
@@ -15,6 +15,8 @@ SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \
file://builddep.patch \
"
+SRC_URI:append:class-native = "file://build-less.patch"
+
SRC_URI[sha256sum] = "74e2819795b6aff431aeac983d63a9c8968eeaba2a2eba7df8ba4c7b41e7cfd8"
DEPENDS = "bison-native groff-native"
@@ -65,8 +67,10 @@ do_install:append() {
rm -rf ${D}${bindir}/grap2graph
rm -rf ${D}${mandir}/man1/grap2graph*
- # strip hosttool path out of generated files
- sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}${docdir}/${BP}/examples/hdtbl/*.roff
+ # strip hosttool path out of generated files
+ if [ -d ${D}${docdir}/${BP}/examples/hdtbl/ ]; then
+ sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}${docdir}/${BP}/examples/hdtbl/*.roff
+ fi
}
do_install:append:class-native() {
^ permalink raw reply related [flat|nested] 39+ messages in thread* Patchtest results for [OE-core][wrynose 33/35] groff: build less in groff-native
2026-11-11 9:02 ` [OE-core][wrynose 33/35] groff: build less in groff-native Yoann Congal
@ 2026-11-11 9:29 ` patchtest
0 siblings, 0 replies; 39+ messages in thread
From: patchtest @ 2026-11-11 9:29 UTC (permalink / raw)
To: Yoann Congal; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 3054 bytes --]
Thank you for your submission. Patchtest identified one
or more issues with the patch. Please see the log below for
more information:
---
Testing patch /home/patchtest/share/mboxes/wrynose-33-35-groff-build-less-in-groff-native.patch
FAIL: test Upstream-Status presence: Upstream-Status is Inappropriate, but no reason was provided (test_patch.TestPatch.test_upstream_status_presence_format)
PASS: test CVE check ignore (test_metadata.TestMetadata.test_cve_check_ignore)
PASS: test CVE tag format (test_patch.TestPatch.test_cve_tag_format)
PASS: test Signed-off-by presence (test_mbox.TestMbox.test_signed_off_by_presence)
PASS: test Signed-off-by presence (test_patch.TestPatch.test_signed_off_by_presence)
PASS: test auh changelog truncation notice (test_mbox.TestMbox.test_auh_changelog_truncation_notice)
PASS: test author valid (test_mbox.TestMbox.test_author_valid)
PASS: test commit message presence (test_mbox.TestMbox.test_commit_message_presence)
PASS: test commit message user tags (test_mbox.TestMbox.test_commit_message_user_tags)
PASS: test lic files chksum modified not mentioned (test_metadata.TestMetadata.test_lic_files_chksum_modified_not_mentioned)
PASS: test max line length (test_metadata.TestMetadata.test_max_line_length)
PASS: test mbox format (test_mbox.TestMbox.test_mbox_format)
PASS: test non-AUH upgrade (test_mbox.TestMbox.test_non_auh_upgrade)
PASS: test shortlog format (test_mbox.TestMbox.test_shortlog_format)
PASS: test shortlog length (test_mbox.TestMbox.test_shortlog_length)
PASS: test target mailing list (test_mbox.TestMbox.test_target_mailing_list)
SKIP: pretest pylint: No python related patches, skipping test (test_python_pylint.PyLint.pretest_pylint)
SKIP: pretest src uri left files: Patch cannot be merged (test_metadata.TestMetadata.pretest_src_uri_left_files)
SKIP: test bugzilla entry format: No bug ID found (test_mbox.TestMbox.test_bugzilla_entry_format)
SKIP: test lic files chksum presence: No added recipes, skipping test (test_metadata.TestMetadata.test_lic_files_chksum_presence)
SKIP: test license presence: No added recipes, skipping test (test_metadata.TestMetadata.test_license_presence)
SKIP: test pylint: No python related patches, skipping test (test_python_pylint.PyLint.test_pylint)
SKIP: test series merge on head: Merge test is disabled for now (test_mbox.TestMbox.test_series_merge_on_head)
SKIP: test src uri left files: Patch cannot be merged (test_metadata.TestMetadata.test_src_uri_left_files)
SKIP: test summary presence: No added recipes, skipping test (test_metadata.TestMetadata.test_summary_presence)
---
Please address the issues identified and
submit a new revision of the patch, or alternatively, reply to this
email with an explanation of why the patch should be accepted. If you
believe these results are due to an error in patchtest, please submit a
bug at https://bugzilla.yoctoproject.org/ (use the 'Patchtest' category
under 'Yocto Project Subprojects'). For more information on specific
failures, see: https://wiki.yoctoproject.org/wiki/Patchtest. Thank
you!
^ permalink raw reply [flat|nested] 39+ messages in thread
* [OE-core][wrynose 34/35] scripts/install-buildtools: Update to 6.0.4
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (32 preceding siblings ...)
2026-11-11 9:02 ` [OE-core][wrynose 33/35] groff: build less in groff-native Yoann Congal
@ 2026-11-11 9:03 ` Yoann Congal
2026-11-11 9:03 ` [OE-core][wrynose 35/35] populate_sdk_ext: Fix locale error handling in SDK Yoann Congal
2026-11-11 9:13 ` [OE-core][wrynose 00/35] Patch review Yoann Congal
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:03 UTC (permalink / raw)
To: openembedded-core
From: Yoann Congal <yoann.congal@smile.fr>
Update to the 6.0.4 release of the 6.0 series for buildtools
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
scripts/install-buildtools | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/install-buildtools b/scripts/install-buildtools
index e1af05fca33..bc044f9b308 100755
--- a/scripts/install-buildtools
+++ b/scripts/install-buildtools
@@ -57,8 +57,8 @@ logger = scriptutils.logger_create(PROGNAME, stream=sys.stdout)
DEFAULT_INSTALL_DIR = os.path.join(os.path.split(scripts_path)[0],'buildtools')
DEFAULT_BASE_URL = 'https://downloads.yoctoproject.org/releases/yocto'
-DEFAULT_RELEASE = 'yocto-6.0.3'
-DEFAULT_INSTALLER_VERSION = '6.0.3'
+DEFAULT_RELEASE = 'yocto-6.0.4'
+DEFAULT_INSTALLER_VERSION = '6.0.4'
DEFAULT_BUILDDATE = '202110XX'
# Python version sanity check
^ permalink raw reply related [flat|nested] 39+ messages in thread* [OE-core][wrynose 35/35] populate_sdk_ext: Fix locale error handling in SDK
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (33 preceding siblings ...)
2026-11-11 9:03 ` [OE-core][wrynose 34/35] scripts/install-buildtools: Update to 6.0.4 Yoann Congal
@ 2026-11-11 9:03 ` Yoann Congal
2026-11-11 9:13 ` [OE-core][wrynose 00/35] Patch review Yoann Congal
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:03 UTC (permalink / raw)
To: openembedded-core
From: Richard Purdie <richard.purdie@linuxfoundation.org>
During automated testing we occasionally we see the error:
"ERROR: the installer requires the en_US.UTF-8 locale to be installed (but not selected), please install it first"
This is puzzling as the locale *is* installed. The use of -q with grep in
a pipeline is potentially problematic as grep can exit early and cause a
pipefail/SIGPIPE.
Tweak the code to avoid it and a few other issues (add quoting, handle the
"." correctly, match a whole line).
[YOCTO #16198]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f290e76eef3bd175f71414b7f78aafd0af5e0ce2)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
---
meta/classes-recipe/populate_sdk_ext.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/classes-recipe/populate_sdk_ext.bbclass b/meta/classes-recipe/populate_sdk_ext.bbclass
index 071cf959e7e..990113d1798 100644
--- a/meta/classes-recipe/populate_sdk_ext.bbclass
+++ b/meta/classes-recipe/populate_sdk_ext.bbclass
@@ -678,7 +678,7 @@ sdk_ext_preinst() {
fi
# Check setting of LC_ALL set above
canonicalised_locale=`echo $LC_ALL | sed 's/UTF-8/utf8/'`
- if ! locale -a | grep -q $canonicalised_locale ; then
+ if ! locale -a | grep -Fx "$canonicalised_locale" > /dev/null ; then
echo "ERROR: the installer requires the $LC_ALL locale to be installed (but not selected), please install it first"
exit 1
fi
^ permalink raw reply related [flat|nested] 39+ messages in thread* Re: [OE-core][wrynose 00/35] Patch review
2026-11-11 9:02 [OE-core][wrynose 00/35] Patch review Yoann Congal
` (34 preceding siblings ...)
2026-11-11 9:03 ` [OE-core][wrynose 35/35] populate_sdk_ext: Fix locale error handling in SDK Yoann Congal
@ 2026-11-11 9:13 ` Yoann Congal
35 siblings, 0 replies; 39+ messages in thread
From: Yoann Congal @ 2026-11-11 9:13 UTC (permalink / raw)
To: Yoann Congal, openembedded-core
On Wed Nov 11, 2026 at 10:02 AM CET, Yoann Congal wrote:
> Please review this set of changes for wrynose and have comments back by
> end of day Thursday, November 12.
>
> Passed a-full on autobuilder:
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/5102
> * qemuarm64-musl-ptest failed with 15814 – qemuarm64 musl ptest failures
> retried in https://autobuilder.yoctoproject.org/valkyrie/?#/builders/109/builds/1543
>
> The following changes since commit 2285da08068a6d1b4a64c9a52d85a58be50e4679:
>
> openssh: fix CVE-2026-123158 (aka "sshhole") (2026-11-06 17:15:59 +0100)
>
> are available in the Git repository at:
>
> https://git.openembedded.org/openembedded-core-contrib stable/wrynose-review
> https://git.openembedded.org/openembedded-core-contrib/log/?h=stable/wrynose-review
>
> for you to fetch changes up to 33a6bd6cc8a9a976902081642414bd67adc74879:
>
> populate_sdk_ext: Fix locale error handling in SDK (2026-11-11 00:22:27 +0100)
I forgot to highlight 2 patches:
* "dropbear: add follow-up patches for CVE-2019-6111"
I think this is a worthy fix but it has user-visible consequences:
`scp -r host:dir <existing dir>` now exits 1 instead of overwriting
files (which is the vulnerability being fixed).
* "python3-urllib3: Fix CVE-2026-97687"
May throw a new warning in a unsecure configuration (related to TLS
and proxies) that will be dropped in futur version. User code fix might
be needed to avoid the warning (but the code will still work).
> ----------------------------------------------------------------
>
> Adrian Freihofer (1):
> kernel-fit-image: add FIT_LOADABLE_* variables to do_compile vardeps
>
> Benjamin Robin (4):
> spdx_common: simplify get_patched_src() implementation
> spdx_common: modify UNPACKDIR instead of WORKDIR in get_patched_src()
> spdx_common: In get_patched_src() ensure kernel dir name to be ${BP}
> package: no longer modify paths in save_debugsources_info()
>
> Bruce Ashfield (3):
> linux-yocto/6.18: aufs: refresh to upstream aufs6.18
> linux-yocto/6.18: update to v6.18.57
> linux-yocto/6.18: update to v6.18.59
>
> Deepak Rathore (1):
> gnupg: Fix CVE-2026-105712
>
> Jaipaul Cheernam (1):
> bind: upgrade 9.20.29 -> 9.20.30
>
> Jeroen Hofstee (1):
> python3-pip: patch the vendored python3-certifi
>
> Jinwang Li (5):
> bluez5: Fix error handling for AVDTP_OPEN cmd
> bluez5: Fix GET_CONFIGURATION cmd
> bluez5: Return correct error when SEP is inuse
> bluez5: Fix ABORT response being discarded
> bluez5: Fix u128_to_string skipping data[4]
>
> Peter Marko (7):
> boost: patch CVE-2023-34399
> go: upgrade 1.26.9 -> 1.26.10
> glib-2.0: patch CVE-2026-16118
> python3: upgrade 3.14.9 -> 3.14.10
> systemd: add iproute2-devlink runtime dependency to udev
> dropbear: add follow-up patches for CVE-2019-6111
> dropbear: patch CVE-2026-35385
>
> Richard Purdie (2):
> recipe_sanity: Drop rename overwrite detection
> populate_sdk_ext: Fix locale error handling in SDK
>
> Ross Burton (4):
> python3: upgrade 3.14.7 -> 3.14.9
> python3: skip test.test_readline.TestHistoryManipulation on musl
> piglit: fix build with Python 3.14.9
> groff: build less in groff-native
>
> Shantanu Majumdar (1):
> gstreamer1.0-plugins-bad: use gtk+3 dependency name
>
> Theo Gaige (Schneider Electric) (1):
> python3-pyelftools: add missing runtime dependencies
>
> Yoann Congal (1):
> scripts/install-buildtools: Update to 6.0.4
>
> Yogita Urade (3):
> python3-urllib3: Fix CVE-2026-44432
> python3-urllib3: Fix CVE-2026-97687
> python3-urllib3: Fix CVE-2026-97688
>
> meta/classes-recipe/kernel-fit-image.bbclass | 14 +-
> meta/classes-recipe/populate_sdk_ext.bbclass | 2 +-
> meta/classes/recipe_sanity.bbclass | 21 -
> meta/lib/oe/package.py | 54 +--
> meta/lib/oe/spdx30_tasks.py | 1 -
> meta/lib/oe/spdx_common.py | 125 +++--
> ...1-avoid-start-failure-with-bind-user.patch | 2 +-
> ...kport-ax_prog_cc_for_build.m4-macros.patch | 2 +-
> ...d-V-and-start-log-hide-build-options.patch | 4 +-
> ...ching-for-json-headers-searches-sysr.patch | 4 +-
> .../recipes-connectivity/bind/bind/conf.patch | 2 +-
> ...t.d-add-support-for-read-only-rootfs.patch | 2 +-
> .../bind/make-etc-initd-bind-stop-work.patch | 2 +-
> .../bind/{bind_9.20.29.bb => bind_9.20.30.bb} | 2 +-
> meta/recipes-connectivity/bluez5/bluez5.inc | 5 +
> ...0001-avdtp-Fix-GET_CONFIGURATION-cmd.patch | 36 ++
> ...ix-error-handling-for-AVDTP_OPEN-cmd.patch | 48 ++
> ...turn-correct-error-when-SEP-is-inuse.patch | 32 ++
> ...x-Fix-ABORT-response-being-discarded.patch | 44 ++
> ...p-Fix-u128_to_string-skipping-data-4.patch | 33 ++
> .../dropbear/dropbear/CVE-2019-6111-01.patch | 364 ++++++++++++++
> .../dropbear/dropbear/CVE-2019-6111-02.patch | 43 ++
> .../dropbear/dropbear/CVE-2019-6111-03.patch | 34 ++
> .../dropbear/dropbear/CVE-2019-6111-04.patch | 43 ++
> .../dropbear/dropbear/CVE-2026-35385.patch | 42 ++
> .../recipes-core/dropbear/dropbear_2025.89.bb | 5 +
> .../glib-2.0/files/CVE-2026-16118.patch | 48 ++
> meta/recipes-core/glib-2.0/glib.inc | 1 +
> meta/recipes-core/systemd/systemd_259.5.bb | 1 +
> .../go/{go-1.26.9.inc => go-1.26.10.inc} | 2 +-
> ..._1.26.9.bb => go-binary-native_1.26.10.bb} | 6 +-
> ...1.26.9.bb => go-cross-canadian_1.26.10.bb} | 0
> ...go-cross_1.26.9.bb => go-cross_1.26.10.bb} | 0
> ...sssdk_1.26.9.bb => go-crosssdk_1.26.10.bb} | 0
> ...untime_1.26.9.bb => go-runtime_1.26.10.bb} | 0
> .../go/{go_1.26.9.bb => go_1.26.10.bb} | 0
> .../python3-pip/0001-Remove-emsign-437.patch | 142 ++++++
> ...tore-unaffected-emSign-roots-439-440.patch | 108 +++++
> .../python/python3-pip_26.0.1.bb | 2 +
> .../python/python3-pyelftools_0.32.bb | 8 +-
> .../python3-urllib3/CVE-2026-44432.patch | 157 ++++++
> .../python3-urllib3/CVE-2026-97687_p1.patch | 277 +++++++++++
> .../python3-urllib3/CVE-2026-97687_p2.patch | 450 ++++++++++++++++++
> .../CVE-2026-97688-regression.patch | 29 ++
> .../python3-urllib3/CVE-2026-97688.patch | 107 +++++
> .../python/python3-urllib3_2.6.3.bb | 5 +
> ...shebang-overflow-on-python-config.py.patch | 2 +-
> ...-use-prefix-value-from-build-configu.patch | 2 +-
> ...-qemu-wrapper-when-gathering-profile.patch | 2 +-
> ...est_sysconfig-for-posix_user-purelib.patch | 2 +-
> .../python/python3/makerace.patch | 2 +-
> .../{python3_3.14.7.bb => python3_3.14.10.bb} | 7 +-
> .../groff/files/build-less.patch | 24 +
> meta/recipes-extended/groff/groff_1.24.1.bb | 8 +-
> ...-reproducible_mtime-should-be-an-int.patch | 33 ++
> meta/recipes-graphics/piglit/piglit_git.bb | 1 +
> .../linux/linux-yocto-rt_6.18.bb | 6 +-
> .../linux/linux-yocto-tiny_6.18.bb | 6 +-
> meta/recipes-kernel/linux/linux-yocto_6.18.bb | 24 +-
> .../gstreamer1.0-plugins-bad_1.28.5.bb | 2 +-
> .../boost/boost/CVE-2023-34399.patch | 35 ++
> meta/recipes-support/boost/boost_1.90.0.bb | 1 +
> .../gnupg/CVE-2026-105712-regression.patch | 39 ++
> .../gnupg/gnupg/CVE-2026-105712.patch | 194 ++++++++
> meta/recipes-support/gnupg/gnupg_2.5.17.bb | 2 +
> scripts/install-buildtools | 4 +-
> 66 files changed, 2554 insertions(+), 151 deletions(-)
> rename meta/recipes-connectivity/bind/{bind_9.20.29.bb => bind_9.20.30.bb} (97%)
> create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-avdtp-Fix-GET_CONFIGURATION-cmd.patch
> create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-avdtp-Fix-error-handling-for-AVDTP_OPEN-cmd.patch
> create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-avdtp-Return-correct-error-when-SEP-is-inuse.patch
> create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-gobex-Fix-ABORT-response-being-discarded.patch
> create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-obexd-pbap-Fix-u128_to_string-skipping-data-4.patch
> create mode 100644 meta/recipes-core/dropbear/dropbear/CVE-2019-6111-01.patch
> create mode 100644 meta/recipes-core/dropbear/dropbear/CVE-2019-6111-02.patch
> create mode 100644 meta/recipes-core/dropbear/dropbear/CVE-2019-6111-03.patch
> create mode 100644 meta/recipes-core/dropbear/dropbear/CVE-2019-6111-04.patch
> create mode 100644 meta/recipes-core/dropbear/dropbear/CVE-2026-35385.patch
> create mode 100644 meta/recipes-core/glib-2.0/files/CVE-2026-16118.patch
> rename meta/recipes-devtools/go/{go-1.26.9.inc => go-1.26.10.inc} (90%)
> rename meta/recipes-devtools/go/{go-binary-native_1.26.9.bb => go-binary-native_1.26.10.bb} (80%)
> rename meta/recipes-devtools/go/{go-cross-canadian_1.26.9.bb => go-cross-canadian_1.26.10.bb} (100%)
> rename meta/recipes-devtools/go/{go-cross_1.26.9.bb => go-cross_1.26.10.bb} (100%)
> rename meta/recipes-devtools/go/{go-crosssdk_1.26.9.bb => go-crosssdk_1.26.10.bb} (100%)
> rename meta/recipes-devtools/go/{go-runtime_1.26.9.bb => go-runtime_1.26.10.bb} (100%)
> rename meta/recipes-devtools/go/{go_1.26.9.bb => go_1.26.10.bb} (100%)
> create mode 100644 meta/recipes-devtools/python/python3-pip/0001-Remove-emsign-437.patch
> create mode 100644 meta/recipes-devtools/python/python3-pip/0002-Restore-unaffected-emSign-roots-439-440.patch
> create mode 100644 meta/recipes-devtools/python/python3-urllib3/CVE-2026-44432.patch
> create mode 100644 meta/recipes-devtools/python/python3-urllib3/CVE-2026-97687_p1.patch
> create mode 100644 meta/recipes-devtools/python/python3-urllib3/CVE-2026-97687_p2.patch
> create mode 100644 meta/recipes-devtools/python/python3-urllib3/CVE-2026-97688-regression.patch
> create mode 100644 meta/recipes-devtools/python/python3-urllib3/CVE-2026-97688.patch
> rename meta/recipes-devtools/python/{python3_3.14.7.bb => python3_3.14.10.bb} (98%)
> create mode 100644 meta/recipes-extended/groff/files/build-less.patch
> create mode 100644 meta/recipes-graphics/piglit/piglit/0001-tests-serializer-reproducible_mtime-should-be-an-int.patch
> create mode 100644 meta/recipes-support/boost/boost/CVE-2023-34399.patch
> create mode 100644 meta/recipes-support/gnupg/gnupg/CVE-2026-105712-regression.patch
> create mode 100644 meta/recipes-support/gnupg/gnupg/CVE-2026-105712.patch
--
Yoann Congal
Smile ECS
^ permalink raw reply [flat|nested] 39+ messages in thread