Compare commits

...

232 Commits

Author SHA1 Message Date
Steve Sakoman
51dc9c464d build-appliance-image: Update to kirkstone head revision
(From OE-Core rev: d381eeb5e70bd0ce9e78032c909e4a23564f4dd7)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-19 07:06:05 -07:00
Steve Sakoman
49e837cefa poky.conf: bump version for 4.0.30
(From meta-yocto rev: edf7950e4d81dd31f29a58acdd8022dabd2be494)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-19 07:03:31 -07:00
Joao Marcos Costa
03a1a4c956 ref-manual/variables.rst: expand IMAGE_OVERHEAD_FACTOR glossary entry
There's a (second) overhead factor applied in images generated with Wic,
and this is already documented in the .wks reference. However, the
IMAGE_OVERHEAD_FACTOR entry does not mention it, and by looking at the
partition sizes (e.g. with parted) one may find it confusing that they
don't match with the expected rootfs size (e.g. in a scenario where the
extra space is "0" and IMAGE_OVERHEAD_FACTOR="1.0").

This second overhead is already documented, though:
https://docs.yoctoproject.org/ref-manual/kickstart.html#command-part-or-partition

Mention the '--overhead-factor' option in the glossary entry and add a
reference to the wks documentation.

(From yocto-docs rev: 71a3933c609ce73ff07e5be48d9e7b03f22ef8d7)

Signed-off-by: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit b9040e20b015e9b02683ec3014e4ade5eb59d41a)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-19 07:03:31 -07:00
Antonin Godard
0813376d84 dev-manual/security-subjects.rst: update mailing lists
Update mailing lists following changes by Michael Halstead
(https://lists.yoctoproject.org/g/yocto-security/message/1478).

Also fix formatting/spacing.

(From yocto-docs rev: 31f35193c61a1f0b4fd76f98887b709c48768121)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 8066aa92a1acae6c99fbee92d24ee1feea65d974)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-19 07:03:31 -07:00
Jan Vermaete
5fc83da6b2 sdk: The main in the C example should return an int
see C17 (ISO/IEC 9899:2018)

(From yocto-docs rev: 1118f1bde785e153c4ddd2bf4e4d70f956fde948)

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 1ebaed299f7ef80a49b68608f45bf25884900d13)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-19 07:03:31 -07:00
Lee Chee Yang
686d908085 migration-guides: add release notes for 4.0.29
(From yocto-docs rev: e4d3b5bb106d19e4ef224dc39ae970abed234814)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit d3bbfed9cad4cda0960ee0623c728ea2a18e1b29)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-19 07:03:31 -07:00
Vijay Anusuri
9e8df15269 cups: Fix for CVE-2025-58060 and CVE-2025-58364
import patch from debian to fix
  CVE-2025-58060
  CVE-2025-58364

Upstream-Status: Backport [import from debian cups 2.4.2-3+deb12u9
Upstream commit
595d691075
&
e58cba9d6f]

(From OE-Core rev: 88585645a041c3c2ee7b39bf5f72885ed7c8775f)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-19 07:03:31 -07:00
Philip Lorenz
6d64cdb02b insane: Ensure that src-uri-bad fails correctly
`src-uri-bad` is missing the required call to `oe.qa.exit_if_errors` so
the corresponding task is not marked as failed when the QA check is
classified as an error.

This issue was fixed by the introduction of the do_recipe_qa task in
OE-core (e0c71367ab59021fc430ef215bbfc3b525036ba4) which is not part
of kirkstone yet.

(From OE-Core rev: 4b593ea8df9b1d3dda0adf38786845168360311f)

Signed-off-by: Philip Lorenz <philip.lorenz@bmw.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-19 07:03:31 -07:00
Richard Purdie
15535d452d insane: Improve patch warning/error handling
Currently, whilst patch errors or warnings are shown, the errors don't stop builds.
The configuration isn't very configurable from WARN_QA and ERROR_QA either.

This patch:
 * Uses the standard mechanisms to handle the patch fuzz warnings/errors
 * Makes Upstream-Status checking configurable from WARN/ERROR_QA
 * Allows that checking to be used with non-core layers
 * Makes patch-fuzz an error by default

(From OE-Core rev: 76a685bfcf927593eac67157762a53259089ea8a)

(From OE-Core rev: 4899961965d70281e63582234f0ed299431eff32)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3c3fd6a65e)

The backported commit was modified to not mark "patch-fuzz" as an error
by default (which retains compatibility with kirkstone behaviour).

Signed-off-by: Philip Lorenz <philip.lorenz@bmw.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-19 07:03:31 -07:00
Hitendra Prajapati
d3568e56a7 go: ignore CVE-2024-24790
CVE-2024-24790:  net/netip module was introduced in go1.18beta1 via a59e33224e42d60a97fa720a45e1b74eb6aaa3d0

(From OE-Core rev: e304b139a8c43a88604ceb93aa933057b1e1748c)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-19 07:03:31 -07:00
Divya Chellam
ad403d6f6f wpa-supplicant: fix CVE-2022-37660
In hostapd 2.10 and earlier, the PKEX code remains active even after a successful
PKEX association. An attacker that successfully bootstrapped public keys with
another entity using PKEX in the past, will be able to subvert a future bootstrapping
by passively observing public keys, re-using the encrypting element Qi and subtracting
it from the captured message M (X = M - Qi). This will result in the public ephemeral
key X; the only element required to subvert the PKEX association.

CVE-2022-37660-0001, CVE-2022-37660-0002, CVE-2022-37660-0003 and  CVE-2022-37660-0004
are dependent commits while CVE-2022-37660-0005 is actual CVE fix.

Reference:
https://security-tracker.debian.org/tracker/CVE-2022-37660

Upstream-patches:
https://git.w1.fi/cgit/hostap/commit/?id=9d3f347a2b14652e767d51142600206a32676b62
https://git.w1.fi/cgit/hostap/commit/?id=80213629981a21825e4688fde1b590e4c4d4bcea
https://git.w1.fi/cgit/hostap/commit/?id=bdcccbc2755dd1a75731496782e02b5435fb9534
https://git.w1.fi/cgit/hostap/commit/?id=d7be749335f2585658cf98c4f0e7d6cd5ac06865
https://git.w1.fi/cgit/hostap/commit/?id=15af83cf1846870873a011ed4d714732f01cd2e4

(From OE-Core rev: 3dd917c52ace30607800f0b70a52a52662dda731)

Signed-off-by: Divya Chellam <divya.chellam@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-12 09:24:24 -07:00
Gyorgy Sarvari
7c76036780 llvm: fix typo in CVE-2024-0151.patch
During backporting the patch, accidentally a variable was removed.
In case the recipe is compiled for 32-bit Arm target, compilation
fails with the following error:

3.0.1-r0/git/llvm/lib/Target/ARM/ARMISelLowering.cpp:4481:13: error: 'RegVT' was not declared in this scope
|  4481 |         if (RegVT == MVT::f16 || RegVT == MVT::bf16)
|       |             ^~~~~

This patch corrects the patch, and adds back the removed RegVT variable.

(From OE-Core rev: 77f29f8fea58de40459186952d25279877ce4994)

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-12 09:24:24 -07:00
Archana Polampalli
4f27d5ff82 ffmpeg: fix CVE-2025-1594
A vulnerability, which was classified as critical, was found in FFmpeg up to 7.1.
This affects the function ff_aac_search_for_tns of the file libavcodec/aacenc_tns.c
of the component AAC Encoder. The manipulation leads to stack-based buffer overflow.
It is possible to initiate the attack remotely. The exploit has been disclosed to
the public and may be used.

(From OE-Core rev: 5a922eb95da7d373ee2bc3018065448fa128e69a)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-12 09:24:24 -07:00
Archana Polampalli
e9b1bb75ff ffmpeg: fix multiple CVEs
CVE-2023-6605:
A flaw was found in FFmpeg's DASH playlist support. This vulnerability allows arbitrary HTTP GET
requests to be made on behalf of the machine running FFmpeg via a crafted DASH playlist containing malicious URLs.

CVE-2023-6604:
A flaw was found in FFmpeg. This vulnerability allows unexpected additional CPU load
and storage consumption, potentially leading to degraded performance or denial of service
via the demuxing of arbitrary data as XBIN-formatted data without proper format validation.

CVE-2023-6602:
flaw was found in FFmpeg's TTY Demuxer. This vulnerability allows possible data exfiltration
via improper parsing of non-TTY-compliant input files in HLS playlists.

(From OE-Core rev: aa68992ddc5744bb4fdbb3a3cd0636b303449be2)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-12 09:24:24 -07:00
Archana Polampalli
4415ab1560 ffmpeg: fix CVE-2025-7700
NULL Pointer Dereference in FFmpeg ALS Decoder (libavcodec/alsdec.c)

(From OE-Core rev: a8344e051e4c705df69f4787726a9eca5c780eff)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-12 09:24:24 -07:00
Kyungjik Min
69d52fa539 pulseaudio: Add audio group explicitly
Since pulseaudio-server requires the audio group, we explicitly add it.

When use useradd-staticids or do not use the default group in
base-passwd, an error will occur because the audio group is not defined.

NOTE: pulseaudio: Performing useradd with [--root
TOPDIR/tmp/work/cortexa72-poky-linux/pulseaudio/17.0/recipe-sysroot
--home-dir /var/run/pulse --gid 998 --groups audio,pulse
--no-create-home --system --shell /bin/false --uid 998 pulse]
useradd: group 'audio' does not exist
ERROR: pulseaudio: useradd command did not succeed.

(From OE-Core rev: 71ed9d8394f7e625270ee66f9c2816bba4aa2016)

Signed-off-by: Kyungjik Min <dpmin7@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-08 08:27:11 -07:00
Deepak Rathore
6ae24cb3c6 default-distrovars.inc: Fix CONNECTIVITY_CHECK_URIS redirect issue
The default CONNECTIVITY_CHECK_URIS uses "https://yoctoproject.org/connectivity.html"
which redirect to "https://www.yoctoproject.org/connectivity.html".

Some network configurations with proxies or restricted internet access
don't handle HTTP redirects properly during the sanity check phase,
causing build failures with:

ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
Following is the list of potential problems / advisories:

Fetcher failure for URL: 'https://yoctoproject.org/connectivity.html'. URL doesn't work.

Updated the default URL to use the final destination directly to avoid
redirect-related connectivity check failures.

Also updated SDK test cases in https.py to use the corrected URL for
consistency.

(From OE-Core rev: aceb2920fbdef43db7b0b698865358e288901610)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 60cdf960a3560f391babd559737f1afb31fb2c5c)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-08 08:27:11 -07:00
Peter Marko
3899075ad9 sudo: remove devtool FIXME comment
This comment should not have been merged.
It shows that the license did not change.

(From OE-Core rev: 652986a4c67fc5d1c69cd3c2cb0d7f197b960be6)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-08 08:27:11 -07:00
Peter Marko
9f689b3049 vim: upgrade 9.1.1198 -> 9.1.1652
Handles CVE-2025-53905, CVE-2025-53906, CVE-2025-55157, CVE-2025-55158.

Changes between 9.1.1198 -> 9.1.1652
====================================
https://github.com/vim/vim/compare/v9.1.1198...v9.1.1652

Refresh patches.

Disable newly introduced wayland support (in patch version 1485).
To this belongs also adding recursion in delete command for dir auto
which was newly failing as there is wayland directory inside now.
If someone is interested, this can be probably enabled, but without
additional work it results in compilation error due to function
redefinition conflicts.

(From OE-Core rev: e87d427d928234ef0441f9ce1fe8631fbe471094)

(From OE-Core rev: bd2dc808baec7e940a09f80afa2c2997efe7cbfe)

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>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-08 08:27:11 -07:00
Mingli Yu
57bd1bec8d vim: not adjust script pathnames for native scripts either
After the below commit introduced, the shebang size of native scripts
is also checked, so rework the patch to fix the gap.
377fe11bc0 insane.bbclass: Make do_qa_staging check shebangs

Fixes:
   ERROR: QA Issue: : /work/x86_64-linux/vim-native/9.0.0005-r0/sysroot-destdir/work/x86_64-linux/vim-native/9.0.0005-r0/recipe-sysroot-native/usr/share/vim/vim90/tools/mve.awk maximum shebang size exceeded, the maximum size is 128. [shebang-size]
   ERROR: QA Issue: : /work/x86_64-linux/vim-native/9.0.0005-r0/sysroot-destdir/work/x86_64-linux/vim-native/9.0.0005-r0/recipe-sysroot-native/usr/share/vim/vim90/tools/efm_perl.pl maximum shebang size exceeded, the maximum size is 128. [shebang-size]

(From OE-Core rev: 79232458b9cdc741a2049d83839af73f58a5554c)

(From OE-Core rev: 671f8cec8ef463d75e9393c5fc03cf913ef9edf6)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-08 08:27:11 -07:00
Praveen Kumar
e271e3cf36 git: fix CVE-2025-48384
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals. When reading a config value, Git strips
any trailing carriage return and line feed (CRLF). When writing a
config entry, values with a trailing CR are not quoted, causing the CR
to be lost when the config is later read. When initializing a
submodule, if the submodule path contains a trailing CR, the altered
path is read resulting in the submodule being checked out to an
incorrect location. If a symlink exists that points the altered path
to the submodule hooks directory, and the submodule contains an
executable post-checkout hook, the script may be unintentionally
executed after checkout. This vulnerability is fixed in v2.43.7,
v2.44.4, v2.45.4, v2.46.4, v2.47.3, v2.48.2, v2.49.1, and v2.50.1.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2025-48384

Upstream-patch:
05e9cd64ee

(From OE-Core rev: 34cb9674a5ce337a75af0dc415706d0323c427a6)

Signed-off-by: Praveen Kumar <praveen.kumar@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-08 08:27:11 -07:00
Yogita Urade
7e420c5834 tiff: fix CVE-2025-8851
A vulnerability was determined in LibTIFF up to 4.5.1. Affected
by this issue is the function readSeparateStripsetoBuffer of the
file tools/tiffcrop.c of the component tiffcrop. The manipulation
leads to stack-based buffer overflow. Local access is required to
approach this attack. The patch is identified as
8a7a48d7a645992ca83062b3a1873c951661e2b3. It is recommended to
apply a patch to fix this issue.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2025-8851

Upstream patch:
8a7a48d7a6

(From OE-Core rev: 1ced84bbd4ab15f0f16176e367744b496a0ea97c)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-08 08:27:11 -07:00
Yogita Urade
999a2e1aa4 tiff: fix CVE-2025-8534
A vulnerability classified as problematic was found in libtiff
4.6.0. This vulnerability affects the function PS_Lvl2page of
the file tools/tiff2ps.c of the component tiff2ps. The
manipulation leads to null pointer dereference. It is possible
to launch the attack on the local host. The complexity of an
attack is rather high. The exploitation appears to be difficult.
The exploit has been disclosed to the public and may be used.
The name of the patch is 6ba36f159fd396ad11bf6b7874554197736ecc8b.
It is recommended to apply a patch to fix this issue. One of the
maintainers explains, that "[t]his error only occurs if
DEFER_STRILE_LOAD (defer-strile-load:BOOL=ON) or TIFFOpen( .. "rD")
option is used."

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2025-8534

Upstream patch:
6ba36f159f

(From OE-Core rev: c897368cd363d3e50372ab1fc95bc31f1a883dc4)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-08 08:27:11 -07:00
Yogita Urade
41c69cd099 tiff: fix CVE-2024-13978
A vulnerability was found in LibTIFF up to 4.7.0. It has been declared
as problematic. Affected by this vulnerability is the function
t2p_read_tiff_init of the file tools/tiff2pdf.c of the component fax2ps.
The manipulation leads to null pointer dereference. The attack needs to
be approached locally. The complexity of an attack is rather high. The
exploitation appears to be difficult. The patch is named
2ebfffb0e8836bfb1cd7d85c059cd285c59761a4. It is recommended to apply a
patch to fix this issue.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2024-13978

Upstream patch:
2ebfffb0e8

(From OE-Core rev: f6ff692be6b08290845b6c6c27eaf5d676476464)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-08 08:27:11 -07:00
Steve Sakoman
d655701622 Revert "sqlite3: patch CVE-2025-7458"
We have found that since this patch SELECT queries with
COUNT(DISTINCT(column)) seem to cause sqlite to segfault

This reverts commit 4d5093e5103016c08b3a32fd83b1ec9edd87cd5a.

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-09-01 08:25:16 -07:00
Peter Marko
34ee6fc494 libarchive: patch regression of patch for CVE-2025-5918
Picked commit per [1].

[1] https://security-tracker.debian.org/tracker/CVE-2025-5918

(From OE-Core rev: c947e01b3c27e9f08dc55ee4939d5537318f12e3)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-29 08:33:33 -07:00
Peter Marko
ecef511127 dpkg: patch CVE-2025-6297
Pick commit per [1] from 1.22.x branch.

[1] https://nvd.nist.gov/vuln/detail/CVE-2025-6297

(From OE-Core rev: aaf58c4ad69203a6437362ef130e8ed3ce267e81)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-29 08:33:33 -07:00
Peter Marko
b5d3231d38 glib-2.0: patch CVE-2025-7039
Pick commit per [1].
Also pick commit which changed the same code before to apply it cleanly.

[1] https://security-tracker.debian.org/tracker/CVE-2025-7039

(From OE-Core rev: 79355004da104587b2fb40dcb76053431c6a6182)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-29 08:33:33 -07:00
Peter Marko
f8c794053b qemu: ignore CVE-2024-7730
This CVE is for virtio-snd which was introduced in 8.2.0.
Therefore ignore this CVE for version 6.2.0.

(From OE-Core rev: 93545ef00c4930dd297649934bee0e95c520ee16)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-29 08:33:33 -07:00
Hitendra Prajapati
37f7f262e8 gstreamer1.0-plugins-base: fix CVE-2025-47807
Upstream-Status: Backport from 9e2238adc1

(From OE-Core rev: 8452fbdee00d27f2390dafa9d2ef14e7458baa70)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-29 08:33:33 -07:00
Vijay Anusuri
96973ede70 xserver-xorg: Fix for CVE-2025-49180
Upstream-Status: Backport from
3c3a4b767b
& 0235121c6a

(From OE-Core rev: 88abe8ec73f822b461670557539a7df0875325cc)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-29 08:33:33 -07:00
Vijay Anusuri
d0fd4d9160 xserver-xorg: Fix for CVE-2025-49179
import patch from debian to fix
  CVE-2025-49179

Upstream-Status: Backport [import from debian xorg-server_21.1.7-3+deb12u10.diff.gz
Upstream commit 2bde9ca49a]

(From OE-Core rev: da1b72e407190a81ac3bcc74a0ea51b4160cb5a9)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-29 08:33:33 -07:00
Vijay Anusuri
17e3bd9df8 xserver-xorg: Fix for CVE-2025-49178
Upstream-Status: Backport from d55c54cecb

(From OE-Core rev: 8d29231af51de235b99be0eeb71dfab41d67589d)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-29 08:33:32 -07:00
Jiaying Song
d6f3ce1651 openssl: fix CVE-2023-50781
A flaw was found in m2crypto. This issue may allow a remote attacker to
decrypt captured messages in TLS servers that use RSA key exchanges,
which may lead to exposure of confidential or sensitive data.

The CVE-2023-50781 in M2Crypto is addressed by modifying OpenSSL because
M2Crypto relies on OpenSSL for its cryptographic operations.The issue
stems from OpenSSL’s RSA PKCS#1 v1.5 padding verification being
vulnerable to Bleichenbacher-type attacks.To mitigate this, OpenSSL
introduced an implicit rejection mechanism in the RSA PKCS#1 v1.5
padding.Therefore, resolving the vulnerability requires changes within
OpenSSL itself to ensure M2Crypto’s security.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-50781
https://github.com/openssl/openssl/pull/13817/commits
https://todo.sr.ht/~mcepl/m2crypto/342?__goaway_challenge=meta-refresh&__goaway_id=45a03d6accb7b343867110db1f7fb334

(From OE-Core rev: d24c4923d6f7a25bdc3ec5d4ac6bee32bb0bae88)

Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-29 08:33:32 -07:00
Youngseok Jeong
6b05a97369 libubootenv: backport patch to fix unknown type name 'size_t'
Fix:
../recipe-sysroot/usr/include/libuboot.h:29:2: error: unknown type name 'size_t'
size_t          envsize;
^

This error can be avoided by using CXXFLAGS:append = " -include cstddef"
but this way would be needed in all recipes that use libuboot.h.
Therefore, Backport the patch to include <cstddef> in C++ builds.

(From OE-Core rev: e401a16d8e26d25cec95fcea98d6530036cffca1)

Signed-off-by: Youngseok Jeong <youngseok1.jeong@lge.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-22 07:07:19 -07:00
Peter Marko
bedb86690f glib-2.0: ignore CVE-2025-4056
NVD report [1] says:
A flaw was found in GLib. A denial of service on **Windows platforms**
may occur if an application attempts to spawn a program using long
command lines.

The fix [3] (linked from [2]) also changes only files
glib/gspawn-win32-helper.c
glib/gspawn-win32.c

[1] https://nvd.nist.gov/vuln/detail/CVE-2025-4056
[2] https://gitlab.gnome.org/GNOME/glib/-/issues/3668
[3] https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4570

(From OE-Core rev: 8c69793deb78cf9718801825477938c22e229eca)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-22 07:07:19 -07:00
Hitendra Prajapati
6a6d768268 git: fix CVE-2025-27614-CVE-2025-27613-CVE-2025-46334-CVE-2025-46835
Upstream-Status: Backport from from d61cfed2c2

(From OE-Core rev: a24e44f92114f995e034923a62b96947dc99d6e8)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-22 07:07:19 -07:00
Vijay Anusuri
1070bb4499 xserver-xorg: Fix for CVE-2025-49177
Upstream-Status: Backport from ab02fb96b1

(From OE-Core rev: b876a8c8dc9ffe288a41b18a61b4758ec52a115e)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-22 07:07:19 -07:00
Vijay Anusuri
372bb5d81e xserver-xorg: Fix for CVE-2025-49176
Upstream-Status: Backport from
03731b326a
& 4fc4d76b2c

(From OE-Core rev: d1b634ce77b5d47b086a2c757acf50e6e002494b)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-22 07:07:19 -07:00
Vijay Anusuri
169ae15f95 xserver-xorg: Fix for CVE-2025-49175
Upstream-Status: Backport from 0885e0b262

(From OE-Core rev: 23c1a62bced088cbc5eb31937bbc1e5d864213ab)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-22 07:07:19 -07:00
Hitendra Prajapati
68fd70f349 gstreamer1.0-plugins-good: fix CVE-2025-47183 & CVE-2025-47219
* CVE-2025-47183 - Upstream-Status: Backport from c4d0f4bbd9 && d76cae74da
* CVE-2025-47219 - Upstream-Status: Backport from b808039433

(From OE-Core rev: 0d923b416717d91142cced53961d853007a09daa)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-22 07:07:19 -07:00
Hitendra Prajapati
1e0216c6ba gstreamer1.0-plugins-base: fix CVE-2025-47806 & CVE-2025-47808
Backport fixes for:

* CVE-2025-47806 - Upstream-Status: Backport from  da4380c4df
* CVE-2025-47808 - Upstream-Status: Backport from  6b19f11751

(From OE-Core rev: 974670b83970f78edcb9f7d09ba34ec3a327320a)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-22 07:07:19 -07:00
Dan McGregor
e1b698abcc systemd: Fix manpage build after CVE-2025-4598
The previous fix missed another cherry-pick that fixed building
manpages after the coredump patch. The version-info.xml file doesn't
exist in 250. It was introduced later, so remove the reference to
it.

(From OE-Core rev: 0a383ef579ffe5f5c4ef2c78040540f1332e4ea6)

Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-22 07:07:19 -07:00
Antonin Godard
39df9602b1 ref-manual/classes.rst: document the testexport class
This class has been in OE-Core for a while but never documented in the
reference manual. Add some description for it and link to the existing
documentation on it.

(From yocto-docs rev: 1576091585f8ffdcadd8b8eee525614ab16b6fa0)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 362a331255525fc853dab3af4ec905c417fabb0b)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-18 13:18:01 -07:00
Antonin Godard
f81ed8523a ref-manual/variables.rst: document SPL_DTB_BINARY
This variable is part of uboot-sign but not documented.

(From yocto-docs rev: 1a07897a273867b4cf26759e88e423c552a09c4a)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 05eb461cb1da76ad9cbaf634da7f47447b3f6765)
[fix minor conflicts in classes.rst]
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-18 13:18:01 -07:00
Antonin Godard
5d6f6b2619 ref-manual/variables.rst: document the FIT_CONF_PREFIX variable
Added by commit 7892ee3dc37d ("kernel-fitimage: allow overriding FIT
configuration prefix") in OE-Core, but never documented.

(From yocto-docs rev: cb410326e2093fd3bbfe4417c9d73ba0d379df7d)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 860891492b96eb127af5e7bab6348fca12167c68)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-18 13:18:01 -07:00
Erik Lindsten
79435187b1 overview-manual/yp-intro.rst: fix broken link to article
(From yocto-docs rev: c1aacca22e2ebd4e03076c2a3809caf38f3f3a5a)

Signed-off-by: Erik Lindsten <erik@awto.se>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit b9680ad83ad3fc5e2b87594f7c62c057134d198b)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-18 13:18:01 -07:00
Antonin Godard
f11ea352ef ref-manual/system-requirements.rst: update supported distributions
Update the distributions to match the list of workers on the
Autobuilder. This list was generated with the help of
yocto-autobuilder-helper/scripts/yocto-supported-distros.

Also:

- Sort the lists alphabetically.
- Fill the second list with EOL distros still running on the
  Autobuilder.

(From yocto-docs rev: 207477ddfead183f9df06215b1acb453138708cb)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-18 13:18:01 -07:00
Quentin Schulz
db89896907 go-helloworld: fix license
The example repo doesn't seem to have ever been under MIT to begin with
but rather Apache-2.0.

The license file exists in the sources, so use that one instead of
taking it from the OE-Core license directory.

License-Update: Incorrect license is now proper

(From OE-Core rev: 3d1c037a7cb7858a4e3c33a94f5d343a81aac5f7)

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-18 13:18:01 -07:00
Guocai He
1afc7cf4cf gnupg: disable tests to avoid running target binaries at build time
By default, the tests are built and run at do_compile and we can see
errors like below in log.do_compile:

gnupg-2.3.7/tests/cms/inittests: line 99: ../../sm/gpgsm: cannot execute binary file: Exec format error

Note that the do_compile process still succeeds. However, we'd better avoid
executing these target binaries at build time.

(From OE-Core rev: b02f99a0b82ed55a07c00b32805ad676c04ee4ab)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

(master rev: 74d48497470ce209bc6bdf49c2e2cfda67dce6ae)

Signed-off-by: Guocai He <guocai.he.cn@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-18 13:18:01 -07:00
Hitendra Prajapati
423e0ff3fb libxslt: fix CVE-2023-40403
Upstream-Status: Backport from  adebe45f6e && 1d9820635c && ccec6fa31d && 82f6cbf8ca && 452fb4ca9b

(From OE-Core rev: b77845d6fed5385de5789f8864fc399f82209ea1)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-18 13:18:01 -07:00
Peter Marko
8f356f507e libarchive: patch CVE-2025-5918
Pick 2 commits as in scarthgap branch plus one additional precondition
to apply those.

(From OE-Core rev: e43507dad134c5036be1c79a37f73c34f4fb6292)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-18 13:18:01 -07:00
Peter Marko
aa37836708 go: ignore CVE-2025-0913
This is problem on Windows platform only.

Per NVD report [1], CPE has "and" clause
Running on/with
 cpe:2.3microsoft:windows:-:*:*:*:*:*:*:*

Also linked patch [2] changes Windows files only (and tests).

[1] https://nvd.nist.gov/vuln/detail/CVE-2025-0913
[2] https://go-review.googlesource.com/c/go/+/672396

(From OE-Core rev: 473da932a8f94b7454e0e13912753a7e7545fc17)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-18 13:18:01 -07:00
Peter Marko
e371e6b3a7 python3: patch CVE-2025-8194
Pick commit from 3.12 branch mentioned in NVD report.
https://nvd.nist.gov/vuln/detail/CVE-2025-8194

(From OE-Core rev: 4ae9daf3d05530952a8b002257dd9afda2e077e4)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-18 13:18:01 -07:00
Yogita Urade
dc468377e8 tiff: fix CVE-2025-8177
A vulnerability was found in LibTIFF up to 4.7.0. It has been
rated as critical. This issue affects the function setrow of the
file tools/thumbnail.c. The manipulation leads to buffer overflow.
An attack has to be approached locally. The patch is named
e8c9d6c616b19438695fd829e58ae4fde5bfbc22. It is recommended to
apply a patch to fix this issue. This vulnerability only affects
products that are no longer supported by the maintainer.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2025-8177

Upstream patch:
e8de4dc1f9

(From OE-Core rev: fbf3238630c104c9e17d6e902986358cea5986ff)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-18 13:18:01 -07:00
Yogita Urade
c2581b7811 tiff: fix CVE-2025-8176
A vulnerability was found in LibTIFF up to 4.7.0. It has
been declared as critical. This vulnerability affects the
function get_histogram of the file tools/tiffmedian.c. The
manipulation leads to use after free. The attack needs to
be approached locally. The exploit has been disclosed to
the public and may be used. The patch is identified as
fe10872e53efba9cc36c66ac4ab3b41a839d5172. It is recommended
to apply a patch to fix this issue.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2025-8176

Upstream patches:
3994cf3b3b
ce46f002ec
ecc4ddbf1f

(From OE-Core rev: 5dbc4ccce8676b016de8c1393c2f0d0f74eb9337)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-18 13:18:01 -07:00
Steve Sakoman
81ab000fa4 build-appliance-image: Update to kirkstone head revision
(From OE-Core rev: bd620eb14660075fd0f7476bbbb65d5da6293874)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-08 06:32:44 -07:00
Steve Sakoman
3c825671cb poky.conf: bump version for 4.0.29
(From meta-yocto rev: e916d3bad58f955b73e2c67aba975e63cd191394)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-08 06:30:56 -07:00
Peter Marko
b4dcef5ed5 glibc: stable 2.35 branch updates
This is a single commit bump containing only CVE fix
$ git log --oneline d80401002011f470d9c6eb604bf734715e9b3a8c..a66bc3941ff298e474d5f02d0c3303401951141f
a66bc3941f posix: Fix double-free after allocation failure in regcomp (bug 33185)

Test results didn't change except newly added test succeeding.
(tst-regcomp-bracket-free)

Also add CVE-2025-0395 ignore which was already included in previous
hash bumps.

Also drop an unreferenced patch.

(From OE-Core rev: 3921549f6420e44a250d06cdef2c9d423fb6e39f)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-08 06:30:56 -07:00
Peter Marko
a7f2f317f5 sqlite3: ignore CVE-2025-3277
The vulnerable code was introduced in 3.44.0 via [1].
(See fix commit [2])
Also Debian says "not vulnerabele yet for 3.40.1 in [3]

[1] e1e67abc5c
[2] https://sqlite.org/src/info/498e3f1cf57f164f
[3] https://security-tracker.debian.org/tracker/CVE-2025-3277

(From OE-Core rev: ebacd5cd2827c1a9a45a92353518f9d976597526)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-08 06:30:56 -07:00
Peter Marko
bedacbb603 sqlite3: patch CVE-2025-7458
Pick patch [1] listed in [2].
Also pick another patch which is precondition to this one introducing
variable needed for the check.

[1] https://sqlite.org/src/info/12ad822d9b827777
[2] https://nvd.nist.gov/vuln/detail/CVE-2025-7458

(From OE-Core rev: 4d5093e5103016c08b3a32fd83b1ec9edd87cd5a)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-08 06:30:56 -07:00
Zhang Peng
9e416e05f6 avahi: fix CVE-2024-52615
CVE-2024-52615:
A flaw was found in Avahi-daemon, which relies on fixed source ports for wide-area
DNS queries. This issue simplifies attacks where malicious DNS responses are injected.

Reference:
[https://nvd.nist.gov/vuln/detail/CVE-2024-52615]
[https://github.com/avahi/avahi/security/advisories/GHSA-x6vp-f33h-h32g]

Upstream patches:
[4e2e1ea090]

(From OE-Core rev: 7bd9fee6d654326ea921b51113de99f793e11545)

Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-08 06:30:55 -07:00
Marco Cavallini
f29a38bdcb dev-manual/start.rst: added missing command in Optimize your VHDX file using DiskPart
After compact vsdisk you have to detach it before exiting
  otherwise the vdisk remains attached.

  DISKPART> select vdisk file="<path_to_VHDX_file>"
  DISKPART> attach vdisk readonly
  DISKPART> compact vdisk
  DISKPART> detach     <------------ new missing command
  DISKPART> exit

(From yocto-docs rev: bf855ecaf4bec4cef9bbfea2e50caa65a8339828)

Signed-off-by: Marco Cavallini <m.cavallini@koansoftware.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 1cc65ddf1a074f61fe5a63d222f3079b7fcb4c1e)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-04 06:40:00 -07:00
Vijay Anusuri
bc3d85398a sqlite3: Fix CVE-2025-6965
Upstream-Status: Backport from c52e9d97d4

(From OE-Core rev: b4a2f74ba0b40abcdf56c4b58cae5f7ce145d511)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-04 06:40:00 -07:00
Deepesh Varatharajan
31dd8d47a6 binutils: Fix CVE-2025-7545
objcopy: Don't extend the output section size
Since the output section contents are copied from the input, don't
extend the output section size beyond the input section size.

Backport a patch from upstream to fix CVE-2025-7545
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=08c3cbe5926e4d355b5cb70bbec2b1eeb40c2944]

(From OE-Core rev: 4f461ed46b7694fc4815c7f0504b9cefe5da8e19)

Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-04 06:40:00 -07:00
Peter Marko
7a75b9b4a7 libxml2: patch CVE-2025-6170
Pick commit referencing this CVE from 2.13 branch.

(From OE-Core rev: 9418c88c964dffc21abe6a056db72c3c81e25137)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-04 06:40:00 -07:00
Peter Marko
1e39b807b7 gnutls: patch CVE-2025-6395
Pick relevant commit from 3.8.10 release MR [1].

[1] https://gitlab.com/gnutls/gnutls/-/merge_requests/1979

(From OE-Core rev: 3680d0e2021c609f624c2170b061e6696fd8254c)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-04 06:40:00 -07:00
Peter Marko
a7033065b6 gnutls: patch CVE-2025-32990
Pick relevant commit from 3.8.10 release MR [1].

[1] https://gitlab.com/gnutls/gnutls/-/merge_requests/1979

(From OE-Core rev: 33634900586ba8c502c3dd6bb4767da929dfd0d1)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-04 06:40:00 -07:00
Peter Marko
ab47f0cc84 gnutls: patch CVE-2025-32988
Pick relevant commit from 3.8.10 release MR [1].

[1] https://gitlab.com/gnutls/gnutls/-/merge_requests/1979

(From OE-Core rev: 3600752d06c14fcfa0bc1b96222cc6a164955bb5)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-04 06:40:00 -07:00
Peter Marko
37cd90079b gnutls: patch reject zero-length version in certificate request
Pick relevant commit from 3.8.10 release MR [1].
The MR contains referece to undiscoled issue, so any security relevant
patch should be picked.

Binary test file was added as separate file as binary diffs are not
supported.

[1] https://gitlab.com/gnutls/gnutls/-/merge_requests/1979

(From OE-Core rev: 990bd6fab5c6004b9fbcdb9c76bcb3a96ba5887a)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-04 06:40:00 -07:00
Peter Marko
5e3b686673 gnutls: patch read buffer overrun in the "pre_shared_key" extension
Pick relevant commit from 3.8.10 release MR [1].
The ME contains referece to undiscoled issue, so any security relevant
patch should be picked.

Binary test file was added as separate file as binary diffs are not
supported.

[1] https://gitlab.com/gnutls/gnutls/-/merge_requests/1979

(From OE-Core rev: 33181e3e8c7427fc823f750e936732b69e247987)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-04 06:40:00 -07:00
Peter Marko
9c13654827 gnutls: patch CVE-2025-32989
Pick relevant commit from 3.8.10 release MR [1].

Binary test file was added as separate file as binary diffs are not
supported.

[1] https://gitlab.com/gnutls/gnutls/-/merge_requests/1979

(From OE-Core rev: fbe5f828c63071962d571a8787298aa5fd78ebe8)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-04 06:40:00 -07:00
Peter Marko
fc448b1b26 dropbear: patch CVE-2025-47203
CVE patch [1] as mentioned in [2] relies on several patches not yet
available in version 2020.81 we have in kirkstone.
The good folks from Debian did the hard work identifying them as they
have the same version in bullseye release.
The commits were picked from [3] and they have their references to
dropbear upstream commits.

[1] e5a0ef27c2
[2] https://security-tracker.debian.org/tracker/CVE-2025-47203
[3] 7f48e75892

(From OE-Core rev: 91eeffaf14917c7c994a8de794b915231e69c5d6)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-08-04 06:40:00 -07:00
Martin Jansa
1ccf83e5d5 db: ignore implicit-int and implicit-function-declaration issues fatal with gcc-14
* many configure tests (which might not fail before) are failing with gcc-14:
  # grep implicit build/config.log
  conftest.c:47:1: error: return type defaults to 'int' [-Wimplicit-int]
  conftest.c:47:1: error: return type defaults to 'int' [-Wimplicit-int]
  conftest.c:47:1: error: return type defaults to 'int' [-Wimplicit-int]
  conftest.c:47:1: error: return type defaults to 'int' [-Wimplicit-int]
  conftest.c:47:1: error: return type defaults to 'int' [-Wimplicit-int]
  conftest.c:47:1: error: return type defaults to 'int' [-Wimplicit-int]
  conftest.c:50:17: error: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
  conftest.c:50:17: warning: incompatible implicit declaration of built-in function 'exit' [-Wbuiltin-declaration-mismatch]
  conftest.c:53:9: error: implicit declaration of function 'msem_init' [-Wimplicit-function-declaration]
  conftest.c:54:9: error: implicit declaration of function 'msem_lock' [-Wimplicit-function-declaration]
  conftest.c:55:9: error: implicit declaration of function 'msem_unlock' [-Wimplicit-function-declaration]
  conftest.c:56:9: error: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
  conftest.c:56:9: warning: incompatible implicit declaration of built-in function 'exit' [-Wbuiltin-declaration-mismatch]
  conftest.c:50:9: error: implicit declaration of function '_spin_lock_try' [-Wimplicit-function-declaration]
  conftest.c:51:9: error: implicit declaration of function '_spin_unlock' [-Wimplicit-function-declaration]

* I have noticed this on db-native build on host with gcc-14
  where it caused fatal do_configure error:
  http://errors.yoctoproject.org/Errors/Details/784164/

  checking for mutexes... UNIX/fcntl
  configure: error: Support for FCNTL mutexes was removed in BDB 4.8.

  the config.log confirms it's because implicit-int:

  configure:22798: checking for mutexes
  configure:22925: gcc  -o conftest -isystem/OE/build/oe-core/tmp-glibc/work/x86_64-linux/db-native/5.3.28/recipe-sysroot-native/usr/include -O2 -pipe  -isystem/OE/build/oe-core/tmp-glibc/work/x86_64-linux/db-native/5.3.28/recipe-sysroot-native/usr/include -D_GNU_SOURCE -D_REENTRANT -L/OE/build/oe-core/tmp-glibc/work/x86_64-linux/db-native/5.3.28/recipe-sysroot-native/usr/lib                         -L/OE/build/oe-core/tmp-glibc/work/x86_64-linux/db-native/5.3.28/recipe-sysroot-native/lib                         -Wl,--enable-new-dtags                         -Wl,-rpath-link,/OE/build/oe-core/tmp-glibc/work/x86_64-linux/db-native/5.3.28/recipe-sysroot-native/usr/lib                         -Wl,-rpath-link,/OE/build/oe-core/tmp-glibc/work/x86_64-linux/db-native/5.3.28/recipe-sysroot-native/lib                         -Wl,-rpath,/OE/build/oe-core/tmp-glibc/work/x86_64-linux/db-native/5.3.28/recipe-sysroot-native/usr/lib                         -Wl,-rpath,/OE/build/oe-core/tmp-glibc/work/x86_64-linux/db-native/5.3.28/recipe-sysroot-native/lib                         -Wl,-O1 conftest.c  -lpthread >&5
  conftest.c:47:1: error: return type defaults to 'int' [-Wimplicit-int]
     47 | main() {
        | ^~~~
  configure:22925: $? = 1
  configure: program exited with status 1

* comparing target db with and without this change shows following diff
  in log.do_configure:

  db $ diff 5.3.28*/temp/log.do_configure
  268c268
  < checking for mutexes... POSIX/pthreads/library
  ---
  > checking for mutexes... POSIX/pthreads/library/x86_64/gcc-assembly
  271c271
  < checking for atomic operations... no
  ---
  > checking for atomic operations... x86/gcc-assembly

(From OE-Core rev: 4d3ce333c10fadf746b6d8b55a88777c97e11ffa)

(From OE-Core rev: 277b5ec3c0212ca8600dd89d0a33f784a060131f)

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6108da955e7c553247ff5356cf1c990b3d334edf)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-30 07:47:48 -07:00
Aleksandar Nikolic
ac7ccf3ea7 scripts/install-buildtools: Update to 4.0.28
Update to the 4.0.28 release of the 4.0 series for buildtools

(From OE-Core rev: 8e59118164d6468443db211d9ade058402f21add)

Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-30 07:47:48 -07:00
Deepesh Varatharajan
fe4b8e0b69 glibc: stable 2.35 branch updates
Below commits on glibc-2.35 stable branch are updated.

git log --oneline d2febe7c407665c18cfea1930c65f41899ab3aa3..80401002011f470d9c6eb604bf734715e9b3a8c2
8040100201 Fix error reporting (false negatives) in SGID tests
c6ec750be5 support: Pick group in support_capture_subprogram_self_sgid if UID == 0
c9e44b6467 support: Don't fail on fchown when spawning sgid processes
621c65ccf1 elf: Ignore LD_LIBRARY_PATH and debug env var for setuid for static
c7ff2bc297 Revert "elf: Ignore LD_LIBRARY_PATH and debug env var for setuid for static"
8624f6431b elf: Fix subprocess status handling for tst-dlopen-sgid (bug 32987)
ed10034f00 elf: Test case for bug 32976 (CVE-2025-4802)
08aea7712d support: Add support_record_failure_barrier
901e24b128 support: Use const char * argument in support_capture_subprogram_self_sgid
bff3b0f16c elf: Ignore LD_LIBRARY_PATH and debug env var for setuid for static

Dropped :
0025-CVE-2025-4802.patch
ed10034f00 elf: Test case for bug 32976 (CVE-2025-4802)

Test results:

             Before    after    diff
PASS          4833      4839      +6
XPASS            6         6       0
FAIL           133       130      -3
XFAIL           16        16       0
UNSUPPORTED    200       197      -3

Following commits improved test results:

8040100201 Fix error reporting (false negatives) in SGID tests
Improved SGID test handling by unifying error reporting and using secure temporary directories.
Replaced non-standard exit codes and fixed premature exits to avoid masking failures.
These changes reduced false negatives, increasing overall test pass rates.

8624f6431b elf: Fix subprocess status handling for tst-dlopen-sgid (bug 32987)
Fixed tst-dlopen-sgid false positives by correctly handling subprocess exit status (bug 32987).
Ensured test fails on abnormal or non-zero child exits.
This commit restores reliability in SGID testing and is the first step toward centralized SGID test error handling.

UNSUPPORTED tests changes
-UNSUPPORTED: elf/tst-env-setuid
-UNSUPPORTED: elf/tst-env-setuid-tunables
-UNSUPPORTED: stdlib/tst-secure-getenv

FAILed tests changes
-FAIL: elf/tst-dlopen-sgid
-FAIL: misc/tst-error1
-FAIL: resolv/tst-resolv-aliases

PASSed tests changes
+PASS: elf/tst-env-setuid
+PASS: elf/tst-env-setuid-tunables
+PASS: stdlib/tst-secure-getenv
+PASS: elf/tst-dlopen-sgid
+PASS: misc/tst-error1
+PASS: resolv/tst-resolv-aliases

(From OE-Core rev: 2ea1d2d9bc6d173a8a586542d47a7f8a443d24c1)

Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-30 07:47:48 -07:00
Peter Marko
7103a733a1 ncurses: patch CVE-2025-6141
Pick relevant part of snapshot commit 20250329, see [1].

That has:
add a buffer-limit check in postprocess_termcap (report/testcase by
Yifan Zhang).

[1] https://invisible-island.net/ncurses/NEWS.html#index-t20250329

(From OE-Core rev: 8d09a78a79d7f4b4ae9654bdcdf5f33dab9a8b95)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-30 07:47:48 -07:00
Rob Woolley
8fa7ff501e ruby: correct fix for CVE-2024-43398
The previous fix for CVE-2024-43398 did not include patches
to provide context for the changes it made.

This caused an exception at run-time when ruby parsed
rexml/parsers/baseparser.rb. This was first observed when using
ruby-native to build the sdformat recipe.

With these additional backports, the sdformat build proceeds
successfully. The REXML library was also tested manually on-target
with a script that used REXML::Document.new file to parse an
XML file.

(From OE-Core rev: 6bf00fde2d4043c6b558733a33041ce5694342d3)

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-30 07:47:48 -07:00
Hitendra Prajapati
a485d82c25 libpam: fix CVE-2025-6020
Upstream-Status: Backport from 475bd60c55 && 592d84e126 && 976c200793

(From OE-Core rev: 4ff5111d2a758bacb803de981177799a8ac7fd0b)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-30 07:47:48 -07:00
Daniel Díaz
875170d8f8 ffmpeg: Ignore two CVEs fixed in 5.0.3
These two CVEs were fixed via the 5.0.3 release, and the
backported patches that fixed them were subsequently left
behind (although not deleted) by dadb16481810 ("ffmpeg:
upgrade 5.0.1 -> 5.0.3")

* CVE-2022-3109: An issue was discovered in the FFmpeg
  package, where vp3_decode_frame in libavcodec/vp3.c lacks
  check of the return value of av_malloc() and will cause a
  null pointer dereference, impacting availability.

* CVE-2022-3341: A null pointer dereference issue was
  discovered in 'FFmpeg' in decode_main_header() function of
  libavformat/nutdec.c file. The flaw occurs because the
  function lacks check of the return value of
  avformat_new_stream() and triggers the null pointer
  dereference error, causing an application to crash.

`bitbake ffmpeg` reports these two as "Unpatched".

Ignore them for now, until the NVD updates the versions where
these do not affect anymore.

(From OE-Core rev: 78aef4b1002c515aa2c1a64fea5bb013c9bc86a8)

Signed-off-by: Daniel Díaz <daniel.diaz@sonos.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-30 07:47:48 -07:00
Yogita Urade
87e1bc09ca gnupg: fix CVE-2025-30258
In GnuPG before 2.5.5, if a user chooses to import a certificate
with certain crafted subkey data that lacks a valid backsig or
that has incorrect usage flags, the user loses the ability to
verify signatures made from certain other signing keys, aka a
"verification DoS."

CVE-2025-30258-0002 is the dependent commit while rest
are CVE fixes.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2025-30258

Upstream patches:
https://dev.gnupg.org/rG25d748c3dfc0102f9e54afea59ff26b3969bd8c1
https://dev.gnupg.org/rG9cd371b12d80cfc5bc85cb6e5f5eebb4decbe94f
https://dev.gnupg.org/rGda0164efc7f32013bc24d97b9afa9f8d67c318bb
https://dev.gnupg.org/rG1e581619bf5315957f2be06b3b1a7f513304c126
https://dev.gnupg.org/rG4be25979a6b3e2a79d7c9667b07db8b09fb046e9

(From OE-Core rev: 467081219407cd30bcc9e575bedcb127b6bcea65)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-30 07:47:48 -07:00
Peter Marko
db3621b983 orc: set CVE_PRODUCT
There are new CVEs reported for this recipe which are not for this
componene, but for a component with same name from apache.

sqlite> select vendor, product, id, count(*) from products where product like 'orc' group by vendor, product, id;
apache|orc|CVE-2018-8015|1
apache|orc|CVE-2025-47436|4
gstreamer|orc|CVE-2024-40897|1

(From OE-Core rev: c31dec7b32fe34fafd61dd593a2884eee13084fb)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-30 07:47:48 -07:00
Yash Shinde
47c3b0bc3f binutils: Fix CVE-2025-7546
Report corrupted group section instead of trying to recover.

CVE: CVE-2025-7546
Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=41461010eb7c79fee7a9d5f6209accdaac66cc6b]
PR  33050 [https://sourceware.org/bugzilla/show_bug.cgi?id=33050]

(From OE-Core rev: 5860b954681c37ac6685631cce439fd349093689)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-30 07:47:48 -07:00
Richard Purdie
5a3578faec bitbake: test/fetch: Switch u-boot based test to use our own mirror
The upstream servers are having issues so switch to our own shadow copy
of the repo.

(Bitbake rev: 8e2d1f8de055549b2101614d85454fcd1d0f94b2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-30 07:47:48 -07:00
Guocai He
f4219fb3e2 tcf-agent: correct the SRC_URI
The SRC_URI is changed to git://gitlab.eclipse.org/eclipse/tcf/tcf.agent.git

(From OE-Core rev: d9f424921179a52ffe053411c44f20e44e7deba1)

Signed-off-by: Guocai He <guocai.he.cn@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Ross Burton
0a3f902542 oeqa/core/decorator: add decorators to skip based on HOST_ARCH
There are already decorators to skip on the value of MACHINE, but for
flexibility it's better to skip based on the target architecture. This
means, for example, the ISO image tests could skip if the architecture
isn't x86.

(From OE-Core rev: a8381f4b7d7c294d9ad8a9d3f0b1f7c409753716)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 0c21ff0a92906b6b4820eb8beddf8762fe70653d)
Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Deepesh Varatharajan
9b3bd34826 bintuils: stable 2.38 branch update
Below commit on binutils-2.38 stable branch are updated.

9bee8d65d32 x86: Check MODRM for call and jmp in binutils older than 2.45

                                 Before  After  Diff
No. of expected passes            280     280    0
No. of unexpected failures        2       2      0
No. of untested testcases         1       1      0
No. of unsupported tests          7       7      0

Testing was done and there were no regressions found

(From OE-Core rev: 7ac807166dfb6723f4e0b53c21f434e21d25563e)

Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Praveen Kumar
4d3871178a sudo: upgrade 1.9.15p5 -> 1.9.17p1
Changelog:
===========
* Fixed CVE-2025-32462.  Sudo's -h (--host) option could be specified
   when running a command or editing a file.  This could enable a
   local privilege escalation attack if the sudoers file allows the
   user to run commands on a different host.

* Fixed CVE-2025-32463.  An attacker can leverage sudo's -R
  (--chroot) option to run arbitrary commands as root, even if
  they are not listed in the sudoers file.  The chroot support has
  been deprecated an will be removed entirely in a future release.

License-Update: Copyright updated to 2025

0001-sudo.conf.in-fix-conflict-with-multilib.patch refreshed for 1.9.17

(From OE-Core rev: f8343726bca7f884213436cda3f51684c22ad3f1)

Signed-off-by: Praveen Kumar <praveen.kumar@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Chen Qi
ad1a2c9947 sudo: upgrade from 1.9.15p2 to 1.9.15p5
(From OE-Core rev: 4b2eccc0ee3f2906f9b04de194b9df6e24c2cdf4)

(From OE-Core rev: 9a604a05d4a8158742a2346fc7ebc3c99e58eeb7)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 468633036c)

Signed-off-by: Praveen Kumar <praveen.kumar@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Archana Polampalli
de4b007ac0 gdk-pixbuf: fix CVE-2025-7345
A flaw exists in gdk‑pixbuf within the gdk_pixbuf__jpeg_image_load_increment function
(io-jpeg.c) and in glib’s g_base64_encode_step (glib/gbase64.c). When processing
maliciously crafted JPEG images, a heap buffer overflow can occur during Base64 encoding,
allowing out-of-bounds reads from heap memory, potentially causing application crashes or
arbitrary code execution.

(From OE-Core rev: 1803f965e4990be3fbdcd52544f0080e9c83800d)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Peter Marko
86182e972c iputils: patch CVE-2025-48964
Pick commit referencing this CVE.

(From OE-Core rev: 49ccf7b56a0598f84dcac2532c462aa2c285f66c)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Peter Marko
e8aec82955 ghostscript: ignore CVE-2025-46646
The code patched by [1] which fixes this CVE is not available in 9.55.0.
Also Debian says in [2] that even 10.0.0 is not yet affected.

[1] https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/commit/?id=f14ea81e6c3d2f51593f23cdf13c4679a18f1a3f
[2] https://security-tracker.debian.org/tracker/CVE-2025-46646

(From OE-Core rev: a3e02ed74db2c234b7c3718b4d6b5332468de226)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Archana Polampalli
b6acab6e64 ofono: fix CVE-2023-4235
A flaw was found in ofono, an Open Source Telephony on Linux. A stack overflow bug
is triggered within the decode_deliver_report() function during the SMS decoding.
It is assumed that the attack scenario is accessible from a compromised modem,
a malicious base station, or just SMS. There is a bound check for this memcpy
length in decode_submit(), but it was forgotten in decode_deliver_report().

(From OE-Core rev: 3a3519324ec390044ff9f97c0f32027782699124)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Archana Polampalli
d668325fd8 ofono: fix CVE-2023-4232
A flaw was found in ofono, an Open Source Telephony on Linux. A stack overflow bug
is triggered within the decode_status_report() function during the SMS decoding.
It is assumed that the attack scenario is accessible from a compromised modem,
a malicious base station, or just SMS. There is a bound check for this memcpy
length in decode_submit(), but it was forgotten in decode_status_report().

(From OE-Core rev: 02005c81a55930d9f57d44674cdc5eb6171c8c76)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Archana Polampalli
78620e54fd openssl: fix CVE-2024-41996
Validating the order of the public keys in the Diffie-Hellman Key Agreement Protocol,
when an approved safe prime is used, allows remote attackers (from the client side) to
trigger unnecessarily expensive server-side DHE modular-exponentiation calculations.
The client may cause asymmetric resource consumption. The basic attack scenario is that
the client must claim that it can only communicate with DHE, and the server must be
configured to allow DHE and validate the order of the public key.

Reference:
https://github.com/openssl/openssl/pull/25088

(From OE-Core rev: 635fc639a13a6b28cac5c67cff23b7f4477bc41c)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Peter Marko
d3219fb24b openssl: upgrade 3.0.16 -> 3.0.17
Release information:
https://github.com/openssl/openssl/blob/openssl-3.0/NEWS.md#major-changes-between-openssl-3016-and-openssl-3017-1-jul-2025

(From OE-Core rev: 678f4f98f145c887a220b846babc9648ea6ff974)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Peter Marko
843820d9e4 python3: update CVE product
There are two "new" CVEs reported for python3, their CPEs are:
* CVE-2020-1171: cpe:2.3🅰️microsoft:python:*:*:*:*:*:visual_studio_code:*:* (< 2020.5.0)
* CVE-2020-1192: cpe:2.3🅰️microsoft:python:*:*:*:*:*:visual_studio_code:*:* (< 2020.5.0)
These are for "Visual Studio Code Python extension".

Solve this by addding CVE vendor to python CVE product to avoid
confusion with Microsoft as vendor.

Examining CVE DB for historical python entries shows:
sqlite> select vendor, product, count(*) from products where product = 'python' or product = 'cpython'
   ...> or product like 'python%3' group by vendor, product;
microsoft|python|2
python|python|1054
python_software_foundation|python|2

(From OE-Core rev: 06f615e6939a22bc8f12b30d8dea582ab3ccebe6)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Hitendra Prajapati
c0623fde1f libxml2: fix CVE-2025-49794 & CVE-2025-49796
Upstream-Status: Backport from 71e1e8af5e

(From OE-Core rev: 691b74a5d019752428adc81b114fb4458ece1ebe)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Chen Qi
7def40e0b1 coreutils: fix CVE-2025-5278
Backport patch to fix CVE-2025-5278.
The patch is adjusted to fit 9.0 version. And the test case is
also adjusted to avoid using valgrind. valgrind in kirkstone is
reporting errors for coreutils' sort utility with/without this patch.
To avoid ptest failure, we disable valgrind explicitly.

(From OE-Core rev: bb7dbb195b55d9aaa0180906843f5af2dcf7509f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Steve Sakoman
be98aa95ad Revert "coreutils: fix CVE-2025-5278"
Failing ptest with valgrind on target

This reverts commit 4e55668ef07d99d8c1141c2f4270f43f5b280159.

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-18 08:32:26 -07:00
Enrico Jörns
4ee43d7d68 conf.py: improve SearchEnglish to handle terms with dots
While search queries already handled words with hyphens correctly, they
did not do so for words with dots.

To fix this, we

- enhance the word tokenizer to treat both dots ('.') and hyphens ('-')
  as valid characters within words.
  (For robustness, explicitly exclude dots/hyphens at the start or end
  of a word from indexing.)
- adjust query processing to avoid splitting on dots in search input

This allows search queries to correctly match terms such as
'local.conf', 'site.conf', and similar ones now.

Fixes: [YOCTO #14534]

(From yocto-docs rev: 02cc810c17e37563a206629d703dc21fc4280cbf)

Signed-off-by: Enrico Jörns <ejo@pengutronix.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 80084a4cabdf7f61c7e93eda8ddbd5bc7d54e041)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-14 08:37:40 -07:00
Antonin Godard
cb43809aa3 overview-manual/concepts.rst: fix sayhello hardcoded bindir
Replace the hardcoded /usr/bin by ${bindir}, as it should be.

Reported-by: Thomas Perrot <thomas.perrot@bootlin.com>
(From yocto-docs rev: 574aff4830ba20ee4471e15656ca5de22a743c37)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 576677eae6960dbc2d2ececeba0fde5bba7bb69f)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-14 08:37:40 -07:00
Lee Chee Yang
e4547e0671 migration-guides: add release notes for 4.0.28
(From yocto-docs rev: 38c07a373c05e35ec98180c3e0958e41512902a2)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 6959193fddb039c34384fcc391195fdd7fd3dbb8)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-14 08:37:40 -07:00
Bruce Ashfield
9f2ecf7157 linux-yocto/5.15: update to v5.15.186
Updating linux-yocto/5.15 to the latest korg -stable release that comprises
the following commits:

    3dea0e7f549e Linux 5.15.186
    e3ff9f86cdb7 scsi: qedf: Use designated initializer for struct qed_fcoe_cb_ops
    8e31c6cc3cba scsi: elx: efct: Fix memory leak in efct_hw_parse_filter()
    92750bfe7b0d arm64/ptrace: Fix stack-out-of-bounds read in regs_get_kernel_stack_nth()
    a9f6aab7910a perf: Fix sample vs do_exit()
    4be8065eace7 s390/pci: Fix __pcilg_mio_inuser() inline assembly
    6d7fcd8a7a42 bpf: Fix L4 csum update on IPv6 in CHECKSUM_COMPLETE
    f02c9c448e50 net: Fix checksum update for ILA adj-transport
    ecbea1a5fec5 ext4: avoid remount errors with 'abort' mount option
    1578f57a3fc3 ext4: make 'abort' mount option handling standard
    ef5706bed97e mm/huge_memory: fix dereferencing invalid pmd migration entry
    956b5aebb349 net_sched: sch_sfq: reject invalid perturb period
    6c589aa31802 net_sched: sch_sfq: move the limit validation
    6b96d7a9e8e7 net_sched: sch_sfq: use a temporary work area for validating configuration
    1b562b7f9231 net_sched: sch_sfq: don't allow 1 packet limit
    548cf048b426 net_sched: sch_sfq: handle bigger packets
    8a1eca898580 net_sched: sch_sfq: annotate data-races around q->perturb_period
    98236b25d03f arm64: proton-pack: Add new CPUs 'k' values for branch mitigation
    df53d4187092 arm64: bpf: Only mitigate cBPF programs loaded by unprivileged users
    993f63239c21 arm64: bpf: Add BHB mitigation to the epilogue for cBPF programs
    d759395f25ca arm64: spectre: increase parameters that can be used to turn off bhb mitigation individually
    fc061c32e327 arm64: proton-pack: Expose whether the branchy loop k value
    005f3b7bd378 arm64: proton-pack: Expose whether the platform is mitigated by firmware
    3af65d4123fe arm64: insn: Add support for encoding DSB
    803228bb5ad9 arm64: insn: add encoders for atomic operations
    0fc6db6d17bb arm64: move AARCH64_BREAK_FAULT into insn-def.h
    cebd765ba328 Revert "cpufreq: tegra186: Share policy per cluster"
    9051e4373dd1 serial: sh-sci: Increment the runtime usage counter for the earlycon device
    ee195051be2d ARM: dts: am335x-bone-common: Increase MDIO reset deassert delay to 50ms
    1a233520de8c ARM: dts: am335x-bone-common: Increase MDIO reset deassert time
    57a00096a11b ARM: dts: am335x-bone-common: Add GPIO PHY reset on revision C3 board
    ca3829c18c8d net: atm: fix /proc/net/atm/lec handling
    17e156a94e94 net: atm: add lec_mutex
    dc724bd34d56 calipso: Fix null-ptr-deref in calipso_req_{set,del}attr().
    8595350615f9 tipc: fix null-ptr-deref when acquiring remote ip of ethernet bearer
    d54e0c077b7c tcp: fix tcp_packet_delayed() for tcp_is_non_sack_preventing_reopen() behavior
    1b0ad1870491 atm: atmtcp: Free invalid length skb in atmtcp_c_send().
    d8cd847fb862 mpls: Use rcu_dereference_rtnl() in mpls_route_input_rcu().
    527fad1ae32f wifi: carl9170: do not ping device which has failed to load firmware
    5adc79cfdd21 ptp: fix breakage after ptp_vclock_in_use() rework
    b52215848977 net: ice: Perform accurate aRFS flow match
    ef0b5bbbed7f aoe: clean device rq_list in aoedev_downdev()
    f90220fc4a5f pldmfw: Select CRC32 when PLDMFW is selected
    ef3f3face5d0 hwmon: (occ) fix unaligned accesses
    a5537ce4a98a hwmon: (occ) Rework attribute registration for stack usage
    6e757e3c5728 hwmon: (occ) Add soft minimum power cap attribute
    f4999111956a drm/nouveau/bl: increase buffer size to avoid truncate warning
    3fc1401476cb drm/msm/dsi/dsi_phy_10nm: Fix missing initial VCO rate
    760e9efae70f erofs: remove unused trace event erofs_destroy_inode
    a3d864c901a3 mm/hugetlb: fix huge_pmd_unshare() vs GUP-fast race
    8410996eb6fe mm: hugetlb: independent PMD page table shared count
    366298f2b04d mm/hugetlb: unshare page tables during VMA split, not before
    37d49f91e523 iio: accel: fxls8962af: Fix temperature calculation
    8f5fcf574eed ALSA: hda/realtek: enable headset mic on Latitude 5420 Rugged
    639b31e38853 ALSA: hda/intel: Add Thinkpad E15 to PM deny list
    a8aec0d35e93 ALSA: usb-audio: Rename ALSA kcontrol PCM and PCM1 for the KTMicro sound card
    a4a4abc818de Input: sparcspkr - avoid unannotated fall-through
    add2a8e193f3 block: default BLOCK_LEGACY_AUTOLOAD to y
    1df80d748f98 HID: usbhid: Eliminate recurrent out-of-bounds bug in usbhid_parse()
    287b4f085d2c atm: Revert atm_account_tx() if copy_from_iter_full() fails.
    6500f360a435 selinux: fix selinux_xfrm_alloc_user() to set correct ctx_len
    06780dbaa929 selftests/x86: Add a test to detect infinite SIGTRAP handler loop
    9d83ca27a634 udmabuf: use sgtable-based scatterlist wrappers
    3f6e9a24abeb scsi: s390: zfcp: Ensure synchronous unit_add
    f65f2291e795 scsi: storvsc: Increase the timeouts to storvsc_timeout
    f41c62532877 jffs2: check jffs2_prealloc_raw_node_refs() result in few other places
    4adee34098a6 jffs2: check that raw node were preallocated before writing summary
    58f664614f8c drivers/rapidio/rio_cm.c: prevent possible heap overwrite
    a41f447cb27a Revert "x86/bugs: Make spectre user default depend on MITIGATION_SPECTRE_V2" on v6.6 and older
    96baba48722b powerpc/eeh: Fix missing PE bridge reconfiguration during VFIO EEH recovery
    25375f0d0b6c platform/x86: dell_rbu: Stop overwriting data buffer
    07d7b8e7ef7d platform/x86: dell_rbu: Fix list usage
    b90dd5b12152 Revert "bus: ti-sysc: Probe for l4_wkup and l4_cfg interconnect devices first"
    dd89a7e18c9c tee: Prevent size calculation wraparound on 32-bit kernels
    a5cc6ccac4d9 ARM: OMAP2+: Fix l4ls clk domain handling in STANDBY
    73f3d6261ac4 bus: fsl-mc: increase MC_CMD_COMPLETION_TIMEOUT_MS value
    04584bba3249 watchdog: da9052_wdt: respect TWDMIN
    5e615cecf32e octeontx2-pf: Add error log forcn10k_map_unmap_rq_policer()
    5badeca146b2 bpf, sockmap: Fix data lost during EAGAIN retries
    fecb2fc3fc10 i40e: fix MMIO write access to an invalid page in i40e_clear_hw
    cafc3c567e4e sock: Correct error checking condition for (assign|release)_proto_idx()
    d34f2384d6df scsi: lpfc: Use memcpy() for BIOS version
    eb295874a43c pinctrl: mcp23s08: Reset all pins to input at probe
    56ce76e8d406 software node: Correct a OOB check in software_node_get_reference_args()
    9d9513b44446 vxlan: Do not treat dst cache initialization errors as fatal
    410a033bfa8c net: bridge: mcast: re-implement br_multicast_{enable, disable}_port functions
    c9bfb30b75c3 iommu/amd: Ensure GA log notifier callbacks finish running before module unload
    7cf3c7bd83ee scsi: lpfc: Fix lpfc_check_sli_ndlp() handling for GEN_REQUEST64 commands
    2fc2e9e865cc libbpf: Add identical pointer detection to btf_dedup_is_equiv()
    59bbff4eedff clk: rockchip: rk3036: mark ddrphy as critical
    d7ef254e7207 wifi: mac80211: do not offer a mesh path if forwarding is disabled
    0d4a81c341eb net: mlx4: add SOF_TIMESTAMPING_TX_SOFTWARE flag when getting ts info
    4bcc11448b16 pinctrl: armada-37xx: propagate error from armada_37xx_gpio_get()
    c871d2b85c57 pinctrl: armada-37xx: propagate error from armada_37xx_pmx_gpio_set_direction()
    0245c91f4fdc pinctrl: armada-37xx: propagate error from armada_37xx_gpio_get_direction()
    017035aaff2b pinctrl: armada-37xx: propagate error from armada_37xx_pmx_set_by_name()
    fbab07112a9e net: atlantic: generate software timestamp just before the doorbell
    c1ee5f16757a ipv4/route: Use this_cpu_inc() for stats on PREEMPT_RT
    97033659fc83 tcp: fix initial tp->rcvq_space.space value for passive TS enabled flows
    a7d4705f60b6 tcp: always seek for minimal rtt in tcp_rcv_rtt_update()
    8ce9d65726d5 net: dlink: add synchronization for stats update
    ef1b88325c74 i2c: npcm: Add clock toggle recovery
    b08e4cebc034 cpufreq: scmi: Skip SCMI devices that aren't used by the CPUs
    c0952a626fd9 sctp: Do not wake readers in __sctp_write_space()
    70da1f7eb88a wifi: mt76: mt76x2: Add support for LiteOn WN4516R,WN4519R
    add1804ea2e0 emulex/benet: correct command version selection in be_cmd_get_stats()
    b0e79c9cc207 i2c: designware: Invoke runtime suspend on quick slave re-registration
    d99e45521ebb tipc: use kfree_sensitive() for aead cleanup
    722e716966c2 net: macb: Check return value of dma_set_mask_and_coherent()
    1cf0a6f43399 cpufreq: Force sync policy boost with global boost on sysfs update
    ca41c10be569 thermal/drivers/qcom/tsens: Update conditions to strictly evaluate for IP v2+
    9a317e436265 pmdomain: ti: Fix STANDBY handling of PER power domain
    794b0efb20a8 nios2: force update_mmu_cache on spurious tlb-permission--related pagefaults
    febbe1ce4c77 media: i2c: imx334: update mode_3840x2160_regs array
    bb97dfab7615 media: platform: exynos4-is: Add hardware sync wait to fimc_is_hw_change_mode()
    7a209e4b6b2a media: tc358743: ignore video while HPD is low
    ba5026e805cb drm/amdkfd: Set SDMA_RLCx_IB_CNTL/SWITCH_INSIDE_IB
    0a51b85b9960 drm/msm/dpu: don't select single flush for active CTL blocks
    4a8cb9908b51 jfs: Fix null-ptr-deref in jfs_ioc_trim
    258c755b28f6 drm/amdgpu/gfx9: fix CSIB handling
    7715a25c8930 drm/amdgpu/gfx8: fix CSIB handling
    603c8dd458da ext4: prevent stale extent cache entries caused by concurrent get es_cache
    05aba2d316db sunrpc: fix race in cache cleanup causing stale nextcheck time
    979408dbd76f media: rkvdec: Initialize the m2m context before the controls
    f29503cd7a1e media: ti: cal: Fix wrong goto on error path
    44618bee303b jfs: fix array-index-out-of-bounds read in add_missing_indices
    e3bb0c5a3071 ext4: ext4: unify EXT4_EX_NOCACHE|NOFAIL flags in ext4_ext_remove_space()
    5179d4cf092e drm/amdgpu/gfx7: fix CSIB handling
    9cb5da9c83a8 media: uapi: v4l: Change V4L2_TYPE_IS_CAPTURE condition
    dc2aa8079d78 media: ccs-pll: Better validate VT PLL branch
    b6fa8b7b8a64 drm/amdgpu/gfx10: fix CSIB handling
    1db83a0b4f1f media: i2c: imx334: Fix runtime PM handling in remove function
    498e95513b5b drm/msm/a6xx: Increase HFI response timeout
    6a4d3708dec4 drm/amd/display: Add NULL pointer checks in dm_force_atomic_commit()
    bc487c490b75 media: uapi: v4l: Fix V4L2_TYPE_IS_OUTPUT condition
    b905b9926ee1 drm/msm/hdmi: add runtime PM calls to DDC transfer function
    fce2d5e2b3ce media: i2c: imx334: Enable runtime PM before sub-device registration
    bcc8724b34c5 drm/bridge: anx7625: change the gpiod_set_value API
    66e84439ec2a exfat: fix double free in delayed_free
    3742e777735a drm/bridge: analogix_dp: Add irq flag IRQF_NO_AUTOEN instead of calling disable_irq()
    fbee3fe40ca2 sunrpc: update nextcheck time when adding new cache entries
    767e4d5300ea drm/amdgpu/gfx6: fix CSIB handling
    767af6fc3787 ACPI: battery: negate current when discharging
    abd7d5fb3394 PM: runtime: fix denying of auto suspend in pm_suspend_timer_fn()
    82608027b6e7 ASoC: tegra210_ahub: Add check to of_device_get_match_data()
    64cc1a4a4440 ACPICA: utilities: Fix overflow check in vsnprintf()
    6336d96ae88f power: supply: bq27xxx: Retrieve again when busy
    960236150cd3 ACPICA: fix acpi parse and parseext cache leaks
    49047b184f2b ACPI: bus: Bail out if acpi_kobj registration fails
    15fa571eedf1 ASoC: tas2770: Power cycle amp on ISENSE/VSENSE change
    6448774d5889 ACPICA: Avoid sequence overread in call to strncmp()
    106a648780bf clocksource: Fix the CPUs' choice in the watchdog per CPU verification
    5a68893b594e ACPICA: fix acpi operand cache leak in dswstate.c
    bf68c0f4c75f iio: adc: ad7606_spi: fix reg write value mask
    4b2fac04ed6f iio: imu: inv_icm42600: Fix temperature calculation
    e401d55901a8 iio: accel: fxls8962af: Fix temperature scan element sign
    fe551adf4bd3 PCI: dw-rockchip: Fix PHY function call sequence in rockchip_pcie_phy_deinit()
    ff1283be679c PCI: Fix lock symmetry in pci_slot_unlock()
    a040e7effbb6 PCI: Add ACS quirk for Loongson PCIe
    2fd7537ffd9c PCI: cadence-ep: Correct PBA offset in .set_msix() callback
    8ec133fb054a uio_hv_generic: Use correct size for interrupt and monitor pages
    3562c09feeb8 remoteproc: core: Release rproc->clean_table after rproc_attach() fails
    c56d6ef2711e remoteproc: core: Cleanup acquired resources when rproc_handle_resources() fails in rproc_attach()
    fbf3da023bd2 regulator: max14577: Add error check for max14577_read_reg()
    5155f04287e5 mips: Add -std= flag specified in KBUILD_CFLAGS to vdso CFLAGS
    2ec9fda98d1a staging: iio: ad5933: Correct settling cycles encoding per datasheet
    9da3e442714f net: ch9200: fix uninitialised access during mii_nway_restart
    6805582abb72 ftrace: Fix UAF when lookup kallsym after ftrace disabled
    445e7055a68d dm-mirror: fix a tiny race condition
    ee3639385312 mtd: nand: sunxi: Add randomizer configuration before randomizer enable
    45413b242513 mtd: rawnand: sunxi: Add randomizer configuration in sunxi_nfc_hw_ecc_write_chunk
    6fe586c14d8f mm: fix ratelimit_pages update error in dirty_ratio_handler()
    3b4a50d733ac RDMA/iwcm: Fix use-after-free of work objects after cm_id destruction
    74bc813d11c3 ipc: fix to protect IPCS lookups using RCU
    b0dba0c78323 clk: meson-g12a: add missing fclk_div2 to spicc
    1fd94aa3fff0 parisc: fix building with gcc-15
    bf9c07864765 vgacon: Add check for vc_origin address range in vgacon_scroll()
    1a10d91766eb fbdev: Fix fb_set_var to prevent null-ptr-deref in fb_videomode_to_var
    1ee9bab20949 EDAC/altera: Use correct write width with the INTTEST register
    ac6992f72bd8 NFC: nci: uart: Set tty->disc_data only in success path
    38ef48a8afef f2fs: fix to do sanity check on sit_bitmap_size
    fbfe8446cd32 f2fs: prevent kernel warning due to negative i_nlink from corrupted image
    e5a2481dc2a0 Input: ims-pcu - check record size in ims_pcu_flash_firmware()
    a597a609bfd4 ext4: ensure i_size is smaller than maxbytes
    9004a1cc5cfc ext4: factor out ext4_get_maxbytes()
    c6187eb191a2 ext4: fix calculation of credits for extent tree modification
    9d1d1c5bf4fc ext4: inline: fix len overflow in ext4_prepare_inline_data
    01cf92dfced5 bus: fsl-mc: fix GET/SET_TAILDROP command ids
    0997566153bd bus: fsl-mc: do not add a device-link for the UAPI used DPMCP device
    7fc89c218fc9 ata: pata_via: Force PIO for ATAPI devices on VT6415/VT6330
    312c121beb9c can: tcan4x5x: fix power regulator retrieval during probe
    516fdd430171 bus: mhi: host: Fix conflict between power_up and SYSERR
    0e8878685902 ARM: omap: pmic-cpcap: do not mess around without CPCAP or OMAP4
    22441bf144ad ARM: 9447/1: arm/memremap: fix arch_memremap_can_ram_remap()
    b592691f650c media: uvcvideo: Fix deferred probing error
    739359516f96 media: uvcvideo: Send control events for partial succeeds
    e1019ff183fb media: uvcvideo: Return the number of processed controls
    89b5ab822bf6 media: vivid: Change the siize of the composing
    7e62be1f3b24 media: vidtv: Terminating the subsequent process of initialization failure
    230c37b5948d media: videobuf2: use sgtable-based scatterlist wrappers
    42f3fdd39fbd media: venus: Fix probe error handling
    8b451a9a46f2 media: v4l2-dev: fix error handling in __video_register_device()
    a4c47df59539 media: gspca: Add error handling for stv06xx_read_sensor()
    41807a5f6742 media: cxusb: no longer judge rbuf when the write fails
    6f79b25ddfe9 media: ccs-pll: Check for too high VT PLL multiplier in dual PLL case
    0220fe256b44 media: ccs-pll: Correct the upper limit of maximum op_pre_pll_clk_div
    64f7f8c362ab media: ccs-pll: Start OP pre-PLL multiplier search from correct value
    fe52765d1c90 media: ccs-pll: Start VT pre-PLL multiplier search from correct value
    7fce1722991d media: ov8856: suppress probe deferral errors
    55fed78e52fe wifi: rtlwifi: disable ASPM for RTL8723BE with subsystem ID 11ad:1723
    43d5e3bb5f1d jbd2: fix data-race and null-ptr-deref in jbd2_journal_dirty_metadata()
    0fccf5f01ed2 nfsd: Initialize ssc before laundromat_work to prevent NULL dereference
    425efc6b3292 nfsd: nfsd4_spo_must_allow() must check this is a v4 compound request
    1f7f8168abe8 wifi: p54: prevent buffer-overflow in p54_rx_eeprom_readback()
    8d5510e94dab net/mlx5: Add error handling in mlx5_query_nic_vport_node_guid()
    ea4b1cb6561e net/mlx5_core: Add error handling inmlx5_query_nic_vport_qkey_viol_cntr()
    b0e86598e073 powerpc/pseries/msi: Avoid reading PCI device registers in reduced power states
    2023dea8dd9b ASoC: meson: meson-card-utils: use of_property_present() for DT parsing
    190dcc1e3f6b ASoC: qcom: sdm845: Add error handling in sdm845_slim_snd_hw_params()
    5a16ebe0050e gfs2: move msleep to sleepable context
    e4da95e1246f crypto: marvell/cesa - Do not chain submitted requests
    8cb51a55b26e configfs: Do not override creating attribute file failure in populate_attrs()
    4ad892bdacb6 xfs: allow inode inactivation during a ro mount log recovery
    7eac413a3ea3 kbuild: hdrcheck: fix cross build with clang
    1b8763684529 kbuild: userprogs: fix bitsize and target detection on clang
    117ea3f4e59c drm/meson: Use 1000ULL when operating with mode->clock
    56e5419b5f5c net: usb: aqc111: debug info before sanitation
    3f77ba79a36d calipso: unlock rcu before returning -EAFNOSUPPORT
    2dace5e016c9 x86/iopl: Cure TIF_IO_BITMAP inconsistencies
    2a04a591170f xen/arm: call uaccess_ttbr0_enable for dm_op hypercall
    e67c0dac405a usb: typec: tcpm/tcpci_maxim: Fix bounds check in process_rx()
    8bc30532b978 usb: Flush altsetting 0 endpoints before reinitializating them after reset.
    f78b3fdd2c7f usb: cdnsp: Fix issue with detecting USB 3.2 speed
    8c65ca53c2e6 usb: cdnsp: Fix issue with detecting command completion event
    b4209e4b778e VMCI: fix race between vmci_host_setup_notify and vmci_ctx_unset_notify
    6d929bef6bda usb: usbtmc: Fix read_stb function and get_stb ioctl
    4751118c3ed8 drm/amd/display: Do not add '-mhard-float' to dcn2{1,0}_resource.o for clang
    510ce6a1393c kbuild: Add KBUILD_CPPFLAGS to as-option invocation
    0690824cc325 kbuild: add $(CLANG_FLAGS) to KBUILD_CPPFLAGS
    f85d6a08cc9f kbuild: Add CLANG_FLAGS to as-instr
    d36719f29376 mips: Include KBUILD_CPPFLAGS in CHECKFLAGS invocation
    d08146795689 drm/amd/display: Do not add '-mhard-float' to dml_ccflags for clang
    cefb372db498 kbuild: Update assembler calls to use proper flags and language target
    3b68784d1439 MIPS: Prefer cc-option for additions to cflags
    3ef47d2b7a41 MIPS: Move '-Wa,-msoft-float' check from as-option to cc-option
    aaf384815bc1 x86/boot/compressed: prefer cc-option for CFLAGS additions
    2f3daa04a932 posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del()
    c8c4f0c2684a ALSA: usb-audio: Add implicit feedback quirk for RODE AI-1
    4a07125cc40d perf: Ensure bpf_perf_link path is properly serialized
    929d62e86f0c nvmet-fcloop: access fcpreq only when holding reqlock
    64007aab1cf6 fs/filesystems: Fix potential unsigned integer underflow in fs_name()
    0b479d0aa488 net_sched: ets: fix a race in ets_qdisc_change()
    52247723c300 sch_ets: make est_qlen_notify() idempotent
    852d27f773a7 net_sched: tbf: fix a race in tbf_change()
    110a47efcf23 net_sched: red: fix a race in __red_change()
    20f68e6a9e41 net_sched: prio: fix a race in prio_tune()
    dc84c55f121d net/mlx5: Fix return value when searching for existing flow group
    7ec31c2003f9 net/mlx5: Ensure fw pages are always allocated on same NUMA
    014ad9210373 net/mdiobus: Fix potential out-of-bounds read/write access
    694456462ed6 net: mdio: C22 is now optional, EOPNOTSUPP if not provided
    268625b73e4c macsec: MACsec SCI assignment for ES = 0
    6fa68d7eab34 net: Fix TOCTOU issue in sk_is_readable()
    15e46043bc46 i40e: retry VFLR handling if there is ongoing VF reset
    5008c550c634 i40e: return false from i40e_reset_vf if reset is in progress
    597b481ca1ce drm/meson: fix more rounding issues with 59.94Hz modes
    bd27ff504e4d drm/meson: use vclk_freq instead of pixel_freq in debug print
    f5d21eae4d7c drm/meson: fix debug log statement when setting the HDMI clocks
    363e63997798 drm/meson: use unsigned long long / Hz for frequency types
    7298df96179b powerpc/vas: Return -EINVAL if the offset is non-zero in mmap()
    81260c41b518 powerpc/powernv/memtrace: Fix out of bounds issue in memtrace mmap
    5814a7fc3abb net_sched: sch_sfq: fix a potential crash on gso_skb handling
    75ad1ca646ee scsi: iscsi: Fix incorrect error path labels for flashnode operations
    5c89dc8c3461 ath10k: snoc: fix unbalanced IRQ enable in crash recovery
    5d217e7031a5 ptp: remove ptp->n_vclocks check logic in ptp_vclock_in_use()
    f592eb12b43f scsi: core: ufs: Fix a hang in the error handler
    5f30a81fc188 serial: sh-sci: Clean sci_ports[0] after at earlycon exit
    b7f05abd60f0 serial: sh-sci: Move runtime PM enable to sci_probe_single()
    7857505af578 serial: sh-sci: Check if TX data was written to device in .tx_empty()
    e82d6c45db4f arm64: dts: ti: k3-am65-main: Add missing taps to sdhci0
    c3b4bc986af5 arm64: dts: ti: k3-am65-main: Fix sdhci node properties
    29f0cd61d6b5 arm64: dts: ti: k3-am65-main: Drop deprecated ti,otap-del-sel property
    f3c2b179b413 Input: synaptics-rmi - fix crash with unsupported versions of F34
    17e5ca8ef81c Input: synaptics-rmi4 - convert to use sysfs_emit() APIs
    ef0c767a559b pmdomain: core: Fix error checking in genpd_dev_pm_attach_by_id()
    432a171d6005 do_change_type(): refuse to operate on unmounted/not ours mounts
    eb34dc108e3e fix propagation graph breakage by MOVE_MOUNT_SET_GROUP move_mount(2)
    668923c47460 seg6: Fix validation of nexthop addresses
    18e65229a328 wireguard: device: enable threaded NAPI
    b5ad58285f92 netfilter: nf_set_pipapo_avx2: fix initial map fill
    ae98a1787fdc gve: add missing NULL check for gve_alloc_pending_packet() in TX DQO
    277006dd681e PM: sleep: Fix power.is_suspended cleanup for direct-complete devices
    61f418cd4ea5 vmxnet3: correctly report gso type for UDP tunnels
    6ef8dfb1b68f net: dsa: tag_brcm: legacy: fix pskb_may_pull length
    d94c6f53b0a7 ice: create new Tx scheduler nodes for new queues only
    96bc5ce57b16 Bluetooth: L2CAP: Fix not responding with L2CAP_CR_LE_ENCRYPTION
    02f56169e6eb spi: bcm63xx-hsspi: fix shared reset
    bb9c9e989a80 spi: bcm63xx-spi: fix shared reset
    417e17c44f3d net/mlx4_en: Prevent potential integer overflow calculating Hz
    605f09ae583e driver: net: ethernet: mtk_star_emac: fix suspend/resume issue
    e0b11227c4e8 net: tipc: fix refcount warning in tipc_aead_encrypt
    54e7ce239d69 gve: Fix RX_BUFFERS_POSTED stat to report per-queue fill_cnt
    28dd08343cc5 net: stmmac: platform: guarantee uniqueness of bus_id
    dae5b8818593 vt: remove VT_RESIZE and VT_RESIZEX from vt_compat_ioctl()
    38c5712df50d MIPS: Loongson64: Add missing '#interrupt-cells' for loongson64c_ls7a
    2659abc74cb3 iio: adc: ad7124: Fix 3dB filter frequency reading
    19fd9f5a6936 serial: Fix potential null-ptr-deref in mlb_usio_probe()
    0a1e16a6cbf4 usb: renesas_usbhs: Reorder clock handling and power management in probe
    6c1344a5bb1c PCI/DPC: Initialize aer_err_info before using it
    9f133e04c622 dmaengine: ti: Add NULL check in udma_probe()
    3e7061f62bd7 PCI: cadence: Fix runtime atomic count underflow
    19f0d83e1450 rtc: sh: assign correct interrupts with DT
    92270f14a8c1 nfs: ignore SB_RDONLY when remounting nfs
    3293cc462518 nfs: clear SB_RDONLY before getting superblock
    477c4882e53e perf record: Fix incorrect --user-regs comments
    00b96ed79bce perf tests switch-tracking: Fix timestamp comparison
    f93ea1e5e185 mfd: stmpe-spi: Correct the name used in MODULE_DEVICE_TABLE
    f79f8d8dda3a mfd: exynos-lpass: Avoid calling exynos_lpass_disable() twice in exynos_lpass_remove()
    e009779acc04 rpmsg: qcom_smd: Fix uninitialized return variable in __qcom_smd_send()
    e8461ec67a36 remoteproc: qcom_wcnss_iris: Add missing put_device() on error in probe
    8d39a6fd9843 perf scripts python: exported-sql-viewer.py: Fix pattern matching with Python 3
    9d06ac32c202 backlight: pm8941: Add NULL check in wled_configure()
    07a4014cc66b perf ui browser hists: Set actions->thread before calling do_zoom_thread()
    c6dbaf7e31cb perf build: Warn when libdebuginfod devel files are not available
    2d63433e8eaa fbdev: core: fbcvt: avoid division by 0 in fb_cvt_hperiod()
    1fd889c14572 soc: aspeed: Add NULL check in aspeed_lpc_enable_snoop()
    0fab016dc4aa soc: aspeed: lpc: Fix impossible judgment condition
    3a2249e91547 arm64: dts: rockchip: disable unrouted USB controllers and PHY on RK3399 Puma with Haikou
    26e868438691 ARM: dts: qcom: apq8064 merge hw splinlock into corresponding syscon device
    7002b954c4a8 bus: fsl-mc: fix double-free on mc_dev
    1ce784ddfb31 nilfs2: do not propagate ENOENT error from nilfs_btree_propagate()
    c155d46ff02c nilfs2: add pointer check for nilfs_direct_propagate()
    1a955db41131 ocfs2: fix possible memory leak in ocfs2_finish_quota_recovery
    5c51aa862cbe Squashfs: check return result of sb_min_blocksize
    ca87e905ff3c arm64: dts: imx8mn-beacon: Fix RTC capacitive load
    485f23661881 arm64: dts: imx8mm-beacon: Fix RTC capacitive load
    d274c1372926 ARM: dts: at91: at91sam9263: fix NAND chip selects
    dac5dfede03f ARM: dts: at91: usb_a9263: fix GPIO for Dataflash chip select
    8636cafb2c67 f2fs: fix to correct check conditions in f2fs_cross_rename
    e61079985c54 f2fs: use d_inode(dentry) cleanup dentry->d_inode
    92dd2d870e7b net: phy: mscc: Stop clearing the the UDPv4 checksum for L2 frames
    ad17eb86d042 net: openvswitch: Fix the dead loop of MPLS parse
    26ce90f1ce60 calipso: Don't call calipso functions for AF_INET sk.
    7d589b470f39 net: lan743x: rename lan743x_reset_phy to lan743x_hw_reset_phy
    e7fb4ebee6e9 bpf: Avoid __bpf_prog_ret0_warn when jit fails
    f398d2dfe450 net: usb: aqc111: fix error handling of usbnet read calls
    42a44e25eee4 netfilter: nft_tunnel: fix geneve_opt dump
    4edb40b05cb6 bpf, sockmap: Avoid using sk_socket after free when sending
    d796723b1481 vfio/type1: Fix error unwind in migration dirty bitmap allocation
    83c1ed5c83ca netfilter: nf_tables: nft_fib_ipv6: fix VRF ipv4/ipv6 result discrepancy
    7ee3fb6258da wifi: ath9k_htc: Abort software beacon handling if disabled
    1ee8ea6937d1 wifi: rtw88: fix the 'para' buffer size to avoid reading out of bounds
    7f9efa13f2af s390/bpf: Store backchain even for leaf progs
    2b901bf2fa23 clk: qcom: gcc-msm8939: Fix mclk0 & mclk1 for 24 MHz
    ee90be48edb3 bpf: Fix WARN() in get_bpf_raw_tp_regs
    2ecafe59668d pinctrl: at91: Fix possible out-of-boundary access
    12cda7fcc4cf libbpf: Use proper errno value in nlattr
    2fef0e86682f ktls, sockmap: Fix missing uncharge operation
    54ce9bcdaee5 clk: bcm: rpi: Add NULL check in raspberrypi_clk_register()
    c22099a64880 clk: qcom: gcc-sm6350: Add *_wait_val values for GDSCs
    9c5268e5d633 bpf: Fix uninitialized values in BPF_{CORE,PROBE}_READ
    f9784da76ad7 RDMA/mlx5: Fix error flow upon firmware failure for RQ destruction
    e9022196bdbe netfilter: nft_quota: match correctly when the quota just depleted
    ba18b0b9272f netfilter: bridge: Move specific fragmented packet to slow_path instead of dropping it
    c6c7e7ab962b libbpf: Use proper errno value in linker
    a6412e93cf4a f2fs: fix to detect gcing page in f2fs_is_cp_guaranteed()
    ce6849b76dad f2fs: clean up w/ fscrypt_is_bounce_page()
    65b935d4e5c4 iommu: Protect against overflow in iommu_pgsize()
    5c3e52ab7887 RDMA/hns: Include hnae3.h in hns_roce_hw_v2.h
    f1ba4e35fb3f wifi: rtw88: do not ignore hardware read error during DPK
    6dfe62db59f3 libbpf: Fix buffer overflow in bpf_object__init_prog
    f4b0ce074bd6 net: ncsi: Fix GCPS 64-bit member variables
    6a324d77f7ea f2fs: fix to do sanity check on sbi->total_valid_block_count
    d6181bd1dfa1 bpf, sockmap: fix duplicated data transmission
    2160dcc38acf IB/cm: use rwlock for MAD agent lock
    f9507cf2dd0e wifi: ath11k: fix node corruption in ar->arvifs list
    e74b9a7269aa firmware: SDEI: Allow sdei initialization without ACPI_APEI_GHES
    809b522315a0 drm/tegra: rgb: Fix the unbound reference count
    afc9153b1e57 drm/vkms: Adjust vkms_state->active_planes allocation type
    58d0e3088812 drm: rcar-du: Fix memory leak in rcar_du_vsps_init()
    39044a10d912 selftests/seccomp: fix syscall_restart test for arm compat
    7287af1ec4d3 firmware: psci: Fix refcount leak in psci_dt_init
    1b6780143d59 m68k: mac: Fix macintosh_config for Mac II
    5390b3d4c6d4 fs/ntfs3: handle hdr_first_de() return value
    892a242ca5b1 media: rkvdec: Fix frame size enumeration
    85cdcb834fb4 drm/amd/pp: Fix potential NULL pointer dereference in atomctrl_initialize_mc_reg_table
    259b74c2b329 spi: sh-msiof: Fix maximum DMA transfer size
    cfc61c34077e ACPI: OSI: Stop advertising support for "3.0 _SCP Extensions"
    92322500c1aa x86/mtrr: Check if fixed-range MTRRs exist in mtrr_save_fixed_ranges()
    3319b48d1ba2 PM: wakeup: Delete space in the end of string shown by pm_show_wakelocks()
    b227c27359a0 power: reset: at91-reset: Optimize at91_reset()
    bf6a8502a5f4 EDAC/skx_common: Fix general protection fault
    03657814c828 crypto: sun8i-ce - move fallback ahash_request to the end of the struct
    02b661940874 crypto: xts - Only add ecb if it is not already there
    200b752c0066 crypto: lrw - Only add ecb if it is not already there
    9bacddcf6886 crypto: marvell/cesa - Avoid empty transfer descriptor
    e1cc69da6195 crypto: marvell/cesa - Handle zero-length skcipher requests
    c798023fa973 x86/cpu: Sanitize CPUID(0x80000000) output
    ada335e8475d crypto: sun8i-ss - do not use sg_dma_len before calling DMA functions
    fb2671376bbf perf/core: Fix broken throttling when max_samples_per_tick=1
    333f2d85b615 gfs2: gfs2_create_inode error handling fix
    2f62eda4d974 thunderbolt: Do not double dequeue a configuration request
    2e74fd21b845 usb: usbtmc: Fix timeout value in get_stb
    547f3e678922 USB: serial: pl2303: add new chip PL2303GC-Q20 and PL2303GT-2AB
    3f1aac91fc36 usb: storage: Ignore UAS driver for SanDisk 3.2 Gen2 storage device
    cfd327ad2e00 usb: quirks: Add NO_LPM quirk for SanDisk Extreme 55AE
    0188c74bf3ac rtc: Fix offset calculation for .start_secs < 0
    c360f8ff1bef rtc: Make rtc_time64_to_tm() support dates before 1970
    6df0e243e757 acpi-cpufreq: Fix nominal_freq units to KHz in get_max_boost_ratio()
    e0a83d422a18 pinctrl: armada-37xx: set GPIO output value before setting direction
    bb9578e9f35f pinctrl: armada-37xx: use correct OUTPUT_VAL register for GPIOs > 31
    ebf6f96c7993 tracing: Fix compilation warning on arm32
    1c700860e8bc Linux 5.15.185
    dcbee1061a46 perf/arm-cmn: Initialise cmn->cpu earlier
    dcb08fd2c6cb platform/x86: thinkpad_acpi: Ignore battery threshold change event notification
    dbc155cf4e70 platform/x86: fujitsu-laptop: Support Lifebook S2110 hotkeys
    961caaf8ad35 tpm: tis: Double the timeout B to 4s
    1706ef825254 nvme-pci: add NVME_QUIRK_NO_DEEPEST_PS quirk for SOLIDIGM P44 Pro
    128b5f020651 spi: spi-sun4i: fix early activation
    4916624695c0 um: let 'make clean' properly clean underlying SUBARCH as well
    13108bf19da5 platform/x86: thinkpad_acpi: Support also NEC Lavie X1475JAS
    49c13288c919 nfs: don't share pNFS DS connections between net namespaces
    5c46ec760d3b HID: quirks: Add ADATA XPG alpha wireless mouse support
    1686594d7285 coredump: hand a pidfd to the usermode coredump helper
    5ff7313a1f45 fork: use pidfd_prepare()
    7f8c3fd203fd pid: add pidfd_prepare()
    b06450fb3e73 coredump: fix error handling for replace_fd()
    2c928b3a0b04 net_sched: hfsc: Address reentrant enqueue adding class to eltree twice
    cc6790f4b085 arm64: dts: qcom: sm8350: Fix typo in pil_camera_mem node
    9fdb86f0bf65 smb: client: Reset all search buffer pointers when releasing buffer
    1b197931fbc8 smb: client: Fix use-after-free in cifs_fill_dirent
    5492aaea844e x86/its: Fix undefined reference to cpu_wants_rethunk_at()
    8f8637b9d26d drm/i915/gvt: fix unterminated-string-initialization warning
    3c2729dfcf30 xen/swiotlb: relax alignment requirements
    34901631e6e3 i3c: master: svc: Fix implicit fallthrough in svc_i3c_master_ibi_work()
    9d678b2976ec kbuild: Disable -Wdefault-const-init-unsafe
    0e0cf836cfe4 spi: spi-fsl-dspi: Reset SR flags before sending a new message
    a3a147ef6d02 spi: spi-fsl-dspi: Halt the module after a new message transfer
    0e989441cfbc spi: spi-fsl-dspi: restrict register range for regmap access
    6fd4a4cb3ca1 Revert "arm64: dts: allwinner: h6: Use RSB for AXP805 PMIC connection"
    c6da28bc4e1f mm/page_alloc.c: avoid infinite retries caused by cpuset race
    5dcdbb69aa3a memcg: always call cond_resched() after fn()
    ff887e77b777 Revert "drm/amd: Keep display off while going into S4"
    26d20ea0f233 drm/edid: fixed the bug that hdr metadata was not reset
    fb7cde625872 platform/x86: dell-wmi-sysman: Avoid buffer overflow in current_password_store()
    0f5d93ee3f8b llc: fix data loss when reading from a socket in llc_ui_recvmsg()
    10217da9644a ALSA: pcm: Fix race of buffer access at PCM OSS layer
    0622846db728 can: bcm: add missing rcu read protection for procfs content
    fbd8fdc2b218 can: bcm: add locking for bcm_op runtime updates
    1a426abdf1c8 padata: do not leak refcount in reorder_work
    c3059d58f79f crypto: algif_hash - fix double free in hash_accept
    24f942d9820b octeontx2-af: Set LMT_ENA bit for APR table entries
    f5c2c4eaaa5a net/tipc: fix slab-use-after-free Read in tipc_aead_encrypt_done
    89c301e929a0 sch_hfsc: Fix qlen accounting bug when using peek in hfsc_enqueue()
    207dabae49b2 net: dwmac-sun8i: Use parsed internal PHY address instead of 1
    ec180b032459 bridge: netfilter: Fix forwarding of fragmented packets
    069cbc318de5 Bluetooth: L2CAP: Fix not checking l2cap_chan security level
    0995986ffd5e xfrm: Sanitize marks before insert
    6a39058059f6 remoteproc: qcom_wcnss: Fix on platforms without fallback regulators
    f6d45fd92f62 __legitimize_mnt(): check for MNT_SYNC_UMOUNT should be under mount_lock
    769dd92ef97e xenbus: Allow PVH dom0 a non-local xenstore
    a876703894a6 btrfs: correct the order of prelim_ref arguments in btrfs__prelim_ref
    fc01b547c3f8 nvmet-tcp: don't restore null sk_state_change
    7bd0049e9699 ALSA: hda/realtek: Add quirk for HP Spectre x360 15-df1xxx
    e3bf273d9ad7 ASoC: Intel: bytcr_rt5640: Add DMI quirk for Acer Aspire SW3-013
    2568cf939a64 pinctrl: meson: define the pull up/down resistor value as 60 kOhm
    64ca70dee2cc ASoC: imx-card: Adjust over allocation of memory in imx_card_parse_of()
    39db9b5a1673 drm: Add valid clones check
    85a8dfc77227 drm/atomic: clarify the rules around drm_atomic_state->allow_modeset
    a0d2f4905b16 wifi: ath9k: return by of_get_mac_address
    8d278ad829c2 regulator: ad5398: Add device tree support
    8ed3d1784774 spi: zynqmp-gqspi: Always acknowledge interrupts
    d2c65c8be7a1 wifi: rtw88: Don't use static local variable in rtw8822b_set_tx_power_index_by_rate
    3b61fb788954 perf/amd/ibs: Fix perf_ibs_op.cnt_mask for CurCnt
    15c799f7f8e1 bpftool: Fix readlink usage in get_fd_type
    164beeabcb1b drm/ast: Find VBIOS mode from regular display size
    d6fd1eee0767 HID: usbkbd: Fix the bit shift number for LED_KANA
    2c6387f545be scsi: st: Restore some drive settings after reset
    7e25573e1ac5 scsi: lpfc: Handle duplicate D_IDs in ndlp search-by D_ID routine
    1f66789ad7de net/mana: fix warning in the writer of client oob
    39ea4ca9d39a rcu: fix header guard for rcu_all_qs()
    b4d9a18fc87f rcu: handle quiescent states for PREEMPT_RCU=n, PREEMPT_COUNT=y
    41097ac64d0d r8169: don't scan PHY addresses > 0
    e033da39fc6a vxlan: Annotate FDB data races
    4d20b4a861af media: qcom: camss: csid: Only add TPG v4l2 ctrl if TPG hardware is available
    eae500bc8dcc hwmon: (xgene-hwmon) use appropriate type for the latency value
    7b99233dda9b clk: qcom: camcc-sm8250: Use clk_rcg2_shared_ops for some RCGs
    3373abfa5d29 wifi: rtw88: Fix download_firmware_validate() for RTL8814AU
    c47f92ee6cfb r8152: add vendor/device ID pair for Dell Alienware AW1022z
    14298c88e2dd ip: fib_rules: Fetch net from fib_rule in fib[46]_rule_configure().
    4d87acf13f28 arch/powerpc/perf: Check the instruction type before creating sample with perf_mem_data_src
    711734c77fe4 wifi: mac80211: remove misplaced drv_mgd_complete_tx() call
    11ab6d6ee7d8 wifi: mac80211: don't unconditionally call drv_mgd_complete_tx()
    e42329d27770 net/mlx5e: reduce rep rxq depth to 256 for ECPF
    a411de3091f6 net/mlx5e: set the tx_queue_len for pfifo_fast
    c74b91453b8c net/mlx5: Extend Ethtool loopback selftest to support non-linear SKB
    99b713f4b7df drm/amd/display: Initial psr_version with correct setting
    cc958022666c drm/amdgpu: reset psp->cmd to NULL after releasing the buffer
    c48f7855988f phy: core: don't require set_mode() callback for phy_get_mode() to work
    c8128c04193b net/mlx4_core: Avoid impossible mlx4_db_alloc() order value
    485dc9ef39f7 media: v4l: Memset argument to 0 before calling get_mbus_config pad op
    b4e81a758035 smack: recognize ipv4 CIPSO w/o categories
    8de1d394e31e pinctrl: devicetree: do not goto err when probing hogs in pinctrl_dt_to_map
    b45a50fc1f4e ASoC: soc-dai: check return value at snd_soc_dai_set_tdm_slot()
    d95e6cf0df39 ASoC: tas2764: Power up/down amp on mute ops
    c1f0a98342d4 ASoC: ops: Enforce platform maximum on initial value
    d5db6ffb03fa net/mlx5: Apply rate-limiting to high temperature warning
    937b9c41cc71 net/mlx5: Modify LSB bitmask in temperature event to include only the first bit
    5611b5f79836 ACPI: HED: Always initialize before evged
    94afbd920a51 PCI: Fix old_size lower bound in calculate_iosize() too
    af8431851b8e eth: mlx4: don't try to complete XDP frames in netpoll
    30064eee8fe7 can: c_can: Use of_property_present() to test existence of DT property
    fc173cada345 RDMA/core: Fix best page size finding when it can cross SG entries
    288813ddcc21 EDAC/ie31200: work around false positive build warning
    128cdb617a87 net: pktgen: fix access outside of user given buffer in pktgen_thread_write()
    b2334244a421 wifi: rtw88: Fix rtw_desc_to_mcsrate() to handle MCS16-31
    211539ee8d46 wifi: rtw88: Fix rtw_init_ht_cap() for RTL8814AU
    94ba815f5110 wifi: rtw88: Fix rtw_init_vht_cap() for RTL8814AU
    f0b5f65aebcc scsi: mpt3sas: Send a diag reset if target reset fails
    85cd3f245c15 clocksource: mips-gic-timer: Enable counter when CPUs start
    51d70446278a MIPS: pm-cps: Use per-CPU variables as per-CPU, not per-core
    6fd978a7117e MIPS: Use arch specific syscall name match function
    9a3f2d08291b x86/kaslr: Reduce KASLR entropy on most x86 systems
    17cf6821b758 libbpf: Fix out-of-bound read
    14790abc8779 cpuidle: menu: Avoid discarding useful information
    2579ca741b84 x86/nmi: Add an emergency handler in nmi_desc & use it in nmi_shootdown_cpus()
    5eb9da3b7d2e drm/amd/display: handle max_downscale_src_width fail check
    eee2fb58449f x86/build: Fix broken copy command in genimage.sh when making isoimage
    db5833217f13 soc: ti: k3-socinfo: Do not use syscon helper to build regmap
    32de1542f467 bonding: report duplicate MAC address in all situations
    5fe40d499f50 net: xgene-v2: remove incorrect ACPI_PTR annotation
    cfc5a07f9330 drm/amdkfd: KFD release_work possible circular locking
    2e04e067d4d6 selftests/net: have `gro.sh -t` return a correct exit code
    2c48a122fa0a net/mlx5: Avoid report two health errors on same syndrome
    97bab02f0b64 firmware: arm_ffa: Set dma_mask for ffa devices
    f5b5945c0bf2 PCI: brcmstb: Add a softdep to MIP MSI-X driver
    ee8274d80151 PCI: brcmstb: Expand inbound window size up to 64GB
    0a9022295477 fpga: altera-cvp: Increase credit timeout
    55883a34d309 drm/mediatek: mtk_dpi: Add checks for reg_h_fre_con existence
    b5c0bd07a48f ARM: at91: pm: fix at91_suspend_finish for ZQ calibration
    e62a64a000ba hwmon: (gpio-fan) Add missing mutex locks
    4fc2d289b3cc x86/bugs: Make spectre user default depend on MITIGATION_SPECTRE_V2
    c953cea9035c clk: imx8mp: inform CCF of maximum frequency of clocks
    1bd5406866d0 media: uvcvideo: Add sanity check to uvc_ioctl_xu_ctrl_map
    e88247716dd7 ipv4: fib: Move fib_valid_key_len() to rtm_to_fib_config().
    674b969287f4 net: pktgen: fix mpls maximum labels list parsing
    c3a1354b631d net: ethernet: ti: cpsw_new: populate netdev of_node
    b91a5652610b pinctrl: bcm281xx: Use "unsigned int" instead of bare "unsigned"
    c91447e35b9b media: cx231xx: set device_caps for 417
    fb26963bd247 drm/amdgpu: Do not program AGP BAR regs under SRIOV in gfxhub_v1_0.c
    654c295f9079 remoteproc: qcom_wcnss: Handle platforms with only single power domain
    5111227d7f1f orangefs: Do not truncate file size
    025c8f477625 dm cache: prevent BUG_ON by blocking retries on failed device resumes
    246346230486 media: c8sectpfe: Call of_node_put(i2c_bus) only once in c8sectpfe_probe()
    5753a20bf23c ARM: tegra: Switch DSI-B clock parent to PLLD on Tegra114
    8f12fab5a765 ieee802154: ca8210: Use proper setters and getters for bitwise types
    cc29d05861d0 rtc: ds1307: stop disabling alarms on probe
    f7dd2a729049 tcp: bring back NUMA dispersion in inet_ehash_locks_alloc()
    5cb296e94210 powerpc/prom_init: Fixup missing #size-cells on PowerBook6,7
    d3bb3258d105 arm64: tegra: p2597: Fix gpio for vdd-1v8-dis regulator
    4b173bb2c466 crypto: lzo - Fix compression buffer overrun
    2592aeda794c cpufreq: tegra186: Share policy per cluster
    f6535bc6556d ASoC: qcom: sm8250: explicitly set format in sm8250_be_hw_params_fixup()
    bc23966b90d9 auxdisplay: charlcd: Partially revert "Move hwidth and bwidth to struct hd44780_common"
    2b572c409811 ipv6: save dontfrag in cork
    1acb22d09f5c mmc: sdhci: Disable SD card clock before changing parameters
    8d52676f791d arm64/mm: Check PUD_TYPE_TABLE in pud_bad()
    066675bb11ab netfilter: conntrack: Bound nf_conntrack sysctl writes
    3695ade72a9b timer_list: Don't use %pK through printk()
    1351995ba665 posix-timers: Add cond_resched() to posix_timer_add() search loop
    1a8df82d201e RDMA/uverbs: Propagate errors from rdma_lookup_get_uobject()
    7258b92ceff3 xen: Add support for XenServer 6.1 platform device
    8dbcb21f0926 dm: restrict dm device size to 2^63-512 bytes
    91628988aca3 crypto: octeontx2 - suppress auth failure screaming due to negative tests
    49a99ccec1c8 kbuild: fix argument parsing in scripts/config
    ac8fbc318cec ASoC: mediatek: mt6359: Add stub for mt6359_accdet_enable_jack_detect
    317615342d2a rtc: rv3032: fix EERD location
    fe5a5b9d1441 tcp: reorganize tcp_in_ack_event() and tcp_count_delivered()
    fa7183cc13dd vfio/pci: Handle INTx IRQ_NOTCONNECTED
    8f070ca005e4 scsi: st: ERASE does not change tape location
    84e7b679f8d6 scsi: st: Tighten the page format heuristics with MODE SELECT
    db03d5b2db5c ext4: reorder capability check last
    1ad3d069cf4d um: Update min_low_pfn to match changes in uml_reserved
    3eac35c34a98 um: Store full CSGSFS and SS register from mcontext
    fdcd142d310c dlm: make tcp still work in multi-link env
    30748ce7e156 i3c: master: svc: Fix missing STOP for master request
    ce8d1993b122 btrfs: send: return -ENAMETOOLONG when attempting a path that is too long
    0175d448b2f8 btrfs: get zone unusable bytes while holding lock at btrfs_reclaim_bgs_work()
    23a2379b0dd9 btrfs: avoid linker error in btrfs_find_create_tree_block()
    e98cb12ba84d btrfs: make btrfs_discard_workfn() block_group ref explicit
    74314f8937ea i2c: pxa: fix call balance of i2c->clk handling routines
    d18963f219b3 i2c: qup: Vote for interconnect bandwidth to DRAM
    7887df0fe9ec wifi: mt76: only mark tx-status-failed frames as ACKed on mt76x0/2
    4b62412e985c mmc: host: Wait for Vdd to settle on card power off
    f49c337037df libnvdimm/labels: Fix divide error in nd_label_data_init()
    c7af649198dc PCI: vmd: Disable MSI remapping bypass under Xen
    18282d8518bf pNFS/flexfiles: Report ENETDOWN as a connection error
    0ea65822090b tools/build: Don't pass test log files to linker
    11c24ad1ffde PCI: dwc: ep: Ensure proper iteration over outbound map windows
    ed30141557d1 lockdep: Fix wait context check on softirq for PREEMPT_RT
    0a474eaf3574 dql: Fix dql->limit value when reset.
    897a205ffc43 thermal/drivers/qoriq: Power down TMU on system suspend
    2328a3bf513c SUNRPC: rpcbind should never reset the port to the value '0'
    8a72549eaf12 SUNRPC: rpc_clnt_set_transport() must not change the autobind setting
    01d50dfae8e9 NFSv4: Treat ENETUNREACH errors as fatal for state recovery
    552baa350a2f fbdev: core: tileblit: Implement missing margin clearing for tileblit
    442192330096 fbcon: Use correct erase colour for clearing in fbcon
    5caaec485f37 fbdev: fsl-diu-fb: add missing device_remove_file()
    84a2fccac8c8 mailbox: use error ret code of of_parse_phandle_with_args()
    236bad68c007 tracing: Mark binary printing functions with __printf() attribute
    2272e75d7a80 NFSv4: Check for delegation validity in nfs_start_delegation_return_locked()
    f41f9ce3c709 kconfig: merge_config: use an empty file as initfile
    bc9f8527198a samples/bpf: Fix compilation failure for samples/bpf on LoongArch Fedora
    af8a8fce197b bpf: fix possible endless loop in BPF map iteration
    2391dc87e84a net: enetc: refactor bulk flipping of RX buffers to separate function
    0b18c3a17bc7 cgroup: Fix compilation issue due to cgroup_mutex not being exported
    41c810a06470 dma-mapping: avoid potential unused data compilation warning
    02d2d6caee3a virtio_ring: Fix data race by tagging event_triggered as racy for KCSAN
    019ca2804f3f scsi: target: iscsi: Fix timeout on deleted connection

(From OE-Core rev: a7cea8a5c91d26ba7c3f72448f0897f5c2f81fd1)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-14 08:37:40 -07:00
Divya Chellam
85c0d7d0aa libarchive: fix CVE-2025-5917
A vulnerability has been identified in the libarchive library. This flaw involves an 'off-by-
one' miscalculation when handling prefixes and suffixes for file names. This can lead to a 1-
byte write overflow. While seemingly small, such an overflow can corrupt adjacent memory, lea
ding to unpredictable program behavior, crashes, or in specific circumstances, could be lever
aged as a building block for more sophisticated exploitation.

Reference:
https://security-tracker.debian.org/tracker/CVE-2025-5917

Upstream-patch:
7c02cde37a

(From OE-Core rev: 2b2a2fce345c9bfcad44cc8ef3419f43dd07b022)

Signed-off-by: Divya Chellam <divya.chellam@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-14 08:37:40 -07:00
Divya Chellam
6b95583a82 libarchive: fix CVE-2025-5916
A vulnerability has been identified in the libarchive library. This flaw
involves an integer overflow that can be triggered when processing a Web
Archive (WARC) file that claims to have more than INT64_MAX - 4 content
bytes. An attacker could craft a malicious WARC archive to induce this
overflow, potentially leading to unpredictable program behavior, memory
corruption, or a denial-of-service condition within applications that
process such archives using libarchive.

Reference:
https://security-tracker.debian.org/tracker/CVE-2025-5916

Upstream-patch:
ef09372952

(From OE-Core rev: 0e939bf5fc7412c7357fcd7d8ae760f023ac40eb)

Signed-off-by: Divya Chellam <divya.chellam@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-14 08:37:40 -07:00
Divya Chellam
6cc6cd3f8d libarchive: fix CVE-2025-5915
A vulnerability has been identified in the libarchive library. This flaw can lead to a heap b
uffer over-read due to the size of a filter block potentially exceeding the Lempel-Ziv-Storer
-Schieber (LZSS) window. This means the library may attempt to read beyond the allocated memo
ry buffer, which can result in unpredictable program behavior, crashes (denial of service), o
r the disclosure of sensitive information from adjacent memory regions.

Reference:
https://security-tracker.debian.org/tracker/CVE-2025-5915

Upstream-patches:
a612bf62f8

(From OE-Core rev: 41e7be4aa28481530d5e259d0f25b238b86c012d)

Signed-off-by: Divya Chellam <divya.chellam@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-14 08:37:40 -07:00
Yogita Urade
022d6ec767 curl: fix CVE-2025-0167
When asked to use a `.netrc` file for credentials *and* to
follow HTTP redirects, curl could leak the password used
for the first host to the followed-to host under certain
circumstances.

This flaw only manifests itself if the netrc file has a
`default` entry that omits both login and password. A
rare circumstance.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2025-0167

Upstream patch:
0e120c5b92

(From OE-Core rev: 7c5aee3066e4c8056d994cd50b26c18a16316c96)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-14 08:37:40 -07:00
Yogita Urade
580a1571c4 curl: fix CVE-2024-11053
When asked to both use a `.netrc` file for credentials and to follow HTTP
redirects, curl could leak the password used for the first host to the
followed-to host under certain circumstances.

This flaw only manifests itself if the netrc file has an entry that matches
the redirect target hostname but the entry either omits just the password or
omits both login and password.

References:
https://nvd.nist.gov/vuln/detail/CVE-2024-11053
https://git.launchpad.net/ubuntu/+source/curl/diff/debian/patches/CVE-2024-11053-pre1.patch?id=2126676d86041cabd7b1aa302fc1fdf47989df95
https://git.launchpad.net/ubuntu/+source/curl/diff/debian/patches/CVE-2024-11053.patch?id=2126676d86041cabd7b1aa302fc1fdf47989df95

Upstream patch:
9bee39bfed
e9b9bbac22

(From OE-Core rev: 87823ff05a4f90b42c138902639a59231fa17def)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-14 08:37:40 -07:00
Changqing Li
def97edcef libsoup: fix CVE-2025-4945
Refer:
https://gitlab.gnome.org/GNOME/libsoup/-/issues/448

(From OE-Core rev: cd589717c05b887986b9d61f5193e764f4deb3ee)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-14 08:37:40 -07:00
Changqing Li
65b1587627 libsoup-2.4: fix CVE-2025-4945
Refer:
https://gitlab.gnome.org/GNOME/libsoup/-/issues/448

(From OE-Core rev: 2169742d4b88f9072501819b5842efbed04939f2)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-14 08:37:40 -07:00
Chen Qi
fcecadd605 coreutils: fix CVE-2025-5278
Backport patch to fix CVE-2025-5278.
The patch is adjusted to fit 9.0 version.

(From OE-Core rev: 4e55668ef07d99d8c1141c2f4270f43f5b280159)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-14 08:37:40 -07:00
Hitendra Prajapati
36c444aafc libxml2: fix CVE-2025-6021
Upstream-Status: Backport from acbbeef9f5

(From OE-Core rev: f75ef5dc195490ef8223f9a16086243450141e61)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-14 08:37:40 -07:00
Changqing Li
bfcca9e202 libsoup-2.4: refresh CVE-2025-4969.patch
refresh CVE-2025-4969.patch to fix the following build failure for
libsoup-2.4-native on fedora40/41:

../libsoup-2.74.3/tests/multipart-test.c:578:63: error: passing argument 2 of ‘soup_multipart_new_from_message’ from incompatible pointer type [-Wincompatible-pointer-types]
  578 |         multipart = soup_multipart_new_from_message (headers, bytes);
      |                                                               ^~~~~
      |                                                               |
      |                                                               GBytes * {aka struct _GBytes *}

(From OE-Core rev: 4a0135992778110f2b523f436538c1197ef971b8)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-14 08:37:40 -07:00
Dixit Parmar
3171dcc835 ref-manual: document KERNEL_SPLIT_MODULES variable
This variable controls the kernel module spliting.

[YOCTO #15771]

(From yocto-docs rev: 9de9f17abfc6ee11ffa599e45eff8bafd6de801c)

Signed-off-by: Dixit Parmar <dixitparmar19@gmail.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 198179d9c6231b5934d4fb6ede716d1dcb1442bb)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-09 08:23:23 -07:00
Archana Polampalli
0ef633a0bb xwayland: fix CVE-2025-49180
A flaw was found in the RandR extension, where the RRChangeProviderProperty function
does not properly validate input. This issue leads to an integer overflow when
computing the total size to allocate.

(From OE-Core rev: 78055e8b6a9ea5063658886c5b5d22821d689fc5)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-09 08:23:23 -07:00
Archana Polampalli
4c0768543a xwayland: fix CVE-2025-49179
A flaw was found in the X server's request handling. Non-zero 'bytes to ignore'
in a client's request can cause the server to skip processing another client's
request, potentially leading to a denial of service.

(From OE-Core rev: 589bf97e1aa236477d895c227446966d0a278f3c)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-09 08:23:23 -07:00
Archana Polampalli
53e9e45350 xwayland: fix CVE-2025-49178
A flaw was found in the X server's request handling. Non-zero 'bytes to ignore'
in a client's request can cause the server to skip processing another client's
request, potentially leading to a denial of service.

(From OE-Core rev: 9ab0fb0deebd4abb22dbfc6b40fe962cb3388fbd)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-09 08:23:23 -07:00
Archana Polampalli
5e6e115925 xwayland: fix CVE-2025-49177
A flaw was found in the XFIXES extension. The XFixesSetClientDisconnectMode handler
does not validate the request length, allowing a client to read unintended memory
from previous requests

(From OE-Core rev: 89dde7f86e1c2e61ed71ecf92e908dbe402a2668)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-09 08:23:23 -07:00
Archana Polampalli
4d49fa2619 xwayland: fix CVE-2025-49176
A flaw was found in the Big Requests extension. The request length is multiplied
by 4 before checking against the maximum allowed size, potentially causing an
integer overflow and bypassing the size check.

(From OE-Core rev: 17033023d679a597e31964b0fed2b2e89cdf61ec)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-09 08:23:23 -07:00
Archana Polampalli
152e759cb6 xwayland: fix CVE-2025-49175
A flaw was found in the X Rendering extension's handling of animated cursors.
If a client provides no cursors, the server assumes at least one is present,
leading to an out-of-bounds read and potential crash.

(From OE-Core rev: 2c8e82f860792e7fb99c78c512be57ce74774a34)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-09 08:23:23 -07:00
Yogita Urade
50856ee7a6 python3-urllib3: fix CVE-2025-50181
urllib3 is a user-friendly HTTP client library for Python. Prior to
2.5.0, it is possible to disable redirects for all requests by
instantiating a PoolManager and specifying retries in a way that
disable redirects. By default, requests and botocore users are not
affected. An application attempting to mitigate SSRF or open redirect
vulnerabilities by disabling redirects at the PoolManager level will
remain vulnerable. This issue has been patched in version 2.5.0.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2025-50181

Upstream patch:
f05b132912

(From OE-Core rev: 574146765ea3f9b36532abf4ebc8bd2976396f0b)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-09 08:23:23 -07:00
Chen Qi
a17ec857df systemd: backport patches to fix CVE-2025-4598
Patch 0003 is the actual patch to fix CVE.

Patch 0002 is a preparation patch which systemd upstream uses for
all actively maintained branches in preparation for patch 0003.

Patch 0001 is a bug fix patch and is needed to avoid conflict introduced
by patch 0002. Note that patch 0002 claims itself to be of no functional
change, so this patch 0001 is really needed for patch 0002.

Patch 0004 is a compilation fix patch which adds a macro needed by
previous 0002 patch.

(From OE-Core rev: a2e75ca4fa01d5005906fb88d28d52ea951def00)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-09 08:23:23 -07:00
Colin Pinnell McAllister
8a1287dec6 libarchive: Fix CVE-2025-5914
Adds patch to backport fix for CVE-2025-5914.

(From OE-Core rev: 4a4c6e0382834e03480e07f30ed5efa23f6c6fe2)

Signed-off-by: Colin Pinnell McAllister <colin.mcallister@garmin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-07-09 08:23:23 -07:00
Steve Sakoman
78c9cb3eaf build-appliance-image: Update to kirkstone head revision
(From OE-Core rev: 75e54301c5076eb0454aee33c870adf078f563fd)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-27 08:12:06 -07:00
Steve Sakoman
f66b3ae543 poky.conf: bump version for 4.0.28
(From meta-yocto rev: 0bf3dcef1caa80fb047bf9c3514314ab658e30ea)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-27 08:09:27 -07:00
Colin Pinnell McAllister
ac03ee2932 ffmpeg: fix CVE-2022-48434
The patch for CVE-2022-48434 was removed when ffmpeg was updated to
5.0.3. The CVE was fixed in 5.0.2, but NVD has not updated the affected
versions yet. Added an ignore for this CVE to mark as fixed.

(From OE-Core rev: a8c6e2da68c9fc6c692b41c7370ec937680f788c)

Signed-off-by: Colin Pinnell McAllister <colin.mcallister@garmin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-27 08:09:27 -07:00
Praveen Kumar
6964579627 go: fix CVE-2025-4673
Proxy-Authorization and Proxy-Authenticate headers persisted on
cross-origin redirects potentially leaking sensitive information.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2025-4673

Upstream-patch:
b897e97c36

(From OE-Core rev: c07547c19e5372ed5eaac8530b2dd651302542a8)

Signed-off-by: Praveen Kumar <praveen.kumar@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-27 08:09:27 -07:00
Moritz Haase
9bc0069f8b cmake: Correctly handle cost data of tests with arbitrary chars in name
ctest automatically optimizes the order of (parallel) test execution based on
historic test case runtime via the COST property (see [0]), which can have a
significant impact on overall test run times. Sadly this feature is broken in
CMake < 4.0.0 for test cases that have spaces in their name (see [1]).

This commit is a backport of f24178f3 (which itself backports the upstream fix).
the patch was adapted slightly to apply cleanly to the older CMake version in
kirkstone. As repeated test runs are expected to mainly take place inside the
SDK, the patch is only applied to 'nativesdk' builds.

[0]: https://cmake.org/cmake/help/latest/prop_test/COST.html
[1]: https://gitlab.kitware.com/cmake/cmake/-/issues/26594

Reported-By: John Drouhard <john@drouhard.dev>
(From OE-Core rev: f6a160f7ea57af6dfeca003e6c05aa42419fb755)

Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-25 08:11:58 -07:00
Soumya Sambu
104f728b65 systemtap: add sysroot Python paths to configure flags
Explicitly set Python-related flags to use sysroot-staged headers and tools.

(From OE-Core rev: 85a5d7b1d2c8600f30e38e034f828e5897d9a093)

Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-25 08:11:58 -07:00
Peter Marko
753ec02637 go: ignore CVE-2024-3566
NVD ([1]) tracks this as:
cpe:2.3🅰️golang:go:*:*:*:*:*:*:*:*
Running on/with
  cpe:2.3microsoft:windows:-:*:*:*:*:*:*:*

Yocto cve-check ignores the "Running on/with", so it needs to be ignored
explicitly.

[1] https://nvd.nist.gov/vuln/detail/CVE-2024-3566

(From OE-Core rev: 571fd82e29fe809c63a5743e534ed7816d787963)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-25 08:11:58 -07:00
Changqing Li
b4284b3eb2 libsoup-2.4: fix CVE-2025-4476
Refer:
https://gitlab.gnome.org/GNOME/libsoup/-/issues/440

(From OE-Core rev: 2be01469687f30f33b768164f66916b081cc8c62)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-25 08:11:58 -07:00
Changqing Li
09407f375d libsoup-2.4: fix CVE-2025-4948
Refer:
http://gitlab.gnome.org/GNOME/libsoup/-/issues/449

(From OE-Core rev: d5af0295d26f8967dfe49a53ffa6f275e249d087)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-25 08:11:58 -07:00
Changqing Li
3aa44948cb libsoup-2.4: fix CVE-2025-46421
Refer:
https://gitlab.gnome.org/GNOME/libsoup/-/issues/439

(From OE-Core rev: 33bf900bcb563c5769b75e69059751f969a8771f)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-25 08:11:58 -07:00
Changqing Li
6a19b931f0 libsoup-2.4: fix CVE-2025-32907
Refer:
https://gitlab.gnome.org/GNOME/libsoup/-/issues/428

(From OE-Core rev: e6d9dd16d9b70cc8d3a9ca8b2fc542d547b456b9)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-25 08:11:57 -07:00
Hitendra Prajapati
467cc32439 libsoup-2.4: Fix CVE-2025-4969
Upstream-Status: Backport from 07b94e27af

(From OE-Core rev: 5a6af5bcbe45184e7ac0535549c25cbe64113ba7)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-25 08:11:57 -07:00
Changqing Li
16168960c4 libsoup: fix CVE-2025-4948
Refer:
https://gitlab.gnome.org/GNOME/libsoup/-/issues/449

(From OE-Core rev: 95383d7d95631a4c3b385a073ce1deff744bf725)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-25 08:11:57 -07:00
Changqing Li
f9f25b4fd6 libsoup: fix CVE-2025-46421
Refer:
https://gitlab.gnome.org/GNOME/libsoup/-/issues/439

(From OE-Core rev: 388453296c32759623ed35a8142c6af2df7f30b0)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-25 08:11:57 -07:00
Changqing Li
f9ae7a93d4 libsoup: fix CVE-2025-32051
Refer:
https://gitlab.gnome.org/GNOME/libsoup/-/issues/401

(From OE-Core rev: 4af9a40f53a6a9607999f0f4b28d2ce1eaf325a2)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-25 08:11:57 -07:00
Changqing Li
3fc748ecd7 libsoup: fix CVE-2025-32907
Refer:
https://gitlab.gnome.org/GNOME/libsoup/-/issues/429

(From OE-Core rev: e31c9f12193d040480eca6a4be6a9ec6675b19f8)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-25 08:11:57 -07:00
Hitendra Prajapati
64327d7000 libsoup: Fix CVE-2025-4969
Upstream-Status: Backport from 07b94e27af

(From OE-Core rev: ea267b82e1fdc5cc7bf055d3eec1190e19ae79de)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-25 08:11:57 -07:00
Ashish Sharma
41197b0df6 libsoup: patch CVE-2025-4476
Upstream-Status: Backport [e64c221f9c]

(From OE-Core rev: 4cd294674ed05e1b72e722b46ac1e2b5f3603460)

Signed-off-by: Ashish Sharma <asharma@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-25 08:11:57 -07:00
Robert P. J. Day
52b3a3b7c5 bsp-guide: update lonely "4.12" kernel reference to "6.12"
To accompany earlier updating of kernel version, update this lonely
reference to be consistent.

(From yocto-docs rev: 97cd3ee7f3bf1de8454708d1852ea9cdbd45c39b)

Signed-off-by: "Robert P. J. Day" <rpjday@crashcourse.ca>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit e26c2018cd663de91ee08e0cba55eda1a4c30210)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
Robert P. J. Day
207921bcca bsp guide: update kernel version example to 6.12
Change the sample kernel version being used from 4.4 to a more modern
6.12.

(From yocto-docs rev: 4894e00cc69cf499d28b90a991d4bac0cecb97e7)

Signed-off-by: "Robert P. J. Day" <rpjday@crashcourse.ca>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 1bad12b6ccfe1c0d26918926176a0c743568de26)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
Quentin Schulz
70473efe13 ref-manual: classes: nativesdk: move note to appropriate section
The nativesdk- prefix to the recipe filename should only be used when
using the inherit method as the BBCLASSEXTEND method will do some magic
when generating the "implicit" name of the recipe.

This matches the instructions for the native class.

(From yocto-docs rev: 84ab43b9766e0415e090c6af404ce1c61316f384)

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 15fe239e1e62b9add737aa732dd7f5e9948ee03d)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
Quentin Schulz
7e68f78b6e ref-manual: classes: reword to clarify that native/nativesdk options are exclusive
We explain how to create a native (nativesdk) recipe in two different
ways via a bullet list but reading quickly the instructions may mislead
one into doing both options whereas they are incompatible.

This rewords both the nativesdk and native sections so that the second
bullet point starts with an Or and explicit that this applies to target
recipes.

(From yocto-docs rev: c2e814ba75524225390ecad0d3615e48f866374a)

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 6d0d338a5f2686ddeee5eed7b6e05f3db800d33a)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
Sunil Dora
d76598e8aa glibc: nptl Use all of g1_start and g_signals
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847

Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=91bb902f58264a2fd50fbce8f39a9a290dd23706]

(From OE-Core rev: e0857503de9f427d177fe85c32cf0d2748d779fb)

Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
Sunil Dora
395879fd14 glibc: nptl rename __condvar_quiesce_and_switch_g1
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847

Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=4b79e27a5073c02f6bff9aa8f4791230a0ab1867]

(From OE-Core rev: e7eb16d59c81636c1fdffca307768776d990d732)

Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
Sunil Dora
614a3abb3a glibc: nptl Fix indentation
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847

Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=ee6c14ed59d480720721aaacc5fb03213dc153da]

(From OE-Core rev: e4b4cd362cfcb7fd6517165ae59cb218420b9039)

Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
Sunil Dora
548a08daab glibc: nptl Use a single loop in pthread_cond_wait instaed of a nested loop
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847

Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=929a4764ac90382616b6a21f099192b2475da674]

(From OE-Core rev: eab44f7a027414ef29f6d07617997cc50fc515cd)

Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
Sunil Dora
5cb3b16aa9 glibc: nptl Remove unnecessary quadruple check in pthread_cond_wait
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847

Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=4f7b051f8ee3feff1b53b27a906f245afaa9cee1]

(From OE-Core rev: 761758340002f9dbff8e0668f4883ff623b232a0)

Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
Sunil Dora
cdd974ba56 glibc: nptl Remove unnecessary catch-all-wake in condvar group switch
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847

Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=b42cc6af11062c260c7dfa91f1c89891366fed3e]

(From OE-Core rev: 02f2ac08edb506ec43cec93a5b09f5e6d7df02ec)

Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
Sunil Dora
a9b8182e89 glibc: nptl Update comments and indentation for new condvar implementation
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847

Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=0cc973160c23bb67f895bc887dd6942d29f8fee3]

(From OE-Core rev: e5296415e97e4d704c4c8d11ad243061a1e14997)

Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
Sunil Dora
218c9ec684 glibc: pthreads NPTL lost wakeup fix 2
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847

Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=1db84775f831a1494993ce9c118deaf9537cc50a]

(From OE-Core rev: c05290e51d0faf661bac587066a79626919609e8)

Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
Aditya Tayade
d2ca3a347e e2fsprogs: removed 'sed -u' option
In embedded box, sed might be provided another providers like Busybox,
hence use generic options whenever possible.
/bin/sed -> /etc/alternatives/sed
/etc/alternatives/sed -> /bin/busybox.nosuid

Here used 'sed -u' option is not necessary, hence removed it.

Fixes below error:
sed: invalid option -- 'u'

Also added 'set -eux' option which halts execution of the script
on any failures.

(From OE-Core rev: 5b3b290baa0a83f493b7ca25d5ffa5ff279bcc69)

(From OE-Core rev: fe7fa1ec7d005d858ccbdd81eb6f7bfab04b7e46)

Signed-off-by: Aditya Tayade <Aditya.Tayade@kpit.com>
Signed-off-by: Pawan Badganchi <Pawan.Badganchi@kpit.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 07caee1829d2a61bc018fe0e37ecd482922179ee)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit d2da6b5c56)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
aszh07
c0a8db39ed xz: Update LICENSE variable for xz packages
Update LICENSE defined for xz packages to match the license
information provided in the xz COPYING file.

The License information from PACKAGERS file of xz mentions
packages with lzma files are in public domain.They ask to
use GPLv2+, if only it's not possible to mention "PD and GPLv2+".

Include PD license with GPLv2 to packages with lzma content:
xz-dev package contains lzma header
xz-doc package contains lzma man pages
xz packages contains lzma binaries

Links: https://github.com/tukaani-project/xz/blob/v5.4.6/COPYING
       https://github.com/tukaani-project/xz/blob/v5.4.6/PACKAGERS

(From OE-Core rev: d511c41dac048fbdd93a54136e93b0623a18a83d)

(From OE-Core rev: a9b751f211ccfc1c8d58aba290dc8b4de5383acc)

Signed-off-by: Bhabu Bindu <bindu.bhabu@kpit.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4e5b955def5d9f305f5aba2c68b73287c03fd163)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
Poonam Jadhav
0101023c28 libpng: Improve ptest
Install libpng test-suite to run it as a ptest.
As the test-suite takes more than 30 seconds to run,
add libpng-ptest to PTESTS_SLOW in ptest-packagelists.inc

(From OE-Core rev: 5835b803acc255c227213670588dd01c5168c266)

Signed-off-by: Poonam Jadhav <poonam.jadhav@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
Guocai He
91d538d055 babeltrace/libatomic-ops: correct the SRC_URI
The old SRC_URIs are not available and need to update.

(From OE-Core rev: 94d24ff01573dc1d65078c92150dc252b3e9b145)

Signed-off-by: Guocai He <guocai.he.cn@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
Aleksandar Nikolic
cf89524072 scripts/install-buildtools: Update to 4.0.27
Update to the 4.0.27 release of the 4.0.27 series for buildtools

(From OE-Core rev: 9277fae3c81a269994faa6ba6f6c9bdfc74e11bd)

Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:30 -07:00
aszh07
aa3a15a8bf ffmpeg: Add "libswresample libavcodec" to CVE_PRODUCT
Currently, CVE_PRODUCT only detects vulnerabilities where the product is "ffmpeg".

However, there are also vulnerabilities where the product is "libswresample",
and "libavcodec" as shown below.
https://app.opencve.io/vendors/?vendor=ffmpeg

Therefore, add "libswresample libavcodec" to CVE_PRODUCT to detect vulnerabilities
where the product is "libswresample libavcodec" as well.

(From OE-Core rev: 9684eba5c543de229108008e29afd1dd021a9799)

(From OE-Core rev: 34df694e0cdf4c1e3dfc99502a9e615b8c802cdb)

Signed-off-by: aszh07 <mail2szahir@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Naman Jain <namanj1@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:29 -07:00
Colin Pinnell McAllister
1f73cf5b98 ffmpeg: fix CVE-2025-1373
CVE-2025-1373 does not appear to affect ffmpeg 5.0.3. The CVE has been
added to the ignore list.

(From OE-Core rev: 99cda92e387ca071c4235c14a137510a4fb481c2)

Signed-off-by: Colin Pinnell McAllister <colin.mcallister@garmin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:29 -07:00
Vijay Anusuri
bb706cfe48 libsoup: Fix CVE-2025-46420
Upstream-Status: Backport
[c9083869ec]

(From OE-Core rev: cb3a01ba6535b129608fb8d07261069f1fb4b84a)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:29 -07:00
Vijay Anusuri
cecdcf3428 libsoup: Fix CVE-2025-32053
Upstream-Status: Backport
[eaed42ca8d]

(From OE-Core rev: de40e2f32af4ec930c80858f8d77a5a1b0967069)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:29 -07:00
Vijay Anusuri
dd4d1b28e3 libsoup-2.4: Fix CVE-2025-32053
Upstream-Status: Backport
[eaed42ca8d]

(From OE-Core rev: a563a644fcdb556d904c3c391fbf9435fcd4bdf0)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:29 -07:00
Vijay Anusuri
c2489908d7 libsoup: Fix CVE-2025-32052
Upstream-Status: Backport
[f182429e5b]

(From OE-Core rev: f1e94b33fac8a1587aacfee13935587dfc6c147a)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:29 -07:00
Vijay Anusuri
4976dc40af libsoup-2.4: Fix CVE-2025-32052
Upstream-Status: Backport
[f182429e5b]

(From OE-Core rev: ab4d381f1cfd8613c23da514a0786a7505579203)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:29 -07:00
Vijay Anusuri
8bce7467dc libsoup: Fix CVE-2025-32050
Upstream-Status: Backport
[9bb0a55de5]

(From OE-Core rev: f4866635b88b24d5891f83e23c9cc3fc21876b52)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:29 -07:00
Vijay Anusuri
ca51d99bf3 libsoup-2.4: Fix CVE-2025-32050
Upstream-Status: Backport
[9bb0a55de5]

(From OE-Core rev: c5afbcf487cb7331f641c4dd2c7a972b4cd3c787)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:29 -07:00
Vijay Anusuri
07f522869c libsoup: Fix CVE-2025-2784
Upstream-Status: Backport
[242a10fbb1
&
c415ad0b67]

https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/435

(From OE-Core rev: b51135e1f7eaa20c97e54f5c52b98963819127e9)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:29 -07:00
Vijay Anusuri
f49fc9966d libsoup-2.4: Fix CVE-2025-2784
Upstream-Status: Backport
[242a10fbb1
&
c415ad0b67]

https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/435

(From OE-Core rev: 5cea727e87489b144cba9b2aa491d0c90f34f93d)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:29 -07:00
Peter Marko
523a48d5c8 net-tools: patch CVE-2025-46836
Backport patch for this CVE and also patch for its regression.

(From OE-Core rev: 7f2ce7ea6bd3397e4a4f3f7bb6957d14838f66c5)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:29 -07:00
Jiaying Song
d5fa84385a python3-requests: fix CVE-2024-47081
Requests is a HTTP library. Due to a URL parsing issue, Requests
releases prior to 2.32.4 may leak .netrc credentials to third parties
for specific maliciously-crafted URLs. Users should upgrade to version
2.32.4 to receive a fix. For older versions of Requests, use of the
.netrc file can be disabled with `trust_env=False` on one's Requests
Session.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2024-47081

Upstream patch:
96ba401c12

(From OE-Core rev: 37d746033710509ffabc244e0130d20fd81d9673)

Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:29 -07:00
Sunil Dora
241a617374 Glibc: Fix for CVE-2025-4802
elf: Ignore LD_LIBRARY_PATH and debug env var for setuid for static
[https://sourceware.org/bugzilla/show_bug.cgi?id=32976]

Upstream-Status: Backport [ https://sourceware.org/cgit/glibc/commit/?id=5451fa962cd0a90a0e2ec1d8910a559ace02bba0 &&
                            https://sourceware.org/cgit/glibc/commit/?id=d8f7a79335b0d861c12c42aec94c04cd5bb181e2 ]

(From OE-Core rev: 2d0c574852ed934f339547220364f1d236aad987)

Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-20 08:06:29 -07:00
Quentin Schulz
58c95e1d4c docs: conf.py: silence SyntaxWarning on js_splitter_code
The js_splitter_code string contains backslashes that Python tries to
use as escape sequence but doesn't manage to, hence the following
SyntaxWarning message:

documentation/conf.py:188: SyntaxWarning: invalid escape sequence '\p'
  .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}-]+/gu)

Considering that we want this to be sent verbatim to the JS, let's make
this a raw string instead.

Fixes: d4a98ee19e0c ("conf.py: tweak SearchEnglish to be hyphen-friendly")
(From yocto-docs rev: 92bc958301d0aeab0a19e75b8604f01770358195)

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit c1056672ef45b197136eb8815728d426337a5901)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:36 -07:00
Quentin Schulz
0d1428e5b8 docs: README: specify how to contribute instead of pointing at another file
This repository is partially included in another repository: poky.

However its README isn't making it, so documentation/README pointing at
the README at the root of the git repository would lead the contributor
nowhere.

Instead, let's include the appropriate information directly in
documentation/README which does make it to the poky git repo.

(From yocto-docs rev: acad3d63501d1ee8bd0759438f456488ca7869bf)

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 0298318cea2947e65754eab97255164e64a862de)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:36 -07:00
Carlos Sánchez de La Lama
1df4bec5eb ref-manual: clarify KCONFIG_MODE default behaviour
KCONFIG_MODE defaults to 'allnoconfig' when not set, regardless of whether
KBUILD_DEFCONFIG points to an in-tree or a meta-layer defconfig.

(From yocto-docs rev: 5a35f8bd19cca200c6b271f049fb94543de79f06)

Signed-off-by: Carlos Sánchez de La Lama <csanchezdll@gmail.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit f374b9c426f6c10710e011a4ad660231ee26efb8)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:36 -07:00
Robert P. J. Day
a2dd4be796 Clean up explanation of minimum required version numbers
Some simple rendering and grammar fixes.

(From yocto-docs rev: f8d77cfb917bfbe3b223ec889c6ed296603402c2)

Signed-off-by: "Robert P. J. Day" <rpjday@crashcourse.ca>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 9a9624bfc4c523a6edf6f3f0c336e663cc939e75)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:35 -07:00
Lee Chee Yang
63073ee1c1 migration-guides: add release notes for 4.0.27
(From yocto-docs rev: 4248e73928346b14da10bb214de28c767f4641b4)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit c4748f5079e5193f82afc1b754816edd40ce9254)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:35 -07:00
Richard Purdie
e3d5f852f6 brief-yoctoprojectqs/ref-manual: Switch to new CDN
The project is switching the way handle our CDN provision of sstate objects,
update the URL accordingly.

(cherry picked from commit 406e8a8e30404c0538f5aa46f211540bae2b206b)

(From yocto-docs rev: 5c9336284c0664e0d56cf602751a9ffef6303002)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:35 -07:00
Martin Jansa
8fc7f29255 kernel.bbclass: add original package name to RPROVIDES for -image and -base
* -image and -base change PKG to:
  PKG:${KERNEL_PACKAGE_NAME}-image = "${KERNEL_PACKAGE_NAME}-image-${@legitimize_package_name(d.getVar(KERNEL_VERSION))}"
  PKG:${KERNEL_PACKAGE_NAME}-base = "${KERNEL_PACKAGE_NAME}-${@legitimize_package_name(d.getVar(KERNEL_VERSION))}"

* but only when debian.bbclass is inheritted they add the original package name into RPROVIDES by:
  https://git.openembedded.org/openembedded-core/commit/?id=3409c4379559afbb1d1d29045582995147a33bbc

* fixes the build if some packagegroup or something RDEPENDS on kernel-image or kernel-base
  and the DISTRO doesn't inherit debian.bbclass

* as shown in pkgdata:
  linux-raspberrypi $ egrep "^(PKG:)|(RPRO)" 6.6.36+git-*/pkgdata/runtime/kernel-image
  6.6.36+git-debian/pkgdata/runtime/kernel-image:RPROVIDES:kernel-image:  kernel-image (=6.6.36+git@PRSERV_PV_AUTOINC@+733366844f_769634f344)
  6.6.36+git-debian/pkgdata/runtime/kernel-image:PKG:kernel-image: kernel-image-6.6.36-v8
  6.6.36+git-without-debian/pkgdata/runtime/kernel-image:PKG:kernel-image: kernel-image-6.6.36-v8

  linux-raspberrypi $ egrep "^(PKG:)|(RPRO)" 6.6.36+git-*/pkgdata/runtime/kernel-image-image
  6.6.36+git-debian/pkgdata/runtime/kernel-image-image:RPROVIDES:kernel-image-image:  kernel-image-image (=6.6.36+git@PRSERV_PV_AUTOINC@+733366844f_769634f344)
  6.6.36+git-debian/pkgdata/runtime/kernel-image-image:PKG:kernel-image-image: kernel-image-image-6.6.36-v8
  6.6.36+git-without-debian/pkgdata/runtime/kernel-image-image:PKG:kernel-image-image: kernel-image-image-6.6.36-v8

(From OE-Core rev: 05498781657a3f8b38b000f91594ecd78850ce47)

(From OE-Core rev: 350513959f6800eef6579153c2ae95960ca24ea7)

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9cb954884b)
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:35 -07:00
Peter Marko
8cd040c218 python3: upgrade 3.10.16 -> 3.10.18
Drop upstreamed patch and refresh remaining patches.

* https://www.python.org/downloads/release/python-31017/

  Security content in this release
  * gh-131809: Upgrade vendored expat to 2.7.1
  * gh-80222: Folding of quoted string in display_name violates RFC
  * gh-121284: Invalid RFC 2047 address header after refolding with
    email.policy.default
  * gh-131261: Update libexpat to 2.7.0
  * gh-105704: CVE-2025-0938 urlparse does not flag hostname containing
    [ or ] as incorrect
  * gh-119511: OOM vulnerability in the imaplib module

* https://www.python.org/downloads/release/python-31018/

  Security content in this release
  * gh-135034: [CVE 2024-12718] [CVE 2025-4138] [CVE 2025-4330]
    [CVE 2025-4435] [CVE 2025-4517] Fixes multiple issues that allowed
    tarfile extraction filters (filter="data" and filter="tar") to be
    bypassed using crafted symlinks and hard links.
  * gh-133767: Fix use-after-free in the “unicode-escape” decoder with a
    non-“strict” error handler.
  * gh-128840: Short-circuit the processing of long IPv6 addresses early
    in ipaddress to prevent excessive memory consumption and a minor
    denial-of-service.

gh-133767 got meawhile CVE-2025-4516 assigned.

(From OE-Core rev: 838a8b5ca148dfa6c6c2c76f1705d1e358a31648)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:35 -07:00
Vijay Anusuri
57421fdde6 git: Fix CVE-2024-50349 and CVE-2024-52006
Upstream-Status: Backport from
c903985bf7
&
7725b8100f
& b01b9b81d3

(From OE-Core rev: ed112b58ad0d40bfa36e53a370e964e6a20d694e)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:35 -07:00
Divya Chellam
50475a377a screen: fix CVE-2025-46804
A minor information leak when running Screen with setuid-root
privileges allosw unprivileged users to deduce information
about a path that would otherwise not be available.

Affected are older Screen versions, as well as version 5.0.0.

Reference:
https://security-tracker.debian.org/tracker/CVE-2025-46804

Upstream-patch:
https://cgit.git.savannah.gnu.org/cgit/screen.git/commit/?id=e0eef5aac453fa98a2664416a56c50ad1d00cb30

(From OE-Core rev: fa14b05383a322f5fe751c81e8c6f1a8a1df8c9e)

Signed-off-by: Divya Chellam <divya.chellam@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:35 -07:00
Divya Chellam
145b1ddb2b screen: fix CVE-2025-46802
For a short time they PTY is set to mode 666, allowing any user on the
system to connect to the screen session.

Reference:
https://security-tracker.debian.org/tracker/CVE-2025-46802

Upstream-patch:
https://cgit.git.savannah.gnu.org/cgit/screen.git/commit/?id=049b26b22e197ba3be9c46e5c193032e01a4724a

(From OE-Core rev: b4074e06ff0531481dbb3788a5c1bf9e013b6239)

Signed-off-by: Divya Chellam <divya.chellam@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:35 -07:00
Deepesh Varatharajan
c6848d874c binutils: Fix CVE-2025-5244 & CVE-2025-5245
PR32858 ld segfault on fuzzed object
We missed one place where it is necessary to check for empty groups.

PR32829, SEGV on objdump function debug_type_samep
u.kenum is always non-NULL, see debug_make_enum_type.

Upstream-Status: Backport
[https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=d1458933830456e54223d9fc61f0d9b3a19256f5]
&& [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=6c3458a8b7ee7d39f070c7b2350851cb2110c65a]

(From OE-Core rev: 7eb29f802b272dec19c5bfdce93155d99bac918d)

Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:35 -07:00
Vijay Anusuri
87267b3370 python3-setuptools: Fix CVE-2025-47273
Upstream-Status: Backport from
d8390feaa9
& 250a6d1797

(From OE-Core rev: 6b6e556a226100205427c85e8064f7640a9da25e)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:35 -07:00
Harish Sadineni
775ca31829 binutils: add CVE-2025-1182 patch file to SRC_URI
Forgot to add CVE-2025-1182 patch file to SRC_URI in the following commit
https://lists.openembedded.org/g/openembedded-core/message/217350

After rebasing the CVE-2025-1180.patch, we encountered hunk errors while applying the
CVE-2025-1182.patch, so I have modified the patch accordingly.

(From OE-Core rev: 131f93b8efcddac984965a250b5391c43ca54ac8)

Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:35 -07:00
Archana Polampalli
0f3339f7ff ffmpeg: fix CVE-2025-22921
FFmpeg git-master,N-113007-g8d24a28d06 was discovered to contain a segmentation
violation via the component /libavcodec/jpeg2000dec.c.

(From OE-Core rev: 948e3fe6d4a0762bcd56e1cc04c4100c46915669)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:35 -07:00
Archana Polampalli
34bb2a2900 ffmpeg: fix CVE-2025-22919
A reachable assertion in FFmpeg git-master commit N-113007-g8d24a28d06 allows
attackers to cause a Denial of Service (DoS) via opening a crafted AAC file.

(From OE-Core rev: 2494f863a163d13967d927618a101078f6980538)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:35 -07:00
Archana Polampalli
9f5df97f5c ffmpeg: upgrade 5.0.1 -> 5.0.3
Refreshed CVE-2024-36613.patch against to the current version
Removed below patches since already fixed in this version

0001-avcodec-rpzaenc-stop-accessing-out-of-bounds-frame.patch [1]
0001-avcodec-smcenc-stop-accessing-out-of-bounds-frame.patch [2]
0001-avcodec-vp3-Add-missing-check-for-av_malloc.patch [3]
0001-avformat-nutdec-Add-check-for-avformat_new_stream.patch [4]
CVE-2022-48434.patch [5]

[1] 1eb002596e
[2] 293dc39bca
[3] 2cdddcd6ec
[4] 481e81be12
[5] 3bc28e9d1a

(From OE-Core rev: dadb16481810ebda8091b36e3ee03713c90b5e7e)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:35 -07:00
Jiaying Song
179c5dc17f taglib: fix CVE-2023-47466
TagLib before 2.0 allows a segmentation violation and application crash
during tag writing via a crafted WAV file in which an id3 chunk is the
only valid chunk.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2023-47466

Upstream patch:
dfa33bec08

(From OE-Core rev: bcf0102e0e9ecf55106eafcc4c2ad8b2e7ad762b)

Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:35 -07:00
Vijay Anusuri
9a368c7b92 libsoup-2.4: Backport auth tests for CVE-2025-32910
libsoup-2.74.2/tests/auth-test.c:1554:39: error: unknown type name 'SoupServerMessage'; did you mean 'SoupServerClass'?

Fix auth-test.c compilation failure caused by CVE-2025-32910 patch

Link: 9af7d0fc75

(From OE-Core rev: 05d14768b5edf41c89b05725e06fd86b5376e6fd)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:34 -07:00
Hitendra Prajapati
e35c7960a7 icu: fix CVE-2025-5222
Upstream-Status: Backport from 2c667e31cf

(From OE-Core rev: a7a82be3b409d496f7a0813055f77212a3b0ef12)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:34 -07:00
Archana Polampalli
5b18890ace ghostscript: fix CVE-2025-48708
gs_lib_ctx_stash_sanitized_arg in base/gslibctx.c in Artifex Ghostscript before 10.05.1
lacks argument sanitization for the # case. A created PDF document includes
its password in cleartext.

(From OE-Core rev: 7052a81e4f9b19b5640b414c10b19f8232d81572)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-13 08:42:34 -07:00
NeilBrown
81e0dc80d7 nfs-utils: don't use signals to shut down nfs server.
Since Linux v2.4 it has been possible to stop all NFS server by running

   rpc.nfsd 0

i.e.  by requesting that zero threads be running.  This is preferred as
it doesn't risk killing some other process which happens to be called
"nfsd".

Since Linux v6.6 - and other stable kernels to which

  Commit: 390390240145 ("nfsd: don't allow nfsd threads to be
  signalled.")

has been backported - sending a signal no longer works to stop nfs server
threads.

This patch changes the nfsserver script to use "rpc.nfsd 0" to stop
server threads.

(From OE-Core rev: 415e73d53e5342f3f6ff6acd521ded2df3fbca1f)

Signed-off-by: NeilBrown <neil@brown.name>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7b09ad289a36)
Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-04 09:06:31 -07:00
Guocai He
0238a535e8 sysstat: correct the SRC_URI
The SRC_URI of http://pagesperso-orange.fr/sebastien.godard is not available
and the tarballs of sysstat are in https://sysstat.github.io/versions.html.

(From OE-Core rev: 27c31ebd8e05adb2e248e421cbb94c897b3080f5)

Signed-off-by: Guocai He <guocai.he.cn@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-04 09:06:31 -07:00
Bruce Ashfield
ad8045d76f linux-yocto/5.15: update to v5.15.184
Updating linux-yocto/5.15 to the latest korg -stable release that comprises
the following commits:

    98f47d0e9b8c5 Linux 5.15.184
    4ad2d3c4d3cc4 x86/modules: Set VM_FLUSH_RESET_PERMS in module_alloc()
    618df75f2e30c ice: arfs: fix use-after-free when freeing @rx_cpu_rmap
    b8d8f53e18581 netfilter: nf_tables: do not defer rule destruction via call_rcu
    a394c160d57f4 netfilter: nf_tables: wait for rcu grace period on net_device removal
    ba674db81a154 netfilter: nf_tables: pass nft_chain to destroy function, not nft_ctx
    7170875083254 btrfs: do not clean up repair bio if submit fails
    d64807ded1b60 btrfs: don't BUG_ON() when 0 reference count at btrfs_lookup_extent_info()
    65ccb2793da74 sctp: add mutual exclusion in proc_sctp_do_udp_port()
    ef3a6d3795068 selftests/mm: compaction_test: support platform with huge mount of memory
    6dacd2514eb9f usb: typec: fix pm usage counter imbalance in ucsi_ccg_sync_control()
    e15fd96c0b701 usb: typec: fix potential array underflow in ucsi_ccg_sync_control()
    9794ffd9d0c39 usb: typec: altmodes/displayport: create sysfs nodes as driver's default device attribute group
    f4bd982563c2f usb: typec: ucsi: displayport: Fix deadlock
    cec4f45bf51e0 clocksource/i8253: Use raw_spinlock_irqsave() in clockevent_i8253_disable()
    4f8244e0a2f4c block: fix direct io NOWAIT flag not work
    d83e52750d9a1 dmaengine: idxd: fix memory leak in error handling path of idxd_setup_groups
    7aa46ac359d34 dmaengine: idxd: fix memory leak in error handling path of idxd_setup_engines
    e7320147cf618 dmaengine: ti: k3-udma: Use cap_mask directly from dma_device structure instead of a local copy
    0ea0433f822ed dmaengine: ti: k3-udma: Add missing locking
    ca5b213bf4b42 wifi: mt76: disable napi on driver removal
    6fe084205a537 phy: renesas: rcar-gen3-usb2: Set timing registers only once
    35968b3f9538f phy: Fix error handling in tegra_xusb_port_init
    72b4e7e9a1599 tracing: samples: Initialize trace_array_printk() with the correct function
    560877a88d047 ftrace: Fix preemption accounting for stacktrace filter command
    deea40f26b9de ftrace: Fix preemption accounting for stacktrace trigger command
    466ef37d5545d ALSA: usb-audio: Add sample rate quirk for Microdia JP001 USB Camera
    e9600f67e8b9f ALSA: usb-audio: Add sample rate quirk for Audioengine D1
    9a51bc5224421 ALSA: es1968: Add error handling for snd_pcm_hw_constraint_pow2()
    d993895c11c42 ACPI: PPTT: Fix processor subtable walk
    d4175c6f96294 btrfs: fix discard worker infinite loop after disabling discard
    530e67c4b0120 dmaengine: Revert "dmaengine: dmatest: Fix dmatest waiting less when interrupted"
    cfcb2a5affbe8 x86/its: FineIBT-paranoid vs ITS
    e7117657695bd x86/its: Fix build errors when CONFIG_MODULES=n
    1b231a497756e x86/its: Use dynamic thunks for indirect branches
    c9ec159fed9f5 x86/its: Align RETs in BHB clear sequence to avoid thunking
    4804d7974301f x86/its: Add "vmexit" option to skip mitigation on some CPUs
    e30bcefa93a64 x86/its: Enable Indirect Target Selection mitigation
    5d19a0574b755 x86/its: Add support for ITS-safe return thunk
    498afe80ce3ec x86/alternatives: Remove faulty optimization
    a70424c61d5e6 x86/alternative: Optimize returns patching
    858073be8899e x86/its: Add support for ITS-safe indirect thunk
    34be1a3100b08 x86/its: Enumerate Indirect Target Selection (ITS) bug
    da8db23e3c8dd Documentation: x86/bugs/its: Add ITS documentation
    86a34f5eb24c9 x86/speculation: Remove the extra #ifdef around CALL_NOSPEC
    2d69c40c820a4 x86/speculation: Add a conditional CS prefix to CALL_NOSPEC
    175b3cb84685e x86/speculation: Simplify and make CALL_NOSPEC consistent
    8595a7453a5f6 x86,nospec: Simplify {JMP,CALL}_NOSPEC
    65346f970490e NFSv4/pnfs: Reset the layout state after a layoutreturn
    1eccb3a2dfe2e qlcnic: fix memory leak in qlcnic_sriov_channel_cfg_cmd()
    6d7a81a69af50 ALSA: sh: SND_AICA should depend on SH_DMA_API
    c8fe73ea80b49 net: dsa: sja1105: discard incoming frames in BR_STATE_LISTENING
    64675a9c00443 net: cadence: macb: Fix a possible deadlock in macb_halt_tx.
    d3336f746f196 net_sched: Flush gso_skb list too during ->change()
    894b06a72bd61 spi: loopback-test: Do not split 1024-byte hexdumps
    72f552e00c50f nfs: handle failure of nfs_get_lock_context in unlock path
    f8f470e3a7574 RDMA/rxe: Fix slab-use-after-free Read in rxe_queue_cleanup bug
    d91ab703438c6 iio: chemical: sps30: use aligned_s64 for timestamp
    a7a49aaab5787 iio: adc: ad7768-1: Fix insufficient alignment of timestamp.
    67c9081445295 tracing: probes: Fix a possible race in trace_probe_log APIs
    cc64061b90937 platform/x86: asus-wmi: Fix wlan_ctrl_by_user detection
    e0bb89c44b56e efi: libstub: Use '-std=gnu11' to fix build with GCC 15
    b5d500042eb33 usb: hcd-pci: remove the action of faking interrupt request
    6f0605db50e2c clk: imx: Add check for kcalloc
    5b837b9e1543e bpf: Fix the indention issue in grow_stack_state()
    42b62697634d1 cifs: Fix the calling of smb_version_operations::calc_smb_size()
    b14acf729e9dc f2fs: Add inline to f2fs_build_fault_attr() stub
    7c317bec311f8 f2fs: check validation of fault attrs in f2fs_build_fault_attr()
    81c12119c23f8 bpf: Fix accesses to uninit stack slots [ Upstream commit 6b4a64bafd107e521c01eec3453ce94a3fb38529 ]
    c4fa05422d87c smb: client: fix potential OOB in smb2_dump_detail()
    299ef3b5b00bf of: module: add buffer overflow check in of_modalias()
    b8086c3c1548b reiserfs: Avoid touching renamed directory if parent does not change
    ea091017ef62c ipv6: Fix data races around sk->sk_prot.
    ff8710da80ee6 ipv6: annotate some data-races around sk->sk_prot
    e8c2eafaaa6ac tcp: Fix data races around icsk->icsk_af_ops.
    8d1bab7709564 locking/rwsem: Disable preemption while trying for rwsem lock
    7c82dac028864 block, loop: support partitions without scanning
    45f504f301d41 bpftool: Fix pretty print dump for maps without BTF loaded
    1f24338cb789e jbd2: Drop the merge conflicted hunk
    e1d0e3c51bde6 tpm: tis_i2c: Limit write bursts to I2C_SMBUS_BLOCK_MAX (32) bytes
    1abe841fe331a tpm: tis_i2c: Limit read bursts to I2C_SMBUS_BLOCK_MAX (32) bytes
    6224acfc1d56b tpm: Add flag to use default cancellation policy
    1cd19d48fb909 tpm: tis_i2c: Fix sanity check interrupt enable mask
    a883da132fa82 tpm: Add tpm_tis_i2c backend for tpm_tis_core
    a742ac8a1c511 tpm: Add tpm_tis_verify_crc to the tpm_tis_phy_ops protocol layer
    ef495c5f45f2e tpm: Remove read16/read32/write32 calls from tpm_tis_phy_ops
    1f3be2e23aa6d gcc-plugins: Reorganize gimple includes for GCC 13
    24615a3b932aa ata: ahci: fix enum constants for gcc-13
    5d6cb145541aa net: stmmac: Enable mac_managed_pm phylink config
    fd93aabb42872 tools/resolve_btfids: Use pkg-config to locate libelf
    130f9da784063 tools/resolve_btfids: Build with host flags
    00f2f1a782f9b tools/resolve_btfids: Support cross-building the kernel with clang
    17776a4ba9c20 tools/resolve_btfids: Install libbpf headers when building
    7c9808380d70c libbpf: Make libbpf_version.h non-auto-generated
    37ae1ba791ac7 libbpf: Add LIBBPF_DEPRECATED_SINCE macro for scheduling API deprecations
    a2667e6d7314d drm/radeon: free iio for atombios when driver shutdown
    f100c753aa1f9 powerpc: Fix reschedule bug in KUAP-unlocked user copy
    da5513f301871 libbpf: Fix build warning on ref_ctr_off
    4c5a089621a8f perf python: Account for multiple words in CC
    1c5699ee85d4f fs: move S_ISGID stripping into the vfs_*() helpers
    838f5d0701d89 fs: add mode_strip_sgid() helper
    d971726836412 squashfs: provide backing_dev_info in order to disable read-ahead
    ed037d7be40c3 irq_work: use kasan_record_aux_stack_noalloc() record callstack
    1363bd7dbde39 ixgbevf: add disable link state
    e5601ae2bd249 ixgbe: add improvement for MDD response functionality
    caa57cd80575d ixgbe: add the ability for the PF to disable VF link state
    16a77bfcc7df1 Check /dev/console using init_stat()
    04574fd5579a4 tracing/arm: Have max stack tracer handle the case of return address after data
    0e51e57170184 gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully
    1e6b7da6ddba7 drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES
    4931609013207 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    04224f725aa36 irqchip/gic-v3-its: Skip HP notifier when no ITS is registered
    6f6c2996a81c1 irqchip/gic-v3-its: Postpone LPI pending table freeing and memreserve
    1fa94473423ff irqchip/gic-v3-its: Give the percpu rdist struct its own flags field
    6013d1ae5feb1 cert host tools: Stop complaining about deprecated OpenSSL functions
    efe20512212b0 init/Kconfig: fix CC_HAS_ASM_GOTO_TIED_OUTPUT test with dash
    a40d2daf2795d pnmtologo: use relocatable file name
    3b40d5b41155f of: configfs: remove unused variable overlay_lock
    6c085baf18386 tools: use basename to identify file in gen-mach-types
    2fca0fd719812 lib/build_OID_registry: fix reproducibility issues
    0f586f4ee8ada vt/conmakehash: improve reproducibility
    a75774679f28c OF: DT-Overlay configfs interface (v8)
    d179c639b30ba x86/boot: Wrap literal addresses in absolute_pointer()
    856ec356cf91e ACPI: thermal: drop an always true check
    7614af249993e xfs: Fix -Werror=dangling-pointer work-around for older GCC
    41470215f97ee xfs: Work around GCC 12 -Werror=dangling-pointer for xfs_attr_remote.o
    44a445c1922dc virtio-pci: Remove wrong address verification in vp_del_vqs()
    77aa9e489eafd bpf: Disallow unprivileged bpf by default
    ebfb1822e9f97 fs/aufs: fixup 5.15.36 fixups
    4eba9348d3e2e Revert "Revert "fbdev: Hot-unplug firmware fb devices on forced removal""
    5df6d1b00f95b jbd2: fix use-after-free of transaction_t race
    2d83e8196487f jbd2: refactor wait logic for transaction updates into a common function
    07a63f760793c netfilter: conntrack: avoid useless indirection during conntrack destruction
    4e71226259962 Revert "fbdev: Hot-unplug firmware fb devices on forced removal"
    7ba4cb36fd4f3 rcu: Avoid alloc_pages() when recording stack
    f78574dee71e4 kasan: test: silence intentional read overflow warnings
    d313cb89b6b1f kasan: arm64: fix pcpu_page_first_chunk crash with KASAN_VMALLOC
    5e279d5647ccf arm64: support page mapping percpu first chunk allocator
    e5bf16752dcac vmalloc: choose a better start address in vm_area_register_early()
    660b3d21b46f3 kasan: test: bypass __alloc_size checks
    00aa7573e53a2 kasan: test: add memcpy test that avoids out-of-bounds write
    67becf0b1bd44 kasan: fix tag for large allocations when using CONFIG_SLAB
    bedf1e033213c workqueue, kasan: avoid alloc_pages() when recording stack
    7195b67ce69b3 kasan: generic: introduce kasan_record_aux_stack_noalloc()
    bdff763f0e295 kasan: common: provide can_alloc in kasan_save_stack()
    51423ebb36adb lib/stackdepot: introduce __stack_depot_save()
    85373e66d8474 lib/stackdepot: remove unused function argument
    5b6cc9b251f32 lib/stackdepot: include gfp.h
    c9f3902d8069e aufs: reduce overhead for "code present but disabled" use case.
    b98d189df02cc aufs: bugfix, umount passes NULL to ->parse_monolithic()
    13b883cbbbd9f aufs standalone: cosmetic, missing copyright sentence
    21f8b0d81898e aufs: 5.15.5-20220117 ---> 5.15.5-20220221
    6199fd8966450 aufs: tiny, headers after fs_context
    8ddb40e31c29b aufs: fs_context 7/7, finally remount
    69035f71c6fd1 aufs: fs_context 6/7, now mount
    bc841b9706977 aufs: fs_context 5/7, parse all other mount options
    435188053da29 aufs: fs_context 4/7, parse xino options
    9af1f1825cbd7 aufs: fs_context 3/7, parse the branch-management options
    1c05eb767f8c3 aufs: fs_context 2/7, parse "br" mount option
    a8488f603134a aufs: fs_context 1/7, skelton of the new shceme
    8e32e0015564e aufs: pre fs_context, convert a static flag to a macro
    f90cb4144aec4 aufs: pre fs_context, support the incomplete sb and sbinfo case
    948762ef859c2 aufs: pre fs_context, convert the type of alloc_sbinfo()
    77151a08776b1 aufs: 5.15.5-20211129 ---> 5.15.5-20220117
    2539adbbbe1e4 aufs: 5.14-20211018 ---> 5.15.5-20211129
    7d32b25193c4c aufs: for v5.15-rc1, sync_inode() is gone
    66ec0c509225d aufs: for v5.15-rc1, new param 'rcu' for ->get_acl()
    69709dc518cd8 aufs: for v5.15-rc1, no mand-lock anymore
    ada8fe9543e50 aufs: 5.14-20210906  ---> 5.14-20211018
    b77f7f3f394ad Revert "aufs: adjust to v5.15 fs changes"
    81bdce5b58765 tick/nohz: WARN_ON --> WARN_ON_ONCE to prevent console saturation
    97c9638892228 sched/isolation: really align nohz_full with rcu_nocbs
    871f23ad36271 Revert "ARM: defconfig: Enable ax88796c driver for Exynos boards"
    ffad0783dd5b2 ARM: config: multi v7: Regenerate defconifg
    5c1e1a1ff2d39 ARM: config: multi v7: Add renamed symbols
    badaf96564fe1 ARM: config: multi v7: Clean up enabled by default options
    34996040fc9bd ARM: config: multi v7: Drop unavailable options
    7f685244afb3a powerpc/mm: Switch obsolete dssall to .long
    20301aeb1a641 riscv: fix build with binutils 2.38
    9df58d0705069 powerpc/lib/sstep: fix 'ptesync' build error
    720b61fc400b5 x86_64_defconfig: Fix warnings
    02bf23d26bc4c arm64: defconfig: cleanup config options
    05914e2c87e51 arm: defconfig: drop unused POWER_AVS option
    ffb532fa19b90 aufs5: fix build against v5.15.3+
    a4b3abf4d96d7 qemux86: add configuration symbol to select values
    fee94ee091541 clear_warn_once: add a clear_warn_once= boot parameter
    3d8762d900d93 clear_warn_once: bind a timer to written reset value
    95faacac47e8d clear_warn_once: expand debugfs to include read support
    de20c4240018c perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    0e4aacead9c15 perf: x86-32: explicitly include <errno.h>
    9ad92c11468e2 perf: mips64: Convert __u64 to unsigned long long
    09e7efe3e68a0 perf: fix bench numa compilation
    e79becc44fa6b perf: add SLANG_INC for slang.h
    b1033b5886819 perf: add sgidefs.h to for mips builds
    cf9db484ac0b4 perf: change --root to --prefix for python install
    7fd052c2c5624 perf: add 'libperl not found' warning
    27a437cdd4691 perf: force include of <stdbool.h>
    3b99d21bec2f6 fat: don't use obsolete random32 call in namei_vfat
    a7e9293b506bb FAT: Added FAT_NO_83NAME
    6fd0e71d9e5c1 FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    c379b0d324aeb FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    538be0fdb124f aufs: adjust to v5.15 fs changes
    f45da75c8759b aufs5: core
    047f57e07e01b aufs5: standalone
    029fc15574c88 aufs5: mmap
    610d0192ee94d aufs5: base
    d4e428d0ec5f4 aufs5: kbuild
    eb067eca251ab yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    286af18d0875e yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    24d59a4e26a67 yaffs2: v5.12+ build fixups (not runtime tested)
    22c73536d5d7e yaffs: include blkdev.h
    506b7251bfb81 yaffs: fix misplaced variable declaration
    a0e26ff364dcc yaffs2: v5.6 build fixups
    b10b1b2d169ef yaffs2: fix memory leak when /proc/yaffs is read
    ad9adccbb2147 yaffs: add strict check when call yaffs_internal_read_super
    2e3c3aec8279b yaffs: repair yaffs_get_mtd_device
    d662538516a7c yaffs: Fix build failure by handling inode i_version with proper atomic API
    70a6113ee2c7c yaffs2: fix memory leak in mount/umount
    3378e4a9e4043 yaffs: Avoid setting any ACL releated xattr
    ec2284edddef1 Yaffs:check oob size before auto selecting Yaffs1
    c2a49874051cd fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    e9a5105a3e735 yaffs2: adjust to proper location of MS_RDONLY
    608807406f138 yaffs2: import git revision b4ce1bb (jan, 2020)
    89e660ece42c8 initramfs: allow an optional wrapper script around initramfs generation
    b179dbc9aa109 iwlwifi: select MAC80211_LEDS conditionally
    3fd5ca3673d03 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    d1f6edbf01883 arm64/perf: Fix wrong cast that may cause wrong truncation
    d202fb2caf337 defconfigs: drop obselete options
    9a27e3b5f4e73 arm64/perf: fix backtrace for AAPCS with FP enabled
    e20d8cf019b42 linux-yocto: Handle /bin/awk issues
    b6d2a3dbbd3a3 uvesafb: provide option to specify timeout for task completion
    adb40f1e6a1a5 uvesafb: print error message when task timeout occurs
    f280a1ed09626 compiler.h: Undef before redefining __attribute_const__
    4352732f268c1 vmware: include jiffies.h
    7954a677968dc Resolve jiffies wrapping about arp
    5f28a1035d950 nfs: Allow default io size to be configured.
    0d7260ad71066 check console device file on fs when booting
    900a12e37e0a2 mount_root: clarify error messages for when no rootfs found
    7b878cbea7261 menuconfig,mconf-cfg: Allow specification of ncurses location
    6604fc1763b3d modpost: mask trivial warnings
    0d294adb09cbc kbuild: exclude meta directory from distclean processing
    a097cdd95a9ef powerpc: serialize image targets
    5db6ec39a0a3e arm: serialize build targets
    cbabca27905e2 crtsavres: fixups for 5.4+
    7fc7656ed403e powerpc/ptrace: Disable array-bounds warning with gcc8
    a5faac5a19a2e powerpc: Disable attribute-alias warnings from gcc8
    186c54665b676 powerpc: add crtsavres.o to archprepare for kbuild
    d1ea862964cae powerpc: kexec fix for powerpc64
    2ac35b89a0f90 powerpc: Add unwind information for SPE registers of E500 core
    2e1c348a28bbc mips: vdso: fix 'jalr $t9' crash in vdso code
    ec57870b303a8 mips: Kconfig: add QEMUMIPS64 option
    6a81b3c081078 4kc cache tlb hazard: tlbp cache coherency
    74e3b2a21e542 malta uhci quirks: make allowance for slow 4k(e)c
    22e65b63d3b4c arm/Makefile: Fix systemtap
    b7f1ab59f19e5 vexpress: Pass LOADADDR to Makefile
    ce2800c73bf7e arm: ARM EABI socketcall
    019d142fd956a ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: 471382b66a0f9f7001d80355c7a9128ff4b6b4b9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-04 09:06:31 -07:00
Bruce Ashfield
d30dba501a linux-yocto/5.15: update to v5.15.183
Updating linux-yocto/5.15 to the latest korg -stable release that comprises
the following commits:

    a68c15152131 Linux 5.15.183
    a1b63a84a789 x86/bhi: Do not set BHI_DIS_S in 32-bit mode
    f9340af845a6 x86/bpf: Add IBHF call at end of classic BPF
    673b19e5ceb4 x86/bpf: Call branch history clearing sequence on exit
    2edc296e2107 Revert "net: phy: microchip: force IRQ polling mode for lan88xx"
    7ced6fd9d6f8 do_umount(): add missing barrier before refcount checks in sync case
    f04583e37b5e nvme: unblock ctrl state transition for firmware update
    3aaa80e2f394 drm/panel: simple: Update timings for AUO G101EVN010
    aba591c13ba4 MIPS: Fix MAX_REG_OFFSET
    712390196c91 iio: adc: dln2: Use aligned_s64 for timestamp
    0aaf8d478cca types: Complement the aligned types with signed 64-bit one
    6b3a2d6fd2c7 usb: usbtmc: Fix erroneous generic_read ioctl return
    d88d487cf85f usb: usbtmc: Fix erroneous wait_srq ioctl return
    336fe2d28118 usb: usbtmc: Fix erroneous get_stb ioctl error returns
    3b408eed3515 USB: usbtmc: use interruptible sleep in usbtmc_read
    7804c4d63edf usb: typec: ucsi: displayport: Fix NULL pointer access
    3e9a34da9dac usb: typec: tcpm: delay SNK_TRY_WAIT_DEBOUNCE to SRC_TRYWAIT transition
    59a24f14c7d4 usb: host: tegra: Prevent host controller crash when OTG port is used
    ed96ab6478de usb: gadget: tegra-xudc: ACK ST_RC after clearing CTRL_RUN
    2997957a4eda usb: cdnsp: fix L1 resume issue for RTL_REVISION_NEW_LPM version
    815d6afeac3f usb: cdnsp: Fix issue with resuming from L1
    07413d8c74ed ocfs2: stop quota recovery before disabling quotas
    46c26ae13bd7 ocfs2: implement handshaking with ocfs2 recovery thread
    d8a3d29f6186 ocfs2: switch osb->disable_recovery to enum
    f1c71b4bd721 module: ensure that kobject_put() is safe for module type kobjects
    4d260a5558df xenbus: Use kref to track req lifetime
    036aabe17823 usb: uhci-platform: Make the clock really optional
    1d7472e79786 drm/amd/display: Fix wrong handling for AUX_DEFER case
    35b8c0a28498 iio: imu: st_lsm6dsx: fix possible lockup in st_lsm6dsx_read_tagged_fifo
    f3cf233c9465 iio: imu: st_lsm6dsx: fix possible lockup in st_lsm6dsx_read_fifo
    e5755bf22c21 iio: adis16201: Correct inclinometer channel resolution
    8f9c524b9163 iio: adc: ad7606: fix serial register access
    12f703811af0 x86/mm: Eliminate window where TLB flushes may be inadvertently skipped
    f74c6c87fa75 staging: axis-fifo: Correct handling of tx_fifo_depth for size validation
    632c789764d9 staging: axis-fifo: Remove hardware resets for user errors
    2cb6a49a46f0 staging: iio: adc: ad7816: Correct conditional logic for store mode
    40c8117be683 Input: synaptics - enable InterTouch on TUXEDO InfinityBook Pro 14 v5
    563ceee84dbd Input: synaptics - enable SMBus for HP Elitebook 850 G1
    ac5068d975c4 Input: synaptics - enable InterTouch on Dell Precision M3800
    ef9f94a50bf4 Input: synaptics - enable InterTouch on Dynabook Portege X30L-G
    7e821d73ec3d Input: synaptics - enable InterTouch on Dynabook Portege X30-D
    44657c9b7a8c net: dsa: b53: fix learning on VLAN unaware bridges
    7ed8ff2d73d5 net: dsa: b53: always rejoin default untagged VLAN on bridge leave
    da863b205e56 net: dsa: b53: fix VLAN ID for untagged vlan on bridge leave
    8dced52950dd net: dsa: b53: fix flushing old pvid VLAN on pvid change
    1b094a7c84b1 net: dsa: b53: fix clearing PVID of a port
    402be90e4ebd net: dsa: b53: allow leaky reserved multicast
    82c1eb32693b netfilter: ipset: fix region locking in hash types
    7ef1fdf42f50 can: gw: fix RCU/BH usage in cgw_create_job()
    1b199a17b744 rcu/kvfree: Add kvfree_rcu_mightsleep() and kfree_rcu_mightsleep()
    3574f537b5b0 can: gw: use call_rcu() instead of costly synchronize_rcu()
    69aa22df4fdc gre: Fix again IPv6 link-local address generation.
    47f7f00cf2fa openvswitch: Fix unsafe attribute parsing in output_userspace()
    b589c02776b7 can: mcp251xfd: mcp251xfd_remove(): fix order of unregistration calls
    7be7548a3ec6 can: mcan: m_can_class_unregister(): fix order of unregistration calls
    e0bb89c44b56 efi: libstub: Use '-std=gnu11' to fix build with GCC 15
    b5d500042eb3 usb: hcd-pci: remove the action of faking interrupt request
    6f0605db50e2 clk: imx: Add check for kcalloc
    5b837b9e1543 bpf: Fix the indention issue in grow_stack_state()
    42b62697634d cifs: Fix the calling of smb_version_operations::calc_smb_size()
    b14acf729e9d f2fs: Add inline to f2fs_build_fault_attr() stub
    7c317bec311f f2fs: check validation of fault attrs in f2fs_build_fault_attr()
    81c12119c23f bpf: Fix accesses to uninit stack slots [ Upstream commit 6b4a64bafd107e521c01eec3453ce94a3fb38529 ]
    c4fa05422d87 smb: client: fix potential OOB in smb2_dump_detail()
    299ef3b5b00b of: module: add buffer overflow check in of_modalias()
    b8086c3c1548 reiserfs: Avoid touching renamed directory if parent does not change
    ea091017ef62 ipv6: Fix data races around sk->sk_prot.
    ff8710da80ee ipv6: annotate some data-races around sk->sk_prot
    e8c2eafaaa6a tcp: Fix data races around icsk->icsk_af_ops.
    8d1bab770956 locking/rwsem: Disable preemption while trying for rwsem lock
    7c82dac02886 block, loop: support partitions without scanning
    45f504f301d4 bpftool: Fix pretty print dump for maps without BTF loaded
    1f24338cb789 jbd2: Drop the merge conflicted hunk
    e1d0e3c51bde tpm: tis_i2c: Limit write bursts to I2C_SMBUS_BLOCK_MAX (32) bytes
    1abe841fe331 tpm: tis_i2c: Limit read bursts to I2C_SMBUS_BLOCK_MAX (32) bytes
    6224acfc1d56 tpm: Add flag to use default cancellation policy
    1cd19d48fb90 tpm: tis_i2c: Fix sanity check interrupt enable mask
    a883da132fa8 tpm: Add tpm_tis_i2c backend for tpm_tis_core
    a742ac8a1c51 tpm: Add tpm_tis_verify_crc to the tpm_tis_phy_ops protocol layer
    ef495c5f45f2 tpm: Remove read16/read32/write32 calls from tpm_tis_phy_ops
    1f3be2e23aa6 gcc-plugins: Reorganize gimple includes for GCC 13
    24615a3b932a ata: ahci: fix enum constants for gcc-13
    5d6cb145541a net: stmmac: Enable mac_managed_pm phylink config
    fd93aabb4287 tools/resolve_btfids: Use pkg-config to locate libelf
    130f9da78406 tools/resolve_btfids: Build with host flags
    00f2f1a782f9 tools/resolve_btfids: Support cross-building the kernel with clang
    17776a4ba9c2 tools/resolve_btfids: Install libbpf headers when building
    7c9808380d70 libbpf: Make libbpf_version.h non-auto-generated
    37ae1ba791ac libbpf: Add LIBBPF_DEPRECATED_SINCE macro for scheduling API deprecations
    a2667e6d7314 drm/radeon: free iio for atombios when driver shutdown
    f100c753aa1f powerpc: Fix reschedule bug in KUAP-unlocked user copy
    da5513f30187 libbpf: Fix build warning on ref_ctr_off
    4c5a089621a8 perf python: Account for multiple words in CC
    1c5699ee85d4 fs: move S_ISGID stripping into the vfs_*() helpers
    838f5d0701d8 fs: add mode_strip_sgid() helper
    d97172683641 squashfs: provide backing_dev_info in order to disable read-ahead
    ed037d7be40c irq_work: use kasan_record_aux_stack_noalloc() record callstack
    1363bd7dbde3 ixgbevf: add disable link state
    e5601ae2bd24 ixgbe: add improvement for MDD response functionality
    caa57cd80575 ixgbe: add the ability for the PF to disable VF link state
    16a77bfcc7df Check /dev/console using init_stat()
    04574fd5579a tracing/arm: Have max stack tracer handle the case of return address after data
    0e51e5717018 gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully
    1e6b7da6ddba drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES
    493160901320 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    04224f725aa3 irqchip/gic-v3-its: Skip HP notifier when no ITS is registered
    6f6c2996a81c irqchip/gic-v3-its: Postpone LPI pending table freeing and memreserve
    1fa94473423f irqchip/gic-v3-its: Give the percpu rdist struct its own flags field
    6013d1ae5feb cert host tools: Stop complaining about deprecated OpenSSL functions
    efe20512212b init/Kconfig: fix CC_HAS_ASM_GOTO_TIED_OUTPUT test with dash
    a40d2daf2795 pnmtologo: use relocatable file name
    3b40d5b41155 of: configfs: remove unused variable overlay_lock
    6c085baf1838 tools: use basename to identify file in gen-mach-types
    2fca0fd71981 lib/build_OID_registry: fix reproducibility issues
    0f586f4ee8ad vt/conmakehash: improve reproducibility
    a75774679f28 OF: DT-Overlay configfs interface (v8)
    d179c639b30b x86/boot: Wrap literal addresses in absolute_pointer()
    856ec356cf91 ACPI: thermal: drop an always true check
    7614af249993 xfs: Fix -Werror=dangling-pointer work-around for older GCC
    41470215f97e xfs: Work around GCC 12 -Werror=dangling-pointer for xfs_attr_remote.o
    44a445c1922d virtio-pci: Remove wrong address verification in vp_del_vqs()
    77aa9e489eaf bpf: Disallow unprivileged bpf by default
    ebfb1822e9f9 fs/aufs: fixup 5.15.36 fixups
    4eba9348d3e2 Revert "Revert "fbdev: Hot-unplug firmware fb devices on forced removal""
    5df6d1b00f95 jbd2: fix use-after-free of transaction_t race
    2d83e8196487 jbd2: refactor wait logic for transaction updates into a common function
    07a63f760793 netfilter: conntrack: avoid useless indirection during conntrack destruction
    4e7122625996 Revert "fbdev: Hot-unplug firmware fb devices on forced removal"
    7ba4cb36fd4f rcu: Avoid alloc_pages() when recording stack
    f78574dee71e kasan: test: silence intentional read overflow warnings
    d313cb89b6b1 kasan: arm64: fix pcpu_page_first_chunk crash with KASAN_VMALLOC
    5e279d5647cc arm64: support page mapping percpu first chunk allocator
    e5bf16752dca vmalloc: choose a better start address in vm_area_register_early()
    660b3d21b46f kasan: test: bypass __alloc_size checks
    00aa7573e53a kasan: test: add memcpy test that avoids out-of-bounds write
    67becf0b1bd4 kasan: fix tag for large allocations when using CONFIG_SLAB
    bedf1e033213 workqueue, kasan: avoid alloc_pages() when recording stack
    7195b67ce69b kasan: generic: introduce kasan_record_aux_stack_noalloc()
    bdff763f0e29 kasan: common: provide can_alloc in kasan_save_stack()
    51423ebb36ad lib/stackdepot: introduce __stack_depot_save()
    85373e66d847 lib/stackdepot: remove unused function argument
    5b6cc9b251f3 lib/stackdepot: include gfp.h
    c9f3902d8069 aufs: reduce overhead for "code present but disabled" use case.
    b98d189df02c aufs: bugfix, umount passes NULL to ->parse_monolithic()
    13b883cbbbd9 aufs standalone: cosmetic, missing copyright sentence
    21f8b0d81898 aufs: 5.15.5-20220117 ---> 5.15.5-20220221
    6199fd896645 aufs: tiny, headers after fs_context
    8ddb40e31c29 aufs: fs_context 7/7, finally remount
    69035f71c6fd aufs: fs_context 6/7, now mount
    bc841b970697 aufs: fs_context 5/7, parse all other mount options
    435188053da2 aufs: fs_context 4/7, parse xino options
    9af1f1825cbd aufs: fs_context 3/7, parse the branch-management options
    1c05eb767f8c aufs: fs_context 2/7, parse "br" mount option
    a8488f603134 aufs: fs_context 1/7, skelton of the new shceme
    8e32e0015564 aufs: pre fs_context, convert a static flag to a macro
    f90cb4144aec aufs: pre fs_context, support the incomplete sb and sbinfo case
    948762ef859c aufs: pre fs_context, convert the type of alloc_sbinfo()
    77151a08776b aufs: 5.15.5-20211129 ---> 5.15.5-20220117
    2539adbbbe1e aufs: 5.14-20211018 ---> 5.15.5-20211129
    7d32b25193c4 aufs: for v5.15-rc1, sync_inode() is gone
    66ec0c509225 aufs: for v5.15-rc1, new param 'rcu' for ->get_acl()
    69709dc518cd aufs: for v5.15-rc1, no mand-lock anymore
    ada8fe9543e5 aufs: 5.14-20210906  ---> 5.14-20211018
    b77f7f3f394a Revert "aufs: adjust to v5.15 fs changes"
    81bdce5b5876 tick/nohz: WARN_ON --> WARN_ON_ONCE to prevent console saturation
    97c963889222 sched/isolation: really align nohz_full with rcu_nocbs
    871f23ad3627 Revert "ARM: defconfig: Enable ax88796c driver for Exynos boards"
    ffad0783dd5b ARM: config: multi v7: Regenerate defconifg
    5c1e1a1ff2d3 ARM: config: multi v7: Add renamed symbols
    badaf96564fe ARM: config: multi v7: Clean up enabled by default options
    34996040fc9b ARM: config: multi v7: Drop unavailable options
    7f685244afb3 powerpc/mm: Switch obsolete dssall to .long
    20301aeb1a64 riscv: fix build with binutils 2.38
    9df58d070506 powerpc/lib/sstep: fix 'ptesync' build error
    720b61fc400b x86_64_defconfig: Fix warnings
    02bf23d26bc4 arm64: defconfig: cleanup config options
    05914e2c87e5 arm: defconfig: drop unused POWER_AVS option
    ffb532fa19b9 aufs5: fix build against v5.15.3+
    a4b3abf4d96d qemux86: add configuration symbol to select values
    fee94ee09154 clear_warn_once: add a clear_warn_once= boot parameter
    3d8762d900d9 clear_warn_once: bind a timer to written reset value
    95faacac47e8 clear_warn_once: expand debugfs to include read support
    de20c4240018 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    0e4aacead9c1 perf: x86-32: explicitly include <errno.h>
    9ad92c11468e perf: mips64: Convert __u64 to unsigned long long
    09e7efe3e68a perf: fix bench numa compilation
    e79becc44fa6 perf: add SLANG_INC for slang.h
    b1033b588681 perf: add sgidefs.h to for mips builds
    cf9db484ac0b perf: change --root to --prefix for python install
    7fd052c2c562 perf: add 'libperl not found' warning
    27a437cdd469 perf: force include of <stdbool.h>
    3b99d21bec2f fat: don't use obsolete random32 call in namei_vfat
    a7e9293b506b FAT: Added FAT_NO_83NAME
    6fd0e71d9e5c FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    c379b0d324ae FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    538be0fdb124 aufs: adjust to v5.15 fs changes
    f45da75c8759 aufs5: core
    047f57e07e01 aufs5: standalone
    029fc15574c8 aufs5: mmap
    610d0192ee94 aufs5: base
    d4e428d0ec5f aufs5: kbuild
    eb067eca251a yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    286af18d0875 yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    24d59a4e26a6 yaffs2: v5.12+ build fixups (not runtime tested)
    22c73536d5d7 yaffs: include blkdev.h
    506b7251bfb8 yaffs: fix misplaced variable declaration
    a0e26ff364dc yaffs2: v5.6 build fixups
    b10b1b2d169e yaffs2: fix memory leak when /proc/yaffs is read
    ad9adccbb214 yaffs: add strict check when call yaffs_internal_read_super
    2e3c3aec8279 yaffs: repair yaffs_get_mtd_device
    d662538516a7 yaffs: Fix build failure by handling inode i_version with proper atomic API
    70a6113ee2c7 yaffs2: fix memory leak in mount/umount
    3378e4a9e404 yaffs: Avoid setting any ACL releated xattr
    ec2284edddef Yaffs:check oob size before auto selecting Yaffs1
    c2a49874051c fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    e9a5105a3e73 yaffs2: adjust to proper location of MS_RDONLY
    608807406f13 yaffs2: import git revision b4ce1bb (jan, 2020)
    89e660ece42c initramfs: allow an optional wrapper script around initramfs generation
    b179dbc9aa10 iwlwifi: select MAC80211_LEDS conditionally
    3fd5ca3673d0 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    d1f6edbf0188 arm64/perf: Fix wrong cast that may cause wrong truncation
    d202fb2caf33 defconfigs: drop obselete options
    9a27e3b5f4e7 arm64/perf: fix backtrace for AAPCS with FP enabled
    e20d8cf019b4 linux-yocto: Handle /bin/awk issues
    b6d2a3dbbd3a uvesafb: provide option to specify timeout for task completion
    adb40f1e6a1a uvesafb: print error message when task timeout occurs
    f280a1ed0962 compiler.h: Undef before redefining __attribute_const__
    4352732f268c vmware: include jiffies.h
    7954a677968d Resolve jiffies wrapping about arp
    5f28a1035d95 nfs: Allow default io size to be configured.
    0d7260ad7106 check console device file on fs when booting
    900a12e37e0a mount_root: clarify error messages for when no rootfs found
    7b878cbea726 menuconfig,mconf-cfg: Allow specification of ncurses location
    6604fc1763b3 modpost: mask trivial warnings
    0d294adb09cb kbuild: exclude meta directory from distclean processing
    a097cdd95a9e powerpc: serialize image targets
    5db6ec39a0a3 arm: serialize build targets
    cbabca27905e crtsavres: fixups for 5.4+
    7fc7656ed403 powerpc/ptrace: Disable array-bounds warning with gcc8
    a5faac5a19a2 powerpc: Disable attribute-alias warnings from gcc8
    186c54665b67 powerpc: add crtsavres.o to archprepare for kbuild
    d1ea862964ca powerpc: kexec fix for powerpc64
    2ac35b89a0f9 powerpc: Add unwind information for SPE registers of E500 core
    2e1c348a28bb mips: vdso: fix 'jalr $t9' crash in vdso code
    ec57870b303a mips: Kconfig: add QEMUMIPS64 option
    6a81b3c08107 4kc cache tlb hazard: tlbp cache coherency
    74e3b2a21e54 malta uhci quirks: make allowance for slow 4k(e)c
    22e65b63d3b4 arm/Makefile: Fix systemtap
    b7f1ab59f19e vexpress: Pass LOADADDR to Makefile
    ce2800c73bf7 arm: ARM EABI socketcall
    019d142fd956 ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: c58a986d70d4d62300809f24343dab639c41045d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-04 09:06:31 -07:00
Bruce Ashfield
ec1ed4896c linux-yocto/5.15: update to v5.15.182
Updating linux-yocto/5.15 to the latest korg -stable release that comprises
the following commits:

    3b8db0e4f263 Linux 5.15.182
    4226622647e3 scsi: target: Fix WRITE_SAME No Data Buffer crash
    aaa763ab8cec dm: fix copying after src array boundaries
    655e607898f8 iommu/arm-smmu-v3: Fix iommu_device_probe bug due to duplicated stream ids
    6077d3a53d99 iommu/arm-smmu-v3: Use the new rb tree helpers
    f95659affee3 irqchip/gic-v2m: Prevent use after free of gicv2m_get_fwnode()
    073b77f8619f irqchip/gic-v2m: Mark a few functions __init
    5883bcce0ca5 irqchip/gic-v2m: Add const to of_device_id
    cdde591d23f4 Revert "drm/meson: vclk: fix calculation of 59.94 fractional rates"
    853e14cf36f6 net: phy: microchip: force IRQ polling mode for lan88xx
    d7084c39aed6 ARM: dts: opos6ul: add ksz8081 phy properties
    91ff1e9652fb firmware: arm_scmi: Balance device refcount when destroying devices
    d9f609cb50eb net: hns3: fix deadlock issue when externel_lb and reset are executed together
    c7f24b7d9454 of: module: add buffer overflow check in of_modalias()
    cc826a9e1e4e PCI: imx6: Skip controller_id generation logic for i.MX7D
    21491989477a net: hns3: defer calling ptp_clock_register()
    19a68aa1b993 net: hns3: fixed debugfs tm_qset size
    a059cef34d73 net: hns3: fix an interrupt residual problem
    85fc1d802edf net: hns3: add support for external loopback test
    796f64db86d1 net: hns3: store rx VLAN tag offload state for VF
    6bed80284c17 net: fec: ERR007885 Workaround for conventional TX
    df993daa4c96 net: lan743x: Fix memleak issue when GSO enabled
    f21fb533fc3e nvme-tcp: fix premature queue removal and I/O failover
    dd008c029fdb bnxt_en: Fix ethtool -d byte order for 32-bit values
    69b10dd23ab8 bnxt_en: Fix out-of-bound memcpy() during ethtool -w
    f4f30f64f7ae bnxt_en: Fix coredump logic to free allocated buffer
    15cb7eab09fe net: ipv6: fix UDPv6 GSO segmentation with NAT
    6b732322eb65 net: dlink: Correct endianness handling of led_mode
    a32dcc3b8293 ice: Check VF VSI Pointer Value in ice_vc_add_fdir_fltr()
    e06e4cdfb65e ice: Refactor promiscuous functions
    0bf32d6fb1fc net_sched: qfq: Fix double list add in class with netem as child qdisc
    554acc5a2ea9 net_sched: ets: Fix double list add in class with netem as child qdisc
    e3e949a39a91 net_sched: hfsc: Fix a UAF vulnerability in class with netem as child qdisc
    2968632880f1 net_sched: drr: Fix double list add in class with netem as child qdisc
    6884fc89d3fc net: ethernet: mtk-star-emac: rearm interrupts in rx_poll only when advised
    bedd287fdd31 net: ethernet: mtk-star-emac: fix spinlock recursion issues on rx/tx poll
    97da99868573 net: ethernet: mtk-star-emac: separate tx/rx handling with two NAPIs
    688fff006fd1 net/mlx5: E-switch, Fix error handling for enabling roce
    225ee358a4ed net/mlx5: E-Switch, Initialize MAC Address for Default GID
    9d3ef89b6a5e net/sched: act_mirred: don't override retval if we already lost the skb
    9efb2b99b96c KVM: x86: Load DR6 with guest value only before entering .vcpu_run() loop
    1a3f9482b50b tracing: Fix oob write in trace_seq_to_buffer()
    8ba0bfe23917 iommu/vt-d: Apply quirk_iommu_igfx for 8086:0044 (QM57/QS57)
    466d9da26707 iommu/amd: Fix potential buffer overflow in parse_ivrs_acpihid
    4df67fb22782 dm: always update the array size in realloc_argv on success
    526530ec0058 dm-integrity: fix a warning on invalid table line
    508be7c00143 wifi: brcm80211: fmac: Add error handling for brcmf_usb_dl_writeimage()
    113304ce7e8a mmc: renesas_sdhi: Fix error handling in renesas_sdhi_probe
    d5a69c78c9cc amd-xgbe: Fix to ensure dependent features are toggled with RX checksum offload
    ec4584495868 parisc: Fix double SIGFPE crash
    6266b3509b2c arm64: errata: Add missing sentinels to Spectre-BHB MIDR arrays
    f0d2cca416c6 i2c: imx-lpi2c: Fix clock count when probe defers
    b98f280fa8c1 EDAC/altera: Set DDR and SDMMC interrupt mask before registration
    72d3974ed3a8 EDAC/altera: Test the correct error reg offset
    2ec0f5f6d476 drm/nouveau: Fix WARN_ON in nouveau_fence_context_kill()
    169346d866dc ALSA: usb-audio: Add second USB ID for Jabra Evolve 65 headset
    e0bb89c44b56 efi: libstub: Use '-std=gnu11' to fix build with GCC 15
    b5d500042eb3 usb: hcd-pci: remove the action of faking interrupt request
    6f0605db50e2 clk: imx: Add check for kcalloc
    5b837b9e1543 bpf: Fix the indention issue in grow_stack_state()
    42b62697634d cifs: Fix the calling of smb_version_operations::calc_smb_size()
    b14acf729e9d f2fs: Add inline to f2fs_build_fault_attr() stub
    7c317bec311f f2fs: check validation of fault attrs in f2fs_build_fault_attr()
    81c12119c23f bpf: Fix accesses to uninit stack slots [ Upstream commit 6b4a64bafd107e521c01eec3453ce94a3fb38529 ]
    c4fa05422d87 smb: client: fix potential OOB in smb2_dump_detail()
    299ef3b5b00b of: module: add buffer overflow check in of_modalias()
    b8086c3c1548 reiserfs: Avoid touching renamed directory if parent does not change
    ea091017ef62 ipv6: Fix data races around sk->sk_prot.
    ff8710da80ee ipv6: annotate some data-races around sk->sk_prot
    e8c2eafaaa6a tcp: Fix data races around icsk->icsk_af_ops.
    8d1bab770956 locking/rwsem: Disable preemption while trying for rwsem lock
    7c82dac02886 block, loop: support partitions without scanning
    45f504f301d4 bpftool: Fix pretty print dump for maps without BTF loaded
    1f24338cb789 jbd2: Drop the merge conflicted hunk
    e1d0e3c51bde tpm: tis_i2c: Limit write bursts to I2C_SMBUS_BLOCK_MAX (32) bytes
    1abe841fe331 tpm: tis_i2c: Limit read bursts to I2C_SMBUS_BLOCK_MAX (32) bytes
    6224acfc1d56 tpm: Add flag to use default cancellation policy
    1cd19d48fb90 tpm: tis_i2c: Fix sanity check interrupt enable mask
    a883da132fa8 tpm: Add tpm_tis_i2c backend for tpm_tis_core
    a742ac8a1c51 tpm: Add tpm_tis_verify_crc to the tpm_tis_phy_ops protocol layer
    ef495c5f45f2 tpm: Remove read16/read32/write32 calls from tpm_tis_phy_ops
    1f3be2e23aa6 gcc-plugins: Reorganize gimple includes for GCC 13
    24615a3b932a ata: ahci: fix enum constants for gcc-13
    5d6cb145541a net: stmmac: Enable mac_managed_pm phylink config
    fd93aabb4287 tools/resolve_btfids: Use pkg-config to locate libelf
    130f9da78406 tools/resolve_btfids: Build with host flags
    00f2f1a782f9 tools/resolve_btfids: Support cross-building the kernel with clang
    17776a4ba9c2 tools/resolve_btfids: Install libbpf headers when building
    7c9808380d70 libbpf: Make libbpf_version.h non-auto-generated
    37ae1ba791ac libbpf: Add LIBBPF_DEPRECATED_SINCE macro for scheduling API deprecations
    a2667e6d7314 drm/radeon: free iio for atombios when driver shutdown
    f100c753aa1f powerpc: Fix reschedule bug in KUAP-unlocked user copy
    da5513f30187 libbpf: Fix build warning on ref_ctr_off
    4c5a089621a8 perf python: Account for multiple words in CC
    1c5699ee85d4 fs: move S_ISGID stripping into the vfs_*() helpers
    838f5d0701d8 fs: add mode_strip_sgid() helper
    d97172683641 squashfs: provide backing_dev_info in order to disable read-ahead
    ed037d7be40c irq_work: use kasan_record_aux_stack_noalloc() record callstack
    1363bd7dbde3 ixgbevf: add disable link state
    e5601ae2bd24 ixgbe: add improvement for MDD response functionality
    caa57cd80575 ixgbe: add the ability for the PF to disable VF link state
    16a77bfcc7df Check /dev/console using init_stat()
    04574fd5579a tracing/arm: Have max stack tracer handle the case of return address after data
    0e51e5717018 gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully
    1e6b7da6ddba drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES
    493160901320 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    04224f725aa3 irqchip/gic-v3-its: Skip HP notifier when no ITS is registered
    6f6c2996a81c irqchip/gic-v3-its: Postpone LPI pending table freeing and memreserve
    1fa94473423f irqchip/gic-v3-its: Give the percpu rdist struct its own flags field
    6013d1ae5feb cert host tools: Stop complaining about deprecated OpenSSL functions
    efe20512212b init/Kconfig: fix CC_HAS_ASM_GOTO_TIED_OUTPUT test with dash
    a40d2daf2795 pnmtologo: use relocatable file name
    3b40d5b41155 of: configfs: remove unused variable overlay_lock
    6c085baf1838 tools: use basename to identify file in gen-mach-types
    2fca0fd71981 lib/build_OID_registry: fix reproducibility issues
    0f586f4ee8ad vt/conmakehash: improve reproducibility
    a75774679f28 OF: DT-Overlay configfs interface (v8)
    d179c639b30b x86/boot: Wrap literal addresses in absolute_pointer()
    856ec356cf91 ACPI: thermal: drop an always true check
    7614af249993 xfs: Fix -Werror=dangling-pointer work-around for older GCC
    41470215f97e xfs: Work around GCC 12 -Werror=dangling-pointer for xfs_attr_remote.o
    44a445c1922d virtio-pci: Remove wrong address verification in vp_del_vqs()
    77aa9e489eaf bpf: Disallow unprivileged bpf by default
    ebfb1822e9f9 fs/aufs: fixup 5.15.36 fixups
    4eba9348d3e2 Revert "Revert "fbdev: Hot-unplug firmware fb devices on forced removal""
    5df6d1b00f95 jbd2: fix use-after-free of transaction_t race
    2d83e8196487 jbd2: refactor wait logic for transaction updates into a common function
    07a63f760793 netfilter: conntrack: avoid useless indirection during conntrack destruction
    4e7122625996 Revert "fbdev: Hot-unplug firmware fb devices on forced removal"
    7ba4cb36fd4f rcu: Avoid alloc_pages() when recording stack
    f78574dee71e kasan: test: silence intentional read overflow warnings
    d313cb89b6b1 kasan: arm64: fix pcpu_page_first_chunk crash with KASAN_VMALLOC
    5e279d5647cc arm64: support page mapping percpu first chunk allocator
    e5bf16752dca vmalloc: choose a better start address in vm_area_register_early()
    660b3d21b46f kasan: test: bypass __alloc_size checks
    00aa7573e53a kasan: test: add memcpy test that avoids out-of-bounds write
    67becf0b1bd4 kasan: fix tag for large allocations when using CONFIG_SLAB
    bedf1e033213 workqueue, kasan: avoid alloc_pages() when recording stack
    7195b67ce69b kasan: generic: introduce kasan_record_aux_stack_noalloc()
    bdff763f0e29 kasan: common: provide can_alloc in kasan_save_stack()
    51423ebb36ad lib/stackdepot: introduce __stack_depot_save()
    85373e66d847 lib/stackdepot: remove unused function argument
    5b6cc9b251f3 lib/stackdepot: include gfp.h
    c9f3902d8069 aufs: reduce overhead for "code present but disabled" use case.
    b98d189df02c aufs: bugfix, umount passes NULL to ->parse_monolithic()
    13b883cbbbd9 aufs standalone: cosmetic, missing copyright sentence
    21f8b0d81898 aufs: 5.15.5-20220117 ---> 5.15.5-20220221
    6199fd896645 aufs: tiny, headers after fs_context
    8ddb40e31c29 aufs: fs_context 7/7, finally remount
    69035f71c6fd aufs: fs_context 6/7, now mount
    bc841b970697 aufs: fs_context 5/7, parse all other mount options
    435188053da2 aufs: fs_context 4/7, parse xino options
    9af1f1825cbd aufs: fs_context 3/7, parse the branch-management options
    1c05eb767f8c aufs: fs_context 2/7, parse "br" mount option
    a8488f603134 aufs: fs_context 1/7, skelton of the new shceme
    8e32e0015564 aufs: pre fs_context, convert a static flag to a macro
    f90cb4144aec aufs: pre fs_context, support the incomplete sb and sbinfo case
    948762ef859c aufs: pre fs_context, convert the type of alloc_sbinfo()
    77151a08776b aufs: 5.15.5-20211129 ---> 5.15.5-20220117
    2539adbbbe1e aufs: 5.14-20211018 ---> 5.15.5-20211129
    7d32b25193c4 aufs: for v5.15-rc1, sync_inode() is gone
    66ec0c509225 aufs: for v5.15-rc1, new param 'rcu' for ->get_acl()
    69709dc518cd aufs: for v5.15-rc1, no mand-lock anymore
    ada8fe9543e5 aufs: 5.14-20210906  ---> 5.14-20211018
    b77f7f3f394a Revert "aufs: adjust to v5.15 fs changes"
    81bdce5b5876 tick/nohz: WARN_ON --> WARN_ON_ONCE to prevent console saturation
    97c963889222 sched/isolation: really align nohz_full with rcu_nocbs
    871f23ad3627 Revert "ARM: defconfig: Enable ax88796c driver for Exynos boards"
    ffad0783dd5b ARM: config: multi v7: Regenerate defconifg
    5c1e1a1ff2d3 ARM: config: multi v7: Add renamed symbols
    badaf96564fe ARM: config: multi v7: Clean up enabled by default options
    34996040fc9b ARM: config: multi v7: Drop unavailable options
    7f685244afb3 powerpc/mm: Switch obsolete dssall to .long
    20301aeb1a64 riscv: fix build with binutils 2.38
    9df58d070506 powerpc/lib/sstep: fix 'ptesync' build error
    720b61fc400b x86_64_defconfig: Fix warnings
    02bf23d26bc4 arm64: defconfig: cleanup config options
    05914e2c87e5 arm: defconfig: drop unused POWER_AVS option
    ffb532fa19b9 aufs5: fix build against v5.15.3+
    a4b3abf4d96d qemux86: add configuration symbol to select values
    fee94ee09154 clear_warn_once: add a clear_warn_once= boot parameter
    3d8762d900d9 clear_warn_once: bind a timer to written reset value
    95faacac47e8 clear_warn_once: expand debugfs to include read support
    de20c4240018 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    0e4aacead9c1 perf: x86-32: explicitly include <errno.h>
    9ad92c11468e perf: mips64: Convert __u64 to unsigned long long
    09e7efe3e68a perf: fix bench numa compilation
    e79becc44fa6 perf: add SLANG_INC for slang.h
    b1033b588681 perf: add sgidefs.h to for mips builds
    cf9db484ac0b perf: change --root to --prefix for python install
    7fd052c2c562 perf: add 'libperl not found' warning
    27a437cdd469 perf: force include of <stdbool.h>
    3b99d21bec2f fat: don't use obsolete random32 call in namei_vfat
    a7e9293b506b FAT: Added FAT_NO_83NAME
    6fd0e71d9e5c FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    c379b0d324ae FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    538be0fdb124 aufs: adjust to v5.15 fs changes
    f45da75c8759 aufs5: core
    047f57e07e01 aufs5: standalone
    029fc15574c8 aufs5: mmap
    610d0192ee94 aufs5: base
    d4e428d0ec5f aufs5: kbuild
    eb067eca251a yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    286af18d0875 yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    24d59a4e26a6 yaffs2: v5.12+ build fixups (not runtime tested)
    22c73536d5d7 yaffs: include blkdev.h
    506b7251bfb8 yaffs: fix misplaced variable declaration
    a0e26ff364dc yaffs2: v5.6 build fixups
    b10b1b2d169e yaffs2: fix memory leak when /proc/yaffs is read
    ad9adccbb214 yaffs: add strict check when call yaffs_internal_read_super
    2e3c3aec8279 yaffs: repair yaffs_get_mtd_device
    d662538516a7 yaffs: Fix build failure by handling inode i_version with proper atomic API
    70a6113ee2c7 yaffs2: fix memory leak in mount/umount
    3378e4a9e404 yaffs: Avoid setting any ACL releated xattr
    ec2284edddef Yaffs:check oob size before auto selecting Yaffs1
    c2a49874051c fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    e9a5105a3e73 yaffs2: adjust to proper location of MS_RDONLY
    608807406f13 yaffs2: import git revision b4ce1bb (jan, 2020)
    89e660ece42c initramfs: allow an optional wrapper script around initramfs generation
    b179dbc9aa10 iwlwifi: select MAC80211_LEDS conditionally
    3fd5ca3673d0 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    d1f6edbf0188 arm64/perf: Fix wrong cast that may cause wrong truncation
    d202fb2caf33 defconfigs: drop obselete options
    9a27e3b5f4e7 arm64/perf: fix backtrace for AAPCS with FP enabled
    e20d8cf019b4 linux-yocto: Handle /bin/awk issues
    b6d2a3dbbd3a uvesafb: provide option to specify timeout for task completion
    adb40f1e6a1a uvesafb: print error message when task timeout occurs
    f280a1ed0962 compiler.h: Undef before redefining __attribute_const__
    4352732f268c vmware: include jiffies.h
    7954a677968d Resolve jiffies wrapping about arp
    5f28a1035d95 nfs: Allow default io size to be configured.
    0d7260ad7106 check console device file on fs when booting
    900a12e37e0a mount_root: clarify error messages for when no rootfs found
    7b878cbea726 menuconfig,mconf-cfg: Allow specification of ncurses location
    6604fc1763b3 modpost: mask trivial warnings
    0d294adb09cb kbuild: exclude meta directory from distclean processing
    a097cdd95a9e powerpc: serialize image targets
    5db6ec39a0a3 arm: serialize build targets
    cbabca27905e crtsavres: fixups for 5.4+
    7fc7656ed403 powerpc/ptrace: Disable array-bounds warning with gcc8
    a5faac5a19a2 powerpc: Disable attribute-alias warnings from gcc8
    186c54665b67 powerpc: add crtsavres.o to archprepare for kbuild
    d1ea862964ca powerpc: kexec fix for powerpc64
    2ac35b89a0f9 powerpc: Add unwind information for SPE registers of E500 core
    2e1c348a28bb mips: vdso: fix 'jalr $t9' crash in vdso code
    ec57870b303a mips: Kconfig: add QEMUMIPS64 option
    6a81b3c08107 4kc cache tlb hazard: tlbp cache coherency
    74e3b2a21e54 malta uhci quirks: make allowance for slow 4k(e)c
    22e65b63d3b4 arm/Makefile: Fix systemtap
    b7f1ab59f19e vexpress: Pass LOADADDR to Makefile
    ce2800c73bf7 arm: ARM EABI socketcall
    019d142fd956 ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: 514e700790ed3af0894ad114432aa44090ddb306)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-04 09:06:31 -07:00
Bruce Ashfield
59b2c2c7d8 linux-yocto/5.15: update to v5.15.181
Updating linux-yocto/5.15 to the latest korg -stable release that comprises
the following commits:

    16fdf2c7111b Linux 5.15.181
    26277a425020 PCI: Release resource invalidated by coalescing
    e4af080f3ef6 PCI: Fix dropping valid root bus resources with .end = zero
    ad367516b1c0 PCI: Fix use-after-free in pci_bus_release_domain_nr()
    1f7fb4247d90 nvme: fixup scan failure for non-ANA multipath controllers
    d2e15c2fd913 MIPS: cm: Fix warning if MIPS_CM is disabled
    c82ca029b29f xdp: Reset bpf_redirect_info before running a xdp's BPF prog.
    43c296870740 drm/amd/display: fix double free issue during amdgpu module unload
    bb6b2175b606 net: dsa: mv88e6xxx: enable .port_set_policy() for 6320 family
    527978c76ef2 net: dsa: mv88e6xxx: enable PVT for 6321 switch
    7a10a6b17401 net: dsa: mv88e6xxx: fix atu_move_port_mask for 6341 family
    3ea027203778 crypto: atmel-sha204a - Set hwrng quality to lowest possible
    4e386645bc01 comedi: jr3_pci: Fix synchronous deletion of timer
    a1166e98d80c jfs: define xtree root and page independently
    2ddd4a7a8b0f md/raid1: Add check for missing source disk in process_checks()
    e5e274f64f32 ubsan: Fix panic from test_ubsan_out_of_bounds
    7dd6ab7f467c loop: aio inherit the ioprio of original request
    1d8f9378cb48 scsi: pm80xx: Set phy_attached to zero when device is gone
    47e8efd6c623 scsi: hisi_sas: Fix I/O errors caused by hardware port ID changes
    4b7bdc2efa11 ext4: make block validity check resistent to sb bh corruption
    0773465fbe1b nvmet-fc: put ref when assoc->del_work is already scheduled
    33acc9c2d1e4 nvmet-fc: take tgtport reference only once
    b6a2cd26bcb9 x86/bugs: Don't fill RSB on context switch with eIBRS
    a71d88ae28ef x86/bugs: Don't fill RSB on VMEXIT with eIBRS+retpoline
    56332c566f36 x86/bugs: Use SBPB in write_ibpb() if applicable
    33f046d7c8d3 selftests/mincore: Allow read-ahead pages to reach the end of the file
    3e70fa900584 objtool: Stop UNRET validation on UD2
    d2830ae38358 nvme: re-read ANA log page after ns scan completes
    26671f662eda ACPI PPTT: Fix coding mistakes in a couple of sizeof() calls
    5a8389206cd4 nvme: requeue namespace scan on missed AENs
    bbe7c3b33292 xen: Change xen-acpi-processor dom0 dependency
    605de05255b3 selftests: ublk: fix test_stripe_04
    373512760e13 udmabuf: fix a buf size overflow issue during udmabuf creation
    4da2a94ed523 KVM: s390: Don't use %pK through tracepoints
    20a3cec623fa sched/isolation: Make CONFIG_CPU_ISOLATION depend on CONFIG_SMP
    40845d9146b9 ntb: reduce stack usage in idt_scan_mws
    5fe708c5e3c8 qibfs: fix _another_ leak
    1640c9b81d66 objtool, ASoC: codecs: wcd934x: Remove potential undefined behavior in wcd934x_slim_irq_handler()
    d26a6093d529 usb: gadget: aspeed: Add NULL pointer check in ast_vhub_init_dev()
    3a259d74f57a usb: xhci: Avoid Stop Endpoint retry loop if the endpoint seems Running
    0725a991727d dmaengine: dmatest: Fix dmatest waiting less when interrupted
    e03b10c45c76 sound/virtio: Fix cancel_sync warnings on uninitialized work_structs
    059d35a7393c usb: dwc3: gadget: Avoid using reserved endpoints on Intel Merrifield
    423e146ed630 fs/ntfs3: Fix WARNING in ntfs_extend_initialized_size
    e10e634ee40f usb: host: max3421-hcd: Add missing spi_device_id table
    d9ef9664e44e s390/tty: Fix a potential memory leak bug
    e1e00dc45648 s390/sclp: Add check for get_zeroed_page()
    6992fb10dff2 parisc: PDT: Fix missing prototype warning
    aa36ec5d96c9 clk: check for disabled clock-provider in of_clk_get_hw_from_clkspec()
    1dd4a8561d85 crypto: null - Use spin lock instead of mutex
    10829b24512a MIPS: cm: Detect CM quirks from device tree
    809fce49f0b6 USB: wdm: add annotation
    6261b99ef0ed USB: wdm: wdm_wwan_port_tx_complete mutex in atomic context
    b02a3fef3e8c USB: wdm: close race between wdm_open and wdm_wwan_port_stop
    17dd48b3f6f2 USB: wdm: handle IO errors in wdm_wwan_port_start
    68be90d3d1aa USB: VLI disk crashes if LPM is used
    394ff4699263 usb: quirks: Add delay init quirk for SanDisk 3.2Gen1 Flash Drive
    50d68345d467 usb: quirks: add DELAY_INIT quirk for Silicon Motion Flash Drive
    c0079630f268 usb: dwc3: gadget: check that event count does not exceed event buffer length
    a143ed263d51 USB: OHCI: Add quirk for LS7A OHCI controller (rev 0x02)
    3ec61fa704a4 usb: chipidea: ci_hdrc_imx: implement usb_phy_init() error handling
    24b808d7516f usb: chipidea: ci_hdrc_imx: fix call balance of regulator routines
    8060b719676e usb: chipidea: ci_hdrc_imx: fix usbmisc handling
    b96239582531 usb: cdns3: Fix deadlock when using NCM gadget
    94df04953061 USB: serial: simple: add OWON HDS200 series oscilloscope support
    82e841dc1eaf USB: serial: option: add Sierra Wireless EM9291
    184cdaa3ea5f USB: serial: ftdi_sio: add support for Abacus Electrics Optical Probe
    b59c7fefded5 serial: sifive: lock port in startup()/shutdown() callbacks
    116c7d35b8f7 KVM: x86: Reset IRTE to host control if *new* route isn't postable
    26ccc791de50 mei: me: add panther lake H DID
    843a6fc56e71 USB: storage: quirk for ADATA Portable HDD CH94
    59f993cd36b6 mcb: fix a double free bug in chameleon_parse_gdd()
    95a34125831e KVM: SVM: Allocate IR data using atomic allocation
    aeba2e15c873 drm/amd/display: Fix gpu reset in multidisplay config
    a14b254c35fe net: selftests: initialize TCP header and skb payload with zero
    bef170d651d3 virtio_console: fix missing byte order handling for cols and rows
    c71ab87a2523 iommu/amd: Return an error if vCPU affinity is set for non-vCPU IRTE
    da7936518996 net_sched: hfsc: Fix a potential UAF in hfsc_dequeue() too
    fcc8ede66356 net_sched: hfsc: Fix a UAF vulnerability in class handling
    5fd464fd24de tipc: fix NULL pointer dereference in tipc_mon_reinit_self()
    663c3da86e80 net: phy: leds: fix memory leak
    46a35fe74bae cpufreq: cppc: Fix invalid return value in .get() callback
    8fbaa76690f6 cpufreq: scpi: Fix null-ptr-deref in scpi_cpufreq_get_rate()
    4e3d1c1925d8 cpufreq: scmi: Fix null-ptr-deref in scmi_cpufreq_get_rate()
    ad03f3f852df dma/contiguous: avoid warning about unused size_bytes
    c049376c76d1 drm/msm/a6xx: Fix stale rpmh votes from GPU
    cac1786e41b4 drm/msm/a6xx: Avoid gx gbit halt during rpm suspend
    d5572d3d0034 drm/msm/a6xx: Handle GMU prepare-slumber hfi failure
    c8064e9c334f drm/msm/a6xx: Improve gpu recovery sequence
    14c96391dff0 string: Add load_unaligned_zeropad() code path to sized_strscpy()
    039b1d64c8ea kmsan: disable strscpy() optimization under KMSAN
    f124c35b4a36 selftests/mm: generate a temporary mountpoint for cgroup filesystem
    fbf43c9e237c ksmbd: Prevent integer overflow in calculation of deadtime
    3297497ad224 PCI: Fix reference leak in pci_register_host_bridge()
    db273126bf54 PCI: Assign PCI domain IDs by ida_alloc()
    fd168b7d1d7c PCI: Coalesce host bridge contiguous apertures
    786474c9dadf gpio: tegra186: fix resource handling in ACPI probe path
    bc121680d4eb gpio: tegra186: Force one interrupt per bank
    32d554841024 cifs: fix integer overflow in match_server()
    9c9000cb91b9 cifs: avoid NULL pointer dereference in dbg call
    0f552a0a33db cifs: print TIDs as hex
    74c7d67a3c30 backlight: led_bl: Hold led_access lock when calling led_sysfs_disable()
    28d49aeb7760 backlight: led_bl: Convert to platform remove callback returning void
    9d708a3b72b0 iio: adc: ad7768-1: Fix conversion result sign
    fda3b0b782c8 iio: adc: ad7768-1: Move setting of val a bit later to avoid unnecessary return value check
    8ee067cf0cf8 soc: samsung: exynos-chipid: Add NULL pointer check in exynos_chipid_probe()
    c6f24e85919e soc: samsung: exynos-chipid: Pass revision reg offsets
    75dd8356b681 soc: samsung: exynos-chipid: avoid soc_device_to_device()
    f54829389feb net: dsa: mv88e6xxx: fix VTU methods for 6320 family
    36771754d618 auxdisplay: hd44780: Fix an API misuse in hd44780.c
    959b07fb28b0 auxdisplay: hd44780: Convert to platform remove callback returning void
    f1d518c0bad0 media: streamzap: fix race between device disconnection and urb callback
    a5d7d89ac48a media: streamzap: remove unused struct members
    b608bd3b51c0 media: streamzap: less chatter
    6dd4cf3ece54 media: streamzap: no need for usb pid/vid in device name
    fa5fec7f1555 media: streamzap: remove unnecessary ir_raw_event_reset and handle
    ed4ee9639b07 module: sign with sha512 instead of sha1 by default
    74a466a15731 Bluetooth: SCO: Fix UAF on sco_sock_timeout
    e7d3a0c7bf77 f2fs: Add inline to f2fs_build_fault_attr() stub
    c7dc74ab7975 scsi: lpfc: Fix null pointer dereference after failing to issue FLOGI and PLOGI
    984212fa6b4b pmdomain: ti: Add a null pointer check to the omap_prm_domain_init
    6e5b601706ce f2fs: check validation of fault attrs in f2fs_build_fault_attr()
    eac1e7e1705f mm: fix apply_to_existing_page_range()
    0c35d1914353 fs/proc: do_task_stat: use sig->stats_lock to gather the threads/children stats
    7d21587d35bc drm/i915/gt: Cleanup partial engine discovery failures
    d154b333a566 dm cache: fix flushing uninitialized delayed_work on cache_ctr error
    4de2c04c3acd jfs: Fix shift-out-of-bounds in dbDiscardAG
    500f00c80637 MIPS: ds1287: Match ds1287_set_base_clock() function types
    9aad60a2e686 MIPS: cevt-ds1287: Add missing ds1287.h include
    dd0e9415ff0c MIPS: dec: Declare which_prom() as static
    dac465986a4a net: defer final 'struct net' free in netns dismantle
    22018622e1e9 scsi: ufs: bsg: Set bsg_queue to NULL after removal
    6e9ed2f4721e scsi: lpfc: Fix a possible data race in lpfc_unregister_fcf_rescan()
    930268823f6b openvswitch: fix lockup on tx to unregistering netdev with carrier
    5efcb301523b net: openvswitch: fix race on port output
    211168339657 ipvs: properly dereference pe in ip_vs_add_service
    22e9b83f0f33 ext4: fix timer use-after-free on failed mount
    7d215e013d09 blk-iocost: do not WARN if iocg was already offlined
    d20f28f00770 blk-cgroup: support to track if policy is online
    3516f93cc63d bpf: Check rcu_read_lock_trace_held() before calling bpf map helpers
    0d90d9e15414 bpf: avoid holding freeze_mutex during mmap operation
    82e813b12b10 sched/task_stack: fix object_is_on_stack() for KASAN tagged pointers
    bb6570085826 smb: client: fix potential UAF in cifs_stats_proc_show()
    ce49569079a9 smb: client: fix potential deadlock when releasing mids
    878f32878351 smb/server: fix potential null-ptr-deref of lease_ctx_info in smb2_open()
    4a788ebbb10d smb: client: fix NULL ptr deref in crypto_aead_setkey()
    ef51c0d544b1 smb: client: fix UAF in async decryption
    ed3b36f351d9 cifs: Fix UAF in cifs_demultiplex_thread()
    336a066990bb smb: client: fix use-after-free bug in cifs_debug_data_proc_show()
    58de45f4d663 net: make sock_inuse_add() available
    480469f145e5 ksmbd: fix potencial out-of-bounds when buffer offset is invalid
    d798fd98e356 smb: client: fix potential UAF in cifs_dump_full_key()
    d54fdcf171f0 nvmet-fc: Remove unused functions
    6955fd3a6fb9 landlock: Add the errata interface
    3cc1116de109 drm/amdgpu: fix usage slab after free
    fcf9d6a9f30e drm/amd/display: Add null checks for 'stream' and 'plane' before dereferencing
    b19ca8425a4b drm/amd/display: Fix out-of-bounds access in 'dcn21_link_encoder_create'
    e3cd0d8362de drm/amd/display: Stop amdgpu_dm initialize when link nums greater than max_links
    27fda36eedad wifi: ath10k: avoid NULL pointer error during sdio remove
    c1cbf006feee phy: tegra: xusb: Fix return value of tegra_xusb_find_port_node function
    a262c2dc833f powerpc/rtas: Prevent Spectre v1 gadget construction in sys_rtas()
    d1c85e262c16 x86/pvh: Call C code via the kernel virtual mapping
    386617efacab net: mana: Fix error handling in mana_create_txq/rxq's NAPI cleanup
    66a9937187ac bnxt_re: avoid shift undefined behavior in bnxt_qplib_alloc_init_hwq
    7d3914a477ee phonet/pep: fix racy skb_queue_empty() use
    6cc52df69e84 filemap: Fix bounds checking in filemap_read()
    90c8482a5d97 net: fix crash when config small gso_max_size/gso_ipv4_max_size
    77aa9855a878 ipv6: release nexthop on device removal
    f241e4a78f6a misc: pci_endpoint_test: Fix 'irq_type' to convey the correct type
    30f2cd70c4f9 misc: pci_endpoint_test: Fix displaying 'irq_type' after 'request_irq' error
    54c9f299ad7d misc: pci_endpoint_test: Avoid issue of interrupts remaining after request_irq error
    980a236af12f mptcp: sockopt: fix getting IPV6_V6ONLY
    8fbd9487f676 kbuild: Add '-fno-builtin-wcslen'
    5d3779ceaac8 cpufreq: Reference count policy in cpufreq_update_limits()
    93cc7c7f9b83 KVM: arm64: Eagerly switch ZCR_EL{1,2}
    ec3efc04a6ce KVM: arm64: Calculate cptr_el2 traps on activating traps
    52a473ba8330 KVM: arm64: Remove VHE host restore of CPACR_EL1.ZEN
    08ce0d1ee622 KVM: arm64: Remove host FPSIMD saving for non-protected KVM
    5289ac43b69c KVM: arm64: Unconditionally save+flush host FPSIMD/SVE/SME state
    978c0ccf80ce arm64/fpsimd: Stop using TIF_SVE to manage register saving in KVM
    6b3d37c9c61e arm64/fpsimd: Have KVM explicitly say which FP registers to save
    8be8ba9cf1df arm64/fpsimd: Track the saved FPSIMD state type separately to TIF_SVE
    c4ab60a86c5e KVM: arm64: Discard any SVE state when entering KVM guests
    58ed930115b8 KVM: arm64: Always start with clearing SVE flag on load
    a2231da36777 KVM: arm64: Get rid of host SVE tracking/saving
    2f420df780c5 drm/sti: remove duplicate object names
    ada78110b2d3 drm/nouveau: prime: fix ttm_bo_delayed_delete oops
    4941966558a0 drm/amdgpu/dma_buf: fix page_link check
    80814924260c drm/amd/pm/powerplay/hwmgr/vega20_thermal: Prevent division by zero
    f2904fa2b9da drm/amd/pm/swsmu/smu13/smu_v13_0: Prevent division by zero
    be0fffc4152a drm/amd/pm/powerplay/hwmgr/smu7_thermal: Prevent division by zero
    0c02fcbe4a13 drm/amd/pm/powerplay: Prevent division by zero
    b7c41df49137 drm/amd/pm: Prevent division by zero
    c177517ea65c drm/repaper: fix integer overflows in repeat functions
    3d81ec24e7db perf/x86/intel/uncore: Fix the scale of IIO free running counters on SPR
    93c5be4da097 perf/x86/intel/uncore: Fix the scale of IIO free running counters on ICX
    609ed2fcc9b5 perf/x86/intel/uncore: Fix the scale of IIO free running counters on SNR
    b55b385b3938 perf/x86/intel: Allow to update user space GPRs from PEBS records
    5ee09cdaf341 virtiofs: add filesystem context source name check
    aac80c3e05cb tracing: Fix filter string testing
    e5467a695337 riscv: Avoid fortify warning in syscall_get_arguments()
    7596182dc17f mm/gup: fix wrongly calculated returned value in fault_in_safe_writeable()
    6b563dc85fb3 loop: LOOP_SET_FD: send uevents for partitions
    81565d0986a9 loop: properly send KOBJ_CHANGED uevent for disk device
    63d5a3e207bf isofs: Prevent the use of too small fid
    cd83035b6f2a i2c: cros-ec-tunnel: defer probe if parent EC is not present
    a33c035df01d hfs/hfsplus: fix slab-out-of-bounds in hfs_bnode_read_key
    877ee3ba2f78 crypto: caam/qi - Fix drv_ctx refcount bug
    cdd459a58bb6 btrfs: correctly escape subvol in btrfs_show_options()
    a70832d35559 nfsd: decrease sc_count directly if fail to queue dl_recall
    bf5f65aebeaf nfs: add missing selections of CONFIG_CRC32
    72f7ccad7ed5 nfs: move nfs_fhandle_hash to common include file
    41a125eb52d6 asus-laptop: Fix an uninitialized variable
    442a0ab6a4e9 ASoC: codecs:lpass-wsa-macro: Fix logic of enabling vi channels
    1a19d2306753 ASoC: codecs:lpass-wsa-macro: Fix vi feedback rate
    440225ed4fbb Revert "PCI: Avoid reset when disabled via sysfs"
    2b109b99d45f writeback: fix false warning in inode_to_wb()
    9ac9ad08723d cpufreq/sched: Fix the usage of CPUFREQ_NEED_UPDATE_LIMITS
    6bc390b02d4b riscv: KGDB: Remove ".option norvc/.option rvc" for kgdb_compiled_break
    854d0f048ead riscv: KGDB: Do not inline arch_kgdb_breakpoint()
    3c03e585860a riscv: Properly export reserved regions in /proc/iomem
    9ea760991c11 net: dsa: avoid refcount warnings when ds->ops->tag_8021q_vlan_del() fails
    8ccdf5e24b27 net: dsa: mv88e6xxx: avoid unregistering devlink regions which were never registered
    f7b3bddffff2 net: b53: enable BPDU reception for management port
    118d05b53034 cxgb4: fix memory leak in cxgb4_init_ethtool_filters() error path
    a27526e6b48e net: openvswitch: fix nested key length validation in the set() action
    5c1313b93c8c net: mctp: Set SOCK_RCU_FREE
    18924cdfea58 igc: cleanup PTP module if probe fails
    7d2d77e51371 igc: handle the IGC_PTP_ENABLED flag correctly
    5572511776d4 igc: move ktime snapshot into PTM retry loop
    c1f174edaccc igc: fix PTM cycle trigger logic
    6d16d6cb212f Revert "wifi: mac80211: Update skb's control block key in ieee80211_tx_dequeue()"
    24b2cdfc16e9 Bluetooth: l2cap: Check encryption key size on incoming connection
    2d7c60c2a38b Bluetooth: btrtl: Prevent potential NULL dereference
    056f04935bd8 Bluetooth: hci_event: Fix sending MGMT_EV_DEVICE_FOUND for invalid address
    791daf8240ce RDMA/core: Silence oversized kvmalloc() warning
    bb93bd4b9920 RDMA/hns: Fix wrong maximum DMA segment size
    3af43d7282a8 RDMA/usnic: Fix passing zero to PTR_ERR in usnic_ib_pci_probe()
    e2c440b23f21 md/raid10: fix missing discard IO accounting
    f89ab86401c9 scsi: iscsi: Fix missing scsi_host_put() in error path
    2996144be660 wifi: wl1251: fix memory leak in wl1251_tx_work
    305741e7e632 wifi: mac80211: Purge vif txq in ieee80211_do_stop()
    9d00c0a807a3 wifi: mac80211: Update skb's control block key in ieee80211_tx_dequeue()
    3c619aec1f53 wifi: at76c50x: fix use after free access in at76_disconnect
    00999e369e9e scsi: hisi_sas: Enable force phy when SATA disk directly connected
    31676d55028a scsi: libsas: Add struct sas_tmf_task
    42bbb529955c scsi: libsas: Delete lldd_clear_aca callback
    04bbb1b72b55 scsi: hisi_sas: Fix setting of hisi_sas_slot.is_internal
    8b8e6d433bd9 scsi: hisi_sas: Factor out task prep and delivery code
    6587850b8827 scsi: hisi_sas: Pass abort structure for internal abort
    9ebfa3eb9d52 scsi: hisi_sas: Start delivery hisi_sas_task_exec() directly
    9e5a0f577716 Bluetooth: hci_uart: Fix another race during initialization
    e8ea4dd6659f x86/e820: Fix handling of subpage regions when calculating nosave ranges in e820__register_nosave_regions()
    fb627b8fe4d7 ACPI: platform-profile: Fix CFI violation when accessing sysfs files
    46e22de65eb4 arm64: errata: Add newer ARM cores to the spectre_bhb_loop_affected() lists
    72972552d0d0 HSI: ssi_protocol: Fix use after free vulnerability in ssi_protocol Driver Due to Race Condition
    9242391c20b1 pinctrl: qcom: Clear latched interrupt status when changing IRQ type
    40c4c64507fe PCI: Fix reference leak in pci_alloc_child_bus()
    8730a3c6f0f1 PCI: brcmstb: Fix missing of_node_put() in brcm_pcie_probe()
    fa4d10970ea3 of/irq: Fix device node refcount leakages in of_irq_init()
    90d3d651b985 of/irq: Fix device node refcount leakage in API irq_of_parse_and_map()
    52f0888eff56 of/irq: Fix device node refcount leakages in of_irq_count()
    bd8f17219533 ntb: use 64-bit arithmetic for the MSI doorbell mask
    94c1cf839b7a gpio: zynq: Fix wakeup source leaks on device unbind
    dd38803c9088 ftrace: Add cond_resched() to ftrace_graph_set_hash()
    422dd984f7ef dm-integrity: set ti->error on memory allocation failure
    9c5eedb065fa crypto: ccp - Fix check for the primary ASP device
    2e794415ff7f thermal/drivers/rockchip: Add missing rk3328 mapping entry
    0f7df4899299 sctp: detect and prevent references to a freed transport in sendmsg
    20035e675ca0 mm/hwpoison: do not send SIGBUS to processes with recovered clean pages
    f3509cecd0fd mm: add missing release barrier on PGDAT_RECLAIM_LOCKED unlock
    7de3726a3afd sparc/mm: disable preemption in lazy mmu mode
    66a10239be04 arm64: dts: mediatek: mt8173: Fix disp-pwm compatible string
    2dd21fc16490 mtd: rawnand: Add status chack in r852_ready()
    e7d6ceff95c5 mtd: inftlcore: Add error check for inftl_read_oob()
    cef678a27711 mptcp: only inc MPJoinAckHMacFailure for HMAC failures
    b3088bd2a679 mptcp: fix NULL pointer in can_accept_new_subflow
    9ce88838fcea lib: scatterlist: fix sg_split_phys to preserve original scatterlist offsets
    031b53078e88 locking/lockdep: Decrease nr_unused_locks if lock unused in zap_class()
    90ee23c2514a mfd: ene-kb3930: Fix a potential NULL pointer dereference
    ad926f735b4d jbd2: remove wrong sb->s_sequence check
    3ba402610843 i3c: Add NULL pointer check in i3c_master_queue_ibi()
    c658e1302ee3 i3c: master: svc: Use readsb helper for reading MDB
    5d74f8a5fb3c vdpa/mlx5: Fix oversized null mkey longer than 32bit
    2883e9e74f73 ext4: fix off-by-one error in do_split
    899d0353ea69 bus: mhi: host: Fix race between unprepare and queue_buf
    65cc93278f69 ASoC: qdsp6: q6asm-dai: fix q6asm_dai_compr_set_params error path
    9ae11b06c557 wifi: mac80211: fix integer overflow in hwmp_route_info_get()
    977fb8126e5c wifi: mt76: Add check for devm_kstrdup()
    8f80ade0f6ea clocksource/drivers/stm32-lptimer: Use wakeup capable instead of init wakeup
    c1e3583fb61f mtd: Replace kcalloc() with devm_kcalloc()
    ef922b40bb6d net: dsa: mv88e6xxx: workaround RGMII transmit delay erratum for 6320 family
    8f8ed592d8a1 mtd: Add check for devm_kcalloc()
    f195e94c7af9 media: venus: hfi_parser: refactor hfi packet parsing logic
    1ad6aa1464b8 media: venus: hfi_parser: add check to avoid out of bound access
    08ac0e22e456 media: i2c: ov7251: Introduce 1 ms delay between regulators and en GPIO
    e8396890db79 media: i2c: ov7251: Set enable GPIO low in probe
    7c3118db4998 media: i2c: ccs: Set the device's runtime PM status correctly in probe
    5a6b5aa8ebc1 media: i2c: ccs: Set the device's runtime PM status correctly in remove
    457a61c59856 media: v4l2-dv-timings: prevent possible overflow in v4l2_detect_gtf()
    432f748824b6 media: streamzap: prevent processing IR data on URB failure
    fbcb584efa5c mtd: rawnand: brcmnand: fix PM resume warning
    b88004318aeb spi: cadence-qspi: Fix probe on AM62A LP SK
    0b08172a635d arm64: errata: Add KRYO 2XX/3XX/4XX silver cores to Spectre BHB safe list
    8cb58a817a45 arm64: errata: Assume that unknown CPUs _are_ vulnerable to Spectre BHB
    1a646a6206e0 arm64: errata: Add QCOM_KRYO_4XX_GOLD to the spectre_bhb_k24_list
    f6ea5a8a5344 arm64: cputype: Add MIDR_CORTEX_A76AE
    09a128539129 xenfs/xensyms: respect hypervisor's "next" indication
    b98fbad6abda media: siano: Fix error handling in smsdvb_module_init()
    680cc5303f7c media: vim2m: print device name after registering device
    32af5c1fdb9b media: venus: hfi: add check to handle incorrect queue size
    1b8fb257234e media: venus: hfi: add a check to handle OOB in sfr region
    83724b88175c media: i2c: adv748x: Fix test pattern selection mask
    84f2ca8d5f2d ext4: don't treat fhandle lookup of ea_inode as FS corruption
    8273ae803009 bpf: support SKF_NET_OFF and SKF_LL_OFF on skb frags
    831062d76d37 bpf: Add endian modifiers to fix endian warnings
    ed6ff2d48873 pwm: fsl-ftm: Handle clk_get_rate() returning 0
    1f45022f219b pwm: rcar: Improve register calculation
    dc12f37acbc3 pwm: rcar: Simplify multiplication/shift logic
    e3cf0c38d3ce pwm: mediatek: Prevent divide-by-zero in pwm_mediatek_config()
    7fa3d93d4d29 ktest: Fix Test Failures Due to Missing LOG_FILE Directories
    09dbf22fd68c fbdev: omapfb: Add 'plane' value check
    c250262d6485 PCI: vmd: Make vmd_dev::cfg_lock a raw_spinlock_t type
    1690b4949247 drm/mediatek: mtk_dpi: Explicitly manage TVD clock in power on/off
    25c299517d58 drm/amdkfd: Fix pqm_destroy_queue race with GPU reset
    62b3040a1a29 drm/amdkfd: clamp queue size to minimum
    0236f723b445 drivers: base: devres: Allow to release group on device release
    e2dacf842095 drm/bridge: panel: forbid initializing a panel with unknown connector type
    e33d1037fd89 drm: panel-orientation-quirks: Add new quirk for GPD Win 2
    b60523a75c2b drm: panel-orientation-quirks: Add support for AYANEO 2S
    cc301b9d48ab drm/amd/display: Update Cursor request mode to the beginning prefetch always
    0a5ba5e28b7b drm: allow encoder mode_set even when connectors change for crtc
    d71a57a34ab6 Bluetooth: hci_uart: fix race during initialization
    effeecfe60fc tracing: fix return value in __ftrace_event_enable_disable for TRACE_REG_UNREGISTER
    523fa0979d84 net: vlan: don't propagate flags on open
    5a194041bffd wifi: mt76: mt76x2u: add TP-Link TL-WDN6200 ID to device table
    c6015d0f7a22 scsi: st: Fix array overflow in st_setup()
    f737418b6de3 ext4: ignore xattrs past end
    1648029cd302 ext4: protect ext4_release_dquot against freezing
    fd4c73a2669c ahci: add PCI ID for Marvell 88SE9215 SATA Controller
    67e16ccba74d f2fs: fix to avoid out-of-bounds access in f2fs_truncate_inode_blocks()
    714036b176ba ata: libata-eh: Do not use ATAPI DMA for a device limited to PIO mode
    a741f29ac8b6 jfs: add sanity check for agwidth in dbMount
    86bfeaa18f9e jfs: Prevent copying of nlink with value 0 from disk inode
    3d8a45f87010 fs/jfs: Prevent integer overflow in AG size calculation
    761e36cf8c86 fs/jfs: cast inactags to s64 to prevent potential overflow
    4f10732712fc jfs: Fix uninit-value access of imap allocated in the diMount() function
    91522aba56e9 page_pool: avoid infinite loop to schedule delayed worker
    691d45955eda ALSA: usb-audio: Fix CME quirk for UF series keyboards
    c30b45c78e1a ASoC: fsl_audmix: register card device depends on 'dais' property
    81b19dc8ad80 ALSA: hda: intel: Fix Optimus when GPU has no sound
    6b4449e4f033 HID: pidff: Fix null pointer dereference in pidff_find_fields
    4c5f8e594657 HID: pidff: Do not send effect envelope if it's empty
    b5d9c541ad33 HID: pidff: Convert infinite length from Linux API to PID standard
    01e1c8a26ea3 xen/mcelog: Add __nonstring annotations for unterminated strings
    595a9e7b8cda arm64: cputype: Add QCOM_CPU_PART_KRYO_3XX_GOLD
    016cc0079e74 perf: arm_pmu: Don't disable counter in armpmu_add()
    4162ed24d454 x86/cpu: Don't clear X86_FEATURE_LAHF_LM flag in init_amd_k8() on AMD when running in a virtual machine
    0e297a02e03d pm: cpupower: bench: Prevent NULL dereference on malloc failure
    c2077a80caf2 umount: Allow superblock owners to force umount
    d504882159a2 nft_set_pipapo: fix incorrect avx2 match of 5th field octet
    99aa698dec34 net: ppp: Add bound checking for skb data on ppp_sync_txmung
    e342ea4ce54f nvmet-fcloop: swap list_add_tail arguments
    bea745327f00 ata: sata_sx4: Add error handling in pdc20621_i2c_read()
    3c1c0a8c1a07 ata: sata_sx4: Drop pointless VPRINTK() calls and convert the remaining ones
    81a5174e64ce net: ethtool: Don't call .cleanup_data when prepare_data fails
    ac91c6125468 net: tls: explicitly disallow disconnect
    ed06675d3b8c tipc: fix memory leak in tipc_link_xmit
    d0d720f92828 ata: pata_pxa: Fix potential NULL pointer dereference in pxa_ata_probe()
    e0bb89c44b56 efi: libstub: Use '-std=gnu11' to fix build with GCC 15
    b5d500042eb3 usb: hcd-pci: remove the action of faking interrupt request
    6f0605db50e2 clk: imx: Add check for kcalloc
    5b837b9e1543 bpf: Fix the indention issue in grow_stack_state()
    42b62697634d cifs: Fix the calling of smb_version_operations::calc_smb_size()
    b14acf729e9d f2fs: Add inline to f2fs_build_fault_attr() stub
    7c317bec311f f2fs: check validation of fault attrs in f2fs_build_fault_attr()
    81c12119c23f bpf: Fix accesses to uninit stack slots [ Upstream commit 6b4a64bafd107e521c01eec3453ce94a3fb38529 ]
    c4fa05422d87 smb: client: fix potential OOB in smb2_dump_detail()
    299ef3b5b00b of: module: add buffer overflow check in of_modalias()
    b8086c3c1548 reiserfs: Avoid touching renamed directory if parent does not change
    ea091017ef62 ipv6: Fix data races around sk->sk_prot.
    ff8710da80ee ipv6: annotate some data-races around sk->sk_prot
    e8c2eafaaa6a tcp: Fix data races around icsk->icsk_af_ops.
    8d1bab770956 locking/rwsem: Disable preemption while trying for rwsem lock
    7c82dac02886 block, loop: support partitions without scanning
    45f504f301d4 bpftool: Fix pretty print dump for maps without BTF loaded
    1f24338cb789 jbd2: Drop the merge conflicted hunk
    e1d0e3c51bde tpm: tis_i2c: Limit write bursts to I2C_SMBUS_BLOCK_MAX (32) bytes
    1abe841fe331 tpm: tis_i2c: Limit read bursts to I2C_SMBUS_BLOCK_MAX (32) bytes
    6224acfc1d56 tpm: Add flag to use default cancellation policy
    1cd19d48fb90 tpm: tis_i2c: Fix sanity check interrupt enable mask
    a883da132fa8 tpm: Add tpm_tis_i2c backend for tpm_tis_core
    a742ac8a1c51 tpm: Add tpm_tis_verify_crc to the tpm_tis_phy_ops protocol layer
    ef495c5f45f2 tpm: Remove read16/read32/write32 calls from tpm_tis_phy_ops
    1f3be2e23aa6 gcc-plugins: Reorganize gimple includes for GCC 13
    24615a3b932a ata: ahci: fix enum constants for gcc-13
    5d6cb145541a net: stmmac: Enable mac_managed_pm phylink config
    fd93aabb4287 tools/resolve_btfids: Use pkg-config to locate libelf
    130f9da78406 tools/resolve_btfids: Build with host flags
    00f2f1a782f9 tools/resolve_btfids: Support cross-building the kernel with clang
    17776a4ba9c2 tools/resolve_btfids: Install libbpf headers when building
    7c9808380d70 libbpf: Make libbpf_version.h non-auto-generated
    37ae1ba791ac libbpf: Add LIBBPF_DEPRECATED_SINCE macro for scheduling API deprecations
    a2667e6d7314 drm/radeon: free iio for atombios when driver shutdown
    f100c753aa1f powerpc: Fix reschedule bug in KUAP-unlocked user copy
    da5513f30187 libbpf: Fix build warning on ref_ctr_off
    4c5a089621a8 perf python: Account for multiple words in CC
    1c5699ee85d4 fs: move S_ISGID stripping into the vfs_*() helpers
    838f5d0701d8 fs: add mode_strip_sgid() helper
    d97172683641 squashfs: provide backing_dev_info in order to disable read-ahead
    ed037d7be40c irq_work: use kasan_record_aux_stack_noalloc() record callstack
    1363bd7dbde3 ixgbevf: add disable link state
    e5601ae2bd24 ixgbe: add improvement for MDD response functionality
    caa57cd80575 ixgbe: add the ability for the PF to disable VF link state
    16a77bfcc7df Check /dev/console using init_stat()
    04574fd5579a tracing/arm: Have max stack tracer handle the case of return address after data
    0e51e5717018 gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully
    1e6b7da6ddba drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES
    493160901320 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    04224f725aa3 irqchip/gic-v3-its: Skip HP notifier when no ITS is registered
    6f6c2996a81c irqchip/gic-v3-its: Postpone LPI pending table freeing and memreserve
    1fa94473423f irqchip/gic-v3-its: Give the percpu rdist struct its own flags field
    6013d1ae5feb cert host tools: Stop complaining about deprecated OpenSSL functions
    efe20512212b init/Kconfig: fix CC_HAS_ASM_GOTO_TIED_OUTPUT test with dash
    a40d2daf2795 pnmtologo: use relocatable file name
    3b40d5b41155 of: configfs: remove unused variable overlay_lock
    6c085baf1838 tools: use basename to identify file in gen-mach-types
    2fca0fd71981 lib/build_OID_registry: fix reproducibility issues
    0f586f4ee8ad vt/conmakehash: improve reproducibility
    a75774679f28 OF: DT-Overlay configfs interface (v8)
    d179c639b30b x86/boot: Wrap literal addresses in absolute_pointer()
    856ec356cf91 ACPI: thermal: drop an always true check
    7614af249993 xfs: Fix -Werror=dangling-pointer work-around for older GCC
    41470215f97e xfs: Work around GCC 12 -Werror=dangling-pointer for xfs_attr_remote.o
    44a445c1922d virtio-pci: Remove wrong address verification in vp_del_vqs()
    77aa9e489eaf bpf: Disallow unprivileged bpf by default
    ebfb1822e9f9 fs/aufs: fixup 5.15.36 fixups
    4eba9348d3e2 Revert "Revert "fbdev: Hot-unplug firmware fb devices on forced removal""
    5df6d1b00f95 jbd2: fix use-after-free of transaction_t race
    2d83e8196487 jbd2: refactor wait logic for transaction updates into a common function
    07a63f760793 netfilter: conntrack: avoid useless indirection during conntrack destruction
    4e7122625996 Revert "fbdev: Hot-unplug firmware fb devices on forced removal"
    7ba4cb36fd4f rcu: Avoid alloc_pages() when recording stack
    f78574dee71e kasan: test: silence intentional read overflow warnings
    d313cb89b6b1 kasan: arm64: fix pcpu_page_first_chunk crash with KASAN_VMALLOC
    5e279d5647cc arm64: support page mapping percpu first chunk allocator
    e5bf16752dca vmalloc: choose a better start address in vm_area_register_early()
    660b3d21b46f kasan: test: bypass __alloc_size checks
    00aa7573e53a kasan: test: add memcpy test that avoids out-of-bounds write
    67becf0b1bd4 kasan: fix tag for large allocations when using CONFIG_SLAB
    bedf1e033213 workqueue, kasan: avoid alloc_pages() when recording stack
    7195b67ce69b kasan: generic: introduce kasan_record_aux_stack_noalloc()
    bdff763f0e29 kasan: common: provide can_alloc in kasan_save_stack()
    51423ebb36ad lib/stackdepot: introduce __stack_depot_save()
    85373e66d847 lib/stackdepot: remove unused function argument
    5b6cc9b251f3 lib/stackdepot: include gfp.h
    c9f3902d8069 aufs: reduce overhead for "code present but disabled" use case.
    b98d189df02c aufs: bugfix, umount passes NULL to ->parse_monolithic()
    13b883cbbbd9 aufs standalone: cosmetic, missing copyright sentence
    21f8b0d81898 aufs: 5.15.5-20220117 ---> 5.15.5-20220221
    6199fd896645 aufs: tiny, headers after fs_context
    8ddb40e31c29 aufs: fs_context 7/7, finally remount
    69035f71c6fd aufs: fs_context 6/7, now mount
    bc841b970697 aufs: fs_context 5/7, parse all other mount options
    435188053da2 aufs: fs_context 4/7, parse xino options
    9af1f1825cbd aufs: fs_context 3/7, parse the branch-management options
    1c05eb767f8c aufs: fs_context 2/7, parse "br" mount option
    a8488f603134 aufs: fs_context 1/7, skelton of the new shceme
    8e32e0015564 aufs: pre fs_context, convert a static flag to a macro
    f90cb4144aec aufs: pre fs_context, support the incomplete sb and sbinfo case
    948762ef859c aufs: pre fs_context, convert the type of alloc_sbinfo()
    77151a08776b aufs: 5.15.5-20211129 ---> 5.15.5-20220117
    2539adbbbe1e aufs: 5.14-20211018 ---> 5.15.5-20211129
    7d32b25193c4 aufs: for v5.15-rc1, sync_inode() is gone
    66ec0c509225 aufs: for v5.15-rc1, new param 'rcu' for ->get_acl()
    69709dc518cd aufs: for v5.15-rc1, no mand-lock anymore
    ada8fe9543e5 aufs: 5.14-20210906  ---> 5.14-20211018
    b77f7f3f394a Revert "aufs: adjust to v5.15 fs changes"
    81bdce5b5876 tick/nohz: WARN_ON --> WARN_ON_ONCE to prevent console saturation
    97c963889222 sched/isolation: really align nohz_full with rcu_nocbs
    871f23ad3627 Revert "ARM: defconfig: Enable ax88796c driver for Exynos boards"
    ffad0783dd5b ARM: config: multi v7: Regenerate defconifg
    5c1e1a1ff2d3 ARM: config: multi v7: Add renamed symbols
    badaf96564fe ARM: config: multi v7: Clean up enabled by default options
    34996040fc9b ARM: config: multi v7: Drop unavailable options
    7f685244afb3 powerpc/mm: Switch obsolete dssall to .long
    20301aeb1a64 riscv: fix build with binutils 2.38
    9df58d070506 powerpc/lib/sstep: fix 'ptesync' build error
    720b61fc400b x86_64_defconfig: Fix warnings
    02bf23d26bc4 arm64: defconfig: cleanup config options
    05914e2c87e5 arm: defconfig: drop unused POWER_AVS option
    ffb532fa19b9 aufs5: fix build against v5.15.3+
    a4b3abf4d96d qemux86: add configuration symbol to select values
    fee94ee09154 clear_warn_once: add a clear_warn_once= boot parameter
    3d8762d900d9 clear_warn_once: bind a timer to written reset value
    95faacac47e8 clear_warn_once: expand debugfs to include read support
    de20c4240018 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    0e4aacead9c1 perf: x86-32: explicitly include <errno.h>
    9ad92c11468e perf: mips64: Convert __u64 to unsigned long long
    09e7efe3e68a perf: fix bench numa compilation
    e79becc44fa6 perf: add SLANG_INC for slang.h
    b1033b588681 perf: add sgidefs.h to for mips builds
    cf9db484ac0b perf: change --root to --prefix for python install
    7fd052c2c562 perf: add 'libperl not found' warning
    27a437cdd469 perf: force include of <stdbool.h>
    3b99d21bec2f fat: don't use obsolete random32 call in namei_vfat
    a7e9293b506b FAT: Added FAT_NO_83NAME
    6fd0e71d9e5c FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    c379b0d324ae FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    538be0fdb124 aufs: adjust to v5.15 fs changes
    f45da75c8759 aufs5: core
    047f57e07e01 aufs5: standalone
    029fc15574c8 aufs5: mmap
    610d0192ee94 aufs5: base
    d4e428d0ec5f aufs5: kbuild
    eb067eca251a yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    286af18d0875 yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    24d59a4e26a6 yaffs2: v5.12+ build fixups (not runtime tested)
    22c73536d5d7 yaffs: include blkdev.h
    506b7251bfb8 yaffs: fix misplaced variable declaration
    a0e26ff364dc yaffs2: v5.6 build fixups
    b10b1b2d169e yaffs2: fix memory leak when /proc/yaffs is read
    ad9adccbb214 yaffs: add strict check when call yaffs_internal_read_super
    2e3c3aec8279 yaffs: repair yaffs_get_mtd_device
    d662538516a7 yaffs: Fix build failure by handling inode i_version with proper atomic API
    70a6113ee2c7 yaffs2: fix memory leak in mount/umount
    3378e4a9e404 yaffs: Avoid setting any ACL releated xattr
    ec2284edddef Yaffs:check oob size before auto selecting Yaffs1
    c2a49874051c fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    e9a5105a3e73 yaffs2: adjust to proper location of MS_RDONLY
    608807406f13 yaffs2: import git revision b4ce1bb (jan, 2020)
    89e660ece42c initramfs: allow an optional wrapper script around initramfs generation
    b179dbc9aa10 iwlwifi: select MAC80211_LEDS conditionally
    3fd5ca3673d0 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    d1f6edbf0188 arm64/perf: Fix wrong cast that may cause wrong truncation
    d202fb2caf33 defconfigs: drop obselete options
    9a27e3b5f4e7 arm64/perf: fix backtrace for AAPCS with FP enabled
    e20d8cf019b4 linux-yocto: Handle /bin/awk issues
    b6d2a3dbbd3a uvesafb: provide option to specify timeout for task completion
    adb40f1e6a1a uvesafb: print error message when task timeout occurs
    f280a1ed0962 compiler.h: Undef before redefining __attribute_const__
    4352732f268c vmware: include jiffies.h
    7954a677968d Resolve jiffies wrapping about arp
    5f28a1035d95 nfs: Allow default io size to be configured.
    0d7260ad7106 check console device file on fs when booting
    900a12e37e0a mount_root: clarify error messages for when no rootfs found
    7b878cbea726 menuconfig,mconf-cfg: Allow specification of ncurses location
    6604fc1763b3 modpost: mask trivial warnings
    0d294adb09cb kbuild: exclude meta directory from distclean processing
    a097cdd95a9e powerpc: serialize image targets
    5db6ec39a0a3 arm: serialize build targets
    cbabca27905e crtsavres: fixups for 5.4+
    7fc7656ed403 powerpc/ptrace: Disable array-bounds warning with gcc8
    a5faac5a19a2 powerpc: Disable attribute-alias warnings from gcc8
    186c54665b67 powerpc: add crtsavres.o to archprepare for kbuild
    d1ea862964ca powerpc: kexec fix for powerpc64
    2ac35b89a0f9 powerpc: Add unwind information for SPE registers of E500 core
    2e1c348a28bb mips: vdso: fix 'jalr $t9' crash in vdso code
    ec57870b303a mips: Kconfig: add QEMUMIPS64 option
    6a81b3c08107 4kc cache tlb hazard: tlbp cache coherency
    74e3b2a21e54 malta uhci quirks: make allowance for slow 4k(e)c
    22e65b63d3b4 arm/Makefile: Fix systemtap
    b7f1ab59f19e vexpress: Pass LOADADDR to Makefile
    ce2800c73bf7 arm: ARM EABI socketcall
    019d142fd956 ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: ce581f5cb80f1e6a405f70ba2fa23a09d9687e7c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-04 09:06:31 -07:00
Bruce Ashfield
b3b9ac7edc linux-yocto/5.15: update to v5.15.180
Updating linux-yocto/5.15 to the latest korg -stable release that comprises
the following commits:

    f7347f400572 Linux 5.15.180
    0d709c0ccceb mmc: sdhci-brcmstb: Initialize base_clk to NULL in sdhci_brcmstb_probe()
    35254cb9d115 tracing: Do not use PERF enums when perf is not defined
    3e47f3a703c6 mm, slab: remove duplicate kernel-doc comment for ksize()
    c1030da07a24 mmc: sdhci-brcmstb: use clk_get_rate(base_clk) in PM resume
    58bc361822db NFSD: Skip sending CB_RECALL_ANY when the backchannel isn't up
    cdb796137c57 nfsd: put dl_stid if fail to queue dl_recall
    b0274ddac570 jfs: add index corruption check to DT_GETPAGE()
    78c9cbde8880 jfs: fix slab-out-of-bounds read in ea_get()
    b7531a4f99c3 ext4: fix OOB read when checking dotdot dir
    1b77a8c7f8b7 ext4: don't over-report free space or inodes in statvfs
    37e8719b1791 tracing/osnoise: Fix possible recursive locking for cpus_read_lock()
    585464695f63 tracing: Fix synth event printk format for str fields
    caefd40151f7 tracing: Ensure module defining synth event cannot be unloaded while tracing
    81a85b12132c tracing: Fix use-after-free in print_graph_function_flags during tracer switching
    801bc749fe66 mmc: sdhci-pxav3: set NEED_RSP_BUSY capability
    7fbfe8d99b2f ACPI: resource: Skip IRQ override on ASUS Vivobook 14 X1404VAP
    92ba06aef655 acpi: nfit: fix narrowing conversion in acpi_nfit_ctl
    0a8f806ea6b5 x86/mm: Fix flush_tlb_range() when used for zapping normal PMDs
    5ac5f2a3a8ff x86/tsc: Always save/restore TSC sched_clock() on suspend/resume
    2c4fe45351e5 btrfs: handle errors from btrfs_dec_ref() properly
    7b02f69bfb19 ntb_perf: Delete duplicate dmaengine_unmap_put() call in perf_copy_chunk()
    1df48e8773cf platform/x86: ISST: Correct command storage data length
    95789c2f94fd usbnet:fix NPE during rx_complete
    4331ae2788e7 drm/amd/display: Skip inactive planes within ModeSupportAndSystemConfiguration
    e549cd6da1f2 drm/amd/pm: Fix negative array index read
    91264238e941 tty: serial: fsl_lpuart: disable transmitter before changing RS485 related registers
    557f6adcd07d tty: serial: fsl_lpuart: use UARTMODIR register bits for lpuart32 platform
    f8100551939b mmc: sdhci-brcmstb: add cqhci suspend/resume to PM ops
    6991fabddd6f mmc: sdhci-brcmstb: Add ability to increase max clock rate for 72116b0
    4c671d0377b8 can: flexcan: disable transceiver during system PM
    c79d1fba305d can: flexcan: only change CAN state when link up in system PM
    ef8b29398ea6 arcnet: Add NULL check in com20020pci_probe()
    b4513ad0f391 net: fix geneve_opt length integer overflow
    0baa3f0369a9 ipv6: fix omitted netlink attributes when using RTEXT_FILTER_SKIP_STATS
    ca2adfc03cd6 netfilter: nft_tunnel: fix geneve_opt type confusion addition
    e7479a2549cb tunnels: Accept PACKET_HOST in skb_tunnel_check_pmtu().
    0162cb87b3cd vsock: avoid timeout during connect() if the socket is closing
    e3711163d14d net: mvpp2: Prevent parser TCAM memory corruption
    32ee79682315 net_sched: skbprio: Remove overly strict queue assertions
    a7e89541d05b netlabel: Fix NULL pointer exception caused by CALIPSO on IPv4 sockets
    b87f19c495cb netfilter: nft_set_hash: GC reaps elements with conncount for dynamic sets only
    018e6cf2503e ASoC: imx-card: Add NULL check in imx_card_probe()
    03fd0444e719 ntb: intel: Fix using link status DB's
    2429bdf26a0f ntb_hw_switchtec: Fix shift-out-of-bounds in switchtec_ntb_mw_set_trans
    de237129b9fd riscv: ftrace: Add parentheses in macro definitions of make_call_t0 and make_call_ra
    c4e72a0d7544 spufs: fix a leak in spufs_create_context()
    53b189651c33 spufs: fix a leak on spufs_new_file() failure
    90c4a3eaa7d5 hwmon: (nct6775-core) Fix out of bounds access for NCT679{8,9}
    051be169fb7c can: statistics: use atomic access in hot path
    fe2ffc3442bf ALSA: hda/realtek: Add mute LED quirk for HP Pavilion x360 14-dy1xxx
    c3021a955e77 drm/amd: Keep display off while going into S4
    3c9a43eef01d x86/sgx: Warn explicitly if X86_FEATURE_SGX_LC is not enabled
    46c66d975a58 locking/semaphore: Use wake_q to wake up processes outside lock critical section
    26d4d84aa6cf sched/deadline: Use online cpus for validating runtime
    c3a3484d9d31 ksmbd: fix incorrect validation for num_aces field of smb_acl
    397e6aa03f9a affs: don't write overlarge OFS data block size fields
    4441c2658337 affs: generate OFS sequence numbers starting at 1
    35d7887ab2d1 nvme-pci: skip CMB blocks incompatible with PCI P2P DMA
    7b860d9a4d56 nvme-pci: clean up CMBMSC when registering CMB fails
    8dad8a6b4f61 nvme-tcp: fix possible UAF in nvme_tcp_poll
    2be5bed3e089 wifi: iwlwifi: fw: allocate chained SG tables for dump
    7929187c67a3 sched/smt: Always inline sched_smt_active()
    cb615d3fdaae octeontx2-af: Free NIX_AF_INT_VEC_GEN irq
    f1e97333d34a octeontx2-af: Fix mbox INTR handler when num VFs > 64
    190d766abe6f ACPI: processor: idle: Return an error if both P_LVL{2,3} idle states are invalid
    1db23504775a ring-buffer: Fix bytes_dropped calculation issue
    55cf766eba06 ksmbd: fix multichannel connection failure
    571b342d4688 ksmbd: use aead_request_free to match aead_request_alloc
    bb7bdf636cef rtnetlink: Allocate vfinfo size for VF GUIDs when supported
    52a6316af117 exfat: fix the infinite loop in exfat_find_last_cluster()
    9b76b198cf20 objtool, media: dib8000: Prevent divide-by-zero in dib8000_set_dds()
    b20a4ca247a5 fs/procfs: fix the comment above proc_pid_wchan()
    ccf40f82638d perf python: Check if there is space to copy all the event
    69abc7554403 perf python: Don't keep a raw_data pointer to consumed ring buffer space
    cdf417656af5 perf python: Decrement the refcount of just created event on failure
    be0f2d515164 perf python: Fixup description of sample.id event member
    1c0bd3d322ae i3c: master: svc: Fix missing the IBI rules
    c5d2d17aecb4 fuse: fix dax truncate/punch_hole fault path
    257fd2aa2893 NFSv4: Don't trigger uneccessary scans for return-on-close delegations
    17c99ab3db2b ocfs2: validate l_tree_depth to avoid out-of-bounds access
    d2421351549c kexec: initialize ELF lowest address to ULONG_MAX
    adb0ac53b73e perf units: Fix insufficient array space
    201e7d7c0e32 iio: adc: ad7124: Fix comparison of channel configs
    0922d86a7a60 fs/ntfs3: Fix a couple integer overflows on 32bit systems
    7041fafd0dc6 iio: accel: mma8452: Ensure error return on failure to matching oversampling ratio
    473362787faf coresight: catu: Fix number of pages while using 64k pages
    abb8f3369f44 soundwire: slave: fix an OF node reference leak in soundwire slave device
    ae44c01f3fbb isofs: fix KMSAN uninit-value bug in do_isofs_readdir()
    b9d693b3bc25 clk: qcom: mmcc-sdm660: fix stuck video_subcore0 clock
    f19a85216aa8 crypto: hisilicon/sec2 - fix for aead auth key length
    1c644d8ab3f6 x86/dumpstack: Fix inaccurate unwinding from exception stacks due to misplaced assignment
    ab776df91d67 mfd: sm501: Switch to BIT() to mitigate integer overflows
    f0447ceb8a31 RDMA/mlx5: Fix mlx5_poll_one() cur_qp update flow
    6d662e7666f2 crypto: nx - Fix uninitialised hv_nxc on error
    a2d672786704 power: supply: max77693: Fix wrong conversion of charge input threshold value
    9b35d55bfc9f x86/entry: Fix ORC unwinder for PUSH_REGS with save_ret=1
    93c6fb0d18ad clk: amlogic: g12a: fix mmc A peripheral clock
    f95e0f36e592 clk: amlogic: gxbb: drop non existing 32k clock parent
    cc2817165e5e clk: amlogic: g12b: fix cluster A parent data
    8c9652d29438 pinctrl: tegra: Set SFIO mode to Mux Register
    b26ed1d80c48 IB/mad: Check available slots before posting receive WRs
    79103371b574 remoteproc: qcom_q6v5_mss: Handle platforms with one power domain
    9a5b7f8842a9 RDMA/core: Don't expose hw_counters outside of init net namespace
    d82fd0fb9750 clk: rockchip: rk3328: fix wrong clk_ref_usb3otg parent
    f6adccd0a887 pinctrl: renesas: rzg2l: Fix missing of_node_put() call
    93a0760d371e pinctrl: renesas: rza2: Fix missing of_node_put() call
    3b619f280328 lib: 842: Improve error handling in sw842_compress()
    eba7778cf9b9 bpf: Use preempt_count() directly in bpf_send_signal_common()
    948b7898a81a clk: qcom: gcc-msm8953: fix stuck venus0_core0 clock
    d974e177369c clk: samsung: Fix UBSAN panic in samsung_clk_init()
    b28c6712afb6 libbpf: Fix hypothetical STT_SECTION extern NULL deref case
    be6a831b44fe remoteproc: qcom_q6v5_pas: Make single-PD handling more robust
    791de7357bdd of: property: Increase NR_FWNODE_REFERENCE_ARGS
    6e66bca8cd51 remoteproc: core: Clear table_sz when rproc_shutdown
    cca86355466f crypto: hisilicon/sec2 - fix for aead authsize alignment
    d512627292bc clk: amlogic: gxbb: drop incorrect flag on 32k clock
    8a16be14db76 fbdev: sm501fb: Add some geometry checks.
    7dc76ac3eb84 mdacon: rework dependency list
    dbac029069f8 fbdev: au1100fb: Move a variable assignment behind a null pointer check
    272a425d77ca PCI: pciehp: Don't enable HPIE when resuming in poll mode
    9ac06e063209 drm/mediatek: dsi: fix error codes in mtk_dsi_host_transfer()
    ce7ebca5488f PCI: xilinx-cpm: Fix IRQ domain leak in error path of probe
    8916ca26d4e6 PCI: Remove stray put_device() in pci_register_host_bridge()
    bb4a1eb2c6a1 drm/amd/display: fix type mismatch in CalculateDynamicMetadataParameters()
    9a376697fcac PCI: Avoid reset when disabled via sysfs
    8656d24467a9 PCI/portdrv: Only disable pciehp interrupts early when needed
    df97eb2fd468 PCI: brcmstb: Use internal register to change link capability
    fa2fcc7706fe PCI: cadence-ep: Fix the driver to send MSG TLP for INTx without data payload
    e5cd58f61e9d PCI/ASPM: Fix link state exit during switch upstream function removal
    01be87ebbf44 drm/mediatek: mtk_hdmi: Fix typo for aud_sampe_size member
    67ccd3e9fdc7 drm/mediatek: mtk_hdmi: Unregister audio platform device on failure
    49a69f67f535 drm/vkms: Fix use after free and double free on init error
    9842973b93c4 drm: xlnx: zynqmp: Fix max dma segment size
    1b990d384b28 drm/dp_mst: Fix drm RAD print
    271755cd8ff0 drm/bridge: ti-sn65dsi86: Fix multiple instances
    b02c23f38fe2 ASoC: ti: j721e-evm: Fix clock configuration for ti,j7200-cpb-audio compatible
    1cfb0ed41174 ALSA: hda/realtek: Always honor no_shutup_pins
    c877ac2c888d HID: remove superfluous (and wrong) Makefile entry for CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER
    2453d54d6700 media: platform: allgro-dvt: unregister v4l2_device on the error path
    f343b4420263 perf/ring_buffer: Allow the EPOLLRDNORM flag for poll
    3a96b835f82e lockdep: Don't disable interrupts on RT in disable_irq_nosync_lockdep.*()
    4eb3afae45cd PM: sleep: Fix handling devices with direct_complete set on errors
    3155d5261b51 thermal: int340x: Add NULL check for adev
    c5e1a3d67651 EDAC/ie31200: Fix the error path order of ie31200_init()
    1f64ad3034dc EDAC/ie31200: Fix the DIMM size mask for several SoCs
    537a5a3de19b EDAC/ie31200: Fix the size of EDAC_MC_LAYER_CHIP_SELECT layer
    ed68a544b931 selinux: Chain up tool resolving errors in install_policy.sh
    24045932e7e0 PM: sleep: Adjust check before setting power.must_resume
    3914a222d673 x86/platform: Only allow CONFIG_EISA for 32-bit
    3047aba14253 x86/fpu: Avoid copying dynamic FP state from init_task in arch_dup_task_struct()
    dc6e7db76a35 cpufreq: governor: Fix negative 'idle_time' handling in dbs_update()
    74e918950ba9 cpufreq: scpi: compare kHz instead of Hz
    990d17f5d35d x86/mm/pat: cpa-test: fix length for CPA_ARRAY test
    471c89b7d4f5 watch_queue: fix pipe accounting mismatch
    ece3fc1c1019 media: i2c: et8ek8: Don't strip remove function when driver is builtin
    03c4c633a022 serial: 8250_dma: terminate correct DMA in tx_dma_flush()
    31f0eaed6914 memstick: rtsx_usb_ms: Fix slab-use-after-free in rtsx_usb_ms_drv_remove
    df594b4bf294 net: usb: usbnet: restore usb%d name exception for local mac addresses
    f9f2b4139ac5 net: usb: qmi_wwan: add Telit Cinterion FE990B composition
    7a8e62c90f27 net: usb: qmi_wwan: add Telit Cinterion FN990B composition
    7802030f86e4 tty: serial: 8250: Add Brainboxes XC devices
    463e16de8ab4 tty: serial: 8250: Add some more device IDs
    1e82f28f2958 counter: microchip-tcb-capture: Fix undefined counter channel state on probe
    889c71c613c0 counter: stm32-lptimer-cnt: fix error handling when enabling
    ce37a881271a ALSA: hda/realtek: Support mute LED on HP Laptop 15s-du3xxx
    1ca2169cc19d netfilter: socket: Lookup orig tuple for IPv6 SNAT
    523b9c2ed5dc ARM: Remove address checking for MMUless devices
    7da1f403ad80 ARM: 9351/1: fault: Add "cut here" line for prefetch aborts
    db8e5866d1aa ARM: 9350/1: fault: Implement copy_from_kernel_nofault_allowed()
    d7f1e4a53a51 atm: Fix NULL pointer dereference
    2498a3a95c80 HID: hid-plantronics: Add mic mute mapping and generalize quirks
    6e8093be53ed ALSA: usb-audio: Add quirk for Plantronics headsets to fix control names
    fdb2cd8957ac bpf, sockmap: Fix race between element replace and close()
    22b49d6e4f39 Bluetooth: hci_event: Align BR/EDR JUST_WORKS paring with LE
    f50efd386116 arm64: dts: rockchip: fix u2phy1_host status for NanoPi R4S
    590327b49706 mptcp: Fix data stream corruption in the address announcement
    037e753561ec drm/amdgpu: Fix JPEG video caps max size for navi1x and raven
    9b2da9c673a0 drm/radeon: fix uninitialized size issue in radeon_vce_cs_parse()
    daba84612236 soc: qcom: pdr: Fix the potential deadlock
    a35b68e55089 batman-adv: Ignore own maximum aggregation size during RX
    4a7d4f01f440 ARM: shmobile: smp: Enforce shmobile_smp_* alignment
    4b0b8445b6fd proc: fix UAF in proc_get_inode()
    4667e64b3916 mmc: atmel-mci: Add missing clk_disable_unprepare()
    8e500180904a regulator: check that dummy regulator has been probed before using it
    f45a322c9994 drm/v3d: Don't run jobs that have errors flagged in its fence
    0ffefd3117fb i2c: omap: fix IRQ storms
    4d9c2a0d8a27 Revert "gre: Fix IPv6 link-local address generation."
    fc0f223ea342 net/neighbor: add missing policy for NDTPA_QUEUE_LENBYTES
    82d9084a9789 net: atm: fix use after free in lec_send()
    d2ae4cc39c1a ipv6: Set errno after ip_fib_metrics_init() in ip6_route_info_create().
    596a883c4ce2 ipv6: Fix memleak of nhc_pcpu_rth_output in fib_check_nh_v6_gw().
    76304cba8cba Bluetooth: Fix error code in chan_alloc_skb_cb()
    33a839830dcc RDMA/hns: Fix wrong value of max_sge_rd
    1d9e126a5db7 RDMA/hns: Fix a missing rollback in error path of hns_roce_create_qp_common()
    bd3774c05c8f RDMA/hns: Fix unmatched condition in error path of alloc_user_qp_db()
    efe544462fc0 RDMA/hns: Fix soft lockup during bt pages loop
    e6f5739f13f0 RDMA/hns: Remove redundant 'phy_addr' in hns_roce_hem_list_find_mtt()
    48dc65b3dd0c RDMA/bnxt_re: Avoid clearing VLAN_ID mask in modify qp path
    0eb62974d6fa ARM: dts: bcm2711: Don't mark timer regs unconfigured
    4296c2f111d6 RDMA/bnxt_re: Add missing paranthesis in map_qp_id_to_tbl_indx
    5608b9b07a39 ARM: dts: bcm2711: PL011 UARTs are actually r1p5
    7a64c8ebf73e xfrm_output: Force software GSO only in tunnel mode
    7631e903a1d0 firmware: imx-scu: fix OF node leak in .probe()
    a140224bcf87 smb: client: fix potential UAF in cifs_debug_files_proc_show()
    9b7cabd24812 smb: client: Fix match_session bug preventing session reuse
    f435192e00bc drm/amd/display: Fix null check for pipe_ctx->plane_state in resource_build_scaling_params
    53ce3ffe7b09 drm/amd/display: Check for invalid input params when building scaling params
    b4d89d5cb794 i2c: sis630: Fix an error handling path in sis630_probe()
    449aaab1338b i2c: ali15x3: Fix an error handling path in ali15x3_probe()
    35092c242e10 i2c: ali1535: Fix an error handling path in ali1535_probe()
    513f6cf2e906 cifs: Fix integer overflow while processing closetimeo mount option
    ea8e5dd4e4cd cifs: Fix integer overflow while processing actimeo mount option
    0c26edf477e0 cifs: Fix integer overflow while processing acdirmax mount option
    a13351624a6a cifs: Fix integer overflow while processing acregmax mount option
    2fc361f0d32c ASoC: codecs: wm0010: Fix error handling path in wm0010_spi_probe()
    b14482befdb6 drm/gma500: Add NULL check for pci_gfx_root in mid_get_vbt_data()
    c402f184a053 ASoC: ops: Consistently treat platform_max as control value
    5defdaddd53a tcp: fix races in tcp_abort()
    105c66116a8b lib/buildid: Handle memfd_secret() files in build_id_parse()
    68ae5ef2dc98 qlcnic: fix memory leak issues in qlcnic_sriov_common.c
    1397715b011b drm/amd/display: Fix slab-use-after-free on hdcp_work
    0c0016712e5d drm/amd/display: Assign normalized_pix_clk when color depth = 14
    9e8637d974f7 drm/amd/display: Restore correct backlight brightness after a GPU reset
    70b8c6f7b061 drm/atomic: Filter out redundant DPMS calls
    18b5d857c649 x86/microcode/AMD: Fix out-of-bounds on systems with CPU-less NUMA nodes
    479258418366 USB: serial: option: match on interface class for Telit FN990B
    8d57aa9f5207 USB: serial: option: fix Telit Cinterion FE990A name
    9ce2056eaada USB: serial: option: add Telit Cinterion FE990B compositions
    cdc013ff804b USB: serial: ftdi_sio: add support for Altera USB Blaster 3
    a755c6d1dfe7 block: fix 'kmem_cache of name 'bio-108' already exists'
    e51d136d3369 drm/nouveau: Do not override forced connector status
    d42130a5a228 mptcp: safety check before fallback
    4d63301ae35c x86/irq: Define trace events conditionally
    c21d1fa13902 fuse: don't truncate cached, mutated symlink
    0cae84544670 ASoC: tas2764: Set the SDOUT polarity correctly
    631bc990daea ASoC: tas2764: Fix power control mask
    2a0177da8a81 ASoC: tas2770: Fix volume scale
    fb97ca69cc21 nvme: only allow entering LIVE from CONNECTING state
    f7580f081edd sctp: Fix undefined behavior in left shift operation
    f25a991ea177 nvmet-rdma: recheck queue state is LIVE in state lock in recv done
    75308c6bb93e net: wwan: mhi_wwan_mbim: Silence sequence number glitch errors
    eed857c0d173 ASoC: SOF: Intel: hda: add softdep pre to snd-hda-codec-hdmi module
    e1b6ee40153b ASoC: arizona/madera: use fsleep() in up/down DAPM event delays.
    92d029655812 ASoC: rsnd: don't indicate warning on rsnd_kctrl_accept_runtime()
    5664d28540ae thermal/cpufreq_cooling: Remove structure member documentation
    9f5921f38f46 s390/cio: Fix CHPID "configure" attribute caching
    64577690e49c sched: Clarify wake_up_q()'s write to task->wake_q.next
    007a849126ef HID: ignore non-functional sensor in HP 5MP Camera
    6e0397d0a4ec HID: intel-ish-hid: fix the length of MNG_SYNC_FW_CLOCK in doorbell
    3ad860fd4be1 vboxsf: fix building with GCC 15
    01f5839123d6 alpha/elf: Fix misc/setarch test of util-linux by removing 32bit support
    e8ed82ff391b ACPI: resource: IRQ override for Eluktronics MECH-17
    c737e2a5fb7f scsi: qla1280: Fix kernel oops when debug level > 2
    67aad09faab8 scsi: core: Use GFP_NOIO to avoid circular locking dependency
    b388e185bfad iscsi_ibft: Fix UBSAN shift-out-of-bounds warning in ibft_attr_show_nic()
    4a2ea3dd4eb9 powercap: call put_device() on an error path in powercap_register_control_type()
    54595d6e8b6f hrtimers: Mark is_migration_base() with __always_inline
    c26d65527f31 nvme-fc: go straight to connecting state when initializing
    e4cb0dd364af net/mlx5e: Prevent bridge link show failure for non-eswitch-allowed devices
    f90c4d657248 net/mlx5: Bridge, fix the crash caused by LAG state check
    057dbc5b72e9 net: openvswitch: remove misbehaving actions length check
    23721bbf1481 openvswitch: Use kmalloc_size_roundup() to match ksize() usage
    b6be0f687841 slab: Introduce kmalloc_size_roundup()
    4207e812e49f slab: clean up function prototypes
    cb4407c921e1 gre: Fix IPv6 link-local address generation.
    46ea2a7a8c27 netfilter: nft_exthdr: fix offset with ipv4_find_option()
    003d92c91cdb net_sched: Prevent creation of classes with TC_H_ROOT
    65b0a61ca237 ipvs: prevent integer overflow in do_ip_vs_get_ctl()
    e8544a5a97be netfilter: nf_conncount: Fully initialize struct nf_conncount_tuple in insert_tree()
    29c419c64e9b net/mlx5: handle errors in mlx5_chains_create_table()
    77d9b2d60b57 Drivers: hv: vmbus: Don't release fb_mmio resource in vmbus_free_mmio()
    b018706f5fdb netpoll: hold rcu read lock in __netpoll_send_skb()
    7274119e8128 net: dsa: mv88e6xxx: Verify after ATU Load ops
    e6902101f34f ice: fix memory leak in aRFS after reset
    595e855a0f38 netfilter: nft_ct: Use __refcount_inc() for per-CPU nft_ct_pcpu_template.
    10e33014552c pinctrl: bcm281xx: Fix incorrect regmap max_registers value
    179cf97ee278 fbdev: hyperv_fb: iounmap() the correct memory when removing a device
    70549c80fe80 ipv6: Fix signed integer overflow in __ip6_append_data
    21c0225b66b8 sched/isolation: Prevent boot crash when the boot CPU is nohz_full
    cfd5ee5a6684 clockevents/drivers/i8253: Fix stop sequence for timer 0
    f5dc10b910bd vlan: fix memory leak in vlan_newlink()
    e0bb89c44b56 efi: libstub: Use '-std=gnu11' to fix build with GCC 15
    b5d500042eb3 usb: hcd-pci: remove the action of faking interrupt request
    1b4c2b1574e7 usb: dwc3: Remove the duplicate code in the dwc3_suspend_common()
    96238227b1ba firmware: xilinx: Fix two enum-int-mismatch errors
    6f0605db50e2 clk: imx: Add check for kcalloc
    5b837b9e1543 bpf: Fix the indention issue in grow_stack_state()
    42b62697634d cifs: Fix the calling of smb_version_operations::calc_smb_size()
    b14acf729e9d f2fs: Add inline to f2fs_build_fault_attr() stub
    7c317bec311f f2fs: check validation of fault attrs in f2fs_build_fault_attr()
    81c12119c23f bpf: Fix accesses to uninit stack slots [ Upstream commit 6b4a64bafd107e521c01eec3453ce94a3fb38529 ]
    c4fa05422d87 smb: client: fix potential OOB in smb2_dump_detail()
    299ef3b5b00b of: module: add buffer overflow check in of_modalias()
    80afbc1b2fd1 fpga: region: Drop unneeded part due to merge issue
    b8086c3c1548 reiserfs: Avoid touching renamed directory if parent does not change
    ea091017ef62 ipv6: Fix data races around sk->sk_prot.
    ff8710da80ee ipv6: annotate some data-races around sk->sk_prot
    e8c2eafaaa6a tcp: Fix data races around icsk->icsk_af_ops.
    b534e1adeb7c gpio: zynq: fix zynqmp_gpio not an immutable chip warning
    939540dec448 gpio: Don't fiddle with irqchips marked as immutable
    9201366ba1cd sound: xilinx: use hdmi-codec as dp audio codec
    8d1bab770956 locking/rwsem: Disable preemption while trying for rwsem lock
    7c82dac02886 block, loop: support partitions without scanning
    45f504f301d4 bpftool: Fix pretty print dump for maps without BTF loaded
    c1fac418c555 driver: soc: xilinx: rename cpu_number1 to dummy_cpu_number
    01867ba4c4bd net: axienet: Fix check for partial TX checksum
    1f24338cb789 jbd2: Drop the merge conflicted hunk
    e1d0e3c51bde tpm: tis_i2c: Limit write bursts to I2C_SMBUS_BLOCK_MAX (32) bytes
    1abe841fe331 tpm: tis_i2c: Limit read bursts to I2C_SMBUS_BLOCK_MAX (32) bytes
    6224acfc1d56 tpm: Add flag to use default cancellation policy
    1cd19d48fb90 tpm: tis_i2c: Fix sanity check interrupt enable mask
    a883da132fa8 tpm: Add tpm_tis_i2c backend for tpm_tis_core
    a742ac8a1c51 tpm: Add tpm_tis_verify_crc to the tpm_tis_phy_ops protocol layer
    ef495c5f45f2 tpm: Remove read16/read32/write32 calls from tpm_tis_phy_ops
    45f25f24d09f usb: dwc3: Restore the SDK changes in dwc3_core_soft_reset()
    ce9531008011 i2c: xiic: Drop the duplicate codes introduced by stable merge
    1f3be2e23aa6 gcc-plugins: Reorganize gimple includes for GCC 13
    24615a3b932a ata: ahci: fix enum constants for gcc-13
    5d6cb145541a net: stmmac: Enable mac_managed_pm phylink config
    fd93aabb4287 tools/resolve_btfids: Use pkg-config to locate libelf
    130f9da78406 tools/resolve_btfids: Build with host flags
    00f2f1a782f9 tools/resolve_btfids: Support cross-building the kernel with clang
    17776a4ba9c2 tools/resolve_btfids: Install libbpf headers when building
    7c9808380d70 libbpf: Make libbpf_version.h non-auto-generated
    37ae1ba791ac libbpf: Add LIBBPF_DEPRECATED_SINCE macro for scheduling API deprecations
    a764687951a8 usb: dwc3: gadget: do cleanup for dwc3_stop_active_transfer
    b687af038c30 arm64: dts: versal: add i2c devices
    dba87a9085b3 arm64: zynqmp: Skip frequency resetting of si570 clocks during probe
    b1a17a5b31c1 arm64: versal-net: Switch alias order for sdhci
    f2f423bf8b37 arm64: versal: Enable LPD DMA on vek280 board
    791764ddefd1 spi: spi-zynqmp-gqspi: Fix call trace during QSPI suspend
    2941442ba6c1 drm: xlnx: hdmi: Add VPSS bridge support
    6f9d0dea524e drm: to find the standard mode in CEA table
    a024a464ec78 phy: xilinx-xhdmiphy: Add support to GTYE5 and GTYP devices
    45433dc914fe dt: bindings: phy: Add new compatible string to support HDMI GT controller
    bc4f21863016 misc: xilinx-ai-engine: Skip error interrupt backtrack for AIE-ML
    bc97498a91be arm64: versal-net: Add 'power-domains' and 'reset-gpios' properties
    f0072d866c6d drm: xlnx: dp: share the dp registers to dp audio driver
    4d87a5a7432f drm: xlnx: dp: Fix the condition check and get audio clock rate
    fd0dc83f179e v4l: xilinx: dprx: Add HDCP1X support
    20584a013b2c dt-bindings: xilinx: Add hdcp1x support for DPRXSS
    7dd6cc0aeb13 v4l: xilinx: Add HDCP1X rx driver
    86b57ba6fd1e staging: xlnx_hdcp1x: Add HDCP1X cipher functionality for Xilinx devices
    f45966d27e80 Revert "arm64: zynqmp: Add power domain description for PL"
    b205a9a8228e arm64: xilinx: Add Versal NET platforms
    0a60bfafdc59 dt-bindings: xilinx: Add support for Versal NET power/reset
    adc401f52fc1 arm64: zynqmp: Add support for vck190-revB SC board
    ef74629dd1cc arm64: xilinx: Add support for vek280 revA board
    c6cb3f956e4e arm64: versal: Add support for Versal vhk158 board
    df90c617ecc5 iio: adc: versal-sysmon: Add nodeid property to DT
    6029118d61a2 iio: adc: versal-sysmon: Support multi SLR sysmon
    95b03d322808 iio: adc: versal-sysmon: Add nodeid in DT doc
    6e93ee82927e iio: adc: versal-sysmon: Add nodeid to PLM interface
    7bc75b4ab0d1 arm64: zynqmp: Differentiate clock nodes with 'clock-output-names' property
    adf0a9df7c4c arm64: zynqmp: Differentiate clock nodes with 'clock-output-names' property
    3b3aea49f9ed arm64: zynqmp: Correct labels of TCA6416A GPIO Expander
    2a8036a4dab7 arm64: zynqmp: Add mtd partition for secure OS storage area
    a335ba3699fe Revert "arm64: zynqmp: Comment sata phy setting for zcu102"
    524e12d43f6a spi: increase timeout value for spi transfers
    1676e9bfd9e5 i3c: master: dw: HACK: Update the scl timings
    a4b648c0b36b spi: spi-cadence-quadspi: Add module param to configure read timeout
    64389588052f firmware: xilinx: add support for Versal NET
    5c6838583891 reset: reset-zynqmp: add support for Versal NET platform
    56aeff13ab84 dt-bindings: reset: add compatible string for Versal NET reset driver
    69cb391ebffc dt-bindings: arm: cpus: Add ARM Cortex-A78
    d1501fb479c0 Revert "pinctrl: pinctrl-zynqmp: Add support for output-enable and bias-high-impedance"
    4b0747f59ad5 drm: xlnx: hdmi: Add support for arbitrary resolutions
    45de2ad5e676 dt-bindings: display: xlnx: hdmitxss: Add v1.2 compatible string
    db7d84274707 drm: xlnx: hdmi: update video timing parameters
    1a224c0dbc75 drm: xlnx: hdmi: Update phy configure call sequence in HPD event handler
    4109612448f9 mtd: spi-nor: Add support for Macronix mx66l2g45g flash
    d6d12b247476 mtd: spi-nor: Add flash lock/unlock support for Macronix flashes
    f4b6421bf219 net: macb: Fix ZynqMP SGMII non-wakeup source resume failure
    ae19c886f666 staging: xilinx-tsn: Fix compilation error in xilinx-tsn when PHYLIB is configured as a module.
    c9846ef8df8a staging: xilinx-tsn: Separate mdio related functions from axiethernet
    3bc6aeeb2d83 misc: xilinx-ai-engine: fix shim dma laddr mask
    a8a0a105f786 clk: versaclock7: Use a property to differentiate between nodes
    6562d87b8057 dt-bindings: watchdog: Add versal support
    2790bd839c7b dt-bindings: watchdog: Convert Xilinx watchdog bindings to json-schema
    abef39c9a8e1 crypto: xilinx: Handle invalid RSA key size
    f53aa5077538 dt-bindings: gpio: gpio-xilinx: Convert Xilinx axi gpio binding to YAML
    c13d3f34a0a1 clk: versalclock7: Use index to output mapping to reference banks
    3dc3245a3f0e arm64: versal: Add resets property in ospi DT node
    cc5b3e7c17e7 arm: dts: versal: add resets property for usb
    9c421b280643 arm64: versal: add reset-controller node
    4e940e2c56b2 arm: dts: versal: add ref_clk property for REFCLKPER calculation
    e4f7870ad1c7 arm64: versal: Add OCM controller node
    118d91dd45f8 arm64: versal: Wire gpio ethernet phy reset properly
    446e621dac56 arm64: zynqmp: Add missing tca6416 to zynqmp SC
    fc484a82a4c3 arm64: zynqmp: Add linux,code for gpio button
    f7206a5d36aa arm: dts: Add xlnx prefix to GEM compatible string
    7ef94d498482 arm64: versal: add xilsem edac node
    72c6f2bbe946 arm: dts: zynqmp: add snps,xhci-reset-on-resume quirk
    dc65c26efecc misc: xilinx-ai-engine: Fix uninitialized symbol 'dev'
    1c50544169ac usb: gadget: udc-xilinx: fix compilation error
    930f47675f3e usb: add quirk for xhci reinit warning on resume
    2f683f948012 dt-bindings: usb: dwc3: Add snps,xhci-reset-on-resume quirk
    d5fbdbe50e99 usb: gadget: udc-xilinx: replace memcpy with __memcpy_toio
    989fb52752ae net: cdns,macb: use correct xlnx prefix for Xilinx
    2dd512429d54 dt-bindings: net: cdns,macb: use correct xlnx prefix for Xilinx
    3fc7813ff947 arm64: zynqmp: add ref_clk property for REFCLKPER calculation
    ffd2602f73d9 arm64: zynqmp: Add clk bindings for RC21008A clock generator
    a143eb6d1e8a arm64: zynqmp: Add RC21008A clock nodes for vhk158
    7a3690b5bc82 drm: xlnx: sdi: Fix coding style (double space)
    ec807b81bc02 v4l: xilinx: sdirxss: HFR handling for 12G mode
    6110b1f1af22 drm: xlnx: sdi: HFR feature support
    2bc5b30b1d7a drm: xlnx: sdi: YUV444 format support
    15e5bfdc9985 drm: xlnx: dsi: Remove holes in dsi structure
    e854fc09f0d5 soc: xilinx: Fix for call trace due to the usage of smp_processor_id()
    5ccd0b215d18 net: macb: Fix macb mdiobus handing for DT nodes without phy-handle
    506f2abf47dc spi: spi-xilinx: Fix spi timeout issue with threaded irq enabled
    0d0f78000535 v4l: xilinx: dma: Fix back pressure on upstream entities in LLP2
    32b9cd58cf4c misc: xilinx_trafgen: deprecate the driver
    3f44aaf3a23f soc: xilinx: fix unhandled SGI warning message
    b62d1e4af698 PCI: xilinx-cpm: Add support for Versal CPM5 Root Port
    5b365e4275c1 dt-bindings: PCI: xilinx-cpm: Add Versal CPM5 Root Port
    5b27a7c40acc PCI: xilinx-cpm: Rename xilinx_cpm_pcie_port to xilinx_cpm_pcie
    a7ad86e82828 misc: xlnx_dpu: Dual license update for DPU header driver: GPL + Apache
    a0b60881ea8d iio: adc: versal-sysmon: update irq handling
    26f487d904ec iio: adc: versal-sysmon: fix write reg. in secure mode
    156016dbeb05 drm: xlnx: dptx: Change the VTC sub-core offset address
    858709bc53cf dt-bindings: display: xlnx: Add VTC offset DT property
    708f34f0b99e dt-bindings: display: xlnx: Add support for DP Tx SS v3.1
    6d333b80caeb misc: xilinx-ai-engine: Make direct writes to sysfs export buffers
    7f16cabb6602 v4l: xilinx: sdirxss: No payload handling for SDI 3G Mode
    28b785363ecc net: macb: In shared MDIO usecase make MDIO producer ethernet node to probe first
    66a2a7563426 edac: xilinx: Added EDAC support for Xilinx XilSem
    4cc9a928e978 firmware: xilinx: Add XilSem error events
    c725b98c50df dt-bindings: edac: Add bindings for Xilinx Versal EDAC for XilSem
    c5b7a7b5ecdf mtd: spi-nor: Add lock/unlock support for ISSI flash parts
    d94a3382260c phy: xilinx_dpgtquadphy: Add missing bitfield header
    dc5e3442b5ac misc: xlnx_dpu: Update the compatible
    6fc04412573a dt-bindings: misc: xlnx_dpu: Update the compatible for dpu v4.0 and v4.1
    180aed3313eb mtd: rawnand: arasan: Provide an additional ->exec_op() check
    3eea39e8b077 mtd: rawnand: Check the CHANGE_READ_COLUMN from nand_read_subpage() is supported
    0f230ac02255 mtd: rawnand: Add a helper to check if a CHANGE_READ_COLUMN is possible
    5383b60ee54a Revert "mtd: rawnand: arasan: Prevent an unsupported configuration"
    f8452cea3ad3 ARM: zynq: Fix OCM mmio-sram node
    e54dd6c00052 fpga: zynqmp: Make word align the configuration data
    d7f814493759 v4l: xlnx: sdirxss: Fixed kernel-doc warnings.
    28c759ccf4aa v4l: xlnx: sdirxss: Reset s_stream flag on STREAMOFF always
    4b345156490d v4l: xlnx: sdirxss: Continue streaming on connecting after disconnect from same source
    014c671b4045 mtd: spi-nor: swp: Fix lock/unlock failure on spansion flashes
    19a0850f948b mtd: spi-nor: swp: fix unlock lower area failure
    fbd2f8235aee mtd: spi-nor: Enable lock/unlock feature for s25fl256s spansion flashes
    61db1b6710e8 dt-bindings: ata: ahci-ceva: convert to yaml
    f3dae8232883 misc: xilinx_flex: deprecate the driver
    cf0e98a17340 clk: versalclock7: Add Renesas versaclock7 ccf device driver
    3f48da69fc36 dt-bindings: Renesas versaclock7 device tree bindings
    c6ee26d27753 ARM: zynq: Deprecate zynq ocmc driver
    50393cac74b6 spi: spi-cadence: Fix SPI NO Slave Select macro definition
    1e8e78d31ca4 v4l: xilinx: dprx: Fix compilation error
    3c31cedf8db5 misc: xilinx-ai-engine: Deprecate support for Versal S80 ES1
    d8b86a06344f spi: spi-xilinx: Fix bits_per_word_mask
    cf1a0b008089 sound: xilinx: pcm: Convert driver to use SPDX license header
    5f55231f417c sound: xilinx: pcm: Fixes NULL pointer dereference while setting config from DAI data
    9a7703423a4c soc: xilinx: remove pm_final_initialize call
    69f346cf74c1 soc: xilinx: add a to_zynqmp_pm_domain macro
    725660ddd2dd soc: xilinx: use a properly named field instead of flags
    80d7a7d8c087 soc: xilinx: cleanup debug and error messages
    6a198f68905c soc: xilinx: move PM_INIT_FINALIZE to zynqmp_pm_domains driver
    57d4a8a797d9 drm: xlnx: dptx: Add support for static HDR
    ab0b94b1da3c arm64: versal: dts: drop legacy property #stream-id-cells
    bf293c877963 arm64: xilinx: dts: drop legacy property #stream-id-cells
    a2667e6d7314 drm/radeon: free iio for atombios when driver shutdown
    f100c753aa1f powerpc: Fix reschedule bug in KUAP-unlocked user copy
    da5513f30187 libbpf: Fix build warning on ref_ctr_off
    4c5a089621a8 perf python: Account for multiple words in CC
    1c5699ee85d4 fs: move S_ISGID stripping into the vfs_*() helpers
    838f5d0701d8 fs: add mode_strip_sgid() helper
    d97172683641 squashfs: provide backing_dev_info in order to disable read-ahead
    bd383081ee5b usb: dwc3: delete dwc3_xhci_plat_priv
    ed037d7be40c irq_work: use kasan_record_aux_stack_noalloc() record callstack
    1363bd7dbde3 ixgbevf: add disable link state
    e5601ae2bd24 ixgbe: add improvement for MDD response functionality
    caa57cd80575 ixgbe: add the ability for the PF to disable VF link state
    16a77bfcc7df Check /dev/console using init_stat()
    04574fd5579a tracing/arm: Have max stack tracer handle the case of return address after data
    0e51e5717018 gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully
    1e6b7da6ddba drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES
    493160901320 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    04224f725aa3 irqchip/gic-v3-its: Skip HP notifier when no ITS is registered
    6f6c2996a81c irqchip/gic-v3-its: Postpone LPI pending table freeing and memreserve
    1fa94473423f irqchip/gic-v3-its: Give the percpu rdist struct its own flags field
    6013d1ae5feb cert host tools: Stop complaining about deprecated OpenSSL functions
    efe20512212b init/Kconfig: fix CC_HAS_ASM_GOTO_TIED_OUTPUT test with dash
    a40d2daf2795 pnmtologo: use relocatable file name
    3b40d5b41155 of: configfs: remove unused variable overlay_lock
    6c085baf1838 tools: use basename to identify file in gen-mach-types
    2fca0fd71981 lib/build_OID_registry: fix reproducibility issues
    0f586f4ee8ad vt/conmakehash: improve reproducibility
    a75774679f28 OF: DT-Overlay configfs interface (v8)
    305f859e03d4 dt-bindings: net: xilinx: document xilinx emaclite driver binding
    ae6e40cf8a72 drm: xlnx: mixer: Correct the fourcc string copy
    35a3ae1ce469 usb: dwc3: xilinx: Make regulator ops const
    823e05bbad26 usb: dwc3: xilinx: Fix alignment issues
    07960d1ac23d usb: dwc3: xilinx: Make dwc3_xilinx_wakeup_capable() static
    53bc249b031d pinctrl: pinctrl-zynqmp: Fix kernel-doc warning
    c2d2fc3e21ed net: xilinx: fix mixed declarations and code compile warning
    ef547c815f8f arm64: zynqmp: Add 'i2c-mux-idle-disconnect' property for vpk180
    9ea37dfc8a7d arm64: zynqmp: Set qspi tx-buswidth to 4
    8198f12c7f97 arm64: zynqmp: Add linux,code for fwuen button
    f428057f09ee arm64: zynqmp: Enable DP for kv260-revA board
    4cc745fe47d1 arm64: zynqmp: Fix usb node drive strength and slew rate
    1eab728efe96 arm64: zynqmp: Add pinctrl setting for zynqmp-sc-revB
    9714cc71a36e arm64: zynqmp: In sc-revB dts move PHY reset to PHY node
    5665349a16fe arm64: zynqmp: Invert the pwm-fan polarity in SC
    0b1cb42afa31 arm64: versal: Set qspi tx-buswidth to 4
    fb3165f182ca dts: versal: Enable LPD DMA on Versal boards
    a4ab0c56fa2b arm64: versal: Specify console and early console for vck5000
    f82a172b753a pinctrl: pinctrl-zynqmp: Add support for output-enable and bias-high-impedance
    258bd8ad12e1 dt-bindings: pinctrl-zynqmp: Add output-enable configuration
    7fc647e5b00f v4l: xilinx: dprx: Enable audio to receive infoframes with static HDR metadata
    1016f2e05f76 checkpatch: get default codespell dictionary path from package location
    c44978da576f v4l: xilinx: dprx: Add support for static HDR
    dd621316483a staging: xilinx-tsn: initialize timer_priv struct in axienet_local
    bae1ad6e454b misc: xilinx-ai-engine: Fix return value of sysfs current_freq read op
    29b397ecec62 drm: xlnx: zynqmp_dp: Fix kernel dump messages when the DP cable is disconnected
    bbc3330950e3 staging: xilinx-tsn: set default pcp to queue mapping
    3c89677edd67 firmware: xilinx: export sysmon used APIs
    ad1645056c33 dt-bindings: PCI: xilinx-cpm: Fix reg property order
    536a807501dc dt-bindings: net: xilinx_tsn: Document MCDMA properties
    3420aa064190 dt-bindings: net: xilinx_tsn: Add ranges property
    f511502dd6ff usb: dwc3: xilinx: fix usb3 non-wakeup source resume failure
    e8345d774971 usb: dwc3: xilinx: Fix error handling when getting USB3 PHY
    a272e82ea851 drm: xlnx: sdi: Fix typo in kernel-doc
    a5d85cd868d5 drm: xlnx: sdi: reset gt-phy based on device tree property
    c29e7f0f91ac v4l: xilinx: multi-scaler: Fix warnings for unchecked return value
    b6fa9d374751 staging: xilinx-tsn: Remove hardcoded interface names
    246849ced049 staging: xilinx-tsn: Add ethtool hook to read phc associated with ep
    78f87e970bd5 staging: xilinx-tsn: Fix axienet_tsn ioctl
    03dea74d4542 dt-bindings: mailbox: zynqmp_ipi: convert to yaml (sync with upstream v5)
    f2ba685e03a8 staging: xilinx_tsn: Correct skb passed in error handling path
    ec5600035771 net: xilinx: Correct skb passed in error handling path
    0784f34cb4c6 Revert "spi: spi-cadence: Fix uninit_use coverity warning"
    877926d2392f xilinx-ams: Fix UBSan Warning
    28e9f1e57866 net: macb: Use device_link framework to specify suspend/resume dependency
    0f00d2f4bd7f fpga: Add ps-pl reset handling through xilinx afi driver
    f96f1a495a59 dt-bindings: fpga: Add property "resets" to xilinx-afi driver
    526d37391236 arm64: xilinx: Add support for vhk158 system controller
    28a080a95635 mtd: spi-nor: For erase size equal to 0 set erase size_shift to 0
    c5d8a348b129 fpga: zynq-fpga: Ensure proper xCAP interface switch
    3d5b816d13ff net: macb: Fix ethtool WOL helper
    2668745ee5e4 mmc: sdhci-of-arasan: Add NULL check for data field
    c0e396f04c42 v4l: xilinx: dprx: Fix dtg enable register update
    b1fd62d3794b crypto: xilinx: Mark zynqmp-aes.c and zynqmp-sha-deprecated.c as deprecated
    a5b0e6bf456d mtd: spi-nor: Fix read/write failures with 16MB flashes connected in dual parallel or stacked mode
    242f0e824254 net: xilinx: Fix TX TS FIFO read sequence
    269ca22b10eb spi: spi-zynq-qspi: Remove multiple instances of clock enable
    39f68769a590 drm: xlnx: pl_disp: Add strict check of video format in dt parsing.
    52946832ebbf ASoC: xilinx: Sync up with upstream version
    7752c80971ab arm64: xilinx: Fix opp-table-cpu
    c22cef7e09f8 dt-bindings: watchdog: xps-timebase: Align filename
    6d3f544a86ec dt-bindings: media: xilinx: xcsi2rxss: Declare fixed value with const
    1d371a0798ff dt-bindings: soc: xilinx: ai-engine: Fix node name example
    705f2010736b driver: soc: xilinx: Update function prototype for xlnx_unregister_event
    9d053bdc8eeb driver: soc: xilinx: Add support of multiple callbacks for same event in event management driver
    9af0d6a3aef9 net: xilinx: Fix indentation in axienet probe
    a78cb33266fb Revert "net: macb: Process tx timestamp only on ptp packets"
    e4fdec05b704 dt-bindings: iio: xilinx-ams: Fix typo in VUSER indices
    4bd43cc02aa8 v4l: xilinx: dma: Fix warnings for UNINIT
    e05c4cebebd8 xilinx: zynqmp: Fix i2c addresses for vck190 SC
    672fdb9349dd xilinx: zynqmp: Fix tps544/u3007 node description
    a22c64f7e98f xilinx: zynqmp: Wire SC dtbs for vpk120/vpk180
    16f0a5eb1b6c arm64: xilinx: Update tps53681 i2c address
    e763d738aa7e tty: serial: uartps: add missing mutex_unlock in cdns_get_id()
    478d52c4d0b9 arm64: xilinx: Use zynqmp prefix for SOM dt overlays
    daecb3e0d436 media: xilinx: Fix typos in Kconfig (RGB2YUV)
    44cbed465da0 dt-bindings: mailbox: zynqmp_ipi: convert to yaml
    d6396ec7cd27 iio: versal-sysmon: fix for_each_child.cocci warnings
    53b3938cebb4 clk: clk-xlnx-clock-wizard-v: fix missing bitfield include
    5a0db4eef82d clk: clk-xlnx-clock-wizard: fix missing bitfield include
    db963525c49d misc: xilinx-ai-engine: Null terminate local event sysfs buffer
    df38209ac2e0 net: xilinx: Move Xilinx TSN to staging
    1b1dd83c8936 net: xilinx: Fix ep ioctl
    b7f48dd8077b net: xilinx: Pass phy interface to of_phy_connect()
    9c72219a9872 net: xilinx: Simplify device reset sequence
    30c5fd86a239 net: xilinx: Add support for dynamic configuration of Layer 2 stream identification
    f6cdac24dec6 net: xilinx: Add barriers to fix bootup, switch cam entry and qci issues
    5c0dd2feed41 net: xilinx: Change TADMA from discrete to continuous
    e01cf3531a6c net: xilinx: EP only data path change
    1cfde22c3c9b dt-bindings: Add EP MCDMA related bindings
    fafc235e861f net: xilinx: TSN endpoint extension support
    c3dd0448af02 dt-bindings: net: Add Xilinx TSN extended endpoint bindings
    733838099e66 net: xilinx: Add check for minimum number of MCDMA Rx queues
    9b2f9e39e564 net: xilinx: Compile time pcp mapping
    6cfc052c38c9 net: xilinx: Add support for enabling preemption
    b196e7042eb9 net: xilinx: Add PTPv2 support
    55db12099986 net: xilinx: TSN queue numbers
    ca5e422780fa net: xilinx: Modify CB and QCI ioctl api
    cc16dae4738c net: xilinx: Change irq name with details
    ff7eeab1c6e6 net: xilinx: Add default cam entries for Management queue
    dcf32da3a96e dt-bindings: xilinx_tsn_switch: Document number of ports
    b57e49066dd4 net: xilinx: Add switch device support
    e64a38334bf2 net: xilinx: Free the reference to ep, when register_netdevice fails
    32a499932fd6 net: xilinx: Access qbv registers only when Qbv is enabled
    d34db2bde51e net: xilinx: Add a separate function to set mac address for ep
    4d00d9cd12c8 net: xilinx: Add TADMA driver support
    e961534b71cd dt-bindings: Add TADMA specific properties
    c8b4f3ed1ce4 net: xilinx: Set default pcp value for egress queue 1
    849e48518df7 net: xilinx: Add support for tag/untag options in switch cam
    f95c2e62ae45 net: xilinx: Enable ipv when qci isn't enabled.
    59321d05ec32 net: xilinx: Change the name of cam add/del function
    d41085e4d0e8 net: xilinx: Add support to read switch CAM entries
    715a9296a86b net: xilinx: Add native vlan support in PL TSN driver
    6d6d74f8916d net: xilinx: Add per vlan HW learning support
    f4d9fdd1ac50 net: xilinx: Add port vlan membership support in PL TSN driver
    8db4cbf63242 net: xilinx: Add switch port state change support
    b83d7b5be013 net: xilinx: Add switch learning support in TSN driver
    756cd193b566 net: xilinx: Fix HW hang issue for accesses to KEY2 and TV1 registers
    69e7a85da261 net: xilinx: Correct register write values for cam read/write
    670a351941c7 arm64: zynqmp: Add dmas, gpu, rtc, watchdogs and opp nodes for SOM
    91cc4e0437ed arm64: zynqmp: Add power domain description for PL
    173f84cf056a drivers: crypto: Return error code if data size is out of bounds
    d872cab1a5dd arm64: versal: Update USB node handle from dwc3 to usb
    405f9ccf0bfd arm64: versal: Add support for sysmon SSIT
    2dc7bdf85d6f arm64: zynqmp: Add pwm-fan node and ttc0 pwm-cells property
    42a075cbb6bd arm64: zynqmp: Add pwm-fan node and fix ttc0 pwm-cells property
    6e9e5a0f2d5c arm64: zynqmp: Comment sata phy setting for zcu102
    e07cf3453cd7 dmaengine: xilinx: frmbuf: Corrected error checking condition in fid_err and fid_out getter functions
    a07d44125257 Revert "net: macb: Use pm_runtime_force_resume/suspend APIs in MDIO helper functions"
    c3cde6f408eb net: macb: Use pm_runtime_force_resume/suspend APIs in MDIO helper functions
    1cd222a36855 net: macb: Add ethtool support to advertise WOL
    58598a61f071 crypto: xilinx: Add upstreamed SHA driver
    3d6b240702c2 firmware: xilinx: Used lower_32_bits and upper_32_bits
    dd70f52891d8 dmaengine: xilinx: ps_pcie: Remove ZynqMP PS-PCIe End Point Driver
    d6c913fa811c sound: soc: xilinx: Correct channel status register value for 48k sampled audio
    41e39b1a26ef misc: xilinx-ai-engine: fix return for overlay use case
    0ad2ae8f6c0e drivers: soc: xilinx: Fix error message on SGI registration failure
    b60de5d6d124 mmc: sdhci-of-arasan: Add delay to reach card stable state
    edf15171fec0 mmc: sdhci-of-arasan: Fix SDx_BASECLK configuration issue
    24341495b907 edac: xilinx: make event manager registration configurable
    17de17c9b0f4 can: xilinx_can: Add Transmitter delay compensation (TDC) feature support
    43179e9939aa misc: xilinx-ai-engine: Fix clock frequency to QoS conversion
    47f94d3224f7 misc: xilinx-ai-engine: Query AIE clock by name ID
    2ed95369da0c staging: uartlite-rs485: Advertise RS485 CAP
    92f922b0df6f staging: uartlite-rs485: Initial commit to add drv
    04e19d32857f drm: xlnx: Update DSI-Tx Kconfig
    b3e238b307c5 drm: xlnx: Move SND_PCM_ELD selection under DRM_XLNX
    3a2e6a1fb998 v4l: xilinx: axis-subsetconv: Add driver for axis subset converter
    9bc63bcff8bc dt: bindings: media: xilinx: Add device tree bindings for subset conv
    b353d2844ba3 dt-bindings: can: xilinx_can: Convert Xilinx CAN binding to YAML
    4e5de7229167 fpga: select FPGA_BRIDGE for 'Xilinx LogiCORE PR Decoupler' helper
    c4948b8ad9cf spi: spi-cadence-quadspi: Fix ospi resume failures
    90ffe730ebb2 drm: xlnx: Update DPTX kconfig setting
    bb6fb1716df2 ASoC: xlnx: Remove unnecessary dependency
    bba128d4554b drm: xlnx: hdmi: Update pixel max rate to support higher resolutions
    e21d0907db59 drm: xlnx: hdmi: Correct DDC write field logic
    6a8608aa702f drm: xlnx: hdmi: Get maximum link rate and number of lanes supported by sink
    6fc52f42b782 misc: xlnx_dpu: Add debugfs interface to export memory and regs
    c1e2986106a4 misc: xlnx_dpu: add helper function to dump all registers
    46c6c5ba9bd8 misc: xlnx_dpu: Add Xilinx DPU IP driver for Vivado tool flow
    dc2bc15bc958 dt-bindings: misc: xlnx_dpu: Add DPUCZDX8G v3.4 documentation
    4bef67f55650 sound: soc: xilinx: Remove using hdmi_codec_driver
    79e7069841de drm: xlnx: dptx: Add audio codec driver support
    825db638de6c dt-bindings: timer: Update pwm-cells value ranges
    81e55b86faac pwm: pwm-cadence: Handle pwm-cells through of_xlate
    26e42e6912cd clk: xilinx: vcu: don't set pll_ref as parent of VCU(enc/dec) clocks
    87421eaa1ac1 net: axienet: Add coding style related fixes
    5b13760a36db net: axienet: Fix missing kernel description warnings
    e4d309d076c7 net: axienet: Fix warnings related to function prototype
    a0adc0ff7488 dt-bindings: remoteproc: Update lockstep/split R5 configuration values
    3427bd54cfc0 media: i2c: ap1302: Update the min values for ap1302 controls
    fb77c972cb37 dt-bindings: xilinx: Fix issues with dprxss dt binding yaml
    a69af5c0b18d media: v4l2-tpg: add support for new pixelformat V4L2_PIX_FMT_YUV444P
    23d3b36c64e0 dmaengine: xilinx: frmbuf: Add support for 3 planar YUV444P 8bpc
    3083b1684e99 dt-bindings: dma: xilinx_frmbuf: Add support for 3 planar YUV444P 8bpc
    060b8d3b18b7 v4l: xilinx: vip: Support for 3 planar YUV444 8bpc format in contiguous memory
    7545fa6a05c3 media: v4l: Support 3 planar YUV444P 8bpc pixel format in contiguous memory
    4f6844b5ac05 mtd: spi-nor: Avoid updating the flash_info struct in dual and stacked modes
    f150364be8ee xlnx: drv: m2m: Fix SPDX license coding style
    695712e4ab06 dma: xlnx: drv: Added failsafe code for mem2mem DMA channels init-deinit
    54235ce1174a misc: xilinx-ai-engine: log additional hardware info
    80c27fa6deb0 Revert "ARM: zynq: Fix nand partitions for zc770-xm011"
    d6e88b17b851 sound: soc: xilinx: Added 44.1k & 48k sample rate support for DP
    d66a9c83720c arm64: xilinx: dts: Move DP audio registers to separate node
    705655d6eabb dt-bindings: display: xlnx: extract zynqmp dpaud setting to separate binding
    ae68eb919a6d arm64: zynqmp: Add PHY description for SGMII on vck190 SC
    bd1756c82909 v4l: xilinx: dprx: Add unplug handler function in work queue
    7c8c8e2308fb net: xilinx: axiethernet: Change the link up sequence from Block lock to Rx status and valid Rx code.
    15917379c285 drm: xlnx: sdi: Add extra check to get the correct timing table index
    ce99647324d6 net: macb: In ZynqMP initialization make SGMII phy configuration optional
    9b4766ad4244 dmaengine: xilinx: frmbuf: Add support for 3 planar YUV444 10bpc
    926d8238dbcc dt-bindings: dma: xilinx_frmbuf: Add support for 3 planar YUV444 10bpc
    0b150b983835 dmaengine: xilinx: Handle IRQ mapping errors
    69e5e44f3793 v4l: xilinx: vip: Support for 3 planar YUV444 10bpc format in contiguous memory
    138ef0d4fc8c media: v4l: Support 3 planar YUV 444 10bpc pixel format in contiguous memory
    d65f44ad3832 drm: xlnx: zynqmp_dpsub: Add 3 planar YUV444 10bpc format in contiguous memory
    c514aca92bc4 misc: xilinx-ai-engine: balance braces
    b4c4774ddb8e misc: xilinx-ai-engine: add dev_gen description
    8ec5d5684754 misc: xilinx-ai-engine: release lock before return
    eb0cb99a3483 firmware: xilinx: fix backward compatibility
    a1cd3af8e4ce v4l: xilinx: hdmirx: Fix incorrect framerate size for pixel repeat cases
    c876b05d40db v4l: xilinx: hdmirx: Fix reference clock based on TMDS clock ratio
    135ca4c80c7b firmware: xilinx: fix build warnings
    c9064bbb7ffc mtd: spi-nor: Enable 4byte opcode for Winbond w25h02jvt flash
    2cd6e9d45640 spi: spi-zynq-qspi: Add spi-mem to driver dependencies
    ea98c7881b06 spi: spi-zynqmp-gqspi: Update driver dependencies
    f2178afb4243 drm: xlnx: pl_disp: Add condition check for VTC bridge
    4e7870b5ab84 spi: spi-zynqmp-gqspi: direct read made word aligned
    b80cebdc0ed8 net: axienet: Handle dma mapping errors in RX datapath
    7ade4f447ef6 net: axienet: Handle dma mapping errors in TX datapath
    066ad7abae5c net: axienet: Fix DMA memory error handling during initialization
    7d97ac9971d5 mtd: tests: Fix eraseblock read speed miscalculation for lower partition sizes
    eda0dc1823fe usb: dwc3: xilinx: Update GPIO access api with sleep
    eed7da1270ca v4l: xilinx: hls: remove from the UAPI header kernel specific __user macro
    7a718138a774 arm64: zynqmp: Fix bias setting for gem1
    1fd46e94c354 usb: gadget: tcm: error handling for each command allocation
    fbf98ca0770f firmware: xilinx: enable feature check for ZU+
    efe5a4f4aeff ASoC: xlnx: Set dai_fmt for hdmi and dp sound cards
    2f3362414dd9 dt-bindings: ptp: xilinx: Add additionalProperties
    bd9b6a376dbf arm64: versal: Add all missing dt files for Xilinx boards
    368185cfe58f arm64: zynqmp: Add all missing dt files for Xilinx boards
    037135b9895f arm64: zynqmp: Add the latest changes for SOM boards
    ec844bf7b325 arm64: xilinx: Fix dtb filename for smk-k26 board
    f1065b4ebe17 arm64: zynqmp: Add support for Xilinx Kria SOM board
    fba24ce97513 arm64: zynqmp: Add support for zcu102-rev1.1 board
    7a2ba32ff760 arm64: zynqmp: Add resets property to sdhci nodes
    34c764177fa4 drm: xlnx: Update dependency for ZynqMP DP driver
    c95791943f5b drm: xlnx: Update dependency for DRM PL display driver
    cb5072053978 iio: adc: versal-sysmon: Add support for events on slave SLRs
    461bae7152a5 iio: adc: versal-sysmon: Add support for secure access
    d03efb559856 firmware: xilinx: Move FIRMWARE_VERSION_MASK to xlnx-zynqmp.h
    3705b71257bd misc: xilinx-ai-engine: disable interrupts for aieml
    3f555f49bb8f misc: xilinx-ai-engine: disable sysfs nodes for aieml
    e4ab40d38385 misc: xilinx-ai-engine: disable rsc mgr for aieml
    1a806b5b928b misc: xilinx-ai-engine: enable aieml device support
    5e6fb34b3752 misc: xilinx-ai-engine: add support for aieml
    ad96a2bd07ee misc: xilinx-ai-engine: issue privilege ops to firmware
    e8f28be84b5a misc: xilinx-ai-engine: remove hard coded row attributes
    0ec5caddc8b6 misc: xilinx-ai-engine: get device properties from device tree
    c0c3eb8c7cf9 misc: xilinx-ai-engine: device struct for tile type
    6ba9f4332cfc misc: xilinx-ai-engine: move mem clear to dev ops
    5842b7f90b65 dt-bindings: soc: xilinx: ai-engine: add aie gen and mem rows
    7e0f7b8f7ee3 v4l: xilinx: hdmirxss: Fix kernel-doc warnings
    2605006097be usb: misc: Fix gcc warnings for usb2244 and usb5744 driver
    6c578833fa44 dt-bindings: misc: tmr-inject: Add device-tree binding for TMR Inject
    dc92d55bef56 dt-bindings: misc: tmr-manager: Add device-tree binding for TMR Manager
    034eb5d1b60a v4l: xilinx: hdmirxss: Correctly disable timers while initializing
    de007cecd82e v4l: xilinx: hdmirxss: Fix DDC writes for 0xFF field mask
    8fd43788c195 v4l: xilinx: hdmirxss: Add v1.2 compatible string
    5bd00778f0b0 dt-bindings: media: xilinx: hdmirxss: Add v1.2 compatible string
    1861622dd1e4 misc: xilinx-ai-engine: Add get partition current freq sysfs entry
    4cf58c20f49f misc: xilinx-ai-engine: Remove get/set frequency IOCTLs
    923876f0770f misc: xilinx-ai-engine: Fix QoS and frequency calculations as defined by PLM
    0614b593b3c5 misc: xilinx-ai-engine: Add frequency scaling kernel APIs
    56da96ee990c misc: xilinx-ai-engine: add device tree overlay support
    c03ab3125c5a usb: dwc3: gadget: Handle pending stream transfer bit
    d9d5a048383c usb: dwc3: gadget: Skip checking Update Transfer status
    3e1f604c6503 usb: dwc3: gadget: Ignore Update Transfer cmd params
    b6569256148d staging: xlnxsync: Added IOCTL to reset the current syncIp slot
    e37e565707eb net: xilinx: Update Kconfig to select XILINX_AXI_EMAC for XILINX_TSN
    0e84c22c350e iio: adc: versal-sysmon: Add macros for delayed work
    e3fc6c476f49 net: macb: Add zynqmp SGMII dynamic configuration support
    113511e23ef2 net: macb: Added ZynqMP-specific initialization
    64ce014d80c5 dt-bindings: net: cdns,macb: added generic PHY and reset mappings for ZynqMP
    def1552d6cdd dt-bindings: net: cdns,macb: Add versal compatible string
    0fc3350df6ed dt-bindings: net: cdns,macb: Convert to json-schema
    f6155e66ae89 misc: xilinx_flex: Prevent exiting with mutex
    6f1a095cf64b phy: xilinx-xhdmiphy: Fix connector linerate setting in FRL mode
    ec6a977891fd phy: xilinx-xhdmiphy: Set connector linerate in HDMI-RX TMDS mode
    306dbffed45b arm64: zynqmp: Add/Update/Sync DTs for xilinx platforms
    daad91b75908 ARM: zynq: Add/Update/Sync DTs for xilinx platforms
    d03a18ccff67 firmware: xilinx: Fix incorrect return val in zynqmp_pm_sec_read_reg()
    b48353264fa7 v4l: xilinx: dprx: Add MMCM configuration for rx_dec_clk for versal systems
    5b8cb21b5a78 fpga: fpga-region: Add missing kernel-doc description
    8818eb2edf92 fpga: region: Update runtime PM handling logic
    dea71a09b1ae spi: spi-xilinx: Updated axi-qspi controller driver
    7b951e80a502 spi: spi-cadence-quadspi: Add support for Stacked mode
    278e7d5bc325 mtd: spi-nor: Update flash properties in flash_info table
    dd6abaabb140 spi: spi-zynqmp-gqspi: Fix erase failure when tx buswidth is 4
    68c3fa48f8ac spi: spi-zynqmp-gqspi: Fix suspend/resume
    8d6055bc5761 spi: spi-zynqmp-gqspi: Fix the zynqmp qspi driver call to get the spi controller devdata
    8f60a252bbfb spi: spi-zynqmp-gqspi: Fix chipselect timeout issue
    4ea88f868810 spi: spi-cadence: Align function name s/cnds/cdns/g
    c13c75fae238 spi: spi-cadence: Fix kernel-doc format for resume/suspend
    9d83a60e1643 mtd: spi-nor: Fix call trace when qspi driver built as module
    152a77792279 mtd: spi-nor: Don't parse 4BAIT via Zynq QSPI
    171dd94e71a7 spi: spi-zynq-qspi: Fixed buffer overflow in zynq_qspi_exec_mem_op
    cff0be4ce1a0 spi: spi-zynq-qspi: Add dual parallal and stacked support
    082f2e7f36ec spi: spi-zynqmp-gqspi: Add dual parallel and stacked mode support in driver
    de718eb5b92f mtd: spi-nor: Add EAR support in spi-nor framework
    0b40dd735104 mtd: spi-nor: Update flash lock/unlock feature
    763a65af97a7 spi: spi-zynq-gqspi: Set appropriate tapdelay values
    d6d25e458b2a dt-bindings: spi: spi-zynqmp-gqspi: Add support for Xilinx Versal QSPI
    b8a6c2c649c3 spi: spi-zynqmp-gqspi: Update driver to support both IO and dma modes
    5ed61ce8f7b8 spi: spi-zynqmp-gqspi: Increase timeout interval during data transfer
    269ddea12dd0 spi: spi-zynqmp-gqspi: Remove txfifo empty check during chip select/deselect
    687db78ba7aa mtd: spi-nor: Add dual parallel and stacked mode support
    2fdf718f2177 spi: spi-cadence: Fix SPI CS gets toggling sporadically
    eeab4a5979d6 mmc: sdhci-of-arasan: Add support for dynamic configuration
    9893d84d2725 gpio: xilinx: Trivial patch
    a72365a7e36c dmaengine: xilinx: dpdma: Fix race condition in vsync IRQ
    a441731d4158 phy: Add driver for GTQUAD BASE for Displayport
    4e0bc8301c79 dt: bindings: phy: Documentation for Xilinx GT QUAD BASE PHY controller for DP
    4007fc1588f2 dt-bindings: dmaengine: zynqmp_dma: Convert zynqmp dma bindings to yaml
    c8491b42517a v4l: xilinx: vip: Fix alignment to match open parenthesis
    bd7b2aebd602 v4l: xilinx: dma: Add support for 3 planar YUV444 8bpc format
    0840b83b29db v4l: xilinx: vip: Add support for 3 planar YUV444 8bpc
    833d75410b86 phy: xilinx-xhdmiphy: initial driver support for xilinx HDMI PHY 2.1 IP
    04817b785bd5 dt: bindings: phy: Documentation for Xilinx HDMI PHY controller
    59d4ce39718a v4l: xilinx: vip: Allow media pipeline enable with single dma start
    9a970134bc62 dt-bindings: media: xilinx: Add xlnx,atomic_streamon documentation
    d1d3441ab060 kbuild: add xilinx-sdirxss.h/xilinx-hls.h/xilinx-v4l2-events.h to no-header-test
    c7613bbc1d26 media: vivid: Fix the check of frame interval index
    0450af706144 drm: xlnx: zynqmp: tpg should use swap_coeffs as csc matrix
    bd7d33345327 drm: xlnx: bridge: check bridge->debugfs_file->status when calling strlen
    3b7f650a538f dt-bindings: dmaengine: xilinx_dma: Add MCMDA channel ID index description
    fcfa4cc3e337 drm: xlnx: hdmi: Add HDMI 2.1 Tx subsystem driver
    beb1bf3fe81a dt-bindings: display: xlnx: Add HDMI 2.1 Tx subsystem documentation
    0e2da67bc3d7 drm: xlnx: drv: initialize vblank for all crtcs
    ca45da8e8975 v4l: xilinx: hdmirx: Add HDMI 2.1 Rx subsystem driver
    2375589bfe84 dt-bindings: media: xilinx: Add HDMI 2.1 Rx subsystem documentation
    22126a5181c7 phy: xilinx: hdmi: Add linerate, nchannels and reset_gt
    fa8675f0f0f2 v4l: xilinx: vip: Add 10-bpp Bayer formats support
    18ac3c208eb3 v4l: xilinx: vip: Fix incorrect media bus format code
    f0c4169fad8b v4l: xilinx: vip: Fix bpl_factor values for Bayer formats
    3ede4e94c1ae v4l2: xilinx: dma: Align width as per underlying DMA prerequisite
    bc8cf38fd388 v4l: xilinx: xcsi2rxss: Fix warnings for NULL_RETURNS
    4cc6c4fd855f v4l: xilinx: csi2rxss: Remove downstream controls
    7f6dd5131ba2 v4l: xilinx: xcsi2rxss: Add support for YUV 420 8bpc
    c012c50f7f4d dt-bindings: media: xilinx: xcsi2rxss: Add YUV420 8b support
    0805a2b63957 phy: Add HDMI PHY configuration options
    fd4bddefa780 drm: fourcc: Mark XV20 and XV15 formats as YUV based
    6faa23b00457 dmaengine: xilinx: dpdma: Add support for cyclic dma mode
    80ec28e9c065 dt-bindings: display: xlnx: mixer: Add example for reserved memory usage
    ddebcbd11402 v4l2: xilinx: vipp: Allow reserving memory and DMA using 64bit addresses
    0c758310e78f dt-bindings: media: xilinx: Add reserved memory usage information
    d50e80fc4308 drm: xlnx: zynqmp: remove layer sub node based on DP DT change
    5e96602bc17e drm: xlnx: bridge: Fix xlnx_bridge_unregister issue
    086d8f24cb2e drm: xlnx: add a new member extra_name for xlnx_bridge structure
    0d22caff843e drm: xlnx: Update DP subsystem with downstream version
    8cf1a1bd165a v4l: xilinx: Driver support for Xilinx AXI4-Stream Broadcaster
    41e7fde6ad9c dt: bindings: media: xilinx: Doc for Xilinx AXI4-Stream Broadcaster driver
    8a2a800d0c9d media: i2c: Add ON Semiconductor AP1302 ISP driver
    5b3d4ad2a9ee media: dt-bindings: media: i2c: Add bindings for AP1302
    179e801586c7 drm: xlnx: zynqmp_dp: Fix UNINIT type warning
    17f31b8a7962 v4l: xilinx: tpg: Fix warnings for CHECKED_RETURN
    c57a34b65a66 v4l: xilinx: tpg: Fix warnings for NULL_RETURNS
    0b42ceaf3e70 media: xilinx: vtc: Fix warning for OVERFLOW_BEFORE_WIDEN
    bcb86daa32cd v4l: xilinx: dma: Fix OVERFLOW_BEFORE_WIDEN warnings
    cd5d041457c1 v4l: xilinx: vip: Fix UNINIT warnings
    d01deb9ea7de v4l: xilinx: vip: Fix CHECKED_RETURN warnings
    d8cbed33130b v4l: xilinx: vip: Fix V4L2_PIX_FMT_XY10 bpl_factor
    80e044376067 drm: xlnx: dptx: Add DisplayPort tx driver
    71f118d4c189 dt-bindings: display: xlnx: Add DisplayPort Tx bindings
    cd6c37bd3136 v4l: xilinx: dma: Remove struct xventity_list
    addaba3cea84 v4l: xilinx: vipp: remove unused variable
    581ea243e5a6 v4l: xilinx: vipp: Perform stream start/stop at pipeline level
    e3253da27eb4 dt-bindings: display: xlnx: mixer: Updated layer max height and width ranges
    eb723f4c547b v4l: xilinx: Driver support for Xilinx DP Rx subsystem
    74b4699d000a dt: bindings: media: xilinx: Documentation for Xilinx DP Rx subsystem
    6171e882d9d5 v4l: xilinx: dma: Add control handler to v4l2 device
    f9e0eb198f9a v4l: xilinx: tpg: Don't read version if HLS IP
    086e4cf98df3 v4l: xilinx: events: Fix the uapi header license
    5c890545ff16 v4l: xilinx: hls: Fix the uapi header license
    44ce7ddc1efc v4l: xilinx: sdi: Fix the uapi header license
    d1c1a9decfba drm: xlnx: fix some typos in the Kconfig help texts
    66ca1836d985 v4l: xilinx: vipp: Remove set streaming on subdev
    19e0d84335c2 v4l: xilinx: vipp: Change xvip_entity_start/stop to take graph entity
    cc20af724483 v4l: xilinx: vipp: remove a loop for graph start / stop
    b1e6f73c9bad v4l: xilinx: vipp: do enabling in the dependency check
    0f51e658352f v4l: xilinx: vipp: use async list for start and stop
    c826de01ae57 v4l: xilinx: vipp: move xvip_entity_start_stop() to xilinx-vipp
    f8a61a3dede7 v4l: xilinx: dma: Prevent divide by zero error
    a634dd1d1878 dt-bindings: display: xlnx: mixer: Add rev 5.0 to compatible string
    e4278d15a90c drm/fb_helper: Enable drm_leak_fbdev_smem by default for zynqmp
    4e65354c36c8 drm: xlnx: scaler: Improve quality by adding more coefficients
    eb678e0c0b60 staging: xlnx_tsmux: Initial version of xlnx mpeg2tsmux driver
    d24ab54b2890 dt-bindings: Add device tree binding for xilinx mpeg2tsmux driver
    611614e795c5 staging: xlnxsync: Add driver for Xilinx Synchronizer
    3528a93f4623 staging: dt-bindings: xlnxsync: Add initial bindings for Xilinx Synchronizer
    cb5447acf7a4 dma: xilinx: Disable low latency capture in file ops open
    880c582ec7ae drm: xlnx: scaler: Add support for ip version 2.2
    8f0919368334 dt-bindings: display: xlnx: Add support for vpss ip version 2.2
    0b2d717fa236 dt-bindings: display: xlnx: dsi: Add command mode support
    a4d28db1565c v4l: xilinx: vip: Use the right media code for 422 16bit formats
    90c77a8c2ca8 v4l: xilinx: vip: Keep NV16 first in vip table
    00c6edfea70b dt-bindings: display: xlnx: mixer: Updated compatible string
    d837d1eb529d v4l: xilinx: vip: Add YUV444 12bit and 16bit formats
    a8589551f6ea v4l: xilinx: vip: Fix stride calculation
    8cb03da32f1c v4l: xilinx: vip: Use correct media bus code for RGB 10bit format
    4436473fb739 v4l: xilinx: vip: Add scaling and padding factor for XY10
    df99faccab5b v4l: xilinx: vip: Add YUV 10bit media bus formats
    885f28d4032a v4l: xilinx: tpg: Use 10bit media bus codes
    51559060f03a drm: xlnx: scaler: Add max width and height properties
    8022e4cb2480 dt-bindings: display: xlnx: Add max width and height as mandatory properties
    bac639091dad drm: xlnx: csc: Add max width and height dt properties
    3367e0581342 dt-bindings: display: xlnx: vpss-csc: Add max width and height properties
    606d53ea1fe5 media: xilinx: tpg: Add support for v8.0
    e2b95f5d51a5 dt-bindings: media: xilinx: tpg: Update for v8.0
    4a29295c34c4 v4l: xilinx: vip: Add 12 and 16 bpc RAW and RGB color formats
    0a4480645cd4 v4l: xilinx: dma: Add s_ctrl ioctl for low latency capture
    f1e71e82edb6 v4l: xilinx: dma: Add control for low latency
    f9c5ec6721f6 media: xilinx: tpg: dt pixel per clock validate.
    0f082e6772f4 dt-bindings: display: xlnx: Add clock framework support to VTC bridge driver
    af1ae82fbd40 drm: xlnx: scaler: Add support for clock framework
    11b806ad0101 dt-bindings: display: xlnx: Add clock framework support to VPSS Scaler bridge driver
    1e96bab15eb0 drm: xlnx: csc: Add clock framework support
    3d0eed7436fd dt-bindings: display: xlnx: Add clock framework support to VPSS CSC bridge driver
    c175ea953bb7 dt-bindings: display: xlnx: Add clock framework support to DSI Tx
    b88babd1c91d documentation: dt: multi-scaler: Add clock framework support
    2b70e190c646 documentation: dt: multi-scaler: Add properties for pixels per clock
    d9b97666b159 media: xilinx: vtc: Dynamically calculate pixel clock
    b11e52694112 media: xilinx: tpg: v4l subdevice controls to set fps
    ae7f7ba22541 dt: bindings: media: xilinx: tpg: Add ppc dt bindings.
    e99dcc745bba media: xilinx: tpg: Add pixel per clock dt support
    428f6296b3a6 dt-bindings: display: xlnx: Add device tree binding for xlnx control drivers
    ac7239d953d1 dt: bindings: media: xilinx: Add clock support to AXI4 Stream switch
    8b3ecd666686 dt-bindings: display: xlnx: mixer: Correct DRM fourcc for BGR8 and RGB8
    904a0c90053c drm: xlnx: crtc: Fix max width and height overflow
    c5a2bd4f6838 documentation: dt: Add bindings documentation for Streaming SCD
    851c86cd843f xilinx: v4l: dma: Stop subdevs in reverse order of starting
    0f6cb0a1fff2 media: ov5640: Don't access ctrl regs when off
    00be32d73c49 media: ov5640: fix get_light_freq on auto
    314c9638db9e drm: xlnx: Select VIDEOMODE_HELPERS when DRM_XLNX_PL_DISP is selected
    9999804d2abb xilinx: v4l: dma: Invoke s_power function of subdevice
    20161568902c xilinx: v4l: vipp: Avoid decrementing refcount of a node twice
    c498433479f4 xilinx: v4l: dma: In case of error xvip_pipeline_start_stop should return gracefully
    9531e42a2e14 dt-bindings: media: xilinx: vpss-csc: Make max width, height mandatory
    c7dae6480b61 dt-bindings: media: xilinx: demosaic: Make max width, height mandatory
    f65cc73f5dec xilinx: v4l: dma: Remove unused function definition
    5479e8305cfa drm: xlnx: scaler: Fix array out of bound access
    e6f21132f2ea documentation: dt: gamma: Add support for max width and height
    617d2d1853bb documentation: dt: demosaic: add support for max width and height
    ad687c9a7b77 v4l: xilinx: tpg: Add check for max width and height
    c403e3c5337a documentation: dt: vtpg: Add support for max width and height
    830376b156b6 drm: fb: Modify check to ensure correctness of flags
    54b60352b8d2 v4l: dma: Use media graph traversal to stream on/off subdevs
    6ab898352908 xilinx: v4l: mem2mem: Initial version of driver
    8b6f13ecf814 dt: bindings: media: xilinx: Documentation for mem2mem driver
    ace3ac8f7633 platform: xilinx: Add mem to mem Multi-Scaler driver (XM2MSC)
    aca8ec5e3d91 documentation: dt: add bindings documentation for multi-scaler
    b20b33f83d24 v4l: xilinx: scd: New Scene Change Detection driver
    0de84861640e documentation: dt: add bindings documentation for Scene Change Detection
    2d245ca7bc74 v4l: xilinx: scd: Add v4l2 custom events
    4540144b1bc2 xilinx: v4l: dma: Add format enumeration for output
    75bc5fa3b3ba xilinx: v4l: dma: Add DMA input direction support
    ebc4922f7ed5 xilinx: v4l: dma: Add ioctl operations for v4l2 output device
    08d3efbce73c media: platform: xilinx: Fix Kconfig indentation
    60e697a8dd6a v4l: xilinx: Driver support for Xilinx AXI4-Stream Switch
    8aac14ad768a dt: bindings: media: xilinx: Doc for Xilinx AXI4-Stream Switch driver
    63f5089e6a9a xilinx: v4l: dma: Fix bug in calculating interlaced height
    2e7170f9c713 xilinx: v4l: dma: Multi-threading issue
    83f3d5415616 dt-bindings: display: xlnx: Add VTC bridge support to PL display
    0d552ab71605 dt-bindings: display: xlnx: mixer: Adding xlnx vtc bridge support
    87004f631d5e drm: xlnx: Add a Video Timing Controller(VTC) driver
    1ce4926d9c84 dt-bindings: display: xlnx: Add VTC bindings
    aae8abafd515 dt-bindings: display: xlnx: mixer: Adding xlnx,layer-primary property
    f6ac99e88cdd dt-bindings: display: xlnx: mixer: Added xlnx,num-layers description
    031f9d0386df xilinx: v4l2: dma: Add multiple output support
    836aec067b8e v4l: xilinx: dma: Terminate DMA when media pipeline fails to start
    26ef589dbead v4l: xilinx: dma: Add interlaced support
    a149b7e81dd8 dt-bindings: display: xlnx: mixer: Update example to fix format strings
    7234ac339d92 dt-bindings: display: xlnx: mixer: Add supported formats table
    64ef5e96bfa0 bindings: display: xlnx: Fixing device tree documentation
    39ee292e24e0 xilinx: v4l2: dma: Bug fix in single plane support
    78b57a065de3 drm: xlnx: csc: Adding vpss-csc reset through gpio
    11c2e3ceb1e4 dt: bindings: display: xlnx: Adding gpio reset entry
    e374132fffb1 drm: xlnx: scaler: Updating vpss-scaler reset logic
    ef913ad00042 dt: bindings: display: xlnx: Updated gpio reset entry
    983e915eeeba uvcvideo: Prevent new URBs being processed at stream stop
    faf20c843171 v4l: xilinx: dma: Add XV15 and XV20 contiguous format support
    94e4a9511c43 dt: bindings: media: xilinx: Remove unimplemented TPG compatible string
    644a64a0aaba media: xilinx: vip: Correct the fourcc code for BGRX8 format.
    d73866d33266 v4l: xilinx: Add BGR color format support.
    fa9844a42fac v4l: xilinx: dma: Fix bytes per line calculation
    dd05b106aa1a v4l: xilinx: dma: Handle 10 bit format calucations for XV20
    fabbb4ce3f4a v4l: xilinx: dma: Fix sizeimage calculation
    679cf6856067 v4l: xilinx-tpg: Add YUV 420 media bus format support to TPG driver
    5b1095d0160c dt-bindings: display: xlnx: Modifing mixer compatible string
    9b03240732b4 Documentation: media: Correct dt-bindings doc for Gamma LUT IP
    5b041869d6db drm: xlnx: csc: Add YUV420 support
    54a3e85f37f7 drm: xlnx: scaler: Add YUV420 support
    27fb40a29f8f v4l: xilinx: dma: Get scaling and padding factor to calculate DMA params
    8b5b33a63243 v4l: xilinx: dma: Add scaling and padding factor functions
    3e780411b9f8 v4l: xilinx: dma: Fix v4l2 enumeration callback for multiplanar
    6c61ff095253 v4l: xilinx: dma: Add multi-planar support
    8423ae631e59 v4l: xilinx: dma: Update video format descriptor
    114fa8fdcf64 media: Add new dt-bindings/vf_codes for supported formats
    216979ce2780 drm: xlnx: correcting data type for cursor with and height
    5b9cb5c7c21a drm: xlnx: scaler: Adding Zero out H-phase array before changing resolution
    36ad3b0ddbb0 drm: xlnx: scaler: Adding vpss-scaler reset through gpio
    f5fbd48f0c02 dt: bindings: display: xlnx: Adding gpio reset entry
    7c3899f2d764 dt-bindings: display: xlnx: Added vpss bridge phandle as optional property
    a3e5442f1a4c drm: xlnx: scaler: Adding vpss-scaler driver
    dc2bb7e677c2 dt: bindings: display: xlnx: Adding scaler bindings
    d566157b7f61 drm: xlnx: csc: Adding vpss-color space converter driver
    669743baaa28 dt: bindings: display: xlnx: Adding csc bindings
    2eeac6f3bc4a drm: xlnx: DRM KMS driver for xilinx display pipeline
    7282da5fc11e dt-bindings: display: xlnx: Adding pl_disp bindings
    ded87739e4a6 dma: xilinx: Support early callback modes
    ed20f485abf4 dt-bindings: dma: xilinx_frmbuf: Add support for 12 and 16 bpc RGB formats
    fe0c5876ddfa drm: xlnx: sdi: Adding sdi-tx driver
    59331f75ade1 dt-bindings: display: xlnx: Adding sdi bindings
    1f7bd8f88a2c drm: Add generic HDR support
    db3d1e6388d2 drm: xlnx: mixer: Initial video mixer driver
    5aa61ca5a317 dt-bindings: display: xlnx: Adding mixer bindings
    5cddd027d4a2 drm: xlnx: adding cursor width / height support
    2ec09ed7b544 drm: xlnx: dsi: Adding dsi driver to new framework
    203f1f139013 dt-bindings: display: xlnx: Adding dsi bindings
    6fef36764852 drm: xlnx: drv: Add Xilinx bridge support
    4191aa2a489b dt-bindings: display: xlnx: Add bridge bindings
    afc2bf8bc47a dt-bindings: display: xlnx: Add ZynqMP DP subsystem bindings
    75528c891441 drm: xlnx: Xilinx DRM KMS driver
    6f64f5daa195 drm: mipi: Bring DT format description closer to the hardware
    4028319017c2 drivers: media: Customized adv7511 for Xylon LogiCVC (deprecated)
    cabaf56261b1 v4l: xilinx-vpss-csc: driver support for xilinx vpss csc
    720786e57a6d Documentation: DT: Add bindings documentation for VPSS CSC
    4b9736224363 v4l: xilinx-gamma: initial driver support for xilinx video gamma lut ip
    5feda25eef30 documentation: dt: add bindings documentation for gamma lut ip
    d92112b1c8fc v4l: xilinx: Driver support for Xilinx UHDSDI Rx subsystem
    514ed574f676 dt: bindings: media: xilinx: Documentation for Xilinx UHDSDI Rx driver
    d5a7e729b237 media: videodev2.h: Add control type for HDR
    e99af9a1767a media: videodev2.h: add Hybrid Log Gamma transfer function define
    6c246df955f6 media: v4l2-ioctl: Add description for new pixel formats
    a72054ceebc8 media: v4l2-ioctl: Add YUV444 12bit and 16bit pixel formats
    259c230e0692 media: v4l2-ioctl: Use correct fourcc for YUV444 10bit format
    8a0edc45660c media: v4l2-ioctl: Add YUV 12bit and 16bit pixel formats
    abfca3d5ebdc media: v4l2-ioctl: Add 12 and 16 bpc RGB pixel formats
    1c2ee33623d8 v4l2-core: Update entries for XV15 and XV20 contiguous formats
    33f25ae1164b media: v4l2-core: Update V4L2 framework with new fourcc codes
    a7844d4bfa9d media: v4l: Add HDR support through compound controls
    a4497afab37e v4l: xilinx-vpss-scaler: driver support for xilinx vpss scaler
    c39d60c10381 documentation: dt: add bindings documentation for vpss scaler
    3a6b1f09750e v4l: xilinx-demosaic: driver support for xilinx video demosaic
    c449fbef2ce6 documentation: dt: add bindings documentation for xilinx video demosaic driver
    5d2c4bedf257 media: v4l: Group Xilinx downstream formats
    16bbc28f18cd media: xilinx: Improve pipeline management code
    fc302edc3b55 v4l: xilinx: dma: Remove colorspace check in xvip_dma_verify_format
    75e8d051225f media: xilinx: dma: Enable use of Framebuffer Write IP in V4L2 Driver
    778a7cec25a3 v4l: xilinx: dma: Terminate DMA when stream on fails
    bf3befd2fbb5 media: xilinx: vip: Add the pixel format for RGB24
    c74caf48a29e media: xilinx: Refactor VTC configuration code
    90a4e4e7520f media: xilinx: tpg: Block comments
    30912a79b459 media: xilinx: Integrate TPG v7 support
    8bf9838d2dd5 media: xilinx: Add HLS core driver
    d5c378db45c1 media: xilinx: Add AXI4 stream switch driver
    2fd1eb015d23 media: xilinx: Add Scaler driver (SCALER) driver
    fdc231d362b1 media: xilinx: Add RGB to YUV (RGB2YUV) driver
    27865b58b582 media: xilinx: Add Chroma Resampler (CRESAMPLE) driver
    4c45d2c5b5ed media: xilinx: Add Color Filter Array (CFA) driver
    19589acaf508 v4l: xilinx: Add Video Remapper driver
    7c1a953f7216 media: xilinx: Ensure Video Framebuffer selected by Kconfig
    03bb70654f7e v4l: xilinx: Kconfig: Add missing DMADEVICES dependencies
    dad73e6e1863 uvcvideo: Xilinx: Bump up URBS and MAX_PACKETS
    2935916b025d v4l: Add VUY8 24 bits bus format
    9241e01b5c8e v4l: Add RGB 8:8:8 media bus format on 24 and 32 bit busses
    7b89e9aa32fd v4l: subdev: Add [GS]_ROUTING subdev ioctls and operations
    ac925a4ab952 media: entity: Add media_entity_has_route() function
    3d7dde73acb3 media: entity: Add has_route entity operation
    df27aebce90a drm: panel: Added timing for AUO B101UAN01 display panel
    dddebcaa8e18 dmaengine: xilinx_frmbuf: New driver for Video Framebuffer IP
    dea4b0a56259 dt-bindings: dmaengine: xilinx_frmbuf: Video Framebuffer IP
    4eec2efb1897 media: Add documentation for YUV420 bus format
    f31d1c712869 uapi: media: New fourcc codes needed by Xilinx Video IP
    6fb13b23cf69 drm: Add new flags for interlaced alternate fields
    72a08259513b uapi: drm: Add AVUY fourcc
    6513e66d489e drm: drm_fourcc: Correct the DRM YUV444 10bpc
    c36f34ba9654 drm: fourcc: Add new formats needed by Xilinx IP
    63be6dcd943a drm: drm_fourcc: Add new formats for Xilinx IPs
    ad208ed1fdc0 drm: fourcc: Add drm_format_plane_width_bytes()
    ffa3db2ad6c6 drm: drm_fourcc: Introduce macro-pixel info to drm_format_info
    cfcbe4608067 ASoC: xlnx: change I2S driver data
    42df385bd328 ASoC: xlnx,i2s: dt-bindings: add reference to audio formatter
    60cb2ecbc1a7 ASoC: xlnx: add SPDIF audio driver
    d9ba35accd91 dt-bindings: ASoC: xlnx,spdif: Document spdif bindings
    874d5549a5d9 ASoC: xlnx: add PL sound card support
    3e7f02fc3ca0 ASoC: xlnx: add pcm formatter platform driver
    abaef462fc0d dt-bindings: ASoC: Document audio formatter bindings for xlnx,audio-formatter
    093f04343e7f AsoC: xlnx: add platform driver to support SDI audio
    e5b07fec102e dt-bindings: ASoC: xlnx-v-uhdsdi-audio: document sdi audio bindings
    f97adf628974 sound: soc: xilinx: Add ZynqMP DP subsystem audio drivers
    15795e91c086 dt: bindings: sound: Add DT bindings for Xilinx ZynqMP DP audio
    cdb97cc4ae6c remoteproc: Add initial zynqmp R5 remoteproc driver
    e524a9d46d79 dt-bindings: remoteproc: Add documentation for ZynqMP R5 rproc bindings
    6827009a5271 remoteproc: Add support for AMP on Zynq platform
    bc34d17afb7a dt-bindings: Add Zynq remoteproc binding
    8687d8d5a485 remoteproc: Add support for peek from remote and acking kick from remote
    66d2e77fb51a nvmem: Add driver for BBRAM and volatile user keys access
    3d76b0ceb819 dt-bindings: nvmem: Added nodes for BBRAM and volatile user keys
    f8f39ce69a1a iio: adc: versal-sysmon: Add runtime resume function for sysmon
    8f1f7f5038a6 drivers: iio: Add support for TI INA260 power monitors
    bd7eb16df078 dt-bindings: iio: adc: Add ti,ina260.yaml
    6dbc2bee04b8 dt-bindings: gpio: zynq: Add all the supported compatibles
    695532b44955 iio: versal-sysmon: add driver for Versal Sysmon
    9f99547626c4 dt-bindings: iio: xilinx: Add Documentation for Sysmon
    15030b4c9b32 iio: adc: Add Xilinx AMS driver
    022b9fd755c5 dt-bindings: Add Xilinx AMS binding documentation
    bd749016e1f5 usb: misc: usb2244: add support for USB2 ultra fast sd controller
    c8ec20c8360a dt-bindings: usb: misc: Add binding for Microchip usb2244 Controller
    faf7df2c8275 usb: misc: usb5744: add support for USB hub controller
    3ea5ca73e6be dt-bindings: usb: misc: Add binding for Microchip usb5744 hub
    6bb5f952c61b arm: zynq: don't remove -march=armv6k from KBUILD_AFLAGS
    244d268406c4 arm: zynq: add "-march=armv7-a" to AFLAGS
    ad5e41b44a7b firmware: zynqmp: Add sysfs entry for runtime features
    898e178c8a86 mtd: cfi: Add macro for Winbond NOR flashes
    5eb77738623f dt-bindings: zynqmp: Add new PD_PL macro
    715d52270edd dt-bindings: zynqmp: add RPU nodes
    74c05b85a1c4 arm64: zynqmp: Add support for ZynqMP RSA H/W accelerator
    30bc5ecb4468 arm64: zynqmp: Add Xilinx SHA3 node
    2edd2f165e7e dt-bindings: clock: versal: Remove alt_ref_clk from clock source
    8314c58ba4c8 dt-bindings: clk: xlnx: Update VCU bindings for vcu reset pin
    e1b58b6198e3 dt-bindings: clk: xlnx: move xlnx_vcu dt-binding to clk from soc
    563938754341 dt-bindings: serial: uartlite: Convert uartlite to json-schema
    573f76dc41d2 watchdog: of_xilinx_wdt: use wdd->parent in print
    137d5dd7ca42 clk: xilinx: vcu: Populate children node
    3437961c2439 clk: xilinx: vcu: disable aclk incase of probe failure
    74630c85a24c clk: xilinx: vcu: Update vcu init/reset sequence
    d4fe6e0432ee soc: xilinx: vcu: Export functions to obtain logicore settings
    fd03e132faf2 firmware: zynqmp: Add Node IDs in xlnx-zynqmp.h
    790ec5f70d6e firmware: xilinx: sync firmware pm_query_id entries with PLM query id entries
    ef9c14fad2b7 firmware: xilinx: Remove kernel-doc marking instead of regular comment
    8773b15933b5 uartlite: Update the default for the parameter
    db8bd3e0289e include: xilinx_phy: Add Copyright and License
    ab2ba922aef1 clk: si5324: fix linking failure for ARCH arm
    b2a7967314da crypto: xilinx: Drop COMPILE_TEST for CRYPTO_DEV_ZYNQMP_SHA3
    2838a3306ee2 ptp: Add support for port offset registers
    1dffefd4faec dt-bindings: ptp: xilinx: Update new compatible string
    a6c55514423f crypto: xilinx: zynqmp-aes: Add skcipher based AES driver
    6632285e9bf4 pmbus: tps544: adapt for updated pmbus interfaces
    ef0b84a82013 irqchip: gic: Add changes to handle SGI for Zynq Remoteproc driver
    9b526f096deb uio: Add the UIO driver for AI engine
    498135f770b8 dt-bindings: soc: xilinx: Add the dt binding for AI engine
    18b0794a5305 arm: zynq: delete AFLAGS_suspend.o to fix compile warning
    5e53cd34e124 dmaengine: pl330: Typecast with enum to fix the coverity warning
    39c3a41a659e i2c-cadence: Replace the value with enum
    b89fbc73d901 dt-bindings: serial: Add xilinx compatible
    a29d66f74209 ptp: Add Xilinx PTP timer driver
    35cd73b65e66 dt-bindings: Add devicetree documentation for Xilinx PTP timer
    37ec7efc7786 edac: xilinx: Added EDAC support for Xilinx DDR controller
    3c9b7a38fc80 dt-bindings: edac: Add bindings for Xilinx Versal EDAC for DDRMC
    1679d1d91d9d spi: spi-cadence: Fix uninit_use coverity warning
    cb329a401995 spi: spi-cadence: Fix mixed_enum_type coverity warning
    12c571f4d5c9 ARM: zynq: Fix spurious BUG with old DT
    97048676f036 misc: ai-engine: Move AI engine reg access to kernel
    c6bb0200b3f0 dt-bindings: soc: xilinx: ai-engine-npi: Add the binding for AIE NPI
    3e79e35a50f3 dt-binding: soc: xilinx: ai-engine: Add new AI engine binding
    32a5fc5f2326 dt-bindings: usb: host: ehci-xilinx: Add binding doc
    138b442b19fa clocking-wizard: Add versal clocking wizard support
    20d514f89cef dt-bindings: Add versal clocking wizard
    ecf71cc12055 clk: idt: Fix i2cwritebulk() failure
    3b7981675a98 dt-bindings: xilinx: Document new evaluation boards
    e48726847ef1 mtd: fixing CFI for Numonyx CFI bug
    da5081880882 misc: jesd204b: Add driver for Xilinx jesd204b
    05de1d200b3e dt-bindings: misc: Add bindings for JESD phy
    bd0c5c0c3725 dt-bindings: misc: Add documentation for jesd204b
    a6b600bc0a6d PCI: ZYNQMP EP client driver: Adding support for ZynqMP dma test client
    6dfb4afc5148 PCI: ZYNQMP EP driver: Adding support for ZynqMP ep driver
    61cc13a94e8b dt-bindings: pci: ZYNQMP PS PCIe Driver Root DMA dt bindings
    72064421def3 dt-bindings: power: Add versal power domain bindings
    8e1adae19ac5 mtd: Expand the ecc placement locations to 1260
    fa3c594bbe0a staging: xroetrafficgen: initial commit of roe traffic generator driver
    094b761f42fe staging: Add xroeframer driver
    a76ad50413c8 xilinx: Update MAINTAINERS fragment
    11dc089529ad samples: xilinx_apm: Add sample application for xilinx_apm
    c235d0d7d400 drivers: ata: Add CCI support for SATA if CCI is enabled
    d0e346544ace arm64: zynqmp: Change Kconfig dependency for cortexa53 edac
    8b4971dde69b edac: Add sysfs entries for cortex arm64
    578fb5936ef3 edac: Add documentation for cortexa53 edac sysfs
    6d5b80c86d6d EDAC: Add ARM64 EDAC
    d46c704562ad dt-bindings: edac: Add bindings for cortex_arm64
    b2da5fe7a96f edac: zynqmp: Add EDAC support for ZynqMP OCM Controller
    c97e2248909f dt-bindings: edac: Add bindings for ZynqMP OCM Controller
    59e1a7ac9fc4 edac: add support for ARM PL310 L2 cache parity
    d54641a737ac clk: Adding Silicon labs si5324 clock driver
    906b7c441f4b dt-bindings: clock: Adding si5324 bindings
    7e629d216c76 phy: mscc: Add support for VSC8531_02 with RGMII tuning
    b2ac0d9aafa6 dt-bindings: mscc: Add RGMII RX and TX delay tuning
    bd9ffe83f89c include: dt-bindings: Add mscc-vsc8531 RGMII clock delay definitions
    bf5b6559726c phy: dp83867: Add support for SGMII
    5469fa63a1cf crypto: zynqmp-rsa: Adopted RSA support for ZynqMP SoC
    00bc7c7e446f dt-bindings: crypto: Added binding docs for Xilinx ZynqMP RSA H/W accelerator
    61c5350201df crypto: zynqmp-sha: Adopted SHA3 support for ZynqMP Soc
    06f16e5ce077 dt-bindings: crypto: Added binding docs for Xilinx ZynqMP SHA3 H/W accelerator
    c93ad459fc73 pmbus: Add new tps544 power regulator driver
    929fa01900e7 dt-bindings: pmbus: Add tps544 bindings
    6b145ba8d836 zynqmp: firmware: Adds a driver for loading secure partition from Linux
    56efa970dde8 clk: Add ccf driver for IDT 8T49N24x UFT
    e2bba31bb85e dt-bindings: Add binding for IDT 8T49N24x UFT
    8fc9ad358ed2 i2c: mux: pca954x: write to mux channel always
    589c85a3194a watchdog: of_xilinx_wdt: Used dev_dbg()
    e4b83ec42fce irqchip: gic: Add remoteproc changes to the driver
    816f461a9911 staging: fclk: Enable pl clock with sysfs entry for set_rate
    a6358dc644e0 dt-bindings: Add doc for xilinx fclk
    498be8e1221e Xilinx: ARM: Devcfg and SLCR drivers updated to support reconfiguration.
    a54bb969e15c zynq: Add OCM driver
    208e432a6f88 zynq: slcr: Introduce new get_ocm_config()
    b519a7db2fc6 ARM: zynq: Fix prefetch option
    0c6eccf65023 ARM: zynq: Add support for Zynq-7000S devices
    8f438ef28249 dt-bindings: ARM: zynq: Add DT binding for eFuse controller
    51d65b77bcbe uio: rename uio.c -> uio_core.c & unify into uio.ko
    487148436435 apf: Add kernel modules to the kernel
    ffb9cd00a176 uio: Add dma-buf import ioctls
    f9e5a580c252 Bluetooth: hci_ll: Extend timeout between start and communication
    fee7722dd68d dt-bindings: usb: dwc3-xilinx: Convert USB DWC3 bindings
    dd46eb837657 dt-bindings: usb: dwc3: Add interrupt-names to include hibernation interrupt
    58ba5afcc621 usb: dwc3: gadget: Increase timeout for CmdAct cleared by device controller
    f92c8e05d481 usb: dwc3: gadget: disable hibernation interrupt on gadget enumeration
    bfc87833e9ae usb: dwc3: core: add PM_SLEEP kernel config check
    d463a2e39c1b usb: dwc3: core: Update REFCLK_FLADJ for frame length adjustment
    668832665601 usb: dwc3: xilinx: fix reset-gpio logic
    b7b98952b203 usb: dwc3: xilinx: fix error handling for reset-gpio
    937719183006 usb: xhci-plat: Add remote wakeup support for xilinx
    d30b7a25b95d usb: dwc3: Added remote wake-up in xilinx glue driver
    ab7a77c9778f usb: dwc3: Fixed common regulator for multiple controller instance
    3032fb9b5957 usb: chipidea: udc: make controller hardware endpoint primed
    50485109b073 usb: dwc3: handle usb2.0 gadget mode early hibernation event occurrence
    8f4f309624cd Revert "usb: function: f_tcm: Add support for getting alt interface number"
    d26f8fd4361f usb: dwc3: core: scratchpad buffers allocation handling in host mode
    7eab45e8ca50 usb: dwc3: xilinx: enable D3 power state entry feature
    1d54ec88f001 usb: dwc3: xilinx: Handle USB3 PHY initialization properly
    20d159d68fc9 usb: gadget: webcam: Add support for Full HD and 4K UHD Raw Video Formats
    00ace4683b16 usb: dwc3: Fix OTG driver to work with v5.10 kernel
    0de5df674dc7 usb: dwc3: gadget: Add new platform_data.h file
    81a5bf2483f2 usb: dwc3: xilinx: Handle dr_mode setting from DT properly
    f29f51de38f6 usb: chipidea: udc: Add xilinx revision support
    9219b23554f0 usb: dwc3: xilinx: fixed dwc3-xilinx driver warnings
    e16d48b334e0 usb: dwc3: xilinx: Add support for controller power state for host mode
    16d154bb59a7 usb: dwc3: xilinx: Register drvdata before registering regulator
    0e90a3c04846 usb: dwc3: xilinx: Add gpio-reset support
    46974cdb261f gpio: modepin: Add driver support for modepin GPIO controller
    b2a892a1d24c dt-bindings: gpio: zynqmp: Add binding documentation for modepin
    ba31e16df9fa usb: dwc3: Enable Xilinx platform only when Regulator is enabled
    9f6849b772d1 usb: dwc3: Implement stream transfer timeout
    5ee4927cd6fc usb: dwc3: use PROPERTY_ENTRY_BOOL to initialize property entries
    8d4df820b3e7 usb: dwc3: otg: Enable OTG support in dwc3-core driver
    3f9ac176ce18 usb: dwc3: Initialized variable with a proper value
    77f35fc999e4 usb: dwc3: use proper typecast to handle overflow
    f22c9636abba usb: dwc3: otg: remove otg static export warning
    2435bffeed0c usb: dwc3: otg: fix the function call used to get otg descriptor
    4a06a60c0a37 usb: dwc3: retain resource index for unforced stops
    31f76632a97b usb: dwc3: otg: add support for OTG in DWC3 host driver
    35a686a3c83b usb: dwc3: otg: Update Kconfig and Makefile for enabling OTG
    c61293294f26 usb: dwc3: gadget: Don't kick transfer if LST or SHORT bits are set
    13503abd4a01 usb: dwc3: Check for IOC/LST bit in both event->status and TRB->ctrl fields
    f672b02981a6 usb: dwc3: otg: fix broken OTG HNP feature
    5189066ee4c7 usb: dwc3: gadget: ISOC transfers should be stopped before starting a transfer
    381d55eea4a6 usb: dwc3: Correct usb dma mask for making SMMU work in device mode
    3975f8c8e21b usb: dwc3: Fix the broken suspend/resume functionality in dwc3
    a43c65c2a29c usb: dwc3: add support for enabling/disabling hibernation dynamically
    8ddea1d10c01 usb: dwc3: Fix the logic for allocating and setting scratchpad buffers
    144b0ff35ba8 usb: dwc3: don't setup event buffers when operating in host mode
    205f9ea16a66 usb: dwc3: update GFLADJ_REFCLK_FLADJ in dwc3_frame_length_adjustment
    6db9232e5118 usb: dwc3: of-simple: Enable CCI support in dwc3 driver
    d2ee5e149722 usb: Add quirk for enabling workaround for BULK IN streams
    b0592d53221a dwc3: core: Enable GUCTL1 chicken bit 9 for correcting Inter Packet Delay(IPD)
    acf131c85b51 dwc3: core: Enable GUCTL1 chicken bit 10 for fixing crc error after resume bug
    b2a364a4bf45 usb: dwc3: hibernation: fix scratch buffer allocation
    b01dd000b938 usb: dwc3: gadget: add support for OTG in gadget framework
    10ba9c763857 usb: dwc3: core: Add regulator calls for communicating with dwc3 PMU
    8451958e6379 usb: dwc3: gadget: Add hibernation support when operating in gadget mode
    5ce6f7528014 usb: chipidea: core: Add return value function check
    18f365f1633b usb: chipidea: Fix return value handling
    f7871d99bc4b usb: gadget: udc: Add return value error handling of function
    98f55b17d9e1 usb: gadget: udc: Remove useless variable assignment in xudc_read_fifo()
    478fd97b5676 usb: chipidea: Check usb_phy exists before using it
    2ee3a4c83b19 usb: chipidea: Use usb2 phy for Zynq platform
    3de559f7cbc6 usb: chipidea: Add support for VBUS control with PHY
    2b618786bffc usb: gadget: send usb_gadget as an argument in get_config_params
    8823f2f119a0 usb: host: xhci: Add xhci_hcd to xhci_ring for use in stream_timeout_function
    01e6212d8f12 usb: xhci: wait for atleast 1ms after exiting U3
    ae44b2658f57 usb: gadget: uvc_video: unlock before submitting a request to ep
    16555a5e1906 usb: xhci-plat: Add remote wakeup support
    77ca2aa40160 usb: function: f_tcm: Add support for getting alt interface number
    1072bb0852a6 usb: gadget: f_tcm: support to set maxburst through configfs
    2edc01f2c118 usb: gadget: f_tcm: add TARGET_SCF_ACK_KREF flag in BOT
    60887fd6a74e usb: gadget: f_tcm: queue multiple commands request
    04b1e97e2acd usb: gadget: f_tcm: comp_descriptor workaround during SS gadget
    a6c2895e422e usb: gadget: f_tcm: adjust write length with max packet size
    14d1ebba040e uas: Add US_FL_NO_ATA_1X for linux tcm_usb_gadget
    25a5856b0ce4 usb: uas: Add workaround for DATA IN urb's returned with status -EAGAIN
    6dcc7bcebeaa usb: xhci: Add workaround for fixing ep stream ring hang issue
    568ea45b97c7 usb: host: xhci: add support for Light Reset for DWC3 DRD
    f6e88ee5deda usb: host: xhci: plat: add support for otg_set_host() call
    e8944820830b usb: host: ehci-xilinx: Resolve kernel-doc Warnings
    92caef416da6 usb: host: ehci-xilinx: modified driver to resolve formatting warnings
    be8603e95882 usb: gadget: udc: udc-xilinx: Add identifier to read_fn function arg
    daed788b5bf2 usb: phy: Add platform driver support for ULPI phys
    a91aeb4ceef3 usb: xilinx: Add suspend resume support
    87337cf8fb5a usb: gadget: udc-xilinx: Add clock support
    6c59c4128bc3 dt-bindings: udc-xilinx: Fix coding style in binding doc
    e076ad0c9395 dt-bindings: usb: Add clock support for udc-xilinx
    8148c58e423b irqchip: xilinx: Add support to remove the Xilinx INTC driver module
    e90c010bc359 irqchip: xilinx: Add support to remove Xilinx INTC irqchip driver module
    6ed255a3b26e irqchip: xilinx: Avoid __init macro usage for xilinx_intc_of_init
    057bc8fc1e58 irqchip: xilinx: Change level for cpu-id warning
    eace9259fa8d irqchip: xilinx: Add support for Microblaze SMP
    76480a327eef irqchip: xilinx: Add support for cpu hotplug
    6ea2229eacc2 irqchip: xilinx: Rename root_domain just to domain
    26f37d376b24 irqchip: xilinx: Support only LE/BE irqc by the same driver
    bf483280aa06 irqchip: xilinx: Add support for sw interrupts
    fd33fc3cd1ea irqchip: xilinx: Move early initialization to own function
    dc3513cf5a04 irqchip: xilinx: Use handle_domain_irq()
    1cdfe0515c3f irqchip: xilinx: Enable generic irq multi handler
    6dfe2d306fe9 irqchip: xilinx: Make per cpu primary controller entries
    a9cfc203b65c dt-bindings: irqchip: Add Xilinx Interrupt Controller bindings
    8b8c06c3eb5e PCI: XDMA PL PCIe: Adding XDMA PL PCIe Root Port
    0ce6d855720e PCI: XDMA PL PCIe: Adding device tree binding for XDMA PL PCIe
    5358cf51ff8e PCI: xilinx-nwl: Fix coding style violations
    c2505045ad79 serial: uartps: Fix stuck ISR if RX disabled with non-empty FIFO
    407eb64f5a6c serial: uartps: Prevent writes when the controller is disabled
    93d2b712a1d4 serial: uartps: Fix the ignore_status
    d00ec6bd2474 serial: uartps: Change uart ID port allocation
    5c827ba7d579 tty: xilinx_uartps: Make the timeout unsigned
    5128a1a9b06c tty: xilinx_uartps: Check clk_enable return type
    9a944d174a8a tty: xilinx_uartps: Add check for runtime_get_sync calls
    eec024c5e028 tty: xilinx_uartps: Check the clk_enable return value
    a97613c34b50 xilinx: Update copyright text to correct format
    3179288230f3 clk: zynqmp: Fix stack-out-of-bounds in strncpy`
    596fc12f05c8 clk: zynqmp: make bestdiv unsigned
    b9ce42d420ee clk: zynqmp: Add a check for NULL pointer
    8d9441bf0e46 can: xilinx_can: Remove repeated work the from kernel-doc
    30ffdc2b2f33 can: xilinx_can: Add check for NAPI Poll function
    498cbf79edd1 pinctrl: zynq: use module_platform_driver to simplify the code
    66399a3170cf serial: pl011: Add support for Xilinx Uart
    4d81d7d94613 dt-bindings: serial: pl011: Add 'arm,xlnx-uart'
    0f2cd4d7140c watchdog: of_xilinx_wdt: Add Versal Window watchdog support
    7ec21c310d37 watchdog: of_xilinx_wdt: Use a proper variable to handle overflow
    d6836a99d4c8 watchdog: of_xilinx_wdt: Wire setting up timeout via module parameter/DT
    f43c59ceae8b watchdog: of_xilinx_wdt: Add Versal support
    22e840fdf615 watchdog: of_xilinx_wdt: Introduce wdttype enum for identification
    52206a1807f7 watchdog: of_xilinx_wdt: Initialize watchdog via data structure
    846ea51e6a80 dt-bindings: Convert Xilinx watchdog bindings to json-schema
    d5d2c796c7fb nvmem: zynqmp_nvmem: Fix zynqmp_nvmem_read() parameter alignment
    a73a6a5a2733 nvmem: zynqmp-nvmem: Fix passing incompatible parameters
    83ef5c2e5690 nvmem: zynqmp: Replace ENOTSUPP by EOPNOTSUPP
    d070eb96690c nvmem: zynqmp: Add support to PUF eFuses programming for User data
    45114f5f9401 nvmem: zynqmp: Removed \r format specifier for prints.
    52ed2e469d11 nvmem: zynqmp: Added support to access efuse
    987c652bc692 dt-bindings: nvmem: Added efuse nodes
    22d3c7c3ed8d net: axienet: Add GT reset status check for XXV new IP version
    6538ea1f407b net: xilinx: axiethernet: Pass correct phy interface to of_phy_connect()
    42cda9570fa3 net: xilinx: fix compile warning due to typecheck
    f8c09e68cbd5 net: xilinx: In MCMDA designs fix crash on ifconfig up
    59292a39293e net: xilinx: axiethernet: Correct phy-mode comparison logic in _probe()
    0869f1cc4405 net: xilinx: Ethtool statistics support
    b72b33640123 net: xilinx: axiethernet: Fix compilation error when HW timestamp is enabled
    0ceefac8945e net: axienet: MRMAC reset sequence fixes
    01b9f018d071 net: axienet: Add one step PDelay support
    d3dc3bc79dc4 net: xilinx: Add one step 1588 support for MRMAC
    e1134a6cc7ea net: xilinx: MRMAC TX CMD FIFO update
    39f7bd39fb5f net: xilinx: Handle TX TS FIFO timeout error
    d8d73b148a73 net: xilinx: Update MRMAC config structure with PTP command length
    d362488d5c68 net: xilinx: Add supported_coalesce_params to fix axienet on 5.10
    15b9e099689f net: xilinx: GT reset updates for 2020.2
    62ce30685f3e net: xilinx: axiethernet: Enable dynamic MDIO MDC
    dbfab9dd6ee7 net: xilinx: axiethernet: Reduce the width of variable to handle overflow
    52328d13e2d2 net: xilinx: axiethernet: Add variables and conditions to check return value
    bd9ceb904dfb net: xilinx: axiethernet: Add condition to check the return value
    72da03c512e4 net: xilinx: axiethernet: Replace the value with enum
    b96ca439cb48 net: xilinx: axiethernet: Fix indentation warnings
    5394b524013f net: xilinx: axiethernet: Add check to overcome NULL dereference warning
    99bbaaa8e02d net: xilinx: axiethernet: Fix the use of uninitialized variable
    6b44b3370fdd net: xilinx: axiethernet: Remove the NULL assigning to a pointer
    6b0456b9cfd3 net: xilinx: Cleanup xilinx_tsn_shaper.* files
    91ed830f75b5 net: xilinx: Access qdv address and associated properties separately
    c2bcaa2c17f9 net: xilinx: Add MCDMA management channel support
    43b5b909f4da net: xilinx: Add a master xmit function for TSN packets.
    6aa91dc5a68a net: xilinx: Add a separate mcdma probe function for TSN IP
    d5614ab8c424 net: xilinx: Refactor TSN functions into xilinx_tsn_ip.c
    b60ea7d7bad3 net: xilinx: Check if dma_map_single returned a valid address.
    0236f643b223 net: xilinx: axiethernet: Add check for transmit data FIFO vacancy
    8430dcd9e7f1 net: xilinx: Fix indentation issues
    6a8385064fb9 net: xilinx: Add missing kernel-doc descriptions
    83aaf89897f2 net: xilinx: Add HW timestamping support for MRMAC
    900f3039fec4 net: xilinx: Add MRMAC support
    cd9e7e274cc5 net: xilinx: XXV Ethernet HW timestamp fixes
    6cd1303dfc43 net: xilinx: Use prandom with range to avoid corner cases
    895d280e4840 net: xilinx: axiethernet: Pass phy interface to of_phy_connect()
    1acc0ce5d2d4 net: xilinx: axiethernet: Fix swiotlb buffer full error
    8d2c60b85348 net: xilinx: Add support for Qbu/br feature of PL TSN IP
    efc7cf76a30b net: xilinx: Add Support for CB/FRER feature of PL TSN IP
    a4dc8db62ba9 net: xilinx: Add Qci support to the PL TSN IP driver
    2f682c383c7b net: xilinx: Add support for PL TSN endpoint interface
    6384ce5ee020 net: xilinx: Add support for PL TSN IP features
    d6a42a8396bd Revert "net: axienet: convert to phylink API"
    dad41407a324 net: xilinx: axiethernet: Fix crash in axienet_recv
    8a8b566a2d9e net: xilinx: axiethernet: Fix axiethernet register description
    8faea500a288 net: xilinx: axiethernet: Check for queue full in transmit path
    a4dc276716e6 net: xilinx: axiethernet: Add USXGMII support
    2a880e7b51ec net: axienet: added multichannel DMA support
    b2dbc2e6b5af net: axienet: Add clock support
    063be1ee73a2 net: axienet: Fix issues when DRE is not enabled in the h/w
    727f3a5c8f27 net: axienet: Fix coding style issues
    8cce77b51c92 net: axienet: Use ether_addr_copy()
    d241d300782a net: axienet: Allow unaligned transfers
    d0c93a4f5318 net: axienet: Remove unnecessary phy defines
    355ed8ae8a9a net: axienet: Adding highmem support
    64052d0b3845 net: axienet: Add support for ZynqMP
    c5e69e552ec6 net: axienet: Add support for 1588
    55ffb3c182f1 net: axienet: Add support for 10G/25G MAC
    2cedc8fa2980 net: axienet: Add support for 10G MAC
    98061a32e7ae net: axienet: Add support for 2.5G MAC
    f7675dec1b2b net: axienet: Add support for config structure
    1115c018112d net: axienet: Add support for non-processor mode
    713b2b3690e3 net: axienet: Fix lost wake-up scenario in xmit
    763aed86a2dd net: axienet: Use barriers at relevant places
    93ed62f37db8 net: axienet: Add NAPI support
    292cfee22d66 Revert "net: axienet: make use of axistream-connected attribute optional"
    a84e67a6fa88 dt-bindings: net: Add devicetree documentation for MRMAC
    708b43eca0f1 dt-bindings: Add devicetree documentation for ep
    37c3a8064ee6 dt-bindings: Add devicetree documentation for TSN
    0a442196b1e8 dt-bindings: net: axienet: Add support for mcdma
    f26c850a9112 dt-bindings: net: axienet: Add clock support
    43077fd30fd8 dt-bindings: net: axienet: Update binding doc for 10G/25G MAC 1588
    737a14056cb3 dt-bindings: net: axienet: Add binding for 2.5G, 10G and usxgmii mac variants
    b176e141940f Revert "net: axienet: document axistream-connected attribute"
    fc3794a6edfa xilinx: Update copyright text to correct format
    75b094330f57 net: emaclite: Remove custom BUFFER_ALIGN macro
    0146c2c57963 net: emaclite: Fix coding style
    49da784794c7 dt-bindings: net: Add binding documentation for axi emaclite
    35430b30f1f5 net: xilinx_phy: Add flag to reset after clock enable
    c1fbadc9f397 net: phy: Add support for xilinx SGMII and 1000BASE-X phys
    65d69c6c214d dt-bindings: net: Add bindings documentation for Xilinx PCS/PMA PHY
    7841eb835b10 dmaengine: zynqmp_dma: Add conditions for return value check
    427d5c025e85 dmaengine: zynqmp_dma: Typecast with enum to fix the coverity warning
    599e12bbf307 dmaengine: zynqmp_dma: Typecast the variable with dma_addr_t to handle overflow
    9767db3c8884 dmaengine: zynqmp_dma: Typecast the variable to handle overflow
    298922bdf14f dma: zynqmp_dma: Initialize descriptor list after freeing during reset
    5d3dea6fc600 dmaengine: xilinx: Add vdmatest test client code
    5584a3280a8a dt-bindings: dmaengine: Add binding for vdmatest client
    65c2f7dd9e2d dmaengine: xilinx: Add axidmatest test client code
    655eb50ebb09 dt-bindings: dmaengine: Add binding for xilinx axidma test client
    c00b65c3a4c4 dmaengine: xilinx_dma: Implement error handling in xilinx_dma_child_probe() API
    908f454a5599 dmaengine: xilinx_dma: Fix kernel-doc warnings
    7af7892205db edac: zynqmp: Add EDAC support for ZynqMP OCM Controller
    9c5b9d5718a1 dt-bindings: edac: Add bindings for Xilinx ZynqMP OCM binding
    6b8f58e3fd3b i2c: xiic: Correct the BNB interrupt enable sequence
    4115dbc8ed91 dt-bindings: i2c: xiic: Add 'clock-frequency' property
    be4456162ad9 dt-bindings: i2c: xiic: Add 'xlnx,axi-iic-2.1' to compatible
    e809f68dc7c4 i2c: xiic: Add SCL frequency configuration support
    6002b4d40444 i2c: xiic: Update compatible with new IP version
    60849c483fbe i2c: xiic: Remove interrupt enable/disable in Rx path
    13e01446936a i2c: xiic: Switch to Xiic standard mode for i2c-read
    693a50a26414 i2c-xiic: Fix the type check for xiic_wakeup
    6b7031d358fc i2c-xiic: return value of xiic_reinit
    19d54cfd5ccb i2c: xiic: Add smbus_block_read functionality
    9f19d8f260fb i2c: xiic: Use 'nmsgs' variable instead of repeated_start
    ab1034c36585 i2c: xiic: Add wait for FIFO empty in send_tx
    abdec326ff9d i2c: xiic: Fix Rx and Tx paths in standard mode repeated start
    c2ada1322975 i2c: xiic: Correct the datatype for rx_watermark
    9371e3e5be5c i2c: xiic: Enter standard mode only for > 255 byte read transfers
    ffc4bfb1b8cb i2c: xiic: Fix coding style issues
    ab6be0774635 i2c: xiic: Add standard mode support for > 255 byte read transfers
    622176d24add i2c: xiic: Fix Tx Interrupt path for grouped messages
    b1e31132570b rtc: zynqmp: fix linking failure for ARCH arm
    50c43b106308 rtc: zynqmp: Add calibration set and get support
    2c1e6ef29bd9 arm: zynq: Suspend support
    a52ec0d01e2a clk: zynq: Update the parameters to zynq_clk_register_periph_clk
    92237f2096e3 clk: zynq: trivial warning fix
    eb5c194fe712 clk: zynq: pll: Fix kernel-doc warnings
    6461bd8f8bbc uio: uio_xilinx_apm: Add Xilinx AXI performance monitor driver
    e903b998a3ae dt-binding: apm: Add the binding document for APM
    386e0a2b7d11 clk: clocking-wizard: Fix coding style violations
    808472ee387f clocking-wizard: Support higher frequency accuracy
    1b0b1fcc0f35 clk: clocking-wizard: Update the compatible
    a6af66ef4704 clk: clocking-wizard: Fix the reconfig for 5.2
    aabc766ffa0d clk: clocking-wizard: Rename nr-outputs to xlnx,nr-outputs
    714046154405 clk: clocking-wizard: Add the clockwizard to clk directory
    dc8d9e247bd8 dt-bindings: add documentation of xilinx clocking wizard
    f8b100484ab4 i2c: cadence: Handling Slave monitor mode
    46952bbd1349 i2c-cadence: Check the return value of pin-ctrl
    2d3dc169c329 i2c: cadence: Recover bus after controller reset
    8d4f3e897a6b trafgen: Document sysfs entries
    e54e88aa8db6 trafgen: xilinx: add axi traffic generator driver
    db6c97a16709 dt-bindings: misc: Add dt bindings for traffic generator
    0b3a9cf23208 Documentation: short descriptions for Flexnoc Performance Monitor driver
    af9310156cdb misc: xilinx_flex: Add support for the flex noc Performance Monitor
    eed98bc1bd20 dt-bindings: Add dt bindings for flex noc Performance Monitor
    b39ce6188d8f fpga: zynqmp: Add feature-list validation check
    c3debbb075e8 firmware: xilinx: Use proper indentation in kernel-doc
    2f36766c292f firmware: xilinx: always check API version for IOCTL/QUERY
    31e6cfd7b3b4 firmware: xilinx: add new function for do_feature_check_call
    1e6083feb220 firmware: xilinx: Add support for IOCTL and QUERY ID feature check
    9d198dc12070 firmware: zynqmp: Add support for secure_image
    53e474616f13 firmware: xilinx: Add IOCTL support to query QoS
    772697ce114a firmware: xilinx: Implemented pm API functions to get the xilfpga component info
    2746bd976c4b firmware: xilinx: Add IOCTL support for the AIE run time operations
    9513498385d4 firmware: xilinx: Add TF_A_PM_REGISTER_SGI SMC call
    56e40c7dd8b6 firmware: xilinx: Add support to get the image meta-header info
    e03694978cf3 firmware: xilinx: Update the zynqmp_pm_fpga_load() API
    fbc91cdb367b fpga: versal: Use tab instead of spaces for indentation
    19e115da53f1 fpga: fpga-mgr: Add missing kernel-doc description
    7837d95cdd94 fpga: fpga-mgr: fix for coding style issues
    4481faa1bf49 fpga: mgr: Update the state to provide the exact error code
    bc8e9b6e0983 fpga: region: Adds runtime PM support
    54d8f9d9ca81 fpga: region: Add fpga-region property 'power-domains'
    a7a2276ed8f1 fpga: zynqmp: Initialized variables before using it
    292dbac1677e fpga: zynq: Fix incorrect variable type
    b918a2e218ca fpga: zynqmp: Use the scatterlist interface
    e155630575c4 fpga: versal: Use the scatterlist interface
    8e749d381f33 fpga: mgr: Adds secure BitStream loading support
    2dd53589d0a4 fpga: add bindings document for secure flags
    f59058929ba0 fpga: support loading from a pre-allocated buffer
    b536b65e5c7c fpga: fpga-bridge: Add manual set option via sysfs
    b752f2a3995b fpga: zynq: Add AFI config driver
    f8e7bc8ce2f2 fpga: doc: Add binding doc for the afi config driver
    5a1c2fd19a5d fpga: Add xilinx AFI config driver
    2433e3deb357 fpga: doc: Add binding doc for the afi config driver
    536a7eca23fe fpga: Adopted Authenticated BitStream loading support for Xilinx
    8a20fda8bffe fpga: zynqmp-fpga: Adds status interface
    2794dcc31d3d fpga: mgr: Update the status for fpga-manager
    5f095e3b363a fpga: zynqmp-fpga: Add support for pl configuration readback
    49f97f21ebce fpga: fpga-mgr: Add readback support
    453b5c0bdb77 fpga: mgr: Adopted Encrypted BitStream loading support for Xilinx zynqmp
    771420904d30 fpga: Add firmware store function
    298985c827de spi: spi-cadence-quadspi: Add Rx periodic Tuning support
    0d82358fa8e5 spi: spi-cadence-quadspi: Add support for OSPI Macronix
    f8e60991e92b mtd: spi-nor: micron-st: Add support for mt35xu01g flash
    7321890bd2f2 mtd: spi-nor: gigadevice: Add support for GD25LX256E
    595b205a7646 mtd: spi-nor: issi: Add support for is25wx256
    60db395c8bf9 spi: spi-cadence-quadspi: Add support for odd byte count read/write in DDR mode
    01c7f51c1324 spi: spi-cadence-quadspi: Add support for DDR PHY mode
    915923d73f7f spi: spi-cadence-quadspi: Add support for OSPI device reset
    742af72f442c firmware: xilinx: Add tristate configurations
    73cbd854ef83 spi: cadence-quadspi: fix dma_unmap_single() call
    d7228207a0c8 spi: cadence-quadspi: Add Xilinx Versal external DMA support
    af34a3dd349c spi: cadence-quadspi: Add OSPI support for Xilinx Versal SoC
    4004e9c16f95 dt-bindings: spi: cadence-quadspi: Add support for Xilinx Versal OSPI
    59803de0a3b3 net: macb: Move the phy re-init to phylink function instead of open
    80ed3cc175ae net: macb: Handle phy reset for PCS PMA IP
    a34ea9656915 net: macb: Kernel gives call trace during resume from Wake on Lan
    c9f9e43c4ee3 net: macb: Handle phy reset for PCS PMA IP
    9b06c1cc7a63 net: macb: Reorder probe and fix exit path
    31720bd54735 net: macb: Reset TX when TX halt times out
    73cd1e1e0b94 net: macb: Increase halt timeout to accommodate 10Mbps link
    0ddb734603a0 net: macb: Use queue disable instead of tieoff in Versal suspend
    4034a3f56f0f net: macb: Update tsu clk usage in runtime suspend/resume for Versal
    aee3952e9a18 dt-bindings: net: macb: Add GEM versal compatible string
    b3acf26ff48a net: macb: Optimize reading HW timestamp
    48d58b99f331 net: macb: Process tx timestamp only on ptp packets
    6b265011b9e9 net: macb: Use WOL via ARP
    d38cf41379d4 net: macb: Add provision for queue tie off
    c20373c21196 net: macb: PTP fixes
    2c46511d8159 net: macb: Add support for partial store and forward
    a11ece690080 dt-bindings: net: macb: update for partial store and forward
    00766c76dddd net: macb: add support for mdio phy nodes
    ac0976c90259 drivers: soc: xilinx: Call InitFinalize from late_initcall_sync instead of probe
    3daad588a65f pwm: pwm-cadence: Add support for TTC PWM
    413a103eb561 dt-bindings: timer: Update device tree bindings for cadence TTC PWM
    813603f7b72c clocksource: timer-cadence-ttc: Do not probe TTC device configured as PWM
    94461f06fbfb drivers: gpio: Add support for SLG7XL45106 I2C GPO expander
    2bdd366ed0ab dt-bindings: gpio: Add gpio-slg7xl45106.yaml
    7284fac81dec mtd: rawnand: Add jedec_id to struct onfi_params
    19c7e50b6c39 firmware: xilinx: Add OSPI Mux selection support
    1c44a8fcc5b1 firmware: xilinx: add support for sd/usb/gem config
    9fcd8933730f firmware: xilinx: Add support for secure read/write ioctl interface
    64db7b5940bd xilinx: Fix alignment issues
    2f4d392d63b9 firmware: xilinx: Update firmware call interface to support additional arg
    af114b23708c firmware: xilinx: Add support to access BBRAM and volatile user keys
    ffdf3479387c firmware: xilinx: Add support to get the image uid info
    bacd03b43e9a firmware: xilinx: Add sysfs support for feature config
    2dd992b1a66a firmware: xilinx: Add support for runtime features
    f78d30ce1170 firmware: xilinx: Open MMIO read/write interface via debugfs
    1705288f9b7e firmware: zynqmp: Add MMIO read and write support for PS_MODE pin
    03696811c57b usb: dwc3: Add power management support in DWC3 Xilinx driver
    4522562bac02 firmware: zynqmp: Use DEVICE_ATTR_* to create sysfs entry
    8679afc083a7 firmware: xilinx: Use u32 for reset ID in reset APIs
    894211e12431 xilinx: firmware: Add sysfs to get last reset reason
    4ccc1c0cb0d1 firmware: xilinx: Add support for GET_LAST_RESET_REASON IOCTL
    1d8d2dfe3408 firmware: xilinx: Add IOCTL for handling usb power requests
    ac757349260a firmware: xilinx: xilinx: Add IOCTL ids for probe counter
    007d0f428ab0 firmware: xilinx: Add qspi firmware interface
    e46e8af477fc firmware: xilinx: Add zynqmp SGMII firmware support
    6e6b3ac16542 firmware: xilinx: Add ULPI reset support
    f7ff9a4be882 firmware: xilinx: Add AFI ioctl support
    3fd244dfb317 firmware: xilinx: Add pm api function for PL readback
    989d4b8540ed firmware: xilinx: Add missing debug firmware interfaces
    16fe6e7d76b2 firmware: xilinx: Enable PM_IOCTL in debugfs
    c1171a34d2ef firmware: xilinx: Adds new eemi call for reg access
    c3e265ab42fe firmware: xilinx: Added pm api functions for RSA and SHA
    10ea96ed9201 firmware: xilinx: provides support to access efuse
    4049e236df60 firmware: xilinx: Add IOCTL support for AIE ISR Clear
    cdf530a25695 firmware: xilinx: Add ZynqMP firmware ioctl enums for RPU configuration.
    c2b985b88f09 firmware: xilinx: check return value of zynqmp_pm_get_api_version()
    c98909d6f9e5 firmware: xilinx: Add shutdown/wakeup APIs
    4ae799581030 driver: soc: xilinx: register for power events in zynqmp power driver
    3f0ca0276e98 firmware: xilinx: instantiate xilinx event manager driver
    ceeb8c19f199 drivers: soc: xilinx: add xilinx event management driver
    3b83c76d98b9 include: linux: firmware: Add header file with error events details
    dea4d8d0720a firmware: xilinx: move supported api callback ids
    0255c20b2d2c firmware: xilinx: export the feature check of zynqmp firmware
    22ef1e02ef40 firmware: xilinx: add register notifier in zynqmp firmware
    d179c639b30b x86/boot: Wrap literal addresses in absolute_pointer()
    856ec356cf91 ACPI: thermal: drop an always true check
    7614af249993 xfs: Fix -Werror=dangling-pointer work-around for older GCC
    41470215f97e xfs: Work around GCC 12 -Werror=dangling-pointer for xfs_attr_remote.o
    44a445c1922d virtio-pci: Remove wrong address verification in vp_del_vqs()
    77aa9e489eaf bpf: Disallow unprivileged bpf by default
    ebfb1822e9f9 fs/aufs: fixup 5.15.36 fixups
    4eba9348d3e2 Revert "Revert "fbdev: Hot-unplug firmware fb devices on forced removal""
    5df6d1b00f95 jbd2: fix use-after-free of transaction_t race
    2d83e8196487 jbd2: refactor wait logic for transaction updates into a common function
    07a63f760793 netfilter: conntrack: avoid useless indirection during conntrack destruction
    4e7122625996 Revert "fbdev: Hot-unplug firmware fb devices on forced removal"
    7ba4cb36fd4f rcu: Avoid alloc_pages() when recording stack
    f78574dee71e kasan: test: silence intentional read overflow warnings
    d313cb89b6b1 kasan: arm64: fix pcpu_page_first_chunk crash with KASAN_VMALLOC
    5e279d5647cc arm64: support page mapping percpu first chunk allocator
    e5bf16752dca vmalloc: choose a better start address in vm_area_register_early()
    660b3d21b46f kasan: test: bypass __alloc_size checks
    00aa7573e53a kasan: test: add memcpy test that avoids out-of-bounds write
    67becf0b1bd4 kasan: fix tag for large allocations when using CONFIG_SLAB
    bedf1e033213 workqueue, kasan: avoid alloc_pages() when recording stack
    7195b67ce69b kasan: generic: introduce kasan_record_aux_stack_noalloc()
    bdff763f0e29 kasan: common: provide can_alloc in kasan_save_stack()
    51423ebb36ad lib/stackdepot: introduce __stack_depot_save()
    85373e66d847 lib/stackdepot: remove unused function argument
    5b6cc9b251f3 lib/stackdepot: include gfp.h
    c9f3902d8069 aufs: reduce overhead for "code present but disabled" use case.
    b98d189df02c aufs: bugfix, umount passes NULL to ->parse_monolithic()
    13b883cbbbd9 aufs standalone: cosmetic, missing copyright sentence
    21f8b0d81898 aufs: 5.15.5-20220117 ---> 5.15.5-20220221
    6199fd896645 aufs: tiny, headers after fs_context
    8ddb40e31c29 aufs: fs_context 7/7, finally remount
    69035f71c6fd aufs: fs_context 6/7, now mount
    bc841b970697 aufs: fs_context 5/7, parse all other mount options
    435188053da2 aufs: fs_context 4/7, parse xino options
    9af1f1825cbd aufs: fs_context 3/7, parse the branch-management options
    1c05eb767f8c aufs: fs_context 2/7, parse "br" mount option
    a8488f603134 aufs: fs_context 1/7, skelton of the new shceme
    8e32e0015564 aufs: pre fs_context, convert a static flag to a macro
    f90cb4144aec aufs: pre fs_context, support the incomplete sb and sbinfo case
    948762ef859c aufs: pre fs_context, convert the type of alloc_sbinfo()
    77151a08776b aufs: 5.15.5-20211129 ---> 5.15.5-20220117
    2539adbbbe1e aufs: 5.14-20211018 ---> 5.15.5-20211129
    7d32b25193c4 aufs: for v5.15-rc1, sync_inode() is gone
    66ec0c509225 aufs: for v5.15-rc1, new param 'rcu' for ->get_acl()
    69709dc518cd aufs: for v5.15-rc1, no mand-lock anymore
    ada8fe9543e5 aufs: 5.14-20210906  ---> 5.14-20211018
    b77f7f3f394a Revert "aufs: adjust to v5.15 fs changes"
    81bdce5b5876 tick/nohz: WARN_ON --> WARN_ON_ONCE to prevent console saturation
    97c963889222 sched/isolation: really align nohz_full with rcu_nocbs
    871f23ad3627 Revert "ARM: defconfig: Enable ax88796c driver for Exynos boards"
    ffad0783dd5b ARM: config: multi v7: Regenerate defconifg
    5c1e1a1ff2d3 ARM: config: multi v7: Add renamed symbols
    badaf96564fe ARM: config: multi v7: Clean up enabled by default options
    34996040fc9b ARM: config: multi v7: Drop unavailable options
    7f685244afb3 powerpc/mm: Switch obsolete dssall to .long
    20301aeb1a64 riscv: fix build with binutils 2.38
    9df58d070506 powerpc/lib/sstep: fix 'ptesync' build error
    720b61fc400b x86_64_defconfig: Fix warnings
    02bf23d26bc4 arm64: defconfig: cleanup config options
    05914e2c87e5 arm: defconfig: drop unused POWER_AVS option
    ffb532fa19b9 aufs5: fix build against v5.15.3+
    a4b3abf4d96d qemux86: add configuration symbol to select values
    fee94ee09154 clear_warn_once: add a clear_warn_once= boot parameter
    3d8762d900d9 clear_warn_once: bind a timer to written reset value
    95faacac47e8 clear_warn_once: expand debugfs to include read support
    de20c4240018 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    0e4aacead9c1 perf: x86-32: explicitly include <errno.h>
    9ad92c11468e perf: mips64: Convert __u64 to unsigned long long
    09e7efe3e68a perf: fix bench numa compilation
    e79becc44fa6 perf: add SLANG_INC for slang.h
    b1033b588681 perf: add sgidefs.h to for mips builds
    cf9db484ac0b perf: change --root to --prefix for python install
    7fd052c2c562 perf: add 'libperl not found' warning
    27a437cdd469 perf: force include of <stdbool.h>
    3b99d21bec2f fat: don't use obsolete random32 call in namei_vfat
    a7e9293b506b FAT: Added FAT_NO_83NAME
    6fd0e71d9e5c FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    c379b0d324ae FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    538be0fdb124 aufs: adjust to v5.15 fs changes
    f45da75c8759 aufs5: core
    047f57e07e01 aufs5: standalone
    029fc15574c8 aufs5: mmap
    610d0192ee94 aufs5: base
    d4e428d0ec5f aufs5: kbuild
    eb067eca251a yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    286af18d0875 yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    24d59a4e26a6 yaffs2: v5.12+ build fixups (not runtime tested)
    22c73536d5d7 yaffs: include blkdev.h
    506b7251bfb8 yaffs: fix misplaced variable declaration
    a0e26ff364dc yaffs2: v5.6 build fixups
    b10b1b2d169e yaffs2: fix memory leak when /proc/yaffs is read
    ad9adccbb214 yaffs: add strict check when call yaffs_internal_read_super
    2e3c3aec8279 yaffs: repair yaffs_get_mtd_device
    d662538516a7 yaffs: Fix build failure by handling inode i_version with proper atomic API
    70a6113ee2c7 yaffs2: fix memory leak in mount/umount
    3378e4a9e404 yaffs: Avoid setting any ACL releated xattr
    ec2284edddef Yaffs:check oob size before auto selecting Yaffs1
    c2a49874051c fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    e9a5105a3e73 yaffs2: adjust to proper location of MS_RDONLY
    608807406f13 yaffs2: import git revision b4ce1bb (jan, 2020)
    89e660ece42c initramfs: allow an optional wrapper script around initramfs generation
    b179dbc9aa10 iwlwifi: select MAC80211_LEDS conditionally
    3fd5ca3673d0 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    d1f6edbf0188 arm64/perf: Fix wrong cast that may cause wrong truncation
    d202fb2caf33 defconfigs: drop obselete options
    9a27e3b5f4e7 arm64/perf: fix backtrace for AAPCS with FP enabled
    e20d8cf019b4 linux-yocto: Handle /bin/awk issues
    b6d2a3dbbd3a uvesafb: provide option to specify timeout for task completion
    adb40f1e6a1a uvesafb: print error message when task timeout occurs
    f280a1ed0962 compiler.h: Undef before redefining __attribute_const__
    4352732f268c vmware: include jiffies.h
    7954a677968d Resolve jiffies wrapping about arp
    5f28a1035d95 nfs: Allow default io size to be configured.
    0d7260ad7106 check console device file on fs when booting
    900a12e37e0a mount_root: clarify error messages for when no rootfs found
    7b878cbea726 menuconfig,mconf-cfg: Allow specification of ncurses location
    6604fc1763b3 modpost: mask trivial warnings
    0d294adb09cb kbuild: exclude meta directory from distclean processing
    a097cdd95a9e powerpc: serialize image targets
    5db6ec39a0a3 arm: serialize build targets
    cbabca27905e crtsavres: fixups for 5.4+
    7fc7656ed403 powerpc/ptrace: Disable array-bounds warning with gcc8
    a5faac5a19a2 powerpc: Disable attribute-alias warnings from gcc8
    186c54665b67 powerpc: add crtsavres.o to archprepare for kbuild
    d1ea862964ca powerpc: kexec fix for powerpc64
    2ac35b89a0f9 powerpc: Add unwind information for SPE registers of E500 core
    2e1c348a28bb mips: vdso: fix 'jalr $t9' crash in vdso code
    ec57870b303a mips: Kconfig: add QEMUMIPS64 option
    6a81b3c08107 4kc cache tlb hazard: tlbp cache coherency
    74e3b2a21e54 malta uhci quirks: make allowance for slow 4k(e)c
    22e65b63d3b4 arm/Makefile: Fix systemtap
    b7f1ab59f19e vexpress: Pass LOADADDR to Makefile
    ce2800c73bf7 arm: ARM EABI socketcall
    019d142fd956 ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: 1a35c54e4fde4fac44745388501f517b9d269de5)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-04 09:06:31 -07:00
Harish Sadineni
6fceeca067 binutils: fix CVE-2025-1180
Backporting the fix from PR 32636 to fix PR 32642 (ld SEGV (illegal read access)
in _bfd_elf_write_section_eh_frame (bfd/elf-eh-frame.c:2234:29) with
 --gc-sections --gc-keep-exported option)

https://nvd.nist.gov/vuln/detail/CVE-2025-1180 is associated with
PR32642 which will get fixed with commit from PR 32636.

Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=f9978defb6fab0bd8583942d97c112b0932ac814]
CVE: CVE-2025-1180

(From OE-Core rev: 8178f44f18777b2c8acc0afb9fd43921a9a8e76e)

Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-04 09:06:31 -07:00
Hitendra Prajapati
14d260ab25 screen: Fix CVE-2025-46805
Upstream-Status: Backport from https://cgit.git.savannah.gnu.org/cgit/screen.git/commit/?id=161f85b98b7e1d5e4893aeed20f4cdb5e3dfaaa4

(From OE-Core rev: b25b0f785e0b7650e31a45a92be196be6b76ea78)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-04 09:06:31 -07:00
Harish Sadineni
94dea33c75 binutils: Fix CVE-2025-1182
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=b425859021d17adf62f06fb904797cf8642986ad]
CVE: CVE-2025-1182

(From OE-Core rev: bbfdd5c44a5629b9158b418b5335ec4f1567b3f9)

Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-04 09:06:31 -07:00
Alper Ak
3810d71ad8 ref-manual/variables.rst: document INHIBIT_UPDATERCD_BBCLASS
Fix [YOCTO #15753]

(From yocto-docs rev: 76a4dd5ce041b38f4cab714017a38b035d9530a3)

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 5f5a406d4acdfcbf655ac014d0d2807056f95291)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Etienne Cordonnier
14ad855916 ref-manual/variables.rst: document SSTATE_SKIP_CREATION
(From yocto-docs rev: 3ff58cc9f3dd200054d241284e183d531502eca4)

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 3982720668aafa18c9ed27304d09f896740b1653)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Alper Ak
c90ab351eb ref-manual/variables.rst: document INHIBIT_DEFAULT_RUST_DEPS
Fix [YOCTO #15755]

(From yocto-docs rev: 064472cef81212d9731b10161b8118de314191e1)

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit fd143a04bab38f6aeec23ec229657b16fcaecdf1)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Enrico Jörns
c5b17456e6 conf.py: tweak SearchEnglish to be hyphen-friendly
This modifies the default indexer split() and js splitQuery()
methods to support searching for words with hyphens.

While this might not be an ideal, rock solid, and fully future-proof
solution, it allows at least to search for strings inlcuding hyphens,
such as 'bitbake-layers', 'send-error-report', or 'oe-core'.

Below is a bit more detailed explanation of the two modifications done:

1) The default split regex in the sphinx-doc SearchLanguage base class
   is:

   | _word_re = re.compile(r'\w+')

   which we simply extend to include hyphens '-'.

   This will result in a searchindex.js that contains words with hyphens,
   too.

2) The 'searchtool.js' code notes for its splitQuery() implementation:

   | /**
   |  * Default splitQuery function. Can be overridden in ``sphinx.search`` with a
   |  * custom function per language.
   |  *
   |  * The regular expression works by splitting the string on consecutive characters
   |  * that are not Unicode letters, numbers, underscores, or emoji characters.
   |  * This is the same as ``\W+`` in Python, preserving the surrogate pair area.
   |  */
   | if (typeof splitQuery === "undefined") {
   |   var splitQuery = (query) => query
   |       .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu)
   |       .filter(term => term)  // remove remaining empty strings
   | }

   The hook for this is documented in the sphinx-docs 'SearchLanguage'
   base class.

   |    .. attribute:: js_splitter_code
   |
   |       Return splitter function of JavaScript version.  The function should be
   |       named as ``splitQuery``.  And it should take a string and return list of
   |       strings.
   |
   |       .. versionadded:: 3.0

   We use this to define a simplified splitQuery() function with a split
   argument that splits on empty spaces only.

We extend SearchEnglish (which extends SearchLanguage) here to retain
the stemmer code and stopwords for English.

[YOCTO #14534]

(From yocto-docs rev: 72e70a6af6eb3d4ca41f9e64069d8d3f61b420a3)

Signed-off-by: Enrico Jörns <ejo@pengutronix.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit d4a98ee19e0cbd6be96923dc72faee143a6b294b)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Christos Gavros
9fe29f2369 ref-manual/variables.rst: document the INITRAMFS_MAXSIZE variable
This variable specifies the maximum allowed size
of the initramfs image in Kbytes.
Fixes [YOCTO #15797]

CC: Yoann Congal <yoann.congal@smile.fr>
CC: Randy MacLeod <randy.macleod@windriver.com>
CC: Antonin Godard <antonin.godard@bootlin.com>
(From yocto-docs rev: 215796836549ae31ef8a9f4f2421316d20d4e3c3)

Signed-off-by: Christos Gavros <gavrosc@yahoo.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 07bcdddaf71c76cdec186cf0ddd97a47eec54972)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Christos Gavros
304b1b285b ref-manual/variables.rst: document the IMAGE_ROOTFS_MAXSIZE variable
This variable specifies the maximum allowed size
of the generated image in kilobytes.

CC: Yoann Congal <yoann.congal@smile.fr>
CC: Randy MacLeod <randy.macleod@windriver.com>
CC: Antonin Godard <antonin.godard@bootlin.com>
CC: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: ca56f1002f8d198c0626e87412f33906e13a2761)

Signed-off-by: Christos Gavros <gavrosc@yahoo.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit f3ddc92081363aa7ef7d4fc2c3b918f32f7bda05)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Trevor Woerner
7dfd7de941 sphinx-lint: unbalanced inline literal markup
Fix as many instances of unbalanced-inline-literals-delimiters as reported
by 'make sphinx-lint' as possible. Sphinx and/or its linter seem to get
tripped up randomly when references contain links to heading which contain
literals enclosed in double-back-tics, and not all of them can be "fixed"
to pass both building and linting.

(From yocto-docs rev: 2c1e5b080ad5e62d8283d332cbc473fd2d59c6e6)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Trevor Woerner
d2de20a4b6 sphinx-lint: role missing opening tag colon
Fix all instances missing-space-before-role as reported by 'make sphinx-lint'.

(From yocto-docs rev: 255bfc8c195bbc84a78a4985cf2775c87e525794)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Trevor Woerner
32712b2a6b sphinx-lint: trailing whitespace
Fix all instances of trailing-whitespace as reported by 'make sphinx-lint'.

(From yocto-docs rev: 7776550a190060221a8cc913e470edf5349b6829)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Trevor Woerner
38e33dedee ref-manual/variables.rst: document WIC_CREATE_EXTRA_ARGS
Fixes [YOCTO #15509]

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 8e893cc8cabba4b4f21556561d1ca9656ca1ff9f)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit f1cdecb6da91dbfac59359c83038cb4a4c36ad0a)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Trevor Woerner
40232dc020 contributor-guide/submit-changes: encourage patch version changelogs
Add a section after the 'git format-patch' information encouraging developers
to add patch version changelogs to their patch updates.

(From yocto-docs rev: a9f9d53fa4a29e3cf846868567190425ffed8bf0)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 2e3a37c4607b296956993e557d1786c4876e5722)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Adrian Freihofer
7888d6459e ref-manual: kernel-fitimage.bbclass does not use SPL_SIGN_KEYNAME
The kernel-fitimage.bbclass uses the UBOOT_* variables. The SPL_*
variables are handled by uboot-sign.bbclass.

(From yocto-docs rev: 1383a1fac59b9aa02bde2a0c63a6f480807492e1)

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 8ceffee908a039deb1021361faa7637e83ef26f3)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Lee Chee Yang
ac7af3f00b migration-guides: add release notes for 4.0.26
(From yocto-docs rev: 12ef53ea657c3d36c3c59d492c20123e36001628)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 656dc03101705bba718517b7017f71ce00541b72)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Antonin Godard
36432822b1 ref-manual/release-process: update releases.svg
- Add the future "Whinlatter" (5.3) and "Wrynose" (6.0) releases.
- Make the "Walnascar" release a current release.
- Update the month in Current.

(From yocto-docs rev: b60476dd7b056d7b5dd48ac7fce943b4e3542277)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit adb8573b54626e033921a9f4e3db259312b79207)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Antonin Godard
72c9483d9d test-manual/intro: remove Buildbot version used
The version has changed now (3.10.12 as of writing). Avoid having to
maintain this information by removing the version info from the intro.
Also fix a typo ("uses now uses") and give a link to yocto-autobuilder2.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: c404868285bfeb64600e70650483c664a8eb9574)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 1ed64dbdf4a60b000305cdc2c67dc24f4bc97ef7)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Antonin Godard
ce1cefc347 dev-manual/sbom.rst: fix wrong build outputs
This document was written with SPDX 3.0 in mind (create-spdx-3.0 class)
on OE-Core's master, but Kirkstone only supports SPDX 2.2 (named simply
create-spdx).

The create-spdx class only generate a tar.zst output, so remove the
other outputs listed here.

Also, ancillary outputs are not only deployed in tmp/deploy/spdx/MACHINE
but tmp/deploy/spdx in general.

(From yocto-docs rev: 25b5ec4c71c97228f8386f5b6c4fbe272c207ed6)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Sundeep KOKKONDA
c6cd61f1a2 gcc: AArch64 - Fix strict-align cpymem/setmem
The cpymemdi/setmemdi implementation doesn't fully support strict alignment.
Block the expansion if the alignment is less than 16 with STRICT_ALIGNMENT.
Clean up the condition when to use MOPS. (PR103100)

The original patch for GCC 12 removed MOPS & SIMD conditionals for setmem and
cpymem expansions in aarch64.md file. However, this version for GCC 11 does not
backport the SIMD & MOPS-related changes and retains the conditions in aarch64.md
file to preserve correctness and compatibility with the GCC 11 backend.

All changes and outputs have been verified by the author.

Upstream-Status: Backport [https://gcc.gnu.org/cgit/gcc/commit/?id=b9d16d8361a9e3a82a2f21e759e760d235d43322]

(From OE-Core rev: a99a65632116955dc69809a14bf536b22582de72)

Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Virendra Thakur
aee1d45a83 util-linux: Add fix to isolate test fstab entries using CUSTOM_FSTAB
During ptest execution, util-linux adds mount entries in /etc/fstab
and runs `mount -a`, which mounts all available entries from
/etc/fstab. This can cause unintended mounts that are unrelated to
the test, leading to incorrect test behavior.

To avoid this, upstream util-linux introduced a mechanism using
CUSTOM_FSTAB,which isolates test-specific fstab entries. Only entries
listed in CUSTOM_FSTAB are mounted during test execution, ensuring
tests do not interfere with or depend on the system's /etc/fstab.

This commit backports below upstream changes to use CUSTOM_FSTAB.
ed3d33faff
b1580bd760
6aa8d17b6b

(From OE-Core rev: 94747fb63518bf907eb7c09fc2e146e39e235a7d)

Signed-off-by: Virendra Thakur <virendra.thakur@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Divya Chellam
32d2b233c6 ruby: fix CVE-2025-27221
In the URI gem before 1.0.3 for Ruby, the URI handling methods
(URI.join, URI#merge, URI#+) have an inadvertent leakage of
authentication credentials because userinfo is retained even
after changing the host.

Reference:
https://security-tracker.debian.org/tracker/CVE-2025-27221

Upstream-patches:
3675494839
2789182478

(From OE-Core rev: c77ff1288719d90ef257dfe28cb33b3768fc124a)

Signed-off-by: Divya Chellam <divya.chellam@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Praveen Kumar
097732e057 glib-2.0: fix CVE-2025-4373
A flaw was found in GLib, which is vulnerable to an integer overflow
in the g_string_insert_unichar() function. When the position at which
to insert the character is large, the position will overflow, leading
to a buffer underwrite.

References:
https://nvd.nist.gov/vuln/detail/CVE-2025-4373
https://security-tracker.debian.org/tracker/CVE-2025-4373

Upstream-patches:
cc647f9e46
4d435bb480

(From OE-Core rev: 7a7319745637d4b681935ae71706dcc467df3040)

Signed-off-by: Praveen Kumar <praveen.kumar@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Vijay Anusuri
ef632f4693 libsoup-2.4: Fix CVE-2025-32914
import patch from debian to fix
 CVE-2025-32914

Upstream-Status: Backport [import from debian https://salsa.debian.org/gnome-team/libsoup/-/tree/debian/bullseye/debian/patches?ref_type=heads
Upstream commit 5bfcf81575]

Reference:
https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/450
https://security-tracker.debian.org/tracker/CVE-2025-32914

(From OE-Core rev: 8996e178264cf6bf9b69365172f43a5ee8e9f727)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Vijay Anusuri
cbbea14280 libsoup-2.4: Fix CVE-2025-32912
Upstream-Status: Backport from
cd077513f2
& 910ebdcd3d

(From OE-Core rev: e66218f6cda7de046bace6880ea5052900fd6605)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Vijay Anusuri
d8278fd9f9 libsoup-2.4: Fix CVE-2025-32911 & CVE-2025-32913
Upstream-Status: Backport from
7b4ef0e004
& f4a761fb66

(From OE-Core rev: ff1896b14347c7b4a166716338d3822da97be2e4)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Vijay Anusuri
21bb9c063b libsoup-2.4: Fix CVE-2025-32910
import patch from debian to fix
 CVE-2025-32910

Upstream-Status: Backport [import from debian https://salsa.debian.org/gnome-team/libsoup/-/tree/debian/bullseye/debian/patches?ref_type=heads
Upstream commit e40df6d48a
&
405a8a3459
&
ea16eeacb0]

Reference:
https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/417
https://security-tracker.debian.org/tracker/CVE-2025-32910

(From OE-Core rev: b65e3d3a4dc2375d9bb81c7a91c84139cc667a47)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Ashish Sharma
0f58759f1b libsoup-2.4: Fix CVE-2025-46420
Upstream-Status: Backport [c9083869ec]

(From OE-Core rev: f0d5d13b0b7b2cf3f60c85b0c135fd948c648256)

Signed-off-by: Ashish Sharma <asharma@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Praveen Kumar
23a8405509 connman :fix CVE-2025-32366
In ConnMan through 1.44, parse_rr in dnsproxy.c has a memcpy length
that depends on an RR RDLENGTH value, i.e., *rdlen=ntohs(rr->rdlen)
and memcpy(response+offset,*end,*rdlen) without a check for whether
the sum of *end and *rdlen exceeds max. Consequently, *rdlen may be
larger than the amount of remaining packet data in the current state
of parsing. Values of stack memory locations may be sent over the
network in a response.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2025-32366

Upstream-patch:
https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=8d3be0285f1d4667bfe85dba555c663eb3d704b4

(From OE-Core rev: 1b9156124b4a07e0e3e0ab09e87d654eae6c7b4e)

Signed-off-by: Praveen Kumar <praveen.kumar@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Yi Zhao
7f043fb4bb iputils: Security fix for CVE-2025-47268
CVE-2025-47268
ping in iputils through 20240905 allows a denial of service (application
error or incorrect data collection) via a crafted ICMP Echo Reply
packet, because of a signed 64-bit integer overflow in timestamp
multiplication.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2025-47268

Patch from:
070cfacd73

(From OE-Core rev: a463c8e3950ccf58316d48241c2cd82484f25fda)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
Vijay Anusuri
0fa8a4465e openssh: Fix CVE-2025-32728
Upstream-Status: Backport [fc86875e6a]

(From OE-Core rev: 68413e1413eb87254d68f30920574b0e2c766782)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-05-28 08:46:32 -07:00
325 changed files with 29689 additions and 544 deletions

View File

@@ -1335,7 +1335,7 @@ class FetchLatestVersionTest(FetcherTest):
# combination version pattern
("sysprof", "git://git.yoctoproject.org/sysprof.git;protocol=https;branch=master", "cd44ee6644c3641507fb53b8a2a69137f2971219", "")
: "1.2.0",
("u-boot-mkimage", "git://source.denx.de/u-boot/u-boot.git;branch=master;protocol=https", "62c175fbb8a0f9a926c88294ea9f7e88eb898f6c", "")
("u-boot-mkimage", "git://git.yoctoproject.org/bbfetchtests-u-boot.git;branch=master;protocol=https", "62c175fbb8a0f9a926c88294ea9f7e88eb898f6c", "")
: "2014.01",
# version pattern "yyyymmdd"
("mobile-broadband-provider-info", "git://git.yoctoproject.org/mobile-broadband-provider-info.git;protocol=https;branch=master", "4ed19e11c2975105b71b956440acdb25d46a347d", "")

View File

@@ -429,5 +429,22 @@ both the Yocto Project and BitBake manuals:
Submitting documentation changes
================================
Please see the top level README file in this repository for details of where
to send patches.
Please refer to our contributor guide here: https://docs.yoctoproject.org/contributor-guide/
for full details on how to submit changes.
As a quick guide, patches should be sent to docs@lists.yoctoproject.org
The git command to do that would be:
git send-email -M -1 --to docs@lists.yoctoproject.org
The 'To' header can be set as default for this repository:
git config sendemail.to docs@lists.yoctoproject.org
Now you can just do 'git send-email origin/master..' to send all local patches.
Read the other sections in this document and documentation/standards.md for
rules to follow when contributing to the documentation.
Git repository: https://git.yoctoproject.org/yocto-docs
Mailing list: docs@lists.yoctoproject.org

View File

@@ -57,7 +57,7 @@ following requirements:
:ref:`dev-manual/start:preparing the build host`
section in the Yocto Project Development Tasks Manual.
-
- Ensure that the following utilities have these minimum version numbers:
- Git &MIN_GIT_VERSION; or greater
- tar &MIN_TAR_VERSION; or greater
@@ -65,7 +65,7 @@ following requirements:
- gcc &MIN_GCC_VERSION; or greater.
- GNU make &MIN_MAKE_VERSION; or greater
If your build host does not meet any of these three listed version
If your build host does not satisfy all of the above version
requirements, you can take steps to prepare the system so that you
can still use the Yocto Project. See the
:ref:`ref-manual/system-requirements:required git, tar, python, make and gcc versions`
@@ -182,7 +182,7 @@ an entire Linux distribution, including the toolchain, from source.
page of the Yocto Project Wiki.
#. **Initialize the Build Environment:** From within the ``poky``
directory, run the :ref:`ref-manual/structure:\`\`oe-init-build-env\`\``
directory, run the :ref:`ref-manual/structure:``oe-init-build-env```
environment
setup script to define Yocto Project's build environment on your
build host.
@@ -252,7 +252,7 @@ an entire Linux distribution, including the toolchain, from source.
file in the :term:`Build Directory`::
BB_HASHSERVE_UPSTREAM = "hashserv.yoctoproject.org:8686"
SSTATE_MIRRORS ?= "file://.* http://cdn.jsdelivr.net/yocto/sstate/all/PATH;downloadfilename=PATH"
SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
BB_HASHSERVE = "auto"
BB_SIGNATURE_HANDLER = "OEEquivHash"

View File

@@ -81,7 +81,7 @@ directory of that Layer. This directory is what you add to the
``conf/bblayers.conf`` file found in your
:term:`Build Directory`, which is
established after you run the OpenEmbedded build environment setup
script (i.e. :ref:`ref-manual/structure:\`\`oe-init-build-env\`\``).
script (i.e. :ref:`ref-manual/structure:``oe-init-build-env```).
Adding the root directory allows the :term:`OpenEmbedded Build System`
to recognize the BSP
layer and from it build an image. Here is an example::
@@ -230,7 +230,7 @@ section.
#. *Initialize the Build Environment:* While in the root directory of
the Source Directory (i.e. ``poky``), run the
:ref:`ref-manual/structure:\`\`oe-init-build-env\`\`` environment
:ref:`ref-manual/structure:``oe-init-build-env``` environment
setup script to define the OpenEmbedded build environment on your
build host. ::
@@ -675,21 +675,21 @@ to the kernel recipe by using a similarly named append file, which is
located in the BSP Layer for your target device (e.g. the
``meta-bsp_root_name/recipes-kernel/linux`` directory).
Suppose you are using the ``linux-yocto_4.4.bb`` recipe to build the
Suppose you are using the ``linux-yocto_6.12.bb`` recipe to build the
kernel. In other words, you have selected the kernel in your
``"bsp_root_name".conf`` file by adding
:term:`PREFERRED_PROVIDER` and :term:`PREFERRED_VERSION`
statements as follows::
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "4.4%"
PREFERRED_VERSION_linux-yocto ?= "6.12%"
.. note::
When the preferred provider is assumed by default, the :term:`PREFERRED_PROVIDER`
statement does not appear in the ``"bsp_root_name".conf`` file.
You would use the ``linux-yocto_4.4.bbappend`` file to append specific
You would use the ``linux-yocto_6.12.bbappend`` file to append specific
BSP settings to the kernel, thus configuring the kernel for your
particular BSP.
@@ -699,14 +699,19 @@ in the Yocto Project Linux Kernel Development Manual.
An alternate scenario is when you create your own kernel recipe for the
BSP. A good example of this is the Raspberry Pi BSP. If you examine the
``recipes-kernel/linux`` directory you see the following::
``recipes-kernel/linux`` directory in that layer you see the following
Raspberry Pi-specific recipes and associated files::
files/
linux-raspberrypi_6.12.bb
linux-raspberrypi_6.1.bb
linux-raspberrypi_6.6.bb
linux-raspberrypi-dev.bb
linux-raspberrypi.inc
linux-raspberrypi_4.14.bb
linux-raspberrypi_4.9.bb
The directory contains three kernel recipes and a common include file.
linux-raspberrypi-v7_6.12.bb
linux-raspberrypi-v7_6.1.bb
linux-raspberrypi-v7_6.6.bb
linux-raspberrypi-v7.inc
Developing a Board Support Package (BSP)
========================================
@@ -1179,7 +1184,7 @@ Use these steps to create a BSP layer:
- *Create a Kernel Recipe:* Create a kernel recipe in
``recipes-kernel/linux`` by either using a kernel append file or a
new custom kernel recipe file (e.g. ``linux-yocto_4.12.bb``). The BSP
new custom kernel recipe file (e.g. ``linux-yocto_6.12.bb``). The BSP
layers mentioned in the previous step also contain different kernel
examples. See the ":ref:`kernel-dev/common:modifying an existing recipe`"
section in the Yocto Project Linux Kernel Development Manual for

View File

@@ -13,6 +13,7 @@
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import os
import re
import sys
import datetime
try:
@@ -165,6 +166,24 @@ latex_elements = {
'preamble': '\\setcounter{tocdepth}{2}',
}
from sphinx.search import SearchEnglish
from sphinx.search import languages
class DashFriendlySearchEnglish(SearchEnglish):
# Accept words that can include 'inner' hyphens or dots
_word_re = re.compile(r'[\w]+(?:[\.\-][\w]+)*')
js_splitter_code = r"""
function splitQuery(query) {
return query
.split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}\-\.]+/gu)
.filter(term => term.length > 0);
}
"""
languages['en'] = DashFriendlySearchEnglish
# Make the EPUB builder prefer PNG to SVG because of issues rendering Inkscape SVG
from sphinx.builders.epub3 import Epub3Builder
Epub3Builder.supported_image_types = ['image/png', 'image/gif', 'image/jpeg']

View File

@@ -735,6 +735,38 @@ argument to ``git format-patch`` with a version number::
git format-patch -v2 <ref-branch>
After generating updated patches (v2, v3, and so on) via ``git
format-patch``, ideally developers will add a patch version changelog
to each patch that describes what has changed between each revision of
the patch. Add patch version changelogs after the ``---`` marker in the
patch, indicating that this information is part of this patch, but is not
suitable for inclusion in the commit message (i.e. the git history) itself.
Providing a patch version changelog makes it easier for maintainers and
reviewers to succinctly understand what changed in all versions of the
patch, without having to consult alternate sources of information, such as
searching through messages on a mailing list. For example::
<patch title>
<commit message>
<Signed-off-by/other trailers>
---
changes in v4:
- provide a clearer commit message
- fix spelling mistakes
changes in v3:
- replace func() to use other_func() instead
changes in v2:
- this patch was added in v2
---
<diffstat output>
<unified diff>
Lastly please ensure that you also test your revised changes. In particular
please don't just edit the patch file written out by ``git format-patch`` and
resend it.

View File

@@ -36,7 +36,7 @@ section:
use the BitBake ``-e`` option to examine variable values after a
recipe has been parsed.
- ":ref:`dev-manual/debugging:viewing package information with \`\`oe-pkgdata-util\`\``"
- ":ref:`dev-manual/debugging:viewing package information with ``oe-pkgdata-util```"
describes how to use the ``oe-pkgdata-util`` utility to query
:term:`PKGDATA_DIR` and
display package-related information for built packages.

View File

@@ -56,7 +56,7 @@ necessary when adding a recipe to build a new piece of software to be
included in a build.
You can find a complete description of the ``devtool add`` command in
the ":ref:`sdk-manual/extensible:a closer look at \`\`devtool add\`\``" section
the ":ref:`sdk-manual/extensible:a closer look at ``devtool add```" section
in the Yocto Project Application Development and the Extensible Software
Development Kit (eSDK) manual.

View File

@@ -30,16 +30,9 @@ To make this happen, you must inherit the
INHERIT += "create-spdx"
Upon building an image, you will then get:
- :term:`SPDX` output in JSON format as an ``IMAGE-MACHINE.spdx.json`` file in
``tmp/deploy/images/MACHINE/`` inside the :term:`Build Directory`.
- This toplevel file is accompanied by an ``IMAGE-MACHINE.spdx.index.json``
containing an index of JSON :term:`SPDX` files for individual recipes.
- The compressed archive ``IMAGE-MACHINE.spdx.tar.zst`` contains the index
and the files for the single recipes.
Upon building an image, you will then get the compressed archive
``IMAGE-MACHINE.spdx.tar.zst`` contains the index and the files for the single
recipes.
The :ref:`ref-classes-create-spdx` class offers options to include
more information in the output :term:`SPDX` data:
@@ -56,7 +49,7 @@ more information in the output :term:`SPDX` data:
Though the toplevel :term:`SPDX` output is available in
``tmp/deploy/images/MACHINE/`` inside the :term:`Build Directory`, ancillary
generated files are available in ``tmp/deploy/spdx/MACHINE`` too, such as:
generated files are available in ``tmp/deploy/spdx`` too, such as:
- The individual :term:`SPDX` JSON files in the ``IMAGE-MACHINE.spdx.tar.zst``
archive.

View File

@@ -52,19 +52,24 @@ for them for significant issues.
Security-related discussions at the Yocto Project
-------------------------------------------------
We have set up two security-related mailing lists:
We have set up two security-related emails/mailing lists:
- Public List: yocto [dash] security [at] yoctoproject[dot] org
- Public Mailing List: yocto [dash] security [at] yoctoproject[dot] org
This is a public mailing list for anyone to subscribe to. This list is an
open list to discuss public security issues/patches and security-related
initiatives. For more information, including subscription information,
please see the :yocto_lists:`yocto-security mailing list info page </g/yocto-security>`.
This is a public mailing list for anyone to subscribe to. This list is an
open list to discuss public security issues/patches and security-related
initiatives. For more information, including subscription information,
please see the :yocto_lists:`yocto-security mailing list info page
</g/yocto-security>`.
- Private List: security [at] yoctoproject [dot] org
This list requires moderator approval for new topics to be posted, to avoid
private security reports to be posted by mistake.
This is a private mailing list for reporting non-published potential
vulnerabilities. The list is monitored by the Yocto Project Security team.
- Yocto Project Security Team: security [at] yoctoproject [dot] org
This is an email for reporting non-published potential vulnerabilities.
Emails sent to this address are forwarded to the Yocto Project Security
Team members.
What you should do if you find a security vulnerability

View File

@@ -543,6 +543,7 @@ your Yocto Project build host:
DISKPART> select vdisk file="<path_to_VHDX_file>"
DISKPART> attach vdisk readonly
DISKPART> compact vdisk
DISKPART> detach
DISKPART> exit
.. note::

View File

@@ -333,7 +333,7 @@ Manually Upgrading a Recipe
If for some reason you choose not to upgrade recipes using
:ref:`dev-manual/upgrading-recipes:Using the Auto Upgrade Helper (AUH)` or
by :ref:`dev-manual/upgrading-recipes:Using \`\`devtool upgrade\`\``,
by :ref:`dev-manual/upgrading-recipes:Using ``devtool upgrade```,
you can manually edit the recipe files to upgrade the versions.
.. note::

View File

@@ -514,7 +514,7 @@ or ::
For more information on how to use the ``bmaptool``
to flash a device with an image, see the
":ref:`dev-manual/bmaptool:flashing images using \`\`bmaptool\`\``"
":ref:`dev-manual/bmaptool:flashing images using ``bmaptool```"
section.
Using a Modified Kickstart File

View File

@@ -746,7 +746,7 @@ the extensible SDK and ``devtool``.
Before attempting this procedure, be sure you have performed the
steps to get ready for updating the kernel as described in the
":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``"
":ref:`kernel-dev/common:getting ready to develop using ``devtool```"
section.
Patching the kernel involves changing or adding configurations to an
@@ -759,7 +759,7 @@ output at boot time through ``printk`` statements in the kernel's
``calibrate.c`` source code file. Applying the patch and booting the
modified image causes the added messages to appear on the emulator's
console. The example is a continuation of the setup procedure found in
the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Section.
the ":ref:`kernel-dev/common:getting ready to develop using ``devtool```" Section.
1. *Check Out the Kernel Source Files:* First you must use ``devtool``
to checkout the kernel source code in its workspace. Be sure you are
@@ -768,7 +768,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se
.. note::
See this step in the
":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``"
":ref:`kernel-dev/common:getting ready to develop using ``devtool```"
section for more information.
Use the following ``devtool`` command to check out the code::
@@ -883,7 +883,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se
.. note::
See Step 3 of the
":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``"
":ref:`kernel-dev/common:getting ready to develop using ``devtool```"
section for information on setting up this layer.
Once the command
@@ -1271,7 +1271,7 @@ appear in the ``.config`` file, which is in the :term:`Build Directory`.
For more information about where the ``.config`` file is located, see the
example in the
":ref:`kernel-dev/common:using \`\`menuconfig\`\``"
":ref:`kernel-dev/common:using ``menuconfig```"
section.
It is simple to create a configuration fragment. One method is to use
@@ -1367,7 +1367,7 @@ when you override a policy configuration in a hardware configuration
fragment.
In order to run this task, you must have an existing ``.config`` file.
See the ":ref:`kernel-dev/common:using \`\`menuconfig\`\``" section for
See the ":ref:`kernel-dev/common:using ``menuconfig```" section for
information on how to create a configuration file.
Here is sample output from the ``do_kernel_configcheck`` task:
@@ -1440,7 +1440,7 @@ and
tasks until they produce no warnings.
For more information on how to use the ``menuconfig`` tool, see the
:ref:`kernel-dev/common:using \`\`menuconfig\`\`` section.
:ref:`kernel-dev/common:using ``menuconfig``` section.
Fine-Tuning the Kernel Configuration File
-----------------------------------------

View File

@@ -122,7 +122,7 @@ general information and references for further information.
Using ``devtool`` and the eSDK requires that you have a clean build
of the image and that you are set up with the appropriate eSDK. For
more information, see the
":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``"
":ref:`kernel-dev/common:getting ready to develop using ``devtool```"
section.
Using traditional kernel development requires that you have the

View File

@@ -143,7 +143,7 @@ Python changes
The new Python packaging classes that should be used are
:ref:`python_flit_core <ref-classes-python_flit_core>`,
:ref:`python_setuptools_build_meta <ref-classes-python_setuptools_build_meta>`
and :ref:`python_poetry_core <ref-classes-python_poetry_core>`.
and :ref:`python_poetry_core <ref-classes-python_poetry_core>`.
- The :ref:`setuptools3 <ref-classes-setuptools3>` class ``do_install()`` task now
installs the ``wheel`` binary archive. In current versions of ``setuptools`` the

View File

@@ -32,3 +32,7 @@ Release 4.0 (kirkstone)
release-notes-4.0.23
release-notes-4.0.24
release-notes-4.0.25
release-notes-4.0.26
release-notes-4.0.27
release-notes-4.0.28
release-notes-4.0.29

View File

@@ -0,0 +1,263 @@
Release notes for Yocto-4.0.26 (Kirkstone)
------------------------------------------
Security Fixes in Yocto-4.0.26
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- bind: Fix :cve_nist:`2024-11187` and :cve_nist:`2024-12705`
- binutils: Fix :cve_nist:`2025-0840`
- elfutils: Fix :cve_nist:`2025-1352` and :cve_nist:`2025-1372`
- ffmpeg: Fix CVE-2024-28661, :cve_nist:`2024-35369`, :cve_nist:`2024-36613`, :cve_nist:`2024-36616`,
:cve_nist:`2024-36617`, :cve_nist:`2024-36618`, :cve_nist:`2025-0518` and :cve_nist:`2025-25473`
- ffmpeg: Ignore :cve_nist:`2023-46407`, :cve_nist:`2023-47470`, :cve_nist:`2024-7272`,
:cve_nist:`2024-22860`, :cve_nist:`2024-22861` and :cve_nist:`2024-22862`
- freetype: Fix :cve_nist:`2025-27363`
- gnutls: Fix :cve_nist:`2024-12243`
- grub: Fix :cve_nist:`2024-45774`, :cve_nist:`2024-45775`, :cve_nist:`2024-45776`,
:cve_nist:`2024-45777`, :cve_nist:`2024-45778`, :cve_nist:`2024-45779`, :cve_nist:`2024-45780`,
:cve_nist:`2024-45781`, :cve_nist:`2024-45782`, :cve_nist:`2024-45783`, :cve_nist:`2024-56737`,
:cve_nist:`2025-0622`, :cve_nist:`2025-0624`, :cve_nist:`2025-0677`, :cve_nist:`2025-0684`,
:cve_nist:`2025-0685`, :cve_nist:`2025-0686`, :cve_nist:`2025-0689`, :cve_nist:`2025-0678`,
:cve_nist:`2025-0690`, :cve_nist:`2025-1118` and :cve_nist:`2025-1125`
- gstreamer1.0-rtsp-server: fix :cve_nist:`2024-44331`
- libarchive: Fix :cve_nist:`2025-25724`
- libarchive: Ignore :cve_nist:`2025-1632`
- libcap: Fix :cve_nist:`2025-1390`
- linux-yocto/5.10: Fix :cve_nist:`2024-36476`, :cve_nist:`2024-43098`, :cve_nist:`2024-47143`,
:cve_nist:`2024-48881`, :cve_nist:`2024-50051`, :cve_nist:`2024-50074`, :cve_nist:`2024-50082`,
:cve_nist:`2024-50083`, :cve_nist:`2024-50099`, :cve_nist:`2024-50115`, :cve_nist:`2024-50116`,
:cve_nist:`2024-50117`, :cve_nist:`2024-50142`, :cve_nist:`2024-50148`, :cve_nist:`2024-50150`,
:cve_nist:`2024-50151`, :cve_nist:`2024-50167`, :cve_nist:`2024-50168`, :cve_nist:`2024-50171`,
:cve_nist:`2024-50185`, :cve_nist:`2024-50192`, :cve_nist:`2024-50193`, :cve_nist:`2024-50194`,
:cve_nist:`2024-50195`, :cve_nist:`2024-50198`, :cve_nist:`2024-50201`, :cve_nist:`2024-50202`,
:cve_nist:`2024-50205`, :cve_nist:`2024-50208`, :cve_nist:`2024-50209`, :cve_nist:`2024-50229`,
:cve_nist:`2024-50230`, :cve_nist:`2024-50233`, :cve_nist:`2024-50234`, :cve_nist:`2024-50236`,
:cve_nist:`2024-50237`, :cve_nist:`2024-50251`, :cve_nist:`2024-50262`, :cve_nist:`2024-50264`,
:cve_nist:`2024-50265`, :cve_nist:`2024-50267`, :cve_nist:`2024-50268`, :cve_nist:`2024-50269`,
:cve_nist:`2024-50273`, :cve_nist:`2024-50278`, :cve_nist:`2024-50279`, :cve_nist:`2024-50282`,
:cve_nist:`2024-50287`, :cve_nist:`2024-50292`, :cve_nist:`2024-50296`, :cve_nist:`2024-50299`,
:cve_nist:`2024-50301`, :cve_nist:`2024-50302`, :cve_nist:`2024-53042`, :cve_nist:`2024-53052`,
:cve_nist:`2024-53057`, :cve_nist:`2024-53059`, :cve_nist:`2024-53060`, :cve_nist:`2024-53061`,
:cve_nist:`2024-53063`, :cve_nist:`2024-53066`, :cve_nist:`2024-53096`, :cve_nist:`2024-53097`,
:cve_nist:`2024-53101`, :cve_nist:`2024-53103`, :cve_nist:`2024-53104`, :cve_nist:`2024-53145`,
:cve_nist:`2024-53146`, :cve_nist:`2024-53150`, :cve_nist:`2024-53155`, :cve_nist:`2024-53156`,
:cve_nist:`2024-53157`, :cve_nist:`2024-53161`, :cve_nist:`2024-53165`, :cve_nist:`2024-53171`,
:cve_nist:`2024-53173`, :cve_nist:`2024-53174`, :cve_nist:`2024-53194`, :cve_nist:`2024-53197`,
:cve_nist:`2024-53217`, :cve_nist:`2024-53226`, :cve_nist:`2024-53227`, :cve_nist:`2024-53237`,
:cve_nist:`2024-53239`, :cve_nist:`2024-55916`, :cve_nist:`2024-56548`, :cve_nist:`2024-56558`,
:cve_nist:`2024-56567`, :cve_nist:`2024-56568`, :cve_nist:`2024-56569`, :cve_nist:`2024-56572`,
:cve_nist:`2024-56574`, :cve_nist:`2024-56581`, :cve_nist:`2024-56587`, :cve_nist:`2024-56593`,
:cve_nist:`2024-56595`, :cve_nist:`2024-56596`, :cve_nist:`2024-56598`, :cve_nist:`2024-56600`,
:cve_nist:`2024-56601`, :cve_nist:`2024-56602`, :cve_nist:`2024-56603`, :cve_nist:`2024-56605`,
:cve_nist:`2024-56606`, :cve_nist:`2024-56615`, :cve_nist:`2024-56619`, :cve_nist:`2024-56623`,
:cve_nist:`2024-56629`, :cve_nist:`2024-56634`, :cve_nist:`2024-56642`, :cve_nist:`2024-56643`,
:cve_nist:`2024-56648`, :cve_nist:`2024-56650`, :cve_nist:`2024-56659`, :cve_nist:`2024-56662`,
:cve_nist:`2024-56670`, :cve_nist:`2024-56688`, :cve_nist:`2024-56698`, :cve_nist:`2024-56704`,
:cve_nist:`2024-56716`, :cve_nist:`2024-56720`, :cve_nist:`2024-56723`, :cve_nist:`2024-56724`,
:cve_nist:`2024-56728`, :cve_nist:`2024-56739`, :cve_nist:`2024-56746`, :cve_nist:`2024-56747`,
:cve_nist:`2024-56748`, :cve_nist:`2024-56754`, :cve_nist:`2024-56756`, :cve_nist:`2024-56770`,
:cve_nist:`2024-56779`, :cve_nist:`2024-56780`, :cve_nist:`2024-56781`, :cve_nist:`2024-56785`,
:cve_nist:`2024-57802`, :cve_nist:`2024-57807`, :cve_nist:`2024-57850`, :cve_nist:`2024-57874`,
:cve_nist:`2024-57890`, :cve_nist:`2024-57896`, :cve_nist:`2024-57900`, :cve_nist:`2024-57901`,
:cve_nist:`2024-57902`, :cve_nist:`2024-57910`, :cve_nist:`2024-57911`, :cve_nist:`2024-57913`,
:cve_nist:`2024-57922`, :cve_nist:`2024-57938`, :cve_nist:`2024-57939`, :cve_nist:`2024-57946`,
:cve_nist:`2024-57951`, :cve_nist:`2025-21638`, :cve_nist:`2025-21687`, :cve_nist:`2025-21689`,
:cve_nist:`2025-21692`, :cve_nist:`2025-21694`, :cve_nist:`2025-21697` and :cve_nist:`2025-21699`
- linux-yocto/5.15: Fix :cve_nist:`2024-57979`, :cve_nist:`2024-58034`, :cve_nist:`2024-58052`,
:cve_nist:`2024-58055`, :cve_nist:`2024-58058`, :cve_nist:`2024-58063`, :cve_nist:`2024-58069`,
:cve_nist:`2024-58071`, :cve_nist:`2024-58076`, :cve_nist:`2024-58083`, :cve_nist:`2025-21700`,
:cve_nist:`2025-21703`, :cve_nist:`2025-21715`, :cve_nist:`2025-21722`, :cve_nist:`2025-21727`,
:cve_nist:`2025-21731`, :cve_nist:`2025-21753`, :cve_nist:`2025-21756`, :cve_nist:`2025-21760`,
:cve_nist:`2025-21761`, :cve_nist:`2025-21762`, :cve_nist:`2025-21763`, :cve_nist:`2025-21764`,
:cve_nist:`2025-21796`, :cve_nist:`2025-21811`, :cve_nist:`2025-21887`, :cve_nist:`2025-21898`,
:cve_nist:`2025-21904`, :cve_nist:`2025-21905`, :cve_nist:`2025-21912`, :cve_nist:`2025-21917`,
:cve_nist:`2025-21919`, :cve_nist:`2025-21920`, :cve_nist:`2025-21922`, :cve_nist:`2025-21934`,
:cve_nist:`2025-21943`, :cve_nist:`2025-21948` and :cve_nist:`2025-21951`
- libpcre2: Ignore :cve_nist:`2022-1586`
- libtasn1: Fix :cve_nist:`2024-12133`
- libxml2: Fix :cve_nist:`2022-49043`, :cve_nist:`2024-56171`, :cve_nist:`2025-24928` and
:cve_nist:`2025-27113`
- libxslt: Fix :cve_nist:`2024-55549` and :cve_nist:`2025-24855`
- llvm: Fix :cve_nist:`2024-0151`
- mpg123: Fix :cve_nist:`2024-10573`
- openssh: Fix :cve_nist:`2025-26465`
- ovmf: Revert Fix for CVE-2023-45236 :cve_nist:`2023-45237`
- perl: Ignore :cve_nist:`2023-47038`
- puzzles: Ignore :cve_nist:`2024-13769`, :cve_nist:`2024-13770` and :cve_nist:`2025-0837`
- python3: Fix :cve_nist:`2025-0938`
- ruby: Fix :cve_nist:`2024-41946`, :cve_nist:`2025-27219` and :cve_nist:`2025-27220`
- subversion: Ignore :cve_nist:`2024-45720`
- systemd: Fix :cve_nist:`2022-3821`, :cve_nist:`2022-4415`, :cve_nist:`2022-45873` and
:cve_nist:`2023-7008`
- tiff: mark :cve_nist:`2023-30774` as patched with existing patch
- u-boot: Fix :cve_nist:`2022-2347`, :cve_nist:`2022-30767`, :cve_nist:`2022-30790`,
:cve_nist:`2024-57254`, :cve_nist:`2024-57255`, :cve_nist:`2024-57256`, :cve_nist:`2024-57257`,
:cve_nist:`2024-57258` and :cve_nist:`2024-57259`
- vim: Fix :cve_nist:`2025-1215`, :cve_nist:`2025-22134`, :cve_nist:`2025-24014`,
:cve_nist:`2025-26603`, :cve_nist:`2025-27423` and :cve_nist:`2025-29768`
- xserver-xorg: Fix :cve_nist:`2022-49737`, :cve_nist:`2025-26594`, :cve_nist:`2025-26595`,
:cve_nist:`2025-26596`, :cve_nist:`2025-26597`, :cve_nist:`2025-26598`, :cve_nist:`2025-26599`,
:cve_nist:`2025-26600` and :cve_nist:`2025-26601`
- xwayland: Fix :cve_nist:`2022-49737`, :cve_nist:`2024-9632`, :cve_nist:`2024-21885`,
:cve_nist:`2024-21886`, :cve_nist:`2024-31080`, :cve_nist:`2024-31081`, :cve_nist:`2024-31083`,
:cve_nist:`2025-26594`, :cve_nist:`2025-26595`, :cve_nist:`2025-26596`, :cve_nist:`2025-26597`,
:cve_nist:`2025-26598`, :cve_nist:`2025-26599`, :cve_nist:`2025-26600` and :cve_nist:`2025-26601`
- zlib: Fix :cve_nist:`2014-9485`
Fixes in Yocto-4.0.26
~~~~~~~~~~~~~~~~~~~~~
- bind: Upgrade to 9.18.33
- bitbake: cache: bump cache version
- bitbake: siggen.py: Improve taskhash reproducibility
- boost: fix do_fetch error
- build-appliance-image: Update to kirkstone head revision
- contributor-guide/submit-changes: add policy on AI generated code
- cve-update-nvd2-native: handle missing vulnStatus
- docs: Add favicon for the documentation html
- docs: Remove all mention of core-image-lsb
- libtasn1: upgrade to 4.20.0
- libxcrypt-compat: Remove libcrypt.so to fix conflict with libcrypt
- libxml2: fix compilation of explicit child axis in pattern
- linux-yocto/5.10: update to v5.10.234
- linux-yocto/5.15: update to v5.15.179
- mesa: Fix missing GLES3 headers in SDK sysroot
- mesa: Update :term:`SRC_URI`
- meta: Enable '-o pipefail' for the SDK installer
- migration-guides: add release notes for 4.0.25
- poky.conf: add ubuntu2404 to :term:`SANITY_TESTED_DISTROS`
- poky.conf: bump version for 4.0.26
- procps: replaced one use of fputs(3) with a write(2) call
- ref-manual: don't refer to poky-lsb
- scripts/install-buildtools: Update to 4.0.24
- scritps/runqemu: Ensure we only have two serial ports
- systemd: upgrade to 250.14
- tzcode-native: Fix compiler setting from 2023d version
- tzcode: Update :term:`SRC_URI`
- tzdata/tzcode-native: upgrade 2025a
- vim: Upgrade to 9.1.1198
- virglrenderer: fix do_fetch error
- vulnerabilities/classes: remove references to cve-check text format
- xz: Update :term:`SRC_URI`
- yocto-uninative: Update to 4.7 for glibc 2.41
Known Issues in Yocto-4.0.26
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- N/A
Contributors to Yocto-4.0.26
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Thanks to the following people who contributed to this release:
- Aleksandar Nikolic
- Alessio Cascone
- Antonin Godard
- Archana Polampalli
- Ashish Sharma
- Bruce Ashfield
- Carlos Dominguez
- Deepesh Varatharajan
- Divya Chellam
- Guocai He
- Hitendra Prajapati
- Hongxu Jia
- Jiaying Song
- Johannes Kauffmann
- Kai Kang
- Lee Chee Yang
- Libo Chen
- Marta Rybczynska
- Michael Halstead
- Mingli Yu
- Moritz Haase
- Narpat Mali
- Paulo Neves
- Peter Marko
- Priyal Doshi
- Richard Purdie
- Robert Yang
- Ross Burton
- Sakib Sajal
- Steve Sakoman
- Vijay Anusuri
- Yogita Urade
- Zhang Peng
Repositories / Downloads for Yocto-4.0.26
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poky
- Repository Location: :yocto_git:`/poky`
- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.26 </poky/log/?h=yocto-4.0.26>`
- Git Revision: :yocto_git:`d70d287a77d5026b698ac237ab865b2dafd36bb8 </poky/commit/?id=d70d287a77d5026b698ac237ab865b2dafd36bb8>`
- Release Artefact: poky-d70d287a77d5026b698ac237ab865b2dafd36bb8
- sha: 3ebfadb8bff4c1ca12b3cf3e4ef6e3ac2ce52b73570266daa98436c9959249f2
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.26/poky-d70d287a77d5026b698ac237ab865b2dafd36bb8.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.26/poky-d70d287a77d5026b698ac237ab865b2dafd36bb8.tar.bz2
openembedded-core
- Repository Location: :oe_git:`/openembedded-core`
- Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
- Tag: :oe_git:`yocto-4.0.26 </openembedded-core/log/?h=yocto-4.0.26>`
- Git Revision: :oe_git:`1efbe1004bc82e7c14c1e8bd4ce644f5015c3346 </openembedded-core/commit/?id=1efbe1004bc82e7c14c1e8bd4ce644f5015c3346>`
- Release Artefact: oecore-1efbe1004bc82e7c14c1e8bd4ce644f5015c3346
- sha: d3805e034dabd0865dbf55488b2c16d4ea0351d37aa826f0054a6bfdde5a8be9
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.26/oecore-1efbe1004bc82e7c14c1e8bd4ce644f5015c3346.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.26/oecore-1efbe1004bc82e7c14c1e8bd4ce644f5015c3346.tar.bz2
meta-mingw
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.26 </meta-mingw/log/?h=yocto-4.0.26>`
- Git Revision: :yocto_git:`87c22abb1f11be430caf4372e6b833dc7d77564e </meta-mingw/commit/?id=87c22abb1f11be430caf4372e6b833dc7d77564e>`
- Release Artefact: meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e
- sha: f0bc4873e2e0319fb9d6d6ab9b98eb3f89664d4339a167d2db6a787dd12bc1a8
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.26/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.26/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
meta-gplv2
- Repository Location: :yocto_git:`/meta-gplv2`
- Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.26 </meta-gplv2/log/?h=yocto-4.0.26>`
- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.26/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.26/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
bitbake
- Repository Location: :oe_git:`/bitbake`
- Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
- Tag: :oe_git:`yocto-4.0.26 </bitbake/log/?h=yocto-4.0.26>`
- Git Revision: :oe_git:`046871d9fd76efdca7b72718b328d8f545523f7e </bitbake/commit/?id=046871d9fd76efdca7b72718b328d8f545523f7e>`
- Release Artefact: bitbake-046871d9fd76efdca7b72718b328d8f545523f7e
- sha: e9df0a9f5921b583b539188d66b23f120e1751000e7822e76c3391d5c76ee21a
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.26/bitbake-046871d9fd76efdca7b72718b328d8f545523f7e.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.26/bitbake-046871d9fd76efdca7b72718b328d8f545523f7e.tar.bz2
yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.26 </yocto-docs/log/?h=yocto-4.0.26>`
- Git Revision: :yocto_git:`9b4c36f7b02dd4bedfec90206744a1e90e37733c </yocto-docs/commit/?id=9b4c36f7b02dd4bedfec90206744a1e90e37733c>`

View File

@@ -0,0 +1,153 @@
Release notes for Yocto-4.0.27 (Kirkstone)
------------------------------------------
Security Fixes in Yocto-4.0.27
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- binutils: Fix :cve_nist:`2025-1178`
- busybox: fix :cve_nist:`2023-39810`
- connman :fix :cve_nist:`2025-32743`
- curl: Ignore :cve_nist:`2025-0725`
- ghostscript: Fix :cve_nist:`2025-27830`, :cve_nist:`2025-27831`, :cve_nist:`2025-27832`,
:cve_nist:`2025-27834`, :cve_nist:`2025-27835` and :cve_nist:`2025-27836`
- ghostscript: Ignore :cve_nist:`2024-29507`, :cve_nist:`2025-27833` and :cve_nist:`2025-27837`
- glib-2.0: Fix :cve_nist:`2025-3360`
- go: Fix :cve_nist:`2025-22871`
- libarchive: Ignore :cve_nist:`2024-48615`
- libpam: Fix :cve_nist:`2024-10041`
- libsoup-2.4: Fix :cve_nist:`2024-52532`, :cve_nist:`2025-32906` and :cve_nist:`2025-32909`
- libsoup: Fix :cve_nist:`2024-52532`, :cve_nist:`2025-32906`, :cve_nist:`2025-32909`,
:cve_nist:`2025-32910`, :cve_nist:`2025-32911`, :cve_nist:`2025-32912`, :cve_nist:`2025-32913`
and :cve_nist:`2025-32914`
- libxml2: Fix :cve_nist:`2025-32414` and :cve_nist:`2025-32415`
- ofono: Fix :cve_nist:`2024-7537`
- perl: Fix :cve_nist:`2024-56406`
- ppp: Fix :cve_nist:`2024-58250`
- python3-setuptools: Fix :cve_nist:`2024-6345`
- qemu: Ignore :cve_nist:`2023-1386`
- ruby: Fix :cve_nist:`2024-43398`
- sqlite3: Fix :cve_nist:`2025-29088`
- systemd: Ignore :cve_nist:`2022-3821`, :cve_nist:`2022-4415` and :cve_nist:`2022-45873`
Fixes in Yocto-4.0.27
~~~~~~~~~~~~~~~~~~~~~
- Revert "cve-update-nvd2-native: Tweak to work better with NFS DL_DIR"
- build-appliance-image: Update to kirkstone head revision
- cve-update-nvd2-native: add workaround for json5 style list
- docs: Fix dead links that use the :term:`DISTRO` macro
- docs: manuals: remove repeated word
- docs: poky.yaml: introduce DISTRO_LATEST_TAG
- glibc: Add single-threaded fast path to rand()
- glibc: stable 2.35 branch updates
- module.bbclass: add KBUILD_EXTRA_SYMBOLS to install
- perl: enable _GNU_SOURCE define via d_gnulibc
- poky.conf: bump version for 4.0.27
- ref-manual/variables.rst: document autotools class related variables
- scripts/install-buildtools: Update to 4.0.26
- systemd: backport patch to fix journal issue
- systemd: systemd-journald fails to setup LogNamespace
- tzdata/tzcode-native: upgrade to 2025b
Known Issues in Yocto-4.0.27
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- N/A
Contributors to Yocto-4.0.27
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Aleksandar Nikolic
- Alexander Kanavin
- Alon Bar-Lev
- Andrew Kreimer
- Antonin Godard
- Chen Qi
- Deepesh Varatharajan
- Divya Chellam
- Haitao Liu
- Haixiao Yan
- Hitendra Prajapati
- Peter Marko
- Praveen Kumar
- Priyal Doshi
- Shubham Kulkarni
- Soumya Sambu
- Steve Sakoman
- Vijay Anusuri
- Yogita Urade
Repositories / Downloads for Yocto-4.0.27
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poky
- Repository Location: :yocto_git:`/poky`
- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.27 </poky/log/?h=yocto-4.0.27>`
- Git Revision: :yocto_git:`ab9a994a8cd8e06b519a693db444030999d273b7 </poky/commit/?id=ab9a994a8cd8e06b519a693db444030999d273b7>`
- Release Artefact: poky-ab9a994a8cd8e06b519a693db444030999d273b7
- sha: 77a366c17cf29eef15c6ff3f44e73f81c07288c723fd4a6dbd8c7ee9b79933f3
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.27/poky-ab9a994a8cd8e06b519a693db444030999d273b7.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.27/poky-ab9a994a8cd8e06b519a693db444030999d273b7.tar.bz2
openembedded-core
- Repository Location: :oe_git:`/openembedded-core`
- Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
- Tag: :oe_git:`yocto-4.0.27 </openembedded-core/log/?h=yocto-4.0.27>`
- Git Revision: :oe_git:`e8be08a624b2d024715a5c8b0c37f2345a02336b </openembedded-core/commit/?id=e8be08a624b2d024715a5c8b0c37f2345a02336b>`
- Release Artefact: oecore-e8be08a624b2d024715a5c8b0c37f2345a02336b
- sha: cc5b0fadab021c6dc61f37fc4ff01a1cf657e7c219488ce264bede42f7f6212f
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.27/oecore-e8be08a624b2d024715a5c8b0c37f2345a02336b.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.27/oecore-e8be08a624b2d024715a5c8b0c37f2345a02336b.tar.bz2
meta-mingw
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.27 </meta-mingw/log/?h=yocto-4.0.27>`
- Git Revision: :yocto_git:`87c22abb1f11be430caf4372e6b833dc7d77564e </meta-mingw/commit/?id=87c22abb1f11be430caf4372e6b833dc7d77564e>`
- Release Artefact: meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e
- sha: f0bc4873e2e0319fb9d6d6ab9b98eb3f89664d4339a167d2db6a787dd12bc1a8
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.27/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.27/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
meta-gplv2
- Repository Location: :yocto_git:`/meta-gplv2`
- Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.27 </meta-gplv2/log/?h=yocto-4.0.27>`
- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.27/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.27/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
bitbake
- Repository Location: :oe_git:`/bitbake`
- Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
- Tag: :oe_git:`yocto-4.0.27 </bitbake/log/?h=yocto-4.0.27>`
- Git Revision: :oe_git:`046871d9fd76efdca7b72718b328d8f545523f7e </bitbake/commit/?id=046871d9fd76efdca7b72718b328d8f545523f7e>`
- Release Artefact: bitbake-046871d9fd76efdca7b72718b328d8f545523f7e
- sha: e9df0a9f5921b583b539188d66b23f120e1751000e7822e76c3391d5c76ee21a
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.27/bitbake-046871d9fd76efdca7b72718b328d8f545523f7e.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.27/bitbake-046871d9fd76efdca7b72718b328d8f545523f7e.tar.bz2
yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.27 </yocto-docs/log/?h=yocto-4.0.27>`
- Git Revision: :yocto_git:`0d51e553d5f83eea6634e03ddc9c7740bf72fcea </yocto-docs/commit/?id=0d51e553d5f83eea6634e03ddc9c7740bf72fcea>`

View File

@@ -0,0 +1,224 @@
Release notes for Yocto-4.0.28 (Kirkstone)
------------------------------------------
Security Fixes in Yocto-4.0.28
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- binutils: Fix :cve_nist:`2025-1180`, :cve_nist:`2025-1182`, :cve_nist:`2025-5244` and
:cve_nist:`2025-5245`
- connman: Fix :cve_nist:`2025-32366`
- ffmpeg: Fix :cve_nist:`2025-1373`, :cve_nist:`2025-22919` and :cve_nist:`2025-22921`
- ffmpeg: Ignore :cve_nist:`2022-48434`
- ghostscript: Fix :cve_nist:`2025-48708`
- git: Fix :cve_nist:`2024-50349` and :cve_nist:`2024-52006`
- glib-2.0: Fix :cve_nist:`2025-4373`
- glibc: Fix for :cve_nist:`2025-4802`
- go: Fix :cve_nist:`2025-4673`
- go: ignore :cve_nist:`2024-3566`
- icu: Fix :cve_nist:`2025-5222`
- iputils: Fix :cve_nist:`2025-47268`
- libsoup-2.4: Fix :cve_nist:`2025-2784`, :cve_nist:`2025-4476`, :cve_nist:`2025-4948`,
:cve_nist:`2025-4969`, :cve_nist:`2025-32050`, :cve_nist:`2025-32052`, :cve_nist:`2025-32053`,
:cve_nist:`2025-32907`, :cve_nist:`2025-32910`, :cve_nist:`2025-32911`, :cve_nist:`2025-32912`,
:cve_nist:`2025-32913`, :cve_nist:`2025-32914`, :cve_nist:`2025-46420` and :cve_nist:`2025-46421`
- libsoup: Fix :cve_nist:`2025-2784`, :cve_nist:`2025-4476`, :cve_nist:`2025-4948`,
:cve_nist:`2025-4969`, :cve_nist:`2025-32050`, :cve_nist:`2025-32051`, :cve_nist:`2025-32052`,
:cve_nist:`2025-32053`, :cve_nist:`2025-32907`, :cve_nist:`2025-46420` and :cve_nist:`2025-46421`
- linux-yocto/5.15: Fix :cve_nist:`2024-26952`, :cve_nist:`2025-21941`, :cve_nist:`2025-21957`,
:cve_nist:`2025-21959`, :cve_nist:`2025-21962`, :cve_nist:`2025-21963`, :cve_nist:`2025-21964`,
:cve_nist:`2025-21968`, :cve_nist:`2025-21996`, :cve_nist:`2025-22018`, :cve_nist:`2025-22020`,
:cve_nist:`2025-22035`, :cve_nist:`2025-22054`, :cve_nist:`2025-22056`, :cve_nist:`2025-22063`,
:cve_nist:`2025-22066`, :cve_nist:`2025-22081`, :cve_nist:`2025-22097`, :cve_nist:`2025-23136`,
:cve_nist:`2025-37785`, :cve_nist:`2025-37803`, :cve_nist:`2025-37805`, :cve_nist:`2025-38152`,
:cve_nist:`2025-39728` and :cve_nist:`2025-39735`
- net-tools: Fix :cve_nist:`2025-46836`
- openssh: Fix :cve_nist:`2025-32728`
- python3: Fix :cve_nist:`2024-12718`, :cve_nist:`2025-0938`, :cve_nist:`2025-4138`,
:cve_nist:`2025-4330`, :cve_nist:`2025-4435`, :cve_nist:`2025-4516` and :cve_nist:`2025-4517`
- python3-requests: Fix :cve_nist:`2024-47081`
- python3-setuptools: Fix :cve_nist:`2025-47273`
- ruby: Fix :cve_nist:`2025-27221`
- screen: Fix :cve_nist:`2025-46802`, :cve_nist:`2025-46804` and :cve_nist:`2025-46805`
- taglib: Fix :cve_nist:`2023-47466`
Fixes in Yocto-4.0.28
~~~~~~~~~~~~~~~~~~~~~
- babeltrace/libatomic-ops: correct the :term:`SRC_URI`
- brief-yoctoprojectqs/ref-manual: Switch to new CDN
- bsp guide: update kernel version example to 6.12
- bsp-guide: update lonely "4.12" kernel reference to "6.12"
- build-appliance-image: Update to kirkstone head revision
- cmake: Correctly handle cost data of tests with arbitrary chars in name
- conf.py: tweak SearchEnglish to be hyphen-friendly
- contributor-guide/submit-changes: encourage patch version changelogs
- dev-manual/sbom.rst: fix wrong build outputs
- docs: Clean up explanation of minimum required version numbers
- docs: README: specify how to contribute instead of pointing at another file
- docs: conf.py: silence SyntaxWarning on js_splitter_code
- e2fsprogs: removed 'sed -u' option
- ffmpeg: Add "libswresample libavcodec" to :term:`CVE_PRODUCT`
- ffmpeg: upgrade to 5.0.3
- gcc: AArch64 - Fix strict-align cpymem/setmem
- glibc: nptl Fix indentation
- glibc: nptl Remove unnecessary catch-all-wake in condvar group switch
- glibc: nptl Remove unnecessary quadruple check in pthread_cond_wait
- glibc: nptl Update comments and indentation for new condvar implementation
- glibc: nptl Use a single loop in pthread_cond_wait instaed of a nested loop
- glibc: nptl Use all of g1_start and g_signals
- glibc: nptl rename __condvar_quiesce_and_switch_g1
- glibc: pthreads NPTL lost wakeup fix 2
- kernel.bbclass: add original package name to :term:`RPROVIDES` for -image and -base
- libpng: Improve ptest
- linux-yocto/5.15: update to v5.15.184
- migration-guides: add release notes for 4.0.26 and 4.0.27
- nfs-utils: don't use signals to shut down nfs server.
- poky.conf: bump version for 4.0.28
- python3: upgrade to 3.10.18
- ref-manual/release-process: update releases.svg
- ref-manual/variables.rst: document :term:`INHIBIT_DEFAULT_RUST_DEPS`
:term:`INHIBIT_UPDATERCD_BBCLASS` :term:`SSTATE_SKIP_CREATION` :term:`WIC_CREATE_EXTRA_ARGS`
:term:`IMAGE_ROOTFS_MAXSIZE` :term:`INITRAMFS_MAXSIZE`
- ref-manual: clarify :term:`KCONFIG_MODE` default behaviour
- ref-manual: classes: nativesdk: move note to appropriate section
- ref-manual: classes: reword to clarify that native/nativesdk options are exclusive
- ref-manual: kernel-fitimage.bbclass does not use :term:`SPL_SIGN_KEYNAME`
- scripts/install-buildtools: Update to 4.0.27
- sphinx-lint: role missing opening tag colon
- sphinx-lint: trailing whitespace
- sphinx-lint: unbalanced inline literal markup
- sysstat: correct the :term:`SRC_URI`
- systemtap: add sysroot Python paths to configure flags
- test-manual/intro: remove Buildbot version used
- util-linux: Add fix to isolate test fstab entries using CUSTOM_FSTAB
- xz: Update :term:`LICENSE` variable for xz packages
Known Issues in Yocto-4.0.28
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- N/A
Contributors to Yocto-4.0.28
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Aditya Tayade
- Adrian Freihofer
- Aleksandar Nikolic
- Alper Ak
- Antonin Godard
- Archana Polampalli
- Ashish Sharma
- Bruce Ashfield
- Carlos Sánchez de La Lama
- Changqing Li
- Christos Gavros
- Colin Pinnell McAllister
- Deepesh Varatharajan
- Divya Chellam
- Enrico Jörns
- Etienne Cordonnier
- Guocai He
- Harish Sadineni
- Hitendra Prajapati
- Jiaying Song
- Lee Chee Yang
- Martin Jansa
- Moritz Haase
- NeilBrown
- Peter Marko
- Poonam Jadhav
- Praveen Kumar
- Quentin Schulz
- Richard Purdie
- Robert P. J. Day
- Soumya Sambu
- Steve Sakoman
- Sundeep KOKKONDA
- Sunil Dora
- Trevor Woerner
- Vijay Anusuri
- Virendra Thakur
- Yi Zhao
- aszh07
Repositories / Downloads for Yocto-4.0.28
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poky
- Repository Location: :yocto_git:`/poky`
- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.28 </poky/log/?h=yocto-4.0.28>`
- Git Revision: :yocto_git:`78c9cb3eaf071932567835742608404d5ce23cc4 </poky/commit/?id=78c9cb3eaf071932567835742608404d5ce23cc4>`
- Release Artefact: poky-78c9cb3eaf071932567835742608404d5ce23cc4
- sha: 9c73c6f89e70c2041a52851e5cc582e5a2f05ad2fdc110d2c518f2c4994e8de3
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.28/poky-78c9cb3eaf071932567835742608404d5ce23cc4.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.28/poky-78c9cb3eaf071932567835742608404d5ce23cc4.tar.bz2
openembedded-core
- Repository Location: :oe_git:`/openembedded-core`
- Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
- Tag: :oe_git:`yocto-4.0.28 </openembedded-core/log/?h=yocto-4.0.28>`
- Git Revision: :oe_git:`75e54301c5076eb0454aee33c870adf078f563fd </openembedded-core/commit/?id=75e54301c5076eb0454aee33c870adf078f563fd>`
- Release Artefact: oecore-75e54301c5076eb0454aee33c870adf078f563fd
- sha: c5ffceab90881c4041ec4304da8b7b32d9c1f89a4c63ee7b8cbd53c796b0187b
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.28/oecore-75e54301c5076eb0454aee33c870adf078f563fd.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.28/oecore-75e54301c5076eb0454aee33c870adf078f563fd.tar.bz2
meta-mingw
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.28 </meta-mingw/log/?h=yocto-4.0.28>`
- Git Revision: :yocto_git:`87c22abb1f11be430caf4372e6b833dc7d77564e </meta-mingw/commit/?id=87c22abb1f11be430caf4372e6b833dc7d77564e>`
- Release Artefact: meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e
- sha: f0bc4873e2e0319fb9d6d6ab9b98eb3f89664d4339a167d2db6a787dd12bc1a8
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.28/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.28/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
meta-gplv2
- Repository Location: :yocto_git:`/meta-gplv2`
- Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.28 </meta-gplv2/log/?h=yocto-4.0.28>`
- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.28/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.28/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
bitbake
- Repository Location: :oe_git:`/bitbake`
- Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
- Tag: :oe_git:`yocto-4.0.28 </bitbake/log/?h=yocto-4.0.28>`
- Git Revision: :oe_git:`046871d9fd76efdca7b72718b328d8f545523f7e </bitbake/commit/?id=046871d9fd76efdca7b72718b328d8f545523f7e>`
- Release Artefact: bitbake-046871d9fd76efdca7b72718b328d8f545523f7e
- sha: e9df0a9f5921b583b539188d66b23f120e1751000e7822e76c3391d5c76ee21a
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.28/bitbake-046871d9fd76efdca7b72718b328d8f545523f7e.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.28/bitbake-046871d9fd76efdca7b72718b328d8f545523f7e.tar.bz2
meta-yocto
- Repository Location: :yocto_git:`/meta-yocto`
- Branch: :yocto_git:`kirkstone </meta-yocto/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.28 </meta-yocto/log/?h=yocto-4.0.28>`
- Git Revision: :yocto_git:`0bf3dcef1caa80fb047bf9c3514314ab658e30ea </meta-yocto/commit/?id=0bf3dcef1caa80fb047bf9c3514314ab658e30ea>`
yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.28 </yocto-docs/log/?h=yocto-4.0.28>`
- Git Revision: :yocto_git:`97cd3ee7f3bf1de8454708d1852ea9cdbd45c39b </yocto-docs/commit/?id=97cd3ee7f3bf1de8454708d1852ea9cdbd45c39b>`

View File

@@ -0,0 +1,178 @@
Release notes for Yocto-4.0.29 (Kirkstone)
------------------------------------------
Security Fixes in Yocto-4.0.29
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- avahi: Fix :cve_nist:`2024-52615`
- binutils: Fix :cve_nist:`2025-7545` and :cve_nist:`2025-7546`
- coreutils: Fix :cve_nist:`2025-5278`
- curl: Fix :cve_nist:`2024-11053` and :cve_nist:`2025-0167`
- dropbear: Fix :cve_nist:`2025-47203`
- ffmpeg: Ignore :cve_nist:`2022-3109` and :cve_nist:`2022-3341`
- gdk-pixbuf: Fix :cve_nist:`2025-7345`
- ghostscript: Ignore :cve_nist:`2025-46646`
- gnupg: Fix :cve_nist:`2025-30258`
- gnutls: Fix :cve_nist:`2025-6395`, :cve_nist:`2025-32988`, :cve_nist:`2025-32989` and
:cve_nist:`2025-32990`
- iputils: Fix :cve_nist:`2025-48964`
- libarchive: Fix :cve_nist:`2025-5914`, :cve_nist:`2025-5915`, :cve_nist:`2025-5916` and
:cve_nist:`2025-5917`
- libpam: Fix :cve_nist:`2025-6020`
- libsoup-2.4: Fix :cve_nist:`2025-4945`
- libsoup-2.4: Fix :cve_nist:`2025-4969` (update patch)
- libsoup: Fix :cve_nist:`2025-4945`, :cve_nist:`2025-6021`, :cve_nist:`2025-6170`,
:cve_nist:`2025-49794` and :cve_nist:`2025-49796`
- ncurses: Fix :cve_nist:`2025-6141`
- ofono: Fix :cve_nist:`2023-4232` and :cve_nist:`2023-4235`
- openssl: Fix :cve_nist:`2024-41996`
- python3-urllib3: Fix :cve_nist:`2025-50181`
- ruby: Fix :cve_nist:`2024-43398` (update patches)
- sqlite3: Fix :cve_nist:`2025-6965` and :cve_nist:`2025-7458`
- sqlite3: Ignore :cve_nist:`2025-3277`
- systemd: Fix :cve_nist:`2025-4598`
- xwayland: Fix :cve_nist:`2025-49175`, :cve_nist:`2025-49176`, :cve_nist:`2025-49177`,
:cve_nist:`2025-49178`, :cve_nist:`2025-49179` and :cve_nist:`2025-49180`
Fixes in Yocto-4.0.29
~~~~~~~~~~~~~~~~~~~~~
- bintuils: stable 2.38 branch update
- bitbake: test/fetch: Switch u-boot based test to use our own mirror
- build-appliance-image: Update to kirkstone head revision
- conf.py: improve SearchEnglish to handle terms with dots
- db: ignore implicit-int and implicit-function-declaration issues fatal with gcc-14
- dev-manual/start.rst: added missing command in Optimize your VHDX file using DiskPart
- glibc: stable 2.35 branch updates
- gnutls: patch read buffer overrun in the "pre_shared_key" extension
- gnutls: patch reject zero-length version in certificate request
- linux-yocto/5.15: update to v5.15.186
- migration-guides: add release notes for 4.0.28
- oeqa/core/decorator: add decorators to skip based on :term:`HOST_ARCH`
- openssl: upgrade to 3.0.17
- orc: set :term:`CVE_PRODUCT`
- overview-manual/concepts.rst: fix sayhello hardcoded bindir
- poky.conf: bump version for 4.0.29
- python3: update CVE product
- ref-manual: document :term:`KERNEL_SPLIT_MODULES` variable
- scripts/install-buildtools: Update to 4.0.28
- sudo: upgrade to 1.9.17p1
- tcf-agent: correct the :term:`SRC_URI`
Known Issues in Yocto-4.0.29
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- N/A
Contributors to Yocto-4.0.29
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Aleksandar Nikolic
- Antonin Godard
- Archana Polampalli
- Bruce Ashfield
- Changqing Li
- Chen Qi
- Colin Pinnell McAllister
- Daniel Díaz
- Deepesh Varatharajan
- Divya Chellam
- Dixit Parmar
- Enrico Jörns
- Guocai He
- Hitendra Prajapati
- Lee Chee Yang
- Marco Cavallini
- Martin Jansa
- Peter Marko
- Praveen Kumar
- Richard Purdie
- Rob Woolley
- Ross Burton
- Steve Sakoman
- Vijay Anusuri
- Yash Shinde
- Yogita Urade
- Zhang Peng
Repositories / Downloads for Yocto-4.0.29
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poky
- Repository Location: :yocto_git:`/poky`
- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.29 </poky/log/?h=yocto-4.0.29>`
- Git Revision: :yocto_git:`81ab000fa437ca04f584a3327b076f7a512dc6d0 </poky/commit/?id=81ab000fa437ca04f584a3327b076f7a512dc6d0>`
- Release Artefact: poky-81ab000fa437ca04f584a3327b076f7a512dc6d0
- sha: 2fecf3cac5c2361c201b5ae826960af92289862ec9be13837a8431138e534fd2
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.29/poky-81ab000fa437ca04f584a3327b076f7a512dc6d0.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.29/poky-81ab000fa437ca04f584a3327b076f7a512dc6d0.tar.bz2
openembedded-core
- Repository Location: :oe_git:`/openembedded-core`
- Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
- Tag: :oe_git:`yocto-4.0.29 </openembedded-core/log/?h=yocto-4.0.29>`
- Git Revision: :oe_git:`bd620eb14660075fd0f7476bbbb65d5da6293874 </openembedded-core/commit/?id=bd620eb14660075fd0f7476bbbb65d5da6293874>`
- Release Artefact: oecore-bd620eb14660075fd0f7476bbbb65d5da6293874
- sha: f32ab195c7090268e6e87ccf8db2813cf705c517030654326d14b25d926de88e
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.29/oecore-bd620eb14660075fd0f7476bbbb65d5da6293874.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.29/oecore-bd620eb14660075fd0f7476bbbb65d5da6293874.tar.bz2
meta-mingw
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.29 </meta-mingw/log/?h=yocto-4.0.29>`
- Git Revision: :yocto_git:`87c22abb1f11be430caf4372e6b833dc7d77564e </meta-mingw/commit/?id=87c22abb1f11be430caf4372e6b833dc7d77564e>`
- Release Artefact: meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e
- sha: f0bc4873e2e0319fb9d6d6ab9b98eb3f89664d4339a167d2db6a787dd12bc1a8
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.29/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.29/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
meta-gplv2
- Repository Location: :yocto_git:`/meta-gplv2`
- Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.29 </meta-gplv2/log/?h=yocto-4.0.29>`
- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.29/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.29/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
bitbake
- Repository Location: :oe_git:`/bitbake`
- Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
- Tag: :oe_git:`yocto-4.0.29 </bitbake/log/?h=yocto-4.0.29>`
- Git Revision: :oe_git:`8e2d1f8de055549b2101614d85454fcd1d0f94b2 </bitbake/commit/?id=8e2d1f8de055549b2101614d85454fcd1d0f94b2>`
- Release Artefact: bitbake-8e2d1f8de055549b2101614d85454fcd1d0f94b2
- sha: fad4e7699bae62082118e89785324b031b0af0743064caee87c91ba28549afb0
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.29/bitbake-8e2d1f8de055549b2101614d85454fcd1d0f94b2.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.29/bitbake-8e2d1f8de055549b2101614d85454fcd1d0f94b2.tar.bz2
meta-yocto
- Repository Location: :yocto_git:`/meta-yocto`
- Branch: :yocto_git:`kirkstone </meta-yocto/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.29 </meta-yocto/log/?h=yocto-4.0.29>`
- Git Revision: :yocto_git:`e916d3bad58f955b73e2c67aba975e63cd191394 </meta-yocto/commit/?id=e916d3bad58f955b73e2c67aba975e63cd191394>`
yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.29 </yocto-docs/log/?h=yocto-4.0.29>`
- Git Revision: :yocto_git:`bf855ecaf4bec4cef9bbfea2e50caa65a8339828 </yocto-docs/commit/?id=bf855ecaf4bec4cef9bbfea2e50caa65a8339828>`

View File

@@ -983,7 +983,7 @@ package.
For more information on the ``oe-pkgdata-util`` utility, see the section
:ref:`dev-manual/debugging:Viewing Package Information with
\`\`oe-pkgdata-util\`\`` of the Yocto Project Development Tasks Manual.
``oe-pkgdata-util``` of the Yocto Project Development Tasks Manual.
To add a custom package variant of the ``${PN}`` recipe named
``${PN}-extra`` (name is arbitrary), one can add it to the
@@ -2438,8 +2438,8 @@ The contents of ``sayhello_0.1.bb`` are::
S = "${WORKDIR}/git"
do_install(){
install -d ${D}/usr/bin
install -m 0700 sayhello ${D}/usr/bin
install -d ${D}${bindir}
install -m 0700 sayhello ${D}${bindir}
}
After placing the recipes in a custom layer we can run ``bitbake sayhello``

View File

@@ -28,7 +28,7 @@ platforms as well as software stacks that can be maintained and scaled.
For further introductory information on the Yocto Project, you might be
interested in this
`article <https://www.embedded.com/electronics-blogs/say-what-/4458600/Why-the-Yocto-Project-for-my-IoT-Project->`__
`article <https://www.embedded.com/why-the-yocto-project-for-my-iot-project/>`__
by Drew Moseley and in this short introductory
`video <https://www.youtube.com/watch?v=utZpKM7i5Z4>`__.

View File

@@ -1855,7 +1855,8 @@ a couple different ways:
Not using this naming convention can lead to subtle problems
caused by existing code that depends on that naming convention.
- Create or modify a target recipe that contains the following::
- Or, create a :ref:`ref-classes-native` variant of any target recipe (e.g.
``myrecipe.bb``) by adding the following to the recipe::
BBCLASSEXTEND = "native"
@@ -1886,7 +1887,18 @@ couple different ways:
inherit statement in the recipe after all other inherit statements so
that the :ref:`ref-classes-nativesdk` class is inherited last.
- Create a :ref:`ref-classes-nativesdk` variant of any recipe by adding the following::
.. note::
When creating a recipe, you must follow this naming convention::
nativesdk-myrecipe.bb
Not doing so can lead to subtle problems because there is code that
depends on the naming convention.
- Or, create a :ref:`ref-classes-nativesdk` variant of any target recipe (e.g.
``myrecipe.bb``) by adding the following to the recipe::
BBCLASSEXTEND = "nativesdk"
@@ -1895,16 +1907,6 @@ couple different ways:
specify any functionality specific to the respective SDK machine or
target case.
.. note::
When creating a recipe, you must follow this naming convention::
nativesdk-myrecipe.bb
Not doing so can lead to subtle problems because there is code that
depends on the naming convention.
Although applied differently, the :ref:`ref-classes-nativesdk` class is used with both
methods. The advantage of the second method is that you do not need to
have two separate recipes (assuming you need both) for the SDK machine
@@ -3036,6 +3038,22 @@ class assuming :term:`PATCHRESOLVE` is set to "user", the
:ref:`ref-classes-cml1` class, and the :ref:`ref-classes-devshell` class all
use the :ref:`ref-classes-terminal` class.
.. _ref-classes-testexport:
``testexport``
==============
Based on the :ref:`ref-classes-testimage` class, the
:ref:`ref-classes-testexport` class can be used to export the test environment
outside of the :term:`OpenEmbedded Build System`. This will generate the
directory structure to execute the runtime tests using the
:oe_git:`runexported.py </openembedded-core/tree/meta/lib/oeqa/runexported.py>`
Python script.
For more details on how to use :ref:`ref-classes-testexport`, see
the :ref:`test-manual/runtime-testing:Exporting Tests` section in the Yocto
Project Test Environment Manual.
.. _ref-classes-testimage:
``testimage``
@@ -3161,6 +3179,9 @@ It is intended to be inherited from U-Boot recipes.
The variables used by this class are:
- :term:`SPL_DTB_BINARY`: Name of the SPL device tree binary. Can be set to an
empty string to indicate that no SPL should be created and added to the FIT
image.
- :term:`SPL_MKIMAGE_DTCOPTS`: DTC options for U-Boot ``mkimage`` when
building the FIT image.
- :term:`SPL_SIGN_ENABLE`: enable signing the FIT image.

View File

@@ -432,7 +432,7 @@ You can read more on the ``devtool upgrade`` workflow in the
":ref:`sdk-manual/extensible:use \`\`devtool upgrade\`\` to create a version of the recipe that supports a newer version of the software`"
section in the Yocto Project Application Development and the Extensible
Software Development Kit (eSDK) manual. You can also see an example of
how to use ``devtool upgrade`` in the ":ref:`dev-manual/upgrading-recipes:using \`\`devtool upgrade\`\``"
how to use ``devtool upgrade`` in the ":ref:`dev-manual/upgrading-recipes:using ``devtool upgrade```"
section in the Yocto Project Development Tasks Manual.
.. _devtool-resetting-a-recipe:

View File

@@ -498,7 +498,7 @@ generated during the :ref:`ref-tasks-packagedata` task. The files stored in this
directory contain information about each output package produced by the
OpenEmbedded build system, and are used in different ways by the build system
such as ":ref:`dev-manual/debugging:viewing package information with
\`\`oe-pkgdata-util\`\``".
``oe-pkgdata-util```".
.. _structure-build-tmp-sstate-control:

View File

@@ -2,11 +2,11 @@
<svg
version="1.1"
id="svg2"
width="1523.001"
height="504.30499"
viewBox="0 0 1523.001 504.30497"
width="1992.7236"
height="613.35602"
viewBox="0 0 1992.7236 613.35599"
sodipodi:docname="releases.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
inkscape:version="1.4.1 (93de688d07, 2025-03-30)"
inkscape:export-filename="../../../../../../../../tmp/releases.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
@@ -70,7 +70,7 @@
scale_width="1"
end_linecap_type="zerowidth"
not_jump="false"
message="&lt;b&gt;Ctrl + click&lt;/b&gt; on existing node and move it" />
message="" />
<marker
style="overflow:visible"
id="marker5783"
@@ -412,9 +412,9 @@
inkscape:window-height="2069"
id="namedview4"
showgrid="true"
inkscape:zoom="2.1971372"
inkscape:cx="1068.2082"
inkscape:cy="287.87461"
inkscape:zoom="1.5536106"
inkscape:cx="1158.2696"
inkscape:cy="273.55632"
inkscape:window-x="2256"
inkscape:window-y="60"
inkscape:window-maximized="1"
@@ -433,8 +433,8 @@
<inkscape:grid
type="xygrid"
id="grid1257"
originx="-289.99936"
originy="369.99997"
originx="-289.06071"
originy="478.43017"
spacingy="1"
spacingx="1"
units="px"
@@ -444,66 +444,90 @@
inkscape:groupmode="layer"
inkscape:label="Image"
id="g10"
transform="translate(-289.99936,370.00003)">
transform="translate(-289.06072,478.43022)">
<rect
style="fill:#333333;fill-opacity:0;stroke:#000000;stroke-width:0.713896;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-opacity:0"
id="rect1"
width="1992.0098"
height="612.64215"
x="289.41766"
y="-478.07327"
ry="24.97636" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 563.40434,64.000628 v -415.635938 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 563.40434,64.000628 v -524.414808 0 0"
id="path207708" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 683.40434,64.000628 v -415.635938 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 683.40434,64.000628 v -524.414808 0 0"
id="path207708-4" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 803.40434,64.000628 v -415.635938 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 803.40434,64.000628 v -524.414808 0 0"
id="path207708-4-3" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 923.40434,64.000588 v -415.635898 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 923.40434,64.000577 v -524.414757 0 0"
id="path207708-4-3-6" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1043.4043,64.000588 v -415.635898 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1043.4043,64.000577 v -524.414757 0 0"
id="path207708-4-3-6-2" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1163.4043,64.000588 v -415.635898 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1163.4043,64.000577 v -524.414757 0 0"
id="path207708-4-3-6-2-8" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1283.4043,64.000588 v -415.635898 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1283.4043,64.000577 v -524.414757 0 0"
id="path207708-4-3-6-2-8-4" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1403.4043,64.000588 v -415.635898 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1403.4043,64.000577 v -524.414757 0 0"
id="path207708-4-3-6-2-8-4-3" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.475347;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1523.4043,64.000568 v -415.757648 0 0"
id="path207708-4-3-6-2-8-4-3-8" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1523.4043,64.000588 v -415.635898 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1523.4043,64.000577 v -524.414757 0 0"
id="path207708-4-3-6-2-8-4-3-8-0" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1643.3583,64.000578 v -415.635868 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1643.3583,64.000565 v -524.414715 0 0"
id="path207708-4-3-6-2-8-4-3-8-4" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1763.4043,64.000578 v -415.635868 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1763.4043,64.000565 v -524.414715 0 0"
id="path207708-4-3-6-2-8-4-3-8-4-0" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 443.40434,64.000628 v -415.635938 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1883.7877,64.878769 v -524.414709 0 0"
id="path207708-4-3-6-2-8-4-3-8-4-0-8" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2002.9599,64.984489 v -524.414709 0 0"
id="path207708-4-3-6-2-8-4-3-8-4-0-8-8" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2123.2232,62.984489 v -524.414709 0 0"
id="path207708-4-3-6-2-8-4-3-8-4-0-8-8-1" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2243.313,63.984489 v -524.414709 0 0"
id="path207708-4-3-6-2-8-4-3-8-4-0-8-8-1-9" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 443.40434,64.000628 v -524.414808 0 0"
id="path207708-9" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 323.40434,64.000608 v -375.000008 0 0"
id="path207708-9-6" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 323.40434,64.000618 v -415.635908 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 323.40434,64.000616 v -524.414766 0 0"
id="path207708-9-6-2" />
<text
xml:space="preserve"
@@ -536,7 +560,7 @@
x="-59.575905"
y="580.05695" /></text>
<rect
style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1;opacity:0.5"
style="opacity:0.5;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
id="rect917-0-0-4-4-9-4"
width="160.00002"
height="45.000004"
@@ -583,14 +607,6 @@
y="-73.501534"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4">4.2</tspan></text>
<rect
style="opacity:0.75;fill:#251f32;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-3"
width="140"
height="45.000004"
x="1043.132"
y="-328.2114"
ry="2.2558987" />
<rect
style="opacity:1;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-3-6"
@@ -615,22 +631,78 @@
y="-238.332"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6">5.1</tspan></text>
<rect
style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-3-6-2"
width="140"
height="45.000004"
x="1043.4697"
y="-328.48172"
ry="2.2558987" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="1094.2197"
y="-309.83084"
id="text1185-3-55-4-0-0-0-1-1-6-4-3"><tspan
x="1090.4542"
y="-309.61823"
id="text1185-3-55-4-0-0-0-1-1-6-4-7"><tspan
sodipodi:role="line"
x="1094.2197"
y="-309.83084"
x="1090.4542"
y="-309.61823"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan957-2-8-6-3-9-7-4-2-0-5">Walnascar</tspan><tspan
id="tspan957-2-8-6-3-9-7-4-2-0-0">Walnascar</tspan><tspan
sodipodi:role="line"
x="1094.2197"
y="-291.83417"
x="1090.4542"
y="-291.62155"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6-6">5.2</tspan></text>
id="tspan10317-2-9-1-4-6-5-6-9">5.2</tspan></text>
<rect
style="opacity:0.75;fill:#251f32;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-3-67"
width="140"
height="45.000004"
x="1163.6425"
y="-382.27469"
ry="2.2558987" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="1214.9716"
y="-363.89413"
id="text1185-3-55-4-0-0-0-1-1-6-4-3-53"><tspan
sodipodi:role="line"
x="1214.9716"
y="-363.89413"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan957-2-8-6-3-9-7-4-2-0-5-5">Whinlatter</tspan><tspan
sodipodi:role="line"
x="1214.9716"
y="-345.89746"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6-6-6">5.3</tspan></text>
<rect
style="opacity:0.75;fill:#251f32;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5.29752;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-3-67-6"
width="982.23163"
height="45.000004"
x="1283.7023"
y="-436.77539"
ry="2.2558987" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="1335.1118"
y="-418.39484"
id="text1185-3-55-4-0-0-0-1-1-6-4-3-53-0"><tspan
sodipodi:role="line"
x="1335.1118"
y="-418.39484"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan957-2-8-6-3-9-7-4-2-0-5-5-6">Wrynose</tspan><tspan
sodipodi:role="line"
x="1335.1118"
y="-400.39816"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6-6-6-2">6.0</tspan></text>
<g
id="g1591"
transform="translate(-516.59566,64.000598)">
@@ -681,7 +753,7 @@
id="tspan10317-2-9-0-1">5.0</tspan></text>
<g
id="g1125-0"
transform="matrix(0.42240595,0,0,0.41654472,330.77064,-441.11721)"
transform="matrix(0.42240595,0,0,0.41654472,330.77064,-497.11721)"
style="stroke:none;stroke-width:2.38399">
<rect
style="opacity:1;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4.76797;stroke-opacity:1"
@@ -923,8 +995,8 @@
y="345.7359" /></text>
<path
id="path29430"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.72671;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 307.54809,63.999718 H 1783.4043 Z" />
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99503;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 307.54809,63.999718 H 2277.72 Z" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 323.40434,64.000618 v 9.99995 0"
@@ -1437,50 +1509,324 @@
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1763.4043,64.000578 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-2-0-0" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="1885.6029"
y="94.285194"
id="text1185-9-7-1-1-8-1-0-4-2-8-2"><tspan
sodipodi:role="line"
x="1885.6029"
y="94.285194"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan31345-4-0-4-81-5-2-8">Oct.</tspan><tspan
sodipodi:role="line"
x="1885.6029"
y="112.28188"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan49906-7-3-8-2-8-9-9">2028</tspan></text>
<g
id="g1267-4-5-2-7"
transform="translate(563.45518,-155.9782)">
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1200,220.00002 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-1-3" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1220,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-0-5-6"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1240,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-5-9-1"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1260,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-9-9-2"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1280,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-4-1-9"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1299.7216,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-6-4-3"
inkscape:transform-center-x="-14.78205"
inkscape:transform-center-y="-0.085282837" />
</g>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1883.4551,64.021829 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-2-0-0-1" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="2005.5908"
y="94.339828"
id="text1185-9-7-1-1-8-1-0-4-2-8-2-4"><tspan
sodipodi:role="line"
x="2005.5908"
y="94.339828"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan31345-4-0-4-81-5-2-8-7">Apr.</tspan><tspan
sodipodi:role="line"
x="2005.5908"
y="112.33651"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan49906-7-3-8-2-8-9-9-8">2029</tspan></text>
<g
id="g1267-4-5-2-7-4"
transform="translate(683.44312,-155.92356)">
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1200,220.00002 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-1-3-5" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1220,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-0-5-6-0"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1240,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-5-9-1-3"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1260,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-9-9-2-6"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1280,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-4-1-9-1"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1299.7216,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-6-4-3-0"
inkscape:transform-center-x="-14.78205"
inkscape:transform-center-y="-0.085282837" />
</g>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2003.443,64.076464 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-2-0-0-1-6" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="2125.6079"
y="94.692207"
id="text1185-9-7-1-1-8-1-0-4-2-8-2-4-2"><tspan
sodipodi:role="line"
x="2125.6079"
y="94.692207"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan31345-4-0-4-81-5-2-8-7-0">Oct.</tspan><tspan
sodipodi:role="line"
x="2125.6079"
y="112.68889"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan49906-7-3-8-2-8-9-9-8-6">2029</tspan></text>
<g
id="g1267-4-5-2-7-4-1"
transform="translate(803.46019,-155.57118)">
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1200,220.00002 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-1-3-5-5" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1220,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-0-5-6-0-5"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1240,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-5-9-1-3-4"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1260,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-9-9-2-6-7"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1280,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-4-1-9-1-6"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1299.7216,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-6-4-3-0-5"
inkscape:transform-center-x="-14.78205"
inkscape:transform-center-y="-0.085282837" />
</g>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2123.4601,64.428843 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-2-0-0-1-6-6" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2123.3825,64.223284 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-2-0-0-1-6-3" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="2245.5474"
y="94.839027"
id="text1185-9-7-1-1-8-1-0-4-2-8-2-4-2-7"><tspan
sodipodi:role="line"
x="2245.5474"
y="94.839027"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan31345-4-0-4-81-5-2-8-7-0-4">Apr.</tspan><tspan
sodipodi:role="line"
x="2245.5474"
y="112.83571"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan49906-7-3-8-2-8-9-9-8-6-5">2030</tspan></text>
<g
id="g1267-4-5-2-7-4-1-2"
transform="translate(923.39972,-155.42436)">
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1200,220.00002 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-1-3-5-5-5" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1220,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-0-5-6-0-5-4"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1240,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-5-9-1-3-4-7"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1260,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-9-9-2-6-7-4"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1280,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-4-1-9-1-6-4"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1299.7216,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-6-4-3-0-5-3"
inkscape:transform-center-x="-14.78205"
inkscape:transform-center-y="-0.085282837" />
</g>
<g
id="g1267-4-5-2-7-4-1-2-0"
transform="translate(1043.3579,-155.33829)">
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1200,220.00002 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-1-3-5-5-5-6" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1220,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-0-5-6-0-5-4-8"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1240,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-5-9-1-3-4-7-9"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1260,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-9-9-2-6-7-4-2"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1280,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-4-1-9-1-6-4-6"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1299.7216,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-6-4-3-0-5-3-6"
inkscape:transform-center-x="-14.78205"
inkscape:transform-center-y="-0.085282837" />
</g>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2243.3996,64.575663 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-2-0-0-1-6-6-0" />
<rect
style="opacity:0.75;fill:#241f31;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.751473;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-36"
width="38.418175"
height="23.151052"
x="1605.6135"
y="-41.172161"
x="2047.6135"
y="-45.172161"
ry="1.1605872" />
<rect
style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.98878;stroke-dasharray:none;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-36-7"
width="186.42949"
height="110.40546"
x="1594.5294"
y="-73.753708"
x="2036.5294"
y="-77.753708"
ry="5.5347452" />
<rect
style="opacity:0.75;fill:#241f31;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.50949;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-6"
width="21.197233"
height="19.28739"
x="1611.8163"
y="-41.883858"
x="2053.8164"
y="-45.883858"
ry="0.96689767" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="1690.4917"
y="-53.687912"
x="2132.4917"
y="-57.687912"
id="text1185-3-55-4-0-0-0-1-1-6-4-3-5"><tspan
sodipodi:role="line"
x="1690.4917"
y="-53.687912"
x="2132.4917"
y="-57.687912"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6-6-5">Legend</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="1656.0988"
y="-27.899874"
x="2098.0986"
y="-31.899874"
id="text1185-3-55-4-0-0-0-1-1-6-4-3-5-2"><tspan
sodipodi:role="line"
x="1656.0988"
y="-27.899874"
x="2098.0986"
y="-31.899874"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6-6-5-9">Future</tspan></text>
<rect
@@ -1488,38 +1834,38 @@
id="rect917-0-0-4-4-9-4-5-3-9-2-6-1"
width="21.197233"
height="19.28739"
x="1611.8671"
y="-17.756365"
x="2053.8672"
y="-21.756365"
ry="0.96689767" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="1686.7159"
y="-3.6722763"
x="2128.7158"
y="-7.6722765"
id="text1185-3-55-4-0-0-0-1-1-6-4-3-5-2-2"><tspan
sodipodi:role="line"
x="1686.7159"
y="-3.6722763"
x="2128.7158"
y="-7.6722765"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6-6-5-9-7">Current (Oct. 24)</tspan></text>
id="tspan10317-2-9-1-4-6-5-6-6-5-9-7">Current (Apr. 25)</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="1667.363"
y="20.03771"
x="2109.363"
y="16.03771"
id="text1185-3-55-4-0-0-0-1-1-6-4-3-5-2-2-9"><tspan
sodipodi:role="line"
x="1667.363"
y="20.03771"
x="2109.363"
y="16.03771"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6-6-5-9-7-3">End-of-life</tspan></text>
<rect
style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.50949;stroke-opacity:1;opacity:0.5"
style="opacity:0.5;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.50949;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-6-1-0"
width="21.197233"
height="19.28739"
x="1612.0239"
y="5.9667883"
x="2054.0239"
y="1.9667883"
ry="0.96689767" />
<rect
style="opacity:0.5;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.85786;stroke-opacity:1"

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 117 KiB

View File

@@ -58,20 +58,35 @@ Supported Linux Distributions
Currently, the &DISTRO; release ("&DISTRO_NAME;") of the Yocto Project is
supported on the following distributions:
- Ubuntu 20.04 (LTS)
- Ubuntu 22.04 (LTS)
- Fedora 38
- Debian GNU/Linux 11.x (Bullseye)
..
Can be generated with yocto-autobuilder-helper's scripts/yocto-supported-distros:
yocto-supported-distros --release kirkstone --config yocto-autobuilder2/config.py --output-format docs --poky-distros
- AlmaLinux 8
- AlmaLinux 9
- Debian 11
- Debian 12
- Fedora 39
- Fedora 40
- Fedora 41
- Rocky Linux 8
- Rocky Linux 9
- Ubuntu 20.04 (LTS)
- Ubuntu 22.04 (LTS)
- Ubuntu 24.04 (LTS)
- Ubuntu 24.10
The following distribution versions are still tested, even though the
organizations publishing them no longer make updates publicly available:
- Ubuntu 18.04 (LTS)
..
This list contains EOL distros that are still tested on the Autobuilder
(meaning there are running workers for them).
See https://endoflife.date for information of EOL releases.
- Fedora 39
- Fedora 40
- Ubuntu 20.04 (LTS)
Note that the Yocto Project doesn't have access to private updates
that some of these versions may have. Therefore, our testing has
@@ -80,19 +95,33 @@ limited value if you have access to such updates.
Finally, here are the distribution versions which were previously
tested on former revisions of "&DISTRO_NAME;", but no longer are:
- Ubuntu 18.04 (LTS)
- Ubuntu 20.04 (LTS)
- Ubuntu 22.04 (LTS)
..
Can be generated with yocto-autobuilder-helper's scripts/yocto-supported-distros:
yocto-supported-distros --release kirkstone --config yocto-autobuilder2/config.py --output-format docs --old-distros
- CentOS 7
- CentOS 8
- Debian 10
- Debian 8
- Debian 9
- Fedora 29
- Fedora 30
- Fedora 31
- Fedora 32
- Fedora 33
- Fedora 34
- Fedora 35
- Fedora 36
- Fedora 37
- Debian GNU/Linux 11.x (Bookworm)
- Fedora 38
- OpenSUSE Leap 15.0
- OpenSUSE Leap 15.1
- OpenSUSE Leap 15.2
- OpenSUSE Leap 15.3
- AlmaLinux 8
- Ubuntu 16.04
- Ubuntu 18.04
- Ubuntu 19.04
- Ubuntu 21.10
.. note::

View File

@@ -740,7 +740,7 @@ tool, which you then use to modify the kernel configuration.
$ bitbake linux-yocto -c menuconfig
See the ":ref:`kernel-dev/common:using \`\`menuconfig\`\``"
See the ":ref:`kernel-dev/common:using ``menuconfig```"
section in the Yocto Project Linux Kernel Development Manual for more
information on this configuration tool.
@@ -764,7 +764,7 @@ which can then be applied by subsequent tasks such as
Runs ``make menuconfig`` for the kernel. For information on
``menuconfig``, see the
":ref:`kernel-dev/common:using \`\`menuconfig\`\``"
":ref:`kernel-dev/common:using ``menuconfig```"
section in the Yocto Project Linux Kernel Development Manual.
.. _ref-tasks-savedefconfig:

View File

@@ -63,7 +63,7 @@ universal, the list includes them just in case:
This term refers to the area used by the OpenEmbedded build system for
builds. The area is created when you ``source`` the setup environment
script that is found in the Source Directory
(i.e. :ref:`ref-manual/structure:\`\`oe-init-build-env\`\``). The
(i.e. :ref:`ref-manual/structure:``oe-init-build-env```). The
:term:`TOPDIR` variable points to the Build Directory.
You have a lot of flexibility when creating the :term:`Build Directory`.

View File

@@ -1806,7 +1806,7 @@ system and gives an overview of their function and contents.
``${TMPDIR}/deploy``.
For more information on the structure of the Build Directory, see
":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section.
":ref:`ref-manual/structure:the build directory --- ``build/```" section.
For more detail on the contents of the ``deploy`` directory, see the
":ref:`overview-manual/concepts:images`",
":ref:`overview-manual/concepts:package feeds`", and
@@ -1850,7 +1850,7 @@ system and gives an overview of their function and contents.
<ref-classes-image>` class.
For more information on the structure of the Build Directory, see
":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section.
":ref:`ref-manual/structure:the build directory --- ``build/```" section.
For more detail on the contents of the ``deploy`` directory, see the
":ref:`overview-manual/concepts:images`" and
":ref:`overview-manual/concepts:application development sdk`" sections both in
@@ -2801,6 +2801,10 @@ system and gives an overview of their function and contents.
For guidance on how to create your own file permissions settings
table file, examine the existing ``fs-perms.txt``.
:term:`FIT_CONF_PREFIX`
When using the :ref:`ref-classes-kernel-fitimage`, this is the prefix
used for creating FIT configuration nodes. Its default value is "conf-".
:term:`FIT_DESC`
Specifies the description string encoded into a fitImage. The default
value is set by the :ref:`kernel-fitimage <ref-classes-kernel-fitimage>`
@@ -3531,6 +3535,12 @@ system and gives an overview of their function and contents.
added to the image by using the :term:`IMAGE_ROOTFS_EXTRA_SPACE`
variable.
When using Wic tool, beware that a second overhead factor is also applied.
This overhead value is defined by the ``--overhead-factor`` option, which
defaults to "1.3" when omitted. See the
:ref:`ref-manual/kickstart:command: part or partition` chapter in
:doc:`/ref-manual/kickstart` for details.
:term:`IMAGE_PKGTYPE`
Defines the package type (i.e. DEB, RPM, IPK, or TAR) used by the
OpenEmbedded build system. The variable is defined appropriately by
@@ -3617,6 +3627,36 @@ system and gives an overview of their function and contents.
IMAGE_ROOTFS_EXTRA_SPACE = "41943040"
:term:`IMAGE_ROOTFS_MAXSIZE`
Defines the maximum allowed size of the generated image in kilobytes.
The build will fail if the generated image size exceeds this value.
The generated image size undergoes several calculation steps before being
compared to :term:`IMAGE_ROOTFS_MAXSIZE`.
In the first step, the size of the directory pointed to by :term:`IMAGE_ROOTFS`
is calculated.
In the second step, the result from the first step is multiplied
by :term:`IMAGE_OVERHEAD_FACTOR`.
In the third step, the result from the second step is compared with
:term:`IMAGE_ROOTFS_SIZE`. The larger value of these is added to
:term:`IMAGE_ROOTFS_EXTRA_SPACE`.
In the fourth step, the result from the third step is checked for
a decimal part. If it has one, it is rounded up to the next integer.
If it does not, it is simply converted into an integer.
In the fifth step, the :term:`IMAGE_ROOTFS_ALIGNMENT` is added to the result
from the fourth step and "1" is subtracted.
In the sixth step, the remainder of the division between the result
from the fifth step and :term:`IMAGE_ROOTFS_ALIGNMENT` is subtracted from the
result of the fifth step. In this way, the result from the fourth step is
rounded up to the nearest multiple of :term:`IMAGE_ROOTFS_ALIGNMENT`.
Thus, if the :term:`IMAGE_ROOTFS_MAXSIZE` is set, is compared with the result
of the above calculations and is independent of the final image type.
No default value is set for :term:`IMAGE_ROOTFS_MAXSIZE`.
It's a good idea to set this variable for images that need to fit on a limited
space (e.g. SD card, a fixed-size partition, ...).
:term:`IMAGE_ROOTFS_SIZE`
Defines the size in Kbytes for the generated image. The OpenEmbedded
build system determines the final size for the generated image using
@@ -3822,6 +3862,23 @@ system and gives an overview of their function and contents.
Set the variable to "1" to prevent the default dependencies from
being added.
:term:`INHIBIT_DEFAULT_RUST_DEPS`
Prevents the :ref:`ref-classes-rust` class from automatically adding
its default build-time dependencies.
When a recipe inherits the :ref:`ref-classes-rust` class, several
tools such as ``rust-native`` and ``${RUSTLIB_DEP}`` (only added when cross-compiling) are added
to :term:`DEPENDS` to support the ``rust`` build process.
To prevent the build system from adding these dependencies automatically,
set the :term:`INHIBIT_DEFAULT_RUST_DEPS` variable as follows::
INHIBIT_DEFAULT_RUST_DEPS = "1"
By default, the value of :term:`INHIBIT_DEFAULT_RUST_DEPS` is empty. Setting
it to "0" does not disable inhibition. Only the empty string will disable
inhibition.
:term:`INHIBIT_PACKAGE_DEBUG_SPLIT`
Prevents the OpenEmbedded build system from splitting out debug
information during packaging. By default, the build system splits out
@@ -3869,6 +3926,25 @@ system and gives an overview of their function and contents.
even if the toolchain's binaries are strippable, there are other files
needed for the build that are not strippable.
:term:`INHIBIT_UPDATERCD_BBCLASS`
Prevents the :ref:`ref-classes-update-rc.d` class from automatically
installing and registering SysV init scripts for packages.
When a recipe inherits the :ref:`ref-classes-update-rc.d` class, init
scripts are typically installed and registered for the packages listed in
:term:`INITSCRIPT_PACKAGES`. This ensures that the relevant
services are started and stopped at the appropriate runlevels using the
traditional SysV init system.
To prevent the build system from adding these scripts and configurations
automatically, set the :term:`INHIBIT_UPDATERCD_BBCLASS` variable as follows::
INHIBIT_UPDATERCD_BBCLASS = "1"
By default, the value of :term:`INHIBIT_UPDATERCD_BBCLASS` is empty. Setting
it to "0" does not disable inhibition. Only the empty string will disable
inhibition.
:term:`INIT_MANAGER`
Specifies the system init manager to use. Available options are:
@@ -4010,6 +4086,20 @@ system and gives an overview of their function and contents.
See the :term:`MACHINE` variable for additional
information.
:term:`INITRAMFS_MAXSIZE`
Defines the maximum allowed size of the :term:`Initramfs` image in Kbytes.
The build will fail if the :term:`Initramfs` image size exceeds this value.
The :term:`Initramfs` image size undergoes several calculation steps before
being compared to :term:`INITRAMFS_MAXSIZE`.
These steps are the same as those used for :term:`IMAGE_ROOTFS_MAXSIZE`
and are described in detail in that entry.
Thus, :term:`INITRAMFS_MAXSIZE` is compared with the result of the calculations
and is independent of the final image type (e.g. compressed).
A default value for :term:`INITRAMFS_MAXSIZE` is set in
:oe_git:`meta/conf/bitbake.conf </openembedded-core/tree/meta/conf/bitbake.conf>`.
:term:`INITRAMFS_MULTICONFIG`
Defines the multiconfig to create a multiconfig dependency to be used by the :ref:`kernel <ref-classes-kernel>` class.
@@ -4197,15 +4287,8 @@ system and gives an overview of their function and contents.
options not explicitly specified will be disabled in the kernel
config.
In case :term:`KCONFIG_MODE` is not set the behaviour will depend on where
the ``defconfig`` file is coming from. An "in-tree" ``defconfig`` file
will be handled in ``alldefconfig`` mode, a ``defconfig`` file placed
in ``${WORKDIR}`` through a meta-layer will be handled in
``allnoconfig`` mode.
An "in-tree" ``defconfig`` file can be selected via the
:term:`KBUILD_DEFCONFIG` variable. :term:`KCONFIG_MODE` does not need to
be explicitly set.
In case :term:`KCONFIG_MODE` is not set the ``defconfig`` file
will be handled in ``allnoconfig`` mode.
A ``defconfig`` file compatible with ``allnoconfig`` mode can be
generated by copying the ``.config`` file from a working Linux kernel
@@ -4498,6 +4581,27 @@ system and gives an overview of their function and contents.
the :term:`KERNEL_PATH` variable. Both variables are common variables
used by external Makefiles to point to the kernel source directory.
:term:`KERNEL_SPLIT_MODULES`
When inheriting the :ref:`ref-classes-kernel-module-split` class, this
variable controls whether kernel modules are split into separate packages
or bundled into a single package.
For some use cases, a monolithic kernel module package
:term:`KERNEL_PACKAGE_NAME` that contains all modules built from the
kernel sources may be preferred to speed up the installation.
By default, this variable is set to ``1``, resulting in one package per
module. Setting it to any other value will generate a single monolithic
package containing all kernel modules.
.. note::
If :term:`KERNEL_SPLIT_MODULES` is set to 0, it is still possible to
install all kernel modules at once by adding ``kernel-modules`` (assuming
:term:`KERNEL_PACKAGE_NAME` is ``kernel-modules``) to :term:`IMAGE_INSTALL`.
The way it works is that a placeholder "kernel-modules" package will be
created and will depend on every other individual kernel module packages.
:term:`KERNEL_SRC`
The location of the kernel sources. This variable is set to the value
of the :term:`STAGING_KERNEL_DIR` within
@@ -6099,7 +6203,7 @@ system and gives an overview of their function and contents.
For examples of how this data is used, see the
":ref:`overview-manual/concepts:automatically added runtime dependencies`"
section in the Yocto Project Overview and Concepts Manual and the
":ref:`dev-manual/debugging:viewing package information with \`\`oe-pkgdata-util\`\``"
":ref:`dev-manual/debugging:viewing package information with ``oe-pkgdata-util```"
section in the Yocto Project Development Tasks Manual. For more
information on the shared, global-state directory, see
:term:`STAGING_DIR_HOST`.
@@ -7697,6 +7801,11 @@ system and gives an overview of their function and contents.
section in the Yocto Project Board Support Package Developer's Guide
for additional information.
:term:`SPL_DTB_BINARY`
When inheriting the :ref:`ref-classes-uboot-sign` class, the
:term:`SPL_DTB_BINARY` variable contains the name of the SPL binary to be
compiled.
:term:`SPL_MKIMAGE_DTCOPTS`
Options for the device tree compiler passed to ``mkimage -D`` feature
while creating a FIT image with the :ref:`ref-classes-uboot-sign`
@@ -7717,7 +7826,7 @@ system and gives an overview of their function and contents.
class.
:term:`SPL_SIGN_KEYNAME`
The name of keys used by the :ref:`ref-classes-kernel-fitimage` class
The name of keys used by the :ref:`ref-classes-uboot-sign` class
for signing U-Boot FIT image stored in the :term:`SPL_SIGN_KEYDIR`
directory. If we have for example a ``dev.key`` key and a ``dev.crt``
certificate stored in the :term:`SPL_SIGN_KEYDIR` directory, you will
@@ -7978,7 +8087,7 @@ system and gives an overview of their function and contents.
The Yocto Project actually shares the cache data objects built by its
autobuilder::
SSTATE_MIRRORS ?= "file://.* http://cdn.jsdelivr.net/yocto/sstate/all/PATH;downloadfilename=PATH"
SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
As such binary artifacts are built for the generic QEMU machines
supported by the various Poky releases, they are less likely to be
@@ -8004,6 +8113,26 @@ system and gives an overview of their function and contents.
For details on the process, see the
:ref:`staging <ref-classes-staging>` class.
:term:`SSTATE_SKIP_CREATION`
The :term:`SSTATE_SKIP_CREATION` variable can be used to skip the
creation of :ref:`shared state <overview-manual/concepts:shared state cache>`
tarball files. It makes sense e.g. for image creation tasks as tarring images
and keeping them in sstate would consume a lot of disk space.
In general it is not recommended to use this variable as missing sstate
artefacts adversely impact the build, particularly for entries in the
middle of dependency chains. The case it can make sense is where the
size and time costs of the artefact are similar to just running the
tasks. This generally only applies to end artefact output like images.
The syntax to disable it for one task is::
SSTATE_SKIP_CREATION:task-image-complete = "1"
The syntax to disable it for the whole recipe is::
SSTATE_SKIP_CREATION = "1"
:term:`STAGING_BASE_LIBDIR_NATIVE`
Specifies the path to the ``/lib`` subdirectory of the sysroot
directory for the build host.
@@ -8909,7 +9038,7 @@ system and gives an overview of their function and contents.
:doc:`/sdk-manual/index` manual.
Note that this variable applies to building an SDK, not an eSDK,
in which case the term:`TOOLCHAIN_HOST_TASK_ESDK` setting should be
in which case the :term:`TOOLCHAIN_HOST_TASK_ESDK` setting should be
used instead.
:term:`TOOLCHAIN_HOST_TASK_ESDK`
@@ -9579,6 +9708,20 @@ system and gives an overview of their function and contents.
can control with this variable, see the
":ref:`ref-classes-insane`" section.
:term:`WIC_CREATE_EXTRA_ARGS`
If the :term:`IMAGE_FSTYPES` variable contains "wic", the build
will generate a
:ref:`Wic image <dev-manual/wic:creating partitioned images using wic>`
automatically when BitBake builds an image recipe. As part of
this process BitBake will invoke the "`wic create`" command. The
:term:`WIC_CREATE_EXTRA_ARGS` variable is placed at the end of this
command which allows the user to supply additional arguments.
One such useful purpose for this mechanism is to add the ``-D`` (or
``--debug``) argument to the "`wic create`" command. This increases the
amount of debugging information written out to the Wic log during the
Wic creation process.
:term:`WKS_FILE`
Specifies the location of the Wic kickstart file that is used by the
OpenEmbedded build system to create a partitioned image

View File

@@ -56,9 +56,10 @@ project:
#include <stdio.h>
main()
int main()
{
printf("Hello World!\n");
return 0;
}
- ``configure.ac``::

View File

@@ -51,13 +51,11 @@ fashion. Basically, during the development of a Yocto Project release,
the Autobuilder tests if things work. The Autobuilder builds all test
targets and runs all the tests.
The Yocto Project uses now uses standard upstream
Buildbot (`version 3.8 <https://docs.buildbot.net/3.8.0/>`__) to
drive its integration and testing. Buildbot has a plug-in interface
that the Yocto Project customizes using code from the
``yocto-autobuilder2`` repository, adding its own console UI plugin. The
resulting UI plug-in allows you to visualize builds in a way suited to
the project's needs.
The Yocto Project uses standard upstream Buildbot to drive its integration and
testing. Buildbot has a plug-in interface that the Yocto Project customizes
using code from the :yocto_git:`yocto-autobuilder2 </yocto-autobuilder2>`
repository, adding its own console UI plugin. The resulting UI plug-in allows
you to visualize builds in a way suited to the project's needs.
A ``helper`` layer provides configuration and job management through
scripts found in the ``yocto-autobuilder-helper`` repository. The

View File

@@ -548,7 +548,7 @@ database.
You need to run the ``buildslist`` command first to identify existing
builds in the database before using the
:ref:`toaster-manual/reference:\`\`builddelete\`\`` command. Here is an
:ref:`toaster-manual/reference:``builddelete``` command. Here is an
example that assumes default repository and build directory names:
.. code-block:: shell
@@ -557,7 +557,7 @@ example that assumes default repository and build directory names:
$ python ../bitbake/lib/toaster/manage.py buildslist
If your Toaster database had only one build, the above
:ref:`toaster-manual/reference:\`\`buildslist\`\``
:ref:`toaster-manual/reference:``buildslist```
command would return something like the following::
1: qemux86 poky core-image-minimal
@@ -578,7 +578,7 @@ the database.
Prior to running the ``builddelete`` command, you need to get the ID
associated with builds by using the
:ref:`toaster-manual/reference:\`\`buildslist\`\`` command.
:ref:`toaster-manual/reference:``buildslist``` command.
``perf``
--------

View File

@@ -1,7 +1,7 @@
DISTRO = "poky"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
#DISTRO_VERSION = "3.4+snapshot-${METADATA_REVISION}"
DISTRO_VERSION = "4.0.27"
DISTRO_VERSION = "4.0.30"
DISTRO_CODENAME = "kirkstone"
SDK_VENDOR = "-pokysdk"
SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}"

View File

@@ -25,3 +25,4 @@ weston:x:525:
wayland:x:526:
render:x:527:
sgx:x:528:
audio:x:529:

View File

@@ -1182,24 +1182,27 @@ python do_qa_patch() {
msg += " devtool modify %s\n" % d.getVar('PN')
msg += " devtool finish --force-patch-refresh %s <layer_path>\n\n" % d.getVar('PN')
msg += "Don't forget to review changes done by devtool!\n"
if bb.utils.filter('ERROR_QA', 'patch-fuzz', d):
bb.error(msg)
elif bb.utils.filter('WARN_QA', 'patch-fuzz', d):
bb.warn(msg)
msg = "Patch log indicates that patches do not apply cleanly."
msg += "\nPatch log indicates that patches do not apply cleanly."
oe.qa.handle_error("patch-fuzz", msg, d)
# Check if the patch contains a correctly formatted and spelled Upstream-Status
import re
from oe import patch
allpatches = False
if bb.utils.filter('ERROR_QA', 'patch-status-noncore', d) or bb.utils.filter('WARN_QA', 'patch-status-noncore', d):
allpatches = True
coremeta_path = os.path.join(d.getVar('COREBASE'), 'meta', '')
for url in patch.src_patches(d):
(_, _, fullpath, _, _, _) = bb.fetch.decodeurl(url)
# skip patches not in oe-core
patchtype = "patch-status-core"
if not os.path.abspath(fullpath).startswith(coremeta_path):
continue
patchtype = "patch-status-noncore"
if not allpatches:
continue
kinda_status_re = re.compile(r"^.*upstream.*status.*$", re.IGNORECASE | re.MULTILINE)
strict_status_re = re.compile(r"^Upstream-Status: (Pending|Submitted|Denied|Accepted|Inappropriate|Backport|Inactive-Upstream)( .+)?$", re.MULTILINE)
@@ -1212,9 +1215,13 @@ python do_qa_patch() {
if not match_strict:
if match_kinda:
bb.error("Malformed Upstream-Status in patch\n%s\nPlease correct according to %s :\n%s" % (fullpath, guidelines, match_kinda.group(0)))
msg = "Malformed Upstream-Status in patch\n%s\nPlease correct according to %s :\n%s" % (fullpath, guidelines, match_kinda.group(0))
oe.qa.handle_error(patchtype, msg, d)
else:
bb.error("Missing Upstream-Status in patch\n%s\nPlease add according to %s ." % (fullpath, guidelines))
msg = "Missing Upstream-Status in patch\n%s\nPlease add according to %s ." % (fullpath, guidelines)
oe.qa.handle_error(patchtype, msg, d)
oe.qa.exit_if_errors(d)
}
python do_qa_configure() {
@@ -1331,6 +1338,7 @@ python do_qa_unpack() {
bb.warn('%s: the directory %s (%s) pointed to by the S variable doesn\'t exist - please set S within the recipe to point to where the source has been unpacked to' % (d.getVar('PN'), d.getVar('S', False), s_dir))
unpack_check_src_uri(d.getVar('PN'), d)
oe.qa.exit_if_errors(d)
}
# The Staging Func, to check all staging

View File

@@ -706,9 +706,10 @@ RDEPENDS:${KERNEL_PACKAGE_NAME} = "${KERNEL_PACKAGE_NAME}-base (= ${EXTENDPKGV})
# not wanted in images as standard
RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base ?= "${KERNEL_PACKAGE_NAME}-image (= ${EXTENDPKGV})"
PKG:${KERNEL_PACKAGE_NAME}-image = "${KERNEL_PACKAGE_NAME}-image-${@legitimize_package_name(d.getVar('KERNEL_VERSION'))}"
RPROVIDES:${KERNEL_PACKAGE_NAME}-image += "${KERNEL_PACKAGE_NAME}-image"
RDEPENDS:${KERNEL_PACKAGE_NAME}-image += "${@oe.utils.conditional('KERNEL_IMAGETYPE', 'vmlinux', '${KERNEL_PACKAGE_NAME}-vmlinux (= ${EXTENDPKGV})', '', d)}"
PKG:${KERNEL_PACKAGE_NAME}-base = "${KERNEL_PACKAGE_NAME}-${@legitimize_package_name(d.getVar('KERNEL_VERSION'))}"
RPROVIDES:${KERNEL_PACKAGE_NAME}-base += "${KERNEL_PACKAGE_NAME}-${KERNEL_VERSION}"
RPROVIDES:${KERNEL_PACKAGE_NAME}-base += "${KERNEL_PACKAGE_NAME}-${KERNEL_VERSION} ${KERNEL_PACKAGE_NAME}-base"
ALLOW_EMPTY:${KERNEL_PACKAGE_NAME} = "1"
ALLOW_EMPTY:${KERNEL_PACKAGE_NAME}-base = "1"
ALLOW_EMPTY:${KERNEL_PACKAGE_NAME}-image = "1"

View File

@@ -52,4 +52,4 @@ KERNEL_IMAGETYPES ??= "${KERNEL_IMAGETYPE}"
# fetch from the network (and warn you if not). To disable the test set
# the variable to be empty.
# Git example url: git://git.yoctoproject.org/yocto-firewall-test;protocol=git;rev=master;branch=master
CONNECTIVITY_CHECK_URIS ?= "https://yoctoproject.org/connectivity.html"
CONNECTIVITY_CHECK_URIS ?= "https://www.yoctoproject.org/connectivity.html"

View File

@@ -29,7 +29,6 @@ PTESTS_FAST = "\
libnl-ptest \
libmodule-build-perl-ptest \
libpcre-ptest \
libpng-ptest \
libssh2-ptest \
libtimedate-perl-ptest \
libtest-needs-perl-ptest \
@@ -88,6 +87,7 @@ PTESTS_SLOW = "\
glib-2.0-ptest \
gstreamer1.0-ptest \
libevent-ptest \
libpng-ptest \
lttng-tools-ptest \
openssh-ptest \
openssl-ptest \

View File

@@ -194,3 +194,27 @@ class skipIfQemu(OETestDecorator):
self.logger.debug("Checking if qemu MACHINE")
if self.case.td.get('MACHINE', '').startswith('qemu'):
self.case.skipTest('Test only runs on real hardware')
@registerDecorator
class skipIfArch(OETestDecorator):
"""
Skip test if HOST_ARCH is present in the tuple specified.
"""
attrs = ('archs',)
def setUpDecorator(self):
arch = self.case.td['HOST_ARCH']
if arch in self.archs:
self.case.skipTest('Test skipped on %s' % arch)
@registerDecorator
class skipIfNotArch(OETestDecorator):
"""
Skip test if HOST_ARCH is not present in the tuple specified.
"""
attrs = ('archs',)
def setUpDecorator(self):
arch = self.case.td['HOST_ARCH']
if arch not in self.archs:
self.case.skipTest('Test skipped on %s' % arch)

View File

@@ -13,8 +13,8 @@ class HTTPTests(OESDKTestCase):
"""
def test_wget(self):
self._run('env -i wget --debug --output-document /dev/null https://yoctoproject.org/connectivity.html')
self._run('env -i wget --debug --output-document /dev/null https://www.yoctoproject.org/connectivity.html')
def test_python(self):
# urlopen() returns a file-like object on success and throws an exception otherwise
self._run('python3 -c \'import urllib.request; urllib.request.urlopen("https://yoctoproject.org/connectivity.html")\'')
self._run('python3 -c \'import urllib.request; urllib.request.urlopen("https://www.yoctoproject.org/connectivity.html")\'')

View File

@@ -0,0 +1,27 @@
From 10c9a571f1c0472799f72b1924b039aab231e95f Mon Sep 17 00:00:00 2001
From: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Date: Thu, 16 Dec 2021 16:19:50 +0100
Subject: [PATCH] Include cstddef in the header for C++
So C++ compiler always has access to the definition of size_t.
Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Youngseok Jeong <youngseok1.jeong@lge.com>
Upstream-Status: Backport [v0.3.3 https://github.com/sbabic/libubootenv/pull/19/commits/764226a7de2ea79b182d92829922489537c766fa]
---
src/libuboot.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/libuboot.h b/src/libuboot.h
index 88f0558..1f305f4 100644
--- a/src/libuboot.h
+++ b/src/libuboot.h
@@ -6,6 +6,8 @@
*/
#ifdef __cplusplus
+#include <cstddef>
+
extern "C" {
#endif

View File

@@ -10,7 +10,11 @@ LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c"
SECTION = "libs"
SRC_URI = "git://github.com/sbabic/libubootenv;protocol=https;branch=master"
SRC_URI = " \
git://github.com/sbabic/libubootenv;protocol=https;branch=master \
file://0001-Include-cstddef-in-the-header-for-C.patch \
"
SRCREV = "ba7564f5006d09bec51058cf4f5ac90d4dc18b3c"
S = "${WORKDIR}/git"

View File

@@ -36,6 +36,7 @@ SRC_URI = "https://github.com/lathiat/avahi/releases/download/v${PV}/avahi-${PV}
file://CVE-2023-38472.patch \
file://CVE-2023-38473.patch \
file://CVE-2024-52616.patch \
file://CVE-2024-52615.patch \
"
UPSTREAM_CHECK_URI = "https://github.com/lathiat/avahi/releases/"

View File

@@ -0,0 +1,228 @@
From 4e2e1ea0908d7e6ad7f38ae04fdcdf2411f8b942 Mon Sep 17 00:00:00 2001
From: Michal Sekletar <msekleta@redhat.com>
Date: Wed, 27 Nov 2024 18:07:32 +0100
Subject: [PATCH] core/wide-area: fix for CVE-2024-52615
CVE: CVE-2024-52615
Upstream-Status: Backport [https://github.com/avahi/avahi/commit/4e2e1ea0908d7e6ad7f38ae04fdcdf2411f8b942]
Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
---
avahi-core/wide-area.c | 128 ++++++++++++++++++++++-------------------
1 file changed, 69 insertions(+), 59 deletions(-)
diff --git a/avahi-core/wide-area.c b/avahi-core/wide-area.c
index 00a15056e..06df7afc6 100644
--- a/avahi-core/wide-area.c
+++ b/avahi-core/wide-area.c
@@ -81,6 +81,10 @@ struct AvahiWideAreaLookup {
AvahiAddress dns_server_used;
+ int fd;
+ AvahiWatch *watch;
+ AvahiProtocol proto;
+
AVAHI_LLIST_FIELDS(AvahiWideAreaLookup, lookups);
AVAHI_LLIST_FIELDS(AvahiWideAreaLookup, by_key);
};
@@ -88,9 +92,6 @@ struct AvahiWideAreaLookup {
struct AvahiWideAreaLookupEngine {
AvahiServer *server;
- int fd_ipv4, fd_ipv6;
- AvahiWatch *watch_ipv4, *watch_ipv6;
-
/* Cache */
AVAHI_LLIST_HEAD(AvahiWideAreaCacheEntry, cache);
AvahiHashmap *cache_by_key;
@@ -125,35 +126,67 @@ static AvahiWideAreaLookup* find_lookup(AvahiWideAreaLookupEngine *e, uint16_t i
return l;
}
+static void socket_event(AVAHI_GCC_UNUSED AvahiWatch *w, int fd, AVAHI_GCC_UNUSED AvahiWatchEvent events, void *userdata);
+
static int send_to_dns_server(AvahiWideAreaLookup *l, AvahiDnsPacket *p) {
+ AvahiWideAreaLookupEngine *e;
AvahiAddress *a;
+ AvahiServer *s;
+ AvahiWatch *w;
+ int r;
assert(l);
assert(p);
- if (l->engine->n_dns_servers <= 0)
+ e = l->engine;
+ assert(e);
+
+ s = e->server;
+ assert(s);
+
+ if (e->n_dns_servers <= 0)
return -1;
- assert(l->engine->current_dns_server < l->engine->n_dns_servers);
+ assert(e->current_dns_server < e->n_dns_servers);
- a = &l->engine->dns_servers[l->engine->current_dns_server];
+ a = &e->dns_servers[e->current_dns_server];
l->dns_server_used = *a;
- if (a->proto == AVAHI_PROTO_INET) {
+ if (l->fd >= 0) {
+ /* We are reusing lookup object and sending packet to another server so let's cleanup before we establish connection to new server. */
+ s->poll_api->watch_free(l->watch);
+ l->watch = NULL;
- if (l->engine->fd_ipv4 < 0)
- return -1;
+ close(l->fd);
+ l->fd = -EBADF;
+ }
- return avahi_send_dns_packet_ipv4(l->engine->fd_ipv4, AVAHI_IF_UNSPEC, p, NULL, &a->data.ipv4, AVAHI_DNS_PORT);
+ assert(a->proto == AVAHI_PROTO_INET || a->proto == AVAHI_PROTO_INET6);
- } else {
- assert(a->proto == AVAHI_PROTO_INET6);
+ if (a->proto == AVAHI_PROTO_INET)
+ r = s->config.use_ipv4 ? avahi_open_unicast_socket_ipv4() : -1;
+ else
+ r = s->config.use_ipv6 ? avahi_open_unicast_socket_ipv6() : -1;
- if (l->engine->fd_ipv6 < 0)
- return -1;
+ if (r < 0) {
+ avahi_log_error(__FILE__ ": Failed to create socket for wide area lookup");
+ return -1;
+ }
- return avahi_send_dns_packet_ipv6(l->engine->fd_ipv6, AVAHI_IF_UNSPEC, p, NULL, &a->data.ipv6, AVAHI_DNS_PORT);
+ w = s->poll_api->watch_new(s->poll_api, r, AVAHI_WATCH_IN, socket_event, l);
+ if (!w) {
+ close(r);
+ avahi_log_error(__FILE__ ": Failed to create socket watch for wide area lookup");
+ return -1;
}
+
+ l->fd = r;
+ l->watch = w;
+ l->proto = a->proto;
+
+ return a->proto == AVAHI_PROTO_INET ?
+ avahi_send_dns_packet_ipv4(l->fd, AVAHI_IF_UNSPEC, p, NULL, &a->data.ipv4, AVAHI_DNS_PORT):
+ avahi_send_dns_packet_ipv6(l->fd, AVAHI_IF_UNSPEC, p, NULL, &a->data.ipv6, AVAHI_DNS_PORT);
}
static void next_dns_server(AvahiWideAreaLookupEngine *e) {
@@ -246,6 +279,9 @@ AvahiWideAreaLookup *avahi_wide_area_lookup_new(
l->dead = 0;
l->key = avahi_key_ref(key);
l->cname_key = avahi_key_new_cname(l->key);
+ l->fd = -EBADF;
+ l->watch = NULL;
+ l->proto = AVAHI_PROTO_UNSPEC;
l->callback = callback;
l->userdata = userdata;
@@ -314,6 +350,12 @@ static void lookup_destroy(AvahiWideAreaLookup *l) {
if (l->cname_key)
avahi_key_unref(l->cname_key);
+ if (l->watch)
+ l->engine->server->poll_api->watch_free(l->watch);
+
+ if (l->fd >= 0)
+ close(l->fd);
+
avahi_free(l);
}
@@ -572,14 +614,20 @@ static void handle_packet(AvahiWideAreaLookupEngine *e, AvahiDnsPacket *p) {
}
static void socket_event(AVAHI_GCC_UNUSED AvahiWatch *w, int fd, AVAHI_GCC_UNUSED AvahiWatchEvent events, void *userdata) {
- AvahiWideAreaLookupEngine *e = userdata;
+ AvahiWideAreaLookup *l = userdata;
+ AvahiWideAreaLookupEngine *e = l->engine;
AvahiDnsPacket *p = NULL;
- if (fd == e->fd_ipv4)
- p = avahi_recv_dns_packet_ipv4(e->fd_ipv4, NULL, NULL, NULL, NULL, NULL);
+ assert(l);
+ assert(e);
+ assert(l->fd == fd);
+
+ if (l->proto == AVAHI_PROTO_INET)
+ p = avahi_recv_dns_packet_ipv4(l->fd, NULL, NULL, NULL, NULL, NULL);
else {
- assert(fd == e->fd_ipv6);
- p = avahi_recv_dns_packet_ipv6(e->fd_ipv6, NULL, NULL, NULL, NULL, NULL);
+ assert(l->proto == AVAHI_PROTO_INET6);
+
+ p = avahi_recv_dns_packet_ipv6(l->fd, NULL, NULL, NULL, NULL, NULL);
}
if (p) {
@@ -598,32 +646,6 @@ AvahiWideAreaLookupEngine *avahi_wide_area_engine_new(AvahiServer *s) {
e->server = s;
e->cleanup_dead = 0;
- /* Create sockets */
- e->fd_ipv4 = s->config.use_ipv4 ? avahi_open_unicast_socket_ipv4() : -1;
- e->fd_ipv6 = s->config.use_ipv6 ? avahi_open_unicast_socket_ipv6() : -1;
-
- if (e->fd_ipv4 < 0 && e->fd_ipv6 < 0) {
- avahi_log_error(__FILE__": Failed to create wide area sockets: %s", strerror(errno));
-
- if (e->fd_ipv6 >= 0)
- close(e->fd_ipv6);
-
- if (e->fd_ipv4 >= 0)
- close(e->fd_ipv4);
-
- avahi_free(e);
- return NULL;
- }
-
- /* Create watches */
-
- e->watch_ipv4 = e->watch_ipv6 = NULL;
-
- if (e->fd_ipv4 >= 0)
- e->watch_ipv4 = s->poll_api->watch_new(e->server->poll_api, e->fd_ipv4, AVAHI_WATCH_IN, socket_event, e);
- if (e->fd_ipv6 >= 0)
- e->watch_ipv6 = s->poll_api->watch_new(e->server->poll_api, e->fd_ipv6, AVAHI_WATCH_IN, socket_event, e);
-
e->n_dns_servers = e->current_dns_server = 0;
/* Initialize cache */
@@ -651,18 +673,6 @@ void avahi_wide_area_engine_free(AvahiWideAreaLookupEngine *e) {
avahi_hashmap_free(e->lookups_by_id);
avahi_hashmap_free(e->lookups_by_key);
- if (e->watch_ipv4)
- e->server->poll_api->watch_free(e->watch_ipv4);
-
- if (e->watch_ipv6)
- e->server->poll_api->watch_free(e->watch_ipv6);
-
- if (e->fd_ipv6 >= 0)
- close(e->fd_ipv6);
-
- if (e->fd_ipv4 >= 0)
- close(e->fd_ipv4);
-
avahi_free(e);
}
@@ -680,7 +690,7 @@ void avahi_wide_area_set_servers(AvahiWideAreaLookupEngine *e, const AvahiAddres
if (a) {
for (e->n_dns_servers = 0; n > 0 && e->n_dns_servers < AVAHI_WIDE_AREA_SERVERS_MAX; a++, n--)
- if ((a->proto == AVAHI_PROTO_INET && e->fd_ipv4 >= 0) || (a->proto == AVAHI_PROTO_INET6 && e->fd_ipv6 >= 0))
+ if (a->proto == AVAHI_PROTO_INET || a->proto == AVAHI_PROTO_INET6)
e->dns_servers[e->n_dns_servers++] = *a;
} else {
assert(n == 0);

View File

@@ -0,0 +1,41 @@
From 8d3be0285f1d4667bfe85dba555c663eb3d704b4 Mon Sep 17 00:00:00 2001
From: Yoonje Shin <ioerts@kookmin.ac.kr>
Date: Mon, 12 May 2025 10:48:18 +0200
Subject: [PATCH] dnsproxy: Address CVE-2025-32366 vulnerability
In Connman parse_rr in dnsproxy.c has a memcpy length
that depends on an RR RDLENGTH value (i.e., *rdlen=ntohs(rr->rdlen)
and memcpy(response+offset,*end,*rdlen)). Here, rdlen may be larger
than the amount of remaining packet data in the current state of
parsing. As a result, values of stack memory locations may be sent
over the network in a response.
This patch adds a check to ensure that (*end + *rdlen) does not exceed
the valid range. If the condition is violated, the function returns
-EINVAL.
CVE: CVE-2025-32366
Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=8d3be0285f1d4667bfe85dba555c663eb3d704b4]
Signed-off-by: Praveen Kumar <praveen.kumar@windriver.com>
---
src/dnsproxy.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/dnsproxy.c b/src/dnsproxy.c
index 334dd00..74aed50 100644
--- a/src/dnsproxy.c
+++ b/src/dnsproxy.c
@@ -950,6 +950,9 @@ static int parse_rr(unsigned char *buf, unsigned char *start,
if ((unsigned int) (offset + *rdlen) > *response_size)
return -ENOBUFS;
+ if ((*end + *rdlen) > max)
+ return -EINVAL;
+
memcpy(response + offset, *end, *rdlen);
*end += *rdlen;
--
2.40.0

View File

@@ -10,6 +10,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
file://CVE-2022-32292.patch \
file://CVE-2023-28488.patch \
file://CVE-2025-32743.patch \
file://CVE-2025-32366.patch \
"
SRC_URI:append:libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch"

View File

@@ -66,34 +66,14 @@ start_nfsd(){
start-stop-daemon --start --exec "$NFS_NFSD" -- "$@"
echo done
}
delay_nfsd(){
for delay in 0 1 2 3 4 5 6 7 8 9
do
if pidof nfsd >/dev/null
then
echo -n .
sleep 1
else
return 0
fi
done
return 1
}
stop_nfsd(){
# WARNING: this kills any process with the executable
# name 'nfsd'.
echo -n 'stopping nfsd: '
start-stop-daemon --stop --quiet --signal 1 --name nfsd
if delay_nfsd || {
echo failed
echo ' using signal 9: '
start-stop-daemon --stop --quiet --signal 9 --name nfsd
delay_nfsd
}
$NFS_NFSD 0
if pidof nfsd
then
echo done
else
echo failed
else
echo done
fi
}

View File

@@ -0,0 +1,30 @@
From 2ff2da7ac374a790f8b2a0216bcb4e3126498225 Mon Sep 17 00:00:00 2001
From: "Sicelo A. Mhlongo" <absicsz@gmail.com>
Date: Wed, 4 Dec 2024 10:18:52 +0200
Subject: [PATCH] smsutil: check status report fits in buffer
Fixes CVE-2023-4232
CVE: CVE-2023-4232
Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/ofono/ofono.git/commit/?id=2ff2da7ac374a790f8b2a0216bcb4e3126498225]
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
src/smsutil.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/smsutil.c b/src/smsutil.c
index ac89f16c..a706e26f 100644
--- a/src/smsutil.c
+++ b/src/smsutil.c
@@ -1088,6 +1088,9 @@ static gboolean decode_status_report(const unsigned char *pdu, int len,
if ((len - offset) < expected)
return FALSE;
+ if (expected > (int)sizeof(out->status_report.ud))
+ return FALSE;
+
memcpy(out->status_report.ud, pdu + offset, expected);
}
--
2.30.2

View File

@@ -0,0 +1,37 @@
From 02aa0f9bad3d9e47a152fc045d0f51874d901d7e Mon Sep 17 00:00:00 2001
From: "Sicelo A. Mhlongo" <absicsz@gmail.com>
Date: Wed, 4 Dec 2024 10:18:51 +0200
Subject: [PATCH] smsutil: check deliver reports fit in buffer
Fixes CVE-2023-4235
CVE: CVE-2023-4235
Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/ofono/ofono.git/commit/?id=02aa0f9bad3d9e47a152fc045d0f51874d901d7e]
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
src/smsutil.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/smsutil.c b/src/smsutil.c
index 484bfd0b..ac89f16c 100644
--- a/src/smsutil.c
+++ b/src/smsutil.c
@@ -1240,10 +1240,16 @@ static gboolean decode_deliver_report(const unsigned char *pdu, int len,
return FALSE;
if (out->type == SMS_TYPE_DELIVER_REPORT_ERROR) {
+ if (expected > (int) sizeof(out->deliver_err_report.ud))
+ return FALSE;
+
out->deliver_err_report.udl = udl;
memcpy(out->deliver_err_report.ud,
pdu + offset, expected);
} else {
+ if (expected > (int) sizeof(out->deliver_ack_report.ud))
+ return FALSE;
+
out->deliver_ack_report.udl = udl;
memcpy(out->deliver_ack_report.ud,
pdu + offset, expected);
--
2.30.2

View File

@@ -26,6 +26,8 @@ SRC_URI = "\
file://CVE-2024-7547.patch \
file://CVE-2024-7540_CVE-2024-7541_CVE-2024-7542.patch \
file://CVE-2024-7537.patch \
file://CVE-2023-4232.patch \
file://CVE-2023-4235.patch \
"
SRC_URI[sha256sum] = "c0b96d3013447ec2bcb74579bef90e4e59c68dbfa4b9c6fbce5d12401a43aac7"

View File

@@ -0,0 +1,44 @@
From fc86875e6acb36401dfc1dfb6b628a9d1460f367 Mon Sep 17 00:00:00 2001
From: "djm@openbsd.org" <djm@openbsd.org>
Date: Wed, 9 Apr 2025 07:00:03 +0000
Subject: [PATCH] upstream: Fix logic error in DisableForwarding option. This
option
was documented as disabling X11 and agent forwarding but it failed to do so.
Spotted by Tim Rice.
OpenBSD-Commit-ID: fffc89195968f7eedd2fc57f0b1f1ef3193f5ed1
Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/fc86875e6acb36401dfc1dfb6b628a9d1460f367]
CVE: CVE-2025-32728
Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
---
session.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/session.c b/session.c
index e67d24d..625e97f 100644
--- a/session.c
+++ b/session.c
@@ -2182,7 +2182,8 @@ session_auth_agent_req(struct ssh *ssh, Session *s)
if ((r = sshpkt_get_end(ssh)) != 0)
sshpkt_fatal(ssh, r, "%s: parse packet", __func__);
if (!auth_opts->permit_agent_forwarding_flag ||
- !options.allow_agent_forwarding) {
+ !options.allow_agent_forwarding ||
+ options.disable_forwarding) {
debug_f("agent forwarding disabled");
return 0;
}
@@ -2568,7 +2569,7 @@ session_setup_x11fwd(struct ssh *ssh, Session *s)
ssh_packet_send_debug(ssh, "X11 forwarding disabled by key options.");
return 0;
}
- if (!options.x11_forwarding) {
+ if (!options.x11_forwarding || options.disable_forwarding) {
debug("X11 forwarding disabled in server configuration file.");
return 0;
}
--
2.25.1

View File

@@ -38,6 +38,7 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
file://CVE-2023-51385.patch \
file://CVE-2024-6387.patch \
file://CVE-2025-26465.patch \
file://CVE-2025-32728.patch \
"
SRC_URI[sha256sum] = "fd497654b7ab1686dac672fb83dfb4ba4096e8b5ffcdaccd262380ae58bec5e7"

View File

@@ -0,0 +1,618 @@
From 24734088e1034392de981151dfe57e3a379ada18 Mon Sep 17 00:00:00 2001
From: Hubert Kario <hkario@redhat.com>
Date: Tue, 15 Mar 2022 13:58:08 +0100
Subject: [PATCH 1/3] rsa: add implicit rejection in PKCS#1 v1.5
The RSA decryption as implemented before required very careful handling
of both the exit code returned by OpenSSL and the potentially returned
ciphertext. Looking at the recent security vulnerabilities
(CVE-2020-25659 and CVE-2020-25657) it is unlikely that most users of
OpenSSL do it correctly.
Given that correct code requires side channel secure programming in
application code, we can classify the existing RSA decryption methods
as CWE-676, which in turn likely causes CWE-208 and CWE-385 in
application code.
To prevent that, we can use a technique called "implicit rejection".
For that we generate a random message to be returned in case the
padding check fails. We generate the message based on static secret
data (the private exponent) and the provided ciphertext (so that the
attacker cannot determine that the returned value is randomly generated
instead of result of decryption and de-padding). We return it in case
any part of padding check fails.
The upshot of this approach is that then not only is the length of the
returned message useless as the Bleichenbacher oracle, so are the
actual bytes of the returned message. So application code doesn't have
to perform any operations on the returned message in side-channel free
way to remain secure against Bleichenbacher attacks.
Note: this patch implements a specific algorithm, shared with Mozilla
NSS, so that the attacker cannot use one library as an oracle against the
other in heterogeneous environments.
CVE: CVE-2023-50781
Upstream-Status: Backport
[https://github.com/openssl/openssl/commit/7fc67e0a33102aa47bbaa56533eeecb98c0450f7]
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13817)
Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
---
crypto/rsa/rsa_ossl.c | 95 +++++++-
crypto/rsa/rsa_pk1.c | 252 ++++++++++++++++++++++
doc/man1/openssl-pkeyutl.pod.in | 5 +
doc/man1/openssl-rsautl.pod.in | 5 +
doc/man3/EVP_PKEY_CTX_ctrl.pod | 7 +
doc/man3/EVP_PKEY_decrypt.pod | 12 ++
doc/man3/RSA_padding_add_PKCS1_type_1.pod | 7 +-
doc/man3/RSA_public_encrypt.pod | 11 +-
include/crypto/rsa.h | 4 +
9 files changed, 393 insertions(+), 5 deletions(-)
diff --git a/crypto/rsa/rsa_ossl.c b/crypto/rsa/rsa_ossl.c
index 0fc642e777..330302ae55 100644
--- a/crypto/rsa/rsa_ossl.c
+++ b/crypto/rsa/rsa_ossl.c
@@ -17,6 +17,9 @@
#include "crypto/bn.h"
#include "rsa_local.h"
#include "internal/constant_time.h"
+#include <openssl/evp.h>
+#include <openssl/sha.h>
+#include <openssl/hmac.h>
static int rsa_ossl_public_encrypt(int flen, const unsigned char *from,
unsigned char *to, RSA *rsa, int padding);
@@ -377,8 +380,13 @@ static int rsa_ossl_private_decrypt(int flen, const unsigned char *from,
BIGNUM *f, *ret;
int j, num = 0, r = -1;
unsigned char *buf = NULL;
+ unsigned char d_hash[SHA256_DIGEST_LENGTH] = {0};
+ HMAC_CTX *hmac = NULL;
+ unsigned int md_len = SHA256_DIGEST_LENGTH;
+ unsigned char kdk[SHA256_DIGEST_LENGTH] = {0};
BN_CTX *ctx = NULL;
int local_blinding = 0;
+ EVP_MD *md = NULL;
/*
* Used only if the blinding structure is shared. A non-NULL unblind
* instructs rsa_blinding_convert() and rsa_blinding_invert() to store
@@ -408,6 +416,11 @@ static int rsa_ossl_private_decrypt(int flen, const unsigned char *from,
goto err;
}
+ if (flen < 1) {
+ ERR_raise(ERR_LIB_RSA, RSA_R_DATA_TOO_SMALL);
+ goto err;
+ }
+
/* make data into a big number */
if (BN_bin2bn(from, (int)flen, f) == NULL)
goto err;
@@ -472,13 +485,91 @@ static int rsa_ossl_private_decrypt(int flen, const unsigned char *from,
if (!rsa_blinding_invert(blinding, ret, unblind, ctx))
goto err;
+ /*
+ * derive the Key Derivation Key from private exponent and public
+ * ciphertext
+ */
+ if (!(rsa->flags & RSA_FLAG_EXT_PKEY)) {
+ /*
+ * because we use d as a handle to rsa->d we need to keep it local and
+ * free before any further use of rsa->d
+ */
+ BIGNUM *d = BN_new();
+ if (d == NULL) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_MALLOC_FAILURE);
+ goto err;
+ }
+ if (rsa->d == NULL) {
+ ERR_raise(ERR_LIB_RSA, RSA_R_MISSING_PRIVATE_KEY);
+ BN_free(d);
+ goto err;
+ }
+ BN_with_flags(d, rsa->d, BN_FLG_CONSTTIME);
+ if (BN_bn2binpad(d, buf, num) < 0) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ BN_free(d);
+ goto err;
+ }
+ BN_free(d);
+
+ /*
+ * we use hardcoded hash so that migrating between versions that use
+ * different hash doesn't provide a Bleichenbacher oracle:
+ * if the attacker can see that different versions return different
+ * messages for the same ciphertext, they'll know that the message is
+ * syntethically generated, which means that the padding check failed
+ */
+ md = EVP_MD_fetch(rsa->libctx, "sha256", NULL);
+ if (md == NULL) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+
+ if (EVP_Digest(buf, num, d_hash, NULL, md, NULL) <= 0) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+
+ hmac = HMAC_CTX_new();
+ if (hmac == NULL) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_MALLOC_FAILURE);
+ goto err;
+ }
+
+ if (HMAC_Init_ex(hmac, d_hash, sizeof(d_hash), md, NULL) <= 0) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+
+ if (flen < num) {
+ memset(buf, 0, num - flen);
+ if (HMAC_Update(hmac, buf, num - flen) <= 0) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+ }
+ if (HMAC_Update(hmac, from, flen) <= 0) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+
+ md_len = SHA256_DIGEST_LENGTH;
+ if (HMAC_Final(hmac, kdk, &md_len) <= 0) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+ }
+
j = BN_bn2binpad(ret, buf, num);
if (j < 0)
goto err;
switch (padding) {
case RSA_PKCS1_PADDING:
- r = RSA_padding_check_PKCS1_type_2(to, num, buf, j, num);
+ if (rsa->flags & RSA_FLAG_EXT_PKEY)
+ r = RSA_padding_check_PKCS1_type_2(to, num, buf, j, num);
+ else
+ r = ossl_rsa_padding_check_PKCS1_type_2(rsa->libctx, to, num, buf, j, num, kdk);
break;
case RSA_PKCS1_OAEP_PADDING:
r = RSA_padding_check_PKCS1_OAEP(to, num, buf, j, num, NULL, 0);
@@ -501,6 +592,8 @@ static int rsa_ossl_private_decrypt(int flen, const unsigned char *from,
#endif
err:
+ HMAC_CTX_free(hmac);
+ EVP_MD_free(md);
BN_CTX_end(ctx);
BN_CTX_free(ctx);
OPENSSL_clear_free(buf, num);
diff --git a/crypto/rsa/rsa_pk1.c b/crypto/rsa/rsa_pk1.c
index 51507fc030..5cd2b26879 100644
--- a/crypto/rsa/rsa_pk1.c
+++ b/crypto/rsa/rsa_pk1.c
@@ -21,10 +21,14 @@
#include <openssl/rand.h>
/* Just for the SSL_MAX_MASTER_KEY_LENGTH value */
#include <openssl/prov_ssl.h>
+#include <openssl/evp.h>
+#include <openssl/sha.h>
+#include <openssl/hmac.h>
#include "internal/cryptlib.h"
#include "crypto/rsa.h"
#include "rsa_local.h"
+
int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen,
const unsigned char *from, int flen)
{
@@ -273,6 +277,254 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen,
return constant_time_select_int(good, mlen, -1);
}
+
+static int ossl_rsa_prf(OSSL_LIB_CTX *ctx,
+ unsigned char *to, int tlen,
+ const char *label, int llen,
+ const unsigned char *kdk,
+ uint16_t bitlen)
+{
+ int pos;
+ int ret = -1;
+ uint16_t iter = 0;
+ unsigned char be_iter[sizeof(iter)];
+ unsigned char be_bitlen[sizeof(bitlen)];
+ HMAC_CTX *hmac = NULL;
+ EVP_MD *md = NULL;
+ unsigned char hmac_out[SHA256_DIGEST_LENGTH];
+ unsigned int md_len;
+
+ if (tlen * 8 != bitlen) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ return ret;
+ }
+
+ be_bitlen[0] = (bitlen >> 8) & 0xff;
+ be_bitlen[1] = bitlen & 0xff;
+
+ hmac = HMAC_CTX_new();
+ if (hmac == NULL) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+
+ /*
+ * we use hardcoded hash so that migrating between versions that use
+ * different hash doesn't provide a Bleichenbacher oracle:
+ * if the attacker can see that different versions return different
+ * messages for the same ciphertext, they'll know that the message is
+ * syntethically generated, which means that the padding check failed
+ */
+ md = EVP_MD_fetch(ctx, "sha256", NULL);
+ if (md == NULL) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+
+ if (HMAC_Init_ex(hmac, kdk, SHA256_DIGEST_LENGTH, md, NULL) <= 0) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+
+ for (pos = 0; pos < tlen; pos += SHA256_DIGEST_LENGTH, iter++) {
+ if (HMAC_Init_ex(hmac, NULL, 0, NULL, NULL) <= 0) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+
+ be_iter[0] = (iter >> 8) & 0xff;
+ be_iter[1] = iter & 0xff;
+
+ if (HMAC_Update(hmac, be_iter, sizeof(be_iter)) <= 0) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+ if (HMAC_Update(hmac, (unsigned char *)label, llen) <= 0) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+ if (HMAC_Update(hmac, be_bitlen, sizeof(be_bitlen)) <= 0) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+
+ /*
+ * HMAC_Final requires the output buffer to fit the whole MAC
+ * value, so we need to use the intermediate buffer for the last
+ * unaligned block
+ */
+ md_len = SHA256_DIGEST_LENGTH;
+ if (pos + SHA256_DIGEST_LENGTH > tlen) {
+ if (HMAC_Final(hmac, hmac_out, &md_len) <= 0) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+ memcpy(to + pos, hmac_out, tlen - pos);
+ } else {
+ if (HMAC_Final(hmac, to + pos, &md_len) <= 0) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ goto err;
+ }
+ }
+ }
+
+ ret = 0;
+
+err:
+ HMAC_CTX_free(hmac);
+ EVP_MD_free(md);
+ return ret;
+}
+
+/*
+ * ossl_rsa_padding_check_PKCS1_type_2() checks and removes the PKCS#1 type 2
+ * padding from a decrypted RSA message. Unlike the
+ * RSA_padding_check_PKCS1_type_2() it will not return an error in case it
+ * detects a padding error, rather it will return a deterministically generated
+ * random message. In other words it will perform an implicit rejection
+ * of an invalid padding. This means that the returned value does not indicate
+ * if the padding of the encrypted message was correct or not, making
+ * side channel attacks like the ones described by Bleichenbacher impossible
+ * without access to the full decrypted value and a brute-force search of
+ * remaining padding bytes
+ */
+int ossl_rsa_padding_check_PKCS1_type_2(OSSL_LIB_CTX *ctx,
+ unsigned char *to, int tlen,
+ const unsigned char *from, int flen,
+ int num, unsigned char *kdk)
+{
+/*
+ * We need to generate a random length for the synthethic message, to avoid
+ * bias towards zero and avoid non-constant timeness of DIV, we prepare
+ * 128 values to check if they are not too large for the used key size,
+ * and use 0 in case none of them are small enough, as 2^-128 is a good enough
+ * safety margin
+ */
+#define MAX_LEN_GEN_TRIES 128
+ unsigned char *synthetic = NULL;
+ int synthethic_length;
+ uint16_t len_candidate;
+ unsigned char candidate_lengths[MAX_LEN_GEN_TRIES * sizeof(len_candidate)];
+ uint16_t len_mask;
+ uint16_t max_sep_offset;
+ int synth_msg_index = 0;
+ int ret = -1;
+ int i, j;
+ unsigned int good, found_zero_byte;
+ int zero_index = 0, msg_index;
+
+ /*
+ * If these checks fail then either the message in publicly invalid, or
+ * we've been called incorrectly. We can fail immediately.
+ * Since this code is called only internally by openssl, those are just
+ * sanity checks
+ */
+ if (num != flen || tlen <= 0 || flen <= 0) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ return -1;
+ }
+
+ /* Generate a random message to return in case the padding checks fail */
+ synthetic = OPENSSL_malloc(flen);
+ if (synthetic == NULL) {
+ ERR_raise(ERR_LIB_RSA, ERR_R_MALLOC_FAILURE);
+ return -1;
+ }
+
+ if (ossl_rsa_prf(ctx, synthetic, flen, "message", 7, kdk, flen * 8) < 0)
+ goto err;
+
+ /* decide how long the random message should be */
+ if (ossl_rsa_prf(ctx, candidate_lengths, sizeof(candidate_lengths),
+ "length", 6, kdk,
+ MAX_LEN_GEN_TRIES * sizeof(len_candidate) * 8) < 0)
+ goto err;
+
+ /*
+ * max message size is the size of the modulus size less 2 bytes for
+ * version and padding type and a minimum of 8 bytes padding
+ */
+ len_mask = max_sep_offset = flen - 2 - 8;
+ /*
+ * we want a mask so lets propagate the high bit to all positions less
+ * significant than it
+ */
+ len_mask |= len_mask >> 1;
+ len_mask |= len_mask >> 2;
+ len_mask |= len_mask >> 4;
+ len_mask |= len_mask >> 8;
+
+ synthethic_length = 0;
+ for (i = 0; i < MAX_LEN_GEN_TRIES * (int)sizeof(len_candidate);
+ i += sizeof(len_candidate)) {
+ len_candidate = (candidate_lengths[i] << 8) | candidate_lengths[i + 1];
+ len_candidate &= len_mask;
+
+ synthethic_length = constant_time_select_int(
+ constant_time_lt(len_candidate, max_sep_offset),
+ len_candidate, synthethic_length);
+ }
+
+ synth_msg_index = flen - synthethic_length;
+
+ /* we have alternative message ready, check the real one */
+ good = constant_time_is_zero(from[0]);
+ good &= constant_time_eq(from[1], 2);
+
+ /* then look for the padding|message separator (the first zero byte) */
+ found_zero_byte = 0;
+ for (i = 2; i < flen; i++) {
+ unsigned int equals0 = constant_time_is_zero(from[i]);
+ zero_index = constant_time_select_int(~found_zero_byte & equals0,
+ i, zero_index);
+ found_zero_byte |= equals0;
+ }
+
+ /*
+ * padding must be at least 8 bytes long, and it starts two bytes into
+ * |from|. If we never found a 0-byte, then |zero_index| is 0 and the check
+ * also fails.
+ */
+ good &= constant_time_ge(zero_index, 2 + 8);
+
+ /*
+ * Skip the zero byte. This is incorrect if we never found a zero-byte
+ * but in this case we also do not copy the message out.
+ */
+ msg_index = zero_index + 1;
+
+ /*
+ * old code returned an error in case the decrypted message wouldn't fit
+ * into the |to|, since that would leak information, return the synthethic
+ * message instead
+ */
+ good &= constant_time_ge(tlen, num - msg_index);
+
+ msg_index = constant_time_select_int(good, msg_index, synth_msg_index);
+
+ /*
+ * since at this point the |msg_index| does not provide the signal
+ * indicating if the padding check failed or not, we don't have to worry
+ * about leaking the length of returned message, we still need to ensure
+ * that we read contents of both buffers so that cache accesses don't leak
+ * the value of |good|
+ */
+ for (i = msg_index, j = 0; i < flen && j < tlen; i++, j++)
+ to[j] = constant_time_select_8(good, from[i], synthetic[i]);
+ ret = j;
+
+err:
+ /*
+ * the only time ret < 0 is when the ciphertext is publicly invalid
+ * or we were called with invalid parameters, so we don't have to perform
+ * a side-channel secure raising of the error
+ */
+ if (ret < 0)
+ ERR_raise(ERR_LIB_RSA, ERR_R_INTERNAL_ERROR);
+ OPENSSL_free(synthetic);
+ return ret;
+}
+
/*
* ossl_rsa_padding_check_PKCS1_type_2_TLS() checks and removes the PKCS1 type 2
* padding from a decrypted RSA message in a TLS signature. The result is stored
diff --git a/doc/man1/openssl-pkeyutl.pod.in b/doc/man1/openssl-pkeyutl.pod.in
index 2f6ef0021d..015265a74d 100644
--- a/doc/man1/openssl-pkeyutl.pod.in
+++ b/doc/man1/openssl-pkeyutl.pod.in
@@ -273,6 +273,11 @@ signed or verified directly instead of using a B<DigestInfo> structure. If a
digest is set, then the B<DigestInfo> structure is used and its length
must correspond to the digest type.
+Note, for B<pkcs1> padding, as a protection against Bleichenbacher attack,
+the decryption will not fail in case of padding check failures. Use B<none>
+and manual inspection of the decrypted message to verify if the decrypted
+value has correct PKCS#1 v1.5 padding.
+
For B<oaep> mode only encryption and decryption is supported.
For B<x931> if the digest type is set it is used to format the block data
diff --git a/doc/man1/openssl-rsautl.pod.in b/doc/man1/openssl-rsautl.pod.in
index 0a32fd965b..4c462abc8c 100644
--- a/doc/man1/openssl-rsautl.pod.in
+++ b/doc/man1/openssl-rsautl.pod.in
@@ -105,6 +105,11 @@ The padding to use: PKCS#1 v1.5 (the default), PKCS#1 OAEP,
ANSI X9.31, or no padding, respectively.
For signatures, only B<-pkcs> and B<-raw> can be used.
+Note: because of protection against Bleichenbacher attacks, decryption
+using PKCS#1 v1.5 mode will not return errors in case padding check failed.
+Use B<-raw> and inspect the returned value manually to check if the
+padding is correct.
+
=item B<-hexdump>
Hex dump the output data.
diff --git a/doc/man3/EVP_PKEY_CTX_ctrl.pod b/doc/man3/EVP_PKEY_CTX_ctrl.pod
index 3075eaafd6..e788f38809 100644
--- a/doc/man3/EVP_PKEY_CTX_ctrl.pod
+++ b/doc/man3/EVP_PKEY_CTX_ctrl.pod
@@ -386,6 +386,13 @@ this behaviour should be tolerated then
OSSL_ASYM_CIPHER_PARAM_TLS_NEGOTIATED_VERSION should be set to the actual
negotiated protocol version. Otherwise it should be left unset.
+Similarly to the B<RSA_PKCS1_WITH_TLS_PADDING> above, since OpenSSL version
+3.1.0, the use of B<RSA_PKCS1_PADDING> will return a randomly generated message
+instead of padding errors in case padding checks fail. Applications that
+want to remain secure while using earlier versions of OpenSSL, still need to
+handle both the error code from the RSA decryption operation and the
+returned message in a side channel secure manner.
+
=head2 DSA parameters
EVP_PKEY_CTX_set_dsa_paramgen_bits() sets the number of bits used for DSA
diff --git a/doc/man3/EVP_PKEY_decrypt.pod b/doc/man3/EVP_PKEY_decrypt.pod
index b6f9bad5f1..898535a7a2 100644
--- a/doc/man3/EVP_PKEY_decrypt.pod
+++ b/doc/man3/EVP_PKEY_decrypt.pod
@@ -51,6 +51,18 @@ return 1 for success and 0 or a negative value for failure. In particular a
return value of -2 indicates the operation is not supported by the public key
algorithm.
+=head1 WARNINGS
+
+In OpenSSL versions before 3.1.0, when used in PKCS#1 v1.5 padding,
+both the return value from the EVP_PKEY_decrypt() and the B<outlen> provided
+information useful in mounting a Bleichenbacher attack against the
+used private key. They had to processed in a side-channel free way.
+
+Since version 3.1.0, the EVP_PKEY_decrypt() method when used with PKCS#1
+v1.5 padding doesn't return an error in case it detects an error in padding,
+instead it returns a pseudo-randomly generated message, removing the need
+of side-channel secure code from applications using OpenSSL.
+
=head1 EXAMPLES
Decrypt data using OAEP (for RSA keys):
diff --git a/doc/man3/RSA_padding_add_PKCS1_type_1.pod b/doc/man3/RSA_padding_add_PKCS1_type_1.pod
index 9f7025c497..36ae18563f 100644
--- a/doc/man3/RSA_padding_add_PKCS1_type_1.pod
+++ b/doc/man3/RSA_padding_add_PKCS1_type_1.pod
@@ -121,8 +121,8 @@ L<ERR_get_error(3)>.
=head1 WARNINGS
-The result of RSA_padding_check_PKCS1_type_2() is a very sensitive
-information which can potentially be used to mount a Bleichenbacher
+The result of RSA_padding_check_PKCS1_type_2() is exactly the
+information which is used to mount a classical Bleichenbacher
padding oracle attack. This is an inherent weakness in the PKCS #1
v1.5 padding design. Prefer PKCS1_OAEP padding. If that is not
possible, the result of RSA_padding_check_PKCS1_type_2() should be
@@ -137,6 +137,9 @@ as this would create a small timing side channel which could be
used to mount a Bleichenbacher attack against any padding mode
including PKCS1_OAEP.
+You should prefer the use of EVP PKEY APIs for PKCS#1 v1.5 decryption
+as they implement the necessary workarounds internally.
+
=head1 SEE ALSO
L<RSA_public_encrypt(3)>,
diff --git a/doc/man3/RSA_public_encrypt.pod b/doc/man3/RSA_public_encrypt.pod
index 1d38073aea..bd3f835ac6 100644
--- a/doc/man3/RSA_public_encrypt.pod
+++ b/doc/man3/RSA_public_encrypt.pod
@@ -52,8 +52,8 @@ Encrypting user data directly with RSA is insecure.
=back
-B<flen> must not be more than RSA_size(B<rsa>) - 11 for the PKCS #1 v1.5
-based padding modes, not more than RSA_size(B<rsa>) - 42 for
+When encrypting B<flen> must not be more than RSA_size(B<rsa>) - 11 for the
+PKCS #1 v1.5 based padding modes, not more than RSA_size(B<rsa>) - 42 for
RSA_PKCS1_OAEP_PADDING and exactly RSA_size(B<rsa>) for RSA_NO_PADDING.
When a padding mode other than RSA_NO_PADDING is in use, then
RSA_public_encrypt() will include some random bytes into the ciphertext
@@ -92,6 +92,13 @@ which can potentially be used to mount a Bleichenbacher padding oracle
attack. This is an inherent weakness in the PKCS #1 v1.5 padding
design. Prefer RSA_PKCS1_OAEP_PADDING.
+In OpenSSL before version 3.1.0, both the return value and the length of
+returned value could be used to mount the Bleichenbacher attack.
+Since version 3.1.0, OpenSSL does not return an error in case of padding
+checks failed. Instead it generates a random message based on used private
+key and provided ciphertext so that application code doesn't have to implement
+a side-channel secure error handling.
+
=head1 CONFORMING TO
SSL, PKCS #1 v2.0
diff --git a/include/crypto/rsa.h b/include/crypto/rsa.h
index 949873d0ee..f267e5d9d1 100644
--- a/include/crypto/rsa.h
+++ b/include/crypto/rsa.h
@@ -83,6 +83,10 @@ int ossl_rsa_param_decode(RSA *rsa, const X509_ALGOR *alg);
RSA *ossl_rsa_key_from_pkcs8(const PKCS8_PRIV_KEY_INFO *p8inf,
OSSL_LIB_CTX *libctx, const char *propq);
+int ossl_rsa_padding_check_PKCS1_type_2(OSSL_LIB_CTX *ctx,
+ unsigned char *to, int tlen,
+ const unsigned char *from, int flen,
+ int num, unsigned char *kdk);
int ossl_rsa_padding_check_PKCS1_type_2_TLS(OSSL_LIB_CTX *ctx, unsigned char *to,
size_t tlen,
const unsigned char *from,
--
2.34.1

View File

@@ -0,0 +1,358 @@
From e92f0cd3b03e5aca948b03df7e3d02e536700f68 Mon Sep 17 00:00:00 2001
From: Hubert Kario <hkario@redhat.com>
Date: Thu, 27 Oct 2022 19:16:58 +0200
Subject: [PATCH 2/3] rsa: Add option to disable implicit rejection
CVE: CVE-2023-50781
Upstream-Status: Backport
[https://github.com/openssl/openssl/commit/5ab3ec1bb1eaa795d775f5896818cfaa84d33a1a]
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13817)
Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
---
crypto/cms/cms_env.c | 7 +++++
crypto/evp/ctrl_params_translate.c | 6 +++++
crypto/rsa/rsa_ossl.c | 16 ++++++++----
crypto/rsa/rsa_pmeth.c | 20 +++++++++++++-
doc/man1/openssl-pkeyutl.pod.in | 10 +++++++
doc/man3/EVP_PKEY_CTX_ctrl.pod | 2 ++
doc/man7/provider-asym_cipher.pod | 9 +++++++
include/openssl/core_names.h | 2 ++
include/openssl/rsa.h | 5 ++++
.../implementations/asymciphers/rsa_enc.c | 26 +++++++++++++++++--
10 files changed, 95 insertions(+), 8 deletions(-)
diff --git a/crypto/cms/cms_env.c b/crypto/cms/cms_env.c
index 445a16fb77..49b0289114 100644
--- a/crypto/cms/cms_env.c
+++ b/crypto/cms/cms_env.c
@@ -581,6 +581,13 @@ static int cms_RecipientInfo_ktri_decrypt(CMS_ContentInfo *cms,
if (!ossl_cms_env_asn1_ctrl(ri, 1))
goto err;
+ if (EVP_PKEY_is_a(pkey, "RSA"))
+ /* upper layer CMS code incorrectly assumes that a successful RSA
+ * decryption means that the key matches ciphertext (which never
+ * was the case, implicit rejection or not), so to make it work
+ * disable implicit rejection for RSA keys */
+ EVP_PKEY_CTX_ctrl_str(ktri->pctx, "rsa_pkcs1_implicit_rejection", "0");
+
if (EVP_PKEY_decrypt(ktri->pctx, NULL, &eklen,
ktri->encryptedKey->data,
ktri->encryptedKey->length) <= 0)
diff --git a/crypto/evp/ctrl_params_translate.c b/crypto/evp/ctrl_params_translate.c
index 44d0895bcf..db7325439a 100644
--- a/crypto/evp/ctrl_params_translate.c
+++ b/crypto/evp/ctrl_params_translate.c
@@ -2269,6 +2269,12 @@ static const struct translation_st evp_pkey_ctx_translations[] = {
EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL, NULL, NULL,
OSSL_ASYM_CIPHER_PARAM_OAEP_LABEL, OSSL_PARAM_OCTET_PTR, NULL },
+ { SET, EVP_PKEY_RSA, 0, EVP_PKEY_OP_TYPE_CRYPT,
+ EVP_PKEY_CTRL_RSA_IMPLICIT_REJECTION, NULL,
+ "rsa_pkcs1_implicit_rejection",
+ OSSL_ASYM_CIPHER_PARAM_IMPLICIT_REJECTION, OSSL_PARAM_UNSIGNED_INTEGER,
+ NULL },
+
{ SET, EVP_PKEY_RSA_PSS, 0, EVP_PKEY_OP_TYPE_GEN,
EVP_PKEY_CTRL_MD, "rsa_pss_keygen_md", NULL,
OSSL_ALG_PARAM_DIGEST, OSSL_PARAM_UTF8_STRING, fix_md },
diff --git a/crypto/rsa/rsa_ossl.c b/crypto/rsa/rsa_ossl.c
index 330302ae55..4bdacd5ed9 100644
--- a/crypto/rsa/rsa_ossl.c
+++ b/crypto/rsa/rsa_ossl.c
@@ -395,6 +395,12 @@ static int rsa_ossl_private_decrypt(int flen, const unsigned char *from,
BIGNUM *unblind = NULL;
BN_BLINDING *blinding = NULL;
+ /*
+ * we need the value of the private exponent to perform implicit rejection
+ */
+ if ((rsa->flags & RSA_FLAG_EXT_PKEY) && (padding == RSA_PKCS1_PADDING))
+ padding = RSA_PKCS1_NO_IMPLICIT_REJECT_PADDING;
+
if ((ctx = BN_CTX_new_ex(rsa->libctx)) == NULL)
goto err;
BN_CTX_start(ctx);
@@ -489,7 +495,7 @@ static int rsa_ossl_private_decrypt(int flen, const unsigned char *from,
* derive the Key Derivation Key from private exponent and public
* ciphertext
*/
- if (!(rsa->flags & RSA_FLAG_EXT_PKEY)) {
+ if (padding == RSA_PKCS1_PADDING) {
/*
* because we use d as a handle to rsa->d we need to keep it local and
* free before any further use of rsa->d
@@ -565,11 +571,11 @@ static int rsa_ossl_private_decrypt(int flen, const unsigned char *from,
goto err;
switch (padding) {
+ case RSA_PKCS1_NO_IMPLICIT_REJECT_PADDING:
+ r = RSA_padding_check_PKCS1_type_2(to, num, buf, j, num);
+ break;
case RSA_PKCS1_PADDING:
- if (rsa->flags & RSA_FLAG_EXT_PKEY)
- r = RSA_padding_check_PKCS1_type_2(to, num, buf, j, num);
- else
- r = ossl_rsa_padding_check_PKCS1_type_2(rsa->libctx, to, num, buf, j, num, kdk);
+ r = ossl_rsa_padding_check_PKCS1_type_2(rsa->libctx, to, num, buf, j, num, kdk);
break;
case RSA_PKCS1_OAEP_PADDING:
r = RSA_padding_check_PKCS1_OAEP(to, num, buf, j, num, NULL, 0);
diff --git a/crypto/rsa/rsa_pmeth.c b/crypto/rsa/rsa_pmeth.c
index 0bf5ac098a..81b031f81b 100644
--- a/crypto/rsa/rsa_pmeth.c
+++ b/crypto/rsa/rsa_pmeth.c
@@ -52,6 +52,8 @@ typedef struct {
/* OAEP label */
unsigned char *oaep_label;
size_t oaep_labellen;
+ /* if to use implicit rejection in PKCS#1 v1.5 decryption */
+ int implicit_rejection;
} RSA_PKEY_CTX;
/* True if PSS parameters are restricted */
@@ -72,6 +74,7 @@ static int pkey_rsa_init(EVP_PKEY_CTX *ctx)
/* Maximum for sign, auto for verify */
rctx->saltlen = RSA_PSS_SALTLEN_AUTO;
rctx->min_saltlen = -1;
+ rctx->implicit_rejection = 1;
ctx->data = rctx;
ctx->keygen_info = rctx->gentmp;
ctx->keygen_info_count = 2;
@@ -97,6 +100,7 @@ static int pkey_rsa_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src)
dctx->md = sctx->md;
dctx->mgf1md = sctx->mgf1md;
dctx->saltlen = sctx->saltlen;
+ dctx->implicit_rejection = sctx->implicit_rejection;
if (sctx->oaep_label) {
OPENSSL_free(dctx->oaep_label);
dctx->oaep_label = OPENSSL_memdup(sctx->oaep_label, sctx->oaep_labellen);
@@ -347,6 +351,7 @@ static int pkey_rsa_decrypt(EVP_PKEY_CTX *ctx,
const unsigned char *in, size_t inlen)
{
int ret;
+ int pad_mode;
RSA_PKEY_CTX *rctx = ctx->data;
/*
* Discard const. Its marked as const because this may be a cached copy of
@@ -367,7 +372,12 @@ static int pkey_rsa_decrypt(EVP_PKEY_CTX *ctx,
rctx->oaep_labellen,
rctx->md, rctx->mgf1md);
} else {
- ret = RSA_private_decrypt(inlen, in, out, rsa, rctx->pad_mode);
+ if (rctx->pad_mode == RSA_PKCS1_PADDING &&
+ rctx->implicit_rejection == 0)
+ pad_mode = RSA_PKCS1_NO_IMPLICIT_REJECT_PADDING;
+ else
+ pad_mode = rctx->pad_mode;
+ ret = RSA_private_decrypt(inlen, in, out, rsa, pad_mode);
}
*outlen = constant_time_select_s(constant_time_msb_s(ret), *outlen, ret);
ret = constant_time_select_int(constant_time_msb(ret), ret, 1);
@@ -591,6 +601,14 @@ static int pkey_rsa_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
*(unsigned char **)p2 = rctx->oaep_label;
return rctx->oaep_labellen;
+ case EVP_PKEY_CTRL_RSA_IMPLICIT_REJECTION:
+ if (rctx->pad_mode != RSA_PKCS1_PADDING) {
+ ERR_raise(ERR_LIB_RSA, RSA_R_INVALID_PADDING_MODE);
+ return -2;
+ }
+ rctx->implicit_rejection = p1;
+ return 1;
+
case EVP_PKEY_CTRL_DIGESTINIT:
case EVP_PKEY_CTRL_PKCS7_SIGN:
#ifndef OPENSSL_NO_CMS
diff --git a/doc/man1/openssl-pkeyutl.pod.in b/doc/man1/openssl-pkeyutl.pod.in
index 015265a74d..5e62551d34 100644
--- a/doc/man1/openssl-pkeyutl.pod.in
+++ b/doc/man1/openssl-pkeyutl.pod.in
@@ -305,6 +305,16 @@ explicitly set in PSS mode then the signing digest is used.
Sets the digest used for the OAEP hash function. If not explicitly set then
SHA1 is used.
+=item B<rsa_pkcs1_implicit_rejection:>I<flag>
+
+Disables (when set to 0) or enables (when set to 1) the use of implicit
+rejection with PKCS#1 v1.5 decryption. When enabled (the default), as a
+protection against Bleichenbacher attack, the library will generate a
+deterministic random plaintext that it will return to the caller in case
+of padding check failure.
+When disabled, it's the callers' responsibility to handle the returned
+errors in a side-channel free manner.
+
=back
=head1 RSA-PSS ALGORITHM
diff --git a/doc/man3/EVP_PKEY_CTX_ctrl.pod b/doc/man3/EVP_PKEY_CTX_ctrl.pod
index e788f38809..3844aa2199 100644
--- a/doc/man3/EVP_PKEY_CTX_ctrl.pod
+++ b/doc/man3/EVP_PKEY_CTX_ctrl.pod
@@ -392,6 +392,8 @@ instead of padding errors in case padding checks fail. Applications that
want to remain secure while using earlier versions of OpenSSL, still need to
handle both the error code from the RSA decryption operation and the
returned message in a side channel secure manner.
+This protection against Bleichenbacher attacks can be disabled by setting
+the OSSL_ASYM_CIPHER_PARAM_IMPLICIT_REJECTION (an unsigned integer) to 0.
=head2 DSA parameters
diff --git a/doc/man7/provider-asym_cipher.pod b/doc/man7/provider-asym_cipher.pod
index 0976a263a8..2a8426a6ed 100644
--- a/doc/man7/provider-asym_cipher.pod
+++ b/doc/man7/provider-asym_cipher.pod
@@ -234,6 +234,15 @@ The TLS protocol version first requested by the client.
The negotiated TLS protocol version.
+=item "implicit-rejection" (B<OSSL_PKEY_PARAM_IMPLICIT_REJECTION>) <unsigned integer>
+
+Gets of sets the use of the implicit rejection mechanism for RSA PKCS#1 v1.5
+decryption. When set (non zero value), the decryption API will return
+a deterministically random value if the PKCS#1 v1.5 padding check fails.
+This makes explotation of the Bleichenbacher significantly harder, even
+if the code using the RSA decryption API is not implemented in side-channel
+free manner. Set by default.
+
=back
OSSL_FUNC_asym_cipher_gettable_ctx_params() and OSSL_FUNC_asym_cipher_settable_ctx_params()
diff --git a/include/openssl/core_names.h b/include/openssl/core_names.h
index 6bed5a8a67..5a350b537f 100644
--- a/include/openssl/core_names.h
+++ b/include/openssl/core_names.h
@@ -292,6 +292,7 @@ extern "C" {
#define OSSL_PKEY_PARAM_DIST_ID "distid"
#define OSSL_PKEY_PARAM_PUB_KEY "pub"
#define OSSL_PKEY_PARAM_PRIV_KEY "priv"
+#define OSSL_PKEY_PARAM_IMPLICIT_REJECTION "implicit-rejection"
/* Diffie-Hellman/DSA Parameters */
#define OSSL_PKEY_PARAM_FFC_P "p"
@@ -467,6 +468,7 @@ extern "C" {
#define OSSL_ASYM_CIPHER_PARAM_OAEP_LABEL "oaep-label"
#define OSSL_ASYM_CIPHER_PARAM_TLS_CLIENT_VERSION "tls-client-version"
#define OSSL_ASYM_CIPHER_PARAM_TLS_NEGOTIATED_VERSION "tls-negotiated-version"
+#define OSSL_ASYM_CIPHER_PARAM_IMPLICIT_REJECTION "implicit-rejection"
/*
* Encoder / decoder parameters
diff --git a/include/openssl/rsa.h b/include/openssl/rsa.h
index a55c9727c6..247f9014e3 100644
--- a/include/openssl/rsa.h
+++ b/include/openssl/rsa.h
@@ -183,6 +183,8 @@ int EVP_PKEY_CTX_get0_rsa_oaep_label(EVP_PKEY_CTX *ctx, unsigned char **label);
# define EVP_PKEY_CTRL_RSA_KEYGEN_PRIMES (EVP_PKEY_ALG_CTRL + 13)
+# define EVP_PKEY_CTRL_RSA_IMPLICIT_REJECTION (EVP_PKEY_ALG_CTRL + 14)
+
# define RSA_PKCS1_PADDING 1
# define RSA_NO_PADDING 3
# define RSA_PKCS1_OAEP_PADDING 4
@@ -192,6 +194,9 @@ int EVP_PKEY_CTX_get0_rsa_oaep_label(EVP_PKEY_CTX *ctx, unsigned char **label);
# define RSA_PKCS1_PSS_PADDING 6
# define RSA_PKCS1_WITH_TLS_PADDING 7
+/* internal RSA_ only */
+# define RSA_PKCS1_NO_IMPLICIT_REJECT_PADDING 8
+
# define RSA_PKCS1_PADDING_SIZE 11
# define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,arg)
diff --git a/providers/implementations/asymciphers/rsa_enc.c b/providers/implementations/asymciphers/rsa_enc.c
index c8921acd6e..11a91e62b1 100644
--- a/providers/implementations/asymciphers/rsa_enc.c
+++ b/providers/implementations/asymciphers/rsa_enc.c
@@ -75,6 +75,8 @@ typedef struct {
/* TLS padding */
unsigned int client_version;
unsigned int alt_version;
+ /* PKCS#1 v1.5 decryption mode */
+ unsigned int implicit_rejection;
} PROV_RSA_CTX;
static void *rsa_newctx(void *provctx)
@@ -107,6 +109,7 @@ static int rsa_init(void *vprsactx, void *vrsa, const OSSL_PARAM params[],
RSA_free(prsactx->rsa);
prsactx->rsa = vrsa;
prsactx->operation = operation;
+ prsactx->implicit_rejection = 1;
switch (RSA_test_flags(prsactx->rsa, RSA_FLAG_TYPE_MASK)) {
case RSA_FLAG_TYPE_RSA:
@@ -199,6 +202,7 @@ static int rsa_decrypt(void *vprsactx, unsigned char *out, size_t *outlen,
{
PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx;
int ret;
+ int pad_mode;
size_t len = RSA_size(prsactx->rsa);
if (!ossl_prov_is_running())
@@ -276,8 +280,12 @@ static int rsa_decrypt(void *vprsactx, unsigned char *out, size_t *outlen,
}
OPENSSL_free(tbuf);
} else {
- ret = RSA_private_decrypt(inlen, in, out, prsactx->rsa,
- prsactx->pad_mode);
+ if ((prsactx->implicit_rejection == 0) &&
+ (prsactx->pad_mode == RSA_PKCS1_PADDING))
+ pad_mode = RSA_PKCS1_NO_IMPLICIT_REJECT_PADDING;
+ else
+ pad_mode = prsactx->pad_mode;
+ ret = RSA_private_decrypt(inlen, in, out, prsactx->rsa, pad_mode);
}
*outlen = constant_time_select_s(constant_time_msb_s(ret), *outlen, ret);
ret = constant_time_select_int(constant_time_msb(ret), 0, 1);
@@ -401,6 +409,10 @@ static int rsa_get_ctx_params(void *vprsactx, OSSL_PARAM *params)
if (p != NULL && !OSSL_PARAM_set_uint(p, prsactx->alt_version))
return 0;
+ p = OSSL_PARAM_locate(params, OSSL_ASYM_CIPHER_PARAM_IMPLICIT_REJECTION);
+ if (p != NULL && !OSSL_PARAM_set_uint(p, prsactx->implicit_rejection))
+ return 0;
+
return 1;
}
@@ -412,6 +424,7 @@ static const OSSL_PARAM known_gettable_ctx_params[] = {
NULL, 0),
OSSL_PARAM_uint(OSSL_ASYM_CIPHER_PARAM_TLS_CLIENT_VERSION, NULL),
OSSL_PARAM_uint(OSSL_ASYM_CIPHER_PARAM_TLS_NEGOTIATED_VERSION, NULL),
+ OSSL_PARAM_uint(OSSL_ASYM_CIPHER_PARAM_IMPLICIT_REJECTION, NULL),
OSSL_PARAM_END
};
@@ -549,6 +562,14 @@ static int rsa_set_ctx_params(void *vprsactx, const OSSL_PARAM params[])
return 0;
prsactx->alt_version = alt_version;
}
+ p = OSSL_PARAM_locate_const(params, OSSL_ASYM_CIPHER_PARAM_IMPLICIT_REJECTION);
+ if (p != NULL) {
+ unsigned int implicit_rejection;
+
+ if (!OSSL_PARAM_get_uint(p, &implicit_rejection))
+ return 0;
+ prsactx->implicit_rejection = implicit_rejection;
+ }
return 1;
}
@@ -562,6 +583,7 @@ static const OSSL_PARAM known_settable_ctx_params[] = {
OSSL_PARAM_octet_string(OSSL_ASYM_CIPHER_PARAM_OAEP_LABEL, NULL, 0),
OSSL_PARAM_uint(OSSL_ASYM_CIPHER_PARAM_TLS_CLIENT_VERSION, NULL),
OSSL_PARAM_uint(OSSL_ASYM_CIPHER_PARAM_TLS_NEGOTIATED_VERSION, NULL),
+ OSSL_PARAM_uint(OSSL_ASYM_CIPHER_PARAM_IMPLICIT_REJECTION, NULL),
OSSL_PARAM_END
};
--
2.34.1

View File

@@ -0,0 +1,41 @@
From ba78f7b0599ba5bfb5032dd2664465c5b13388e3 Mon Sep 17 00:00:00 2001
From: Hubert Kario <hkario@redhat.com>
Date: Tue, 22 Nov 2022 18:25:49 +0100
Subject: [PATCH 3/3] smime/pkcs7: disable the Bleichenbacher workaround
CVE: CVE-2023-50781
Upstream-Status: Backport
[https://github.com/openssl/openssl/commit/056dade341d2589975a3aae71f81c8d7061583c7]
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13817)
Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
---
crypto/pkcs7/pk7_doit.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/crypto/pkcs7/pk7_doit.c b/crypto/pkcs7/pk7_doit.c
index e9de097da1..6d3124da87 100644
--- a/crypto/pkcs7/pk7_doit.c
+++ b/crypto/pkcs7/pk7_doit.c
@@ -170,6 +170,13 @@ static int pkcs7_decrypt_rinfo(unsigned char **pek, int *peklen,
if (EVP_PKEY_decrypt_init(pctx) <= 0)
goto err;
+ if (EVP_PKEY_is_a(pkey, "RSA"))
+ /* upper layer pkcs7 code incorrectly assumes that a successful RSA
+ * decryption means that the key matches ciphertext (which never
+ * was the case, implicit rejection or not), so to make it work
+ * disable implicit rejection for RSA keys */
+ EVP_PKEY_CTX_ctrl_str(pctx, "rsa_pkcs1_implicit_rejection", "0");
+
if (EVP_PKEY_decrypt(pctx, NULL, &eklen,
ri->enc_key->data, ri->enc_key->length) <= 0)
goto err;
--
2.34.1

View File

@@ -0,0 +1,441 @@
From 8ae4f0e68ebb7435be494b58676827ae91695371 Mon Sep 17 00:00:00 2001
From: Hubert Kario <hkario@redhat.com>
Date: Tue, 12 Jan 2021 14:58:04 +0100
Subject: [PATCH] rsa: add test vectors for the implicit rejection in RSA
PKCS#1 v1.5
CVE: CVE-2023-50781
Upstream-Status: Backport [https://github.com/openssl/openssl/commit/8ae4f0e68ebb7435be494b58676827ae91695371]
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13817)
Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
---
.../30-test_evp_data/evppkey_rsa_common.txt | 408 ++++++++++++++++++
1 file changed, 408 insertions(+)
diff --git a/test/recipes/30-test_evp_data/evppkey_rsa_common.txt b/test/recipes/30-test_evp_data/evppkey_rsa_common.txt
index 080c4d02af..1405465098 100644
--- a/test/recipes/30-test_evp_data/evppkey_rsa_common.txt
+++ b/test/recipes/30-test_evp_data/evppkey_rsa_common.txt
@@ -277,6 +277,414 @@ Derive = RSA-2048
Result = KEYOP_INIT_ERROR
Reason = operation not supported for this keytype
+# Test vectors for the Bleichenbacher workaround
+
+PrivateKey = RSA-2048-2
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAyMyDlxQJjaVsqiNkD5PciZfBY3KWj8Gwxt9RE8HJTosh5IrS
+KX5lQZARtObY9ec7G3iyV0ADIdHva2AtTsjOjRQclJBetK0wZjmkkgZTS25/JgdC
+Ppff/RM8iNchOZ3vvH6WzNy9fzquH+iScSv7SSmBfVEWZkQKH6y3ogj16hZZEK3Y
+o/LUlyAjYMy2MgJPDQcWnBkY8xb3lLFDrvVOyHUipMApePlomYC/+/ZJwwfoGBm/
++IQJY41IvZS+FStZ/2SfoL1inQ/6GBPDq/S1a9PC6lRl3/oUWJKSqdiiStJr5+4F
+EHQbY4LUPIPVv6QKRmE9BivkRVF9vK8MtOGnaQIDAQABAoIBABRVAQ4PLVh2Y6Zm
+pv8czbvw7dgQBkbQKgI5IpCJksStOeVWWSlybvZQjDpxFY7wtv91HTnQdYC7LS8G
+MhBELQYD/1DbvXs1/iybsZpHoa+FpMJJAeAsqLWLeRmyDt8yqs+/Ua20vEthubfp
+aMqk1XD3DvGNgGMiiJPkfUOe/KeTJZvPLNEIo9hojN8HjnrHmZafIznSwfUiuWlo
+RimpM7quwmgWJeq4T05W9ER+nYj7mhmc9xAj4OJXsURBszyE07xnyoAx0mEmGBA6
+egpAhEJi912IkM1hblH5A1SI/W4Jnej/bWWk/xGCVIB8n1jS+7qLoVHcjGi+NJyX
+eiBOBMECgYEA+PWta6gokxvqRZuKP23AQdI0gkCcJXHpY/MfdIYColY3GziD7UWe
+z5cFJkWe3RbgVSL1pF2UdRsuwtrycsf4gWpSwA0YCAFxY02omdeXMiL1G5N2MFSG
+lqn32MJKWUl8HvzUVc+5fuhtK200lyszL9owPwSZm062tcwLsz53Yd0CgYEAznou
+O0mpC5YzChLcaCvfvfuujdbcA7YUeu+9V1dD8PbaTYYjUGG3Gv2crS00Al5WrIaw
+93Q+s14ay8ojeJVCRGW3Bu0iF15XGMjHC2cD6o9rUQ+UW+SOWja7PDyRcytYnfwF
+1y2AkDGURSvaITSGR+xylD8RqEbmL66+jrU2sP0CgYB2/hXxiuI5zfHfa0RcpLxr
+uWjXiMIZM6T13NKAAz1nEgYswIpt8gTB+9C+RjB0Q+bdSmRWN1Qp1OA4yiVvrxyb
+3pHGsXt2+BmV+RxIy768e/DjSUwINZ5OjNalh9e5bWIh/X4PtcVXXwgu5XdpeYBx
+sru0oyI4FRtHMUu2VHkDEQKBgQCZiEiwVUmaEAnLx9KUs2sf/fICDm5zZAU+lN4a
+AA3JNAWH9+JydvaM32CNdTtjN3sDtvQITSwCfEs4lgpiM7qe2XOLdvEOp1vkVgeL
+9wH2fMaz8/3BhuZDNsdrNy6AkQ7ICwrcwj0C+5rhBIaigkgHW06n5W3fzziC5FFW
+FHGikQKBgGQ790ZCn32DZnoGUwITR++/wF5jUfghqd67YODszeUAWtnp7DHlWPfp
+LCkyjnRWnXzvfHTKvCs1XtQBoaCRS048uwZITlgZYFEWntFMqi76bqBE4FTSYUTM
+FinFUBBVigThM/RLfCRNrCW/kTxXuJDuSfVIJZzWNAT+9oWdz5da
+-----END RSA PRIVATE KEY-----
+
+# corresponding public key
+PublicKey = RSA-2048-2-PUBLIC
+-----BEGIN PUBLIC KEY-----
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyMyDlxQJjaVsqiNkD5Pc
+iZfBY3KWj8Gwxt9RE8HJTosh5IrSKX5lQZARtObY9ec7G3iyV0ADIdHva2AtTsjO
+jRQclJBetK0wZjmkkgZTS25/JgdCPpff/RM8iNchOZ3vvH6WzNy9fzquH+iScSv7
+SSmBfVEWZkQKH6y3ogj16hZZEK3Yo/LUlyAjYMy2MgJPDQcWnBkY8xb3lLFDrvVO
+yHUipMApePlomYC/+/ZJwwfoGBm/+IQJY41IvZS+FStZ/2SfoL1inQ/6GBPDq/S1
+a9PC6lRl3/oUWJKSqdiiStJr5+4FEHQbY4LUPIPVv6QKRmE9BivkRVF9vK8MtOGn
+aQIDAQAB
+-----END PUBLIC KEY-----
+
+PrivPubKeyPair = RSA-2048-2:RSA-2048-2-PUBLIC
+
+# RSA decrypt
+
+# a random positive test case
+Decrypt = RSA-2048-2
+Input = 8bfe264e85d3bdeaa6b8851b8e3b956ee3d226fd3f69063a86880173a273d9f283b2eebdd1ed35f7e02d91c571981b6737d5320bd8396b0f3ad5b019daec1b0aab3cbbc026395f4fd14f13673f2dfc81f9b660ec26ac381e6db3299b4e460b43fab9955df2b3cfaa20e900e19c856238fd371899c2bf2ce8c868b76754e5db3b036533fd603746be13c10d4e3e6022ebc905d20c2a7f32b215a4cd53b3f44ca1c327d2c2b651145821c08396c89071f665349c25e44d2733cd9305985ceef6430c3cf57af5fa224089221218fa34737c79c446d28a94c41c96e4e92ac53fbcf384dea8419ea089f8784445a492c812eb0d409467f75afd7d4d1078886205a066
+Output = "lorem ipsum dolor sit amet"
+
+# a random negative test case decrypting to empty
+Decrypt = RSA-2048-2
+Input = 20aaa8adbbc593a924ba1c5c7990b5c2242ae4b99d0fe636a19a4cf754edbcee774e472fe028160ed42634f8864900cb514006da642cae6ae8c7d087caebcfa6dad1551301e130344989a1d462d4164505f6393933450c67bc6d39d8f5160907cabc251b737925a1cf21e5c6aa5781b7769f6a2a583d97cce008c0f8b6add5f0b2bd80bee60237aa39bb20719fe75749f4bc4e42466ef5a861ae3a92395c7d858d430bfe38040f445ea93fa2958b503539800ffa5ce5f8cf51fa8171a91f36cb4f4575e8de6b4d3f096ee140b938fd2f50ee13f0d050222e2a72b0a3069ff3a6738e82c87090caa5aed4fcbe882c49646aa250b98f12f83c8d528113614a29e7
+Output =
+
+# invalid decrypting to max length message
+Decrypt = RSA-2048-2
+Input = 48cceab10f39a4db32f60074feea473cbcdb7accf92e150417f76b44756b190e843e79ec12aa85083a21f5437e7bad0a60482e601198f9d86923239c8786ee728285afd0937f7dde12717f28389843d7375912b07b991f4fdb0190fced8ba665314367e8c5f9d2981d0f5128feeb46cb50fc237e64438a86df198dd0209364ae3a842d77532b66b7ef263b83b1541ed671b120dfd660462e2107a4ee7b964e734a7bd68d90dda61770658a3c242948532da32648687e0318286473f675b412d6468f013f14d760a358dfcad3cda2afeec5e268a37d250c37f722f468a70dfd92d7294c3c1ee1e7f8843b7d16f9f37ef35748c3ae93aa155cdcdfeb4e78567303
+Output = 22d850137b9eebe092b24f602dc5bb7918c16bd89ddbf20467b119d205f9c2e4bd7d2592cf1e532106e0f33557565923c73a02d4f09c0c22bea89148183e60317f7028b3aa1f261f91c979393101d7e15f4067e63979b32751658ef769610fe97cf9cef3278b3117d384051c3b1d82c251c2305418c8f6840530e631aad63e70e20e025bcd8efb54c92ec6d3b106a2f8e64eeff7d38495b0fc50c97138af4b1c0a67a1c4e27b077b8439332edfa8608dfeae653cd6a628ac550395f7e74390e42c11682234870925eeaa1fa71b76cf1f2ee3bda69f6717033ff8b7c95c9799e7a3bea5e7e4a1c359772fb6b1c6e6c516661dfe30c3
+
+# invalid decrypting to message with length specified by second to last value from PRF
+Decrypt = RSA-2048-2
+Input = 1439e08c3f84c1a7fec74ce07614b20e01f6fa4e8c2a6cffdc3520d8889e5d9a950c6425798f85d4be38d300ea5695f13ecd4cb389d1ff5b82484b494d6280ab7fa78e645933981cb934cce8bfcd114cc0e6811eefa47aae20af638a1cd163d2d3366186d0a07df0c81f6c9f3171cf3561472e98a6006bf75ddb457bed036dcce199369de7d94ef2c68e8467ee0604eea2b3009479162a7891ba5c40cab17f49e1c438cb6eaea4f76ce23cce0e483ff0e96fa790ea15be67671814342d0a23f4a20262b6182e72f3a67cd289711503c85516a9ed225422f98b116f1ab080a80abd6f0216df88d8cfd67c139243be8dd78502a7aaf6bc99d7da71bcdf627e7354
+Output = 0f9b
+
+# invalid decrypting to message with length specified by third to last value from PRF
+Decrypt = RSA-2048-2
+Input = 1690ebcceece2ce024f382e467cf8510e74514120937978576caf684d4a02ad569e8d76cbe365a060e00779de2f0865ccf0d923de3b4783a4e2c74f422e2f326086c390b658ba47f31ab013aa80f468c71256e5fa5679b24e83cd82c3d1e05e398208155de2212993cd2b8bab6987cf4cc1293f19909219439d74127545e9ed8a706961b8ee2119f6bfacafbef91b75a789ba65b8b833bc6149cf49b5c4d2c6359f62808659ba6541e1cd24bf7f7410486b5103f6c0ea29334ea6f4975b17387474fe920710ea61568d7b7c0a7916acf21665ad5a31c4eabcde44f8fb6120d8457afa1f3c85d517cda364af620113ae5a3c52a048821731922737307f77a1081
+Output = 4f02
+
+# positive test with 11 byte long value
+Decrypt = RSA-2048-2
+Input = 6213634593332c485cef783ea2846e3d6e8b0e005cd8293eaebbaa5079712fd681579bdfbbda138ae4d9d952917a03c92398ec0cb2bb0c6b5a8d55061fed0d0d8d72473563152648cfe640b335dc95331c21cb133a91790fa93ae44497c128708970d2beeb77e8721b061b1c44034143734a77be8220877415a6dba073c3871605380542a9f25252a4babe8331cdd53cf828423f3cc70b560624d0581fb126b2ed4f4ed358f0eb8065cf176399ac1a846a31055f9ae8c9c24a1ba050bc20842125bc1753158f8065f3adb9cc16bfdf83816bdf38b624f12022c5a6fbfe29bc91542be8c0208a770bcd677dc597f5557dc2ce28a11bf3e3857f158717a33f6592
+Output = "lorem ipsum"
+
+# positive test with 11 byte long value and zero padded ciphertext
+Decrypt = RSA-2048-2
+Input = 00a2e8f114ea8d05d12dc843e3cc3b2edc8229ff2a028bda29ba9d55e3cd02911902fef1f42a075bf05e8016e8567213d6f260fa49e360779dd81aeea3e04c2cb567e0d72b98bf754014561b7511e083d20e0bfb9cd23f8a0d3c88900c49d2fcd5843ff0765607b2026f28202a87aa94678aed22a0c20724541394cd8f44e373eba1d2bae98f516c1e2ba3d86852d064f856b1daf24795e767a2b90396e50743e3150664afab131fe40ea405dcf572dd1079af1d3f0392ccadcca0a12740dbb213b925ca2a06b1bc1383e83a658c82ba2e7427342379084d5f66b544579f07664cb26edd4f10fd913fdbc0de05ef887d4d1ec1ac95652397ea7fd4e4759fda8b
+Output = "lorem ipsum"
+
+# positive test with 11 byte long value and zero truncated ciphertext
+Decrypt = RSA-2048-2
+Input = a2e8f114ea8d05d12dc843e3cc3b2edc8229ff2a028bda29ba9d55e3cd02911902fef1f42a075bf05e8016e8567213d6f260fa49e360779dd81aeea3e04c2cb567e0d72b98bf754014561b7511e083d20e0bfb9cd23f8a0d3c88900c49d2fcd5843ff0765607b2026f28202a87aa94678aed22a0c20724541394cd8f44e373eba1d2bae98f516c1e2ba3d86852d064f856b1daf24795e767a2b90396e50743e3150664afab131fe40ea405dcf572dd1079af1d3f0392ccadcca0a12740dbb213b925ca2a06b1bc1383e83a658c82ba2e7427342379084d5f66b544579f07664cb26edd4f10fd913fdbc0de05ef887d4d1ec1ac95652397ea7fd4e4759fda8b
+Output = "lorem ipsum"
+
+# positive test with 11 byte long value and double zero padded ciphertext
+Decrypt = RSA-2048-2
+Input = 00001f71879b426127f7dead621f7380a7098cf7d22173aa27991b143c46d53383c209bd0c9c00d84078037e715f6b98c65005a77120070522ede51d472c87ef94b94ead4c5428ee108a345561658301911ec5a8f7dd43ed4a3957fd29fb02a3529bf63f8040d3953490939bd8f78b2a3404b6fb5ff70a4bfdaac5c541d6bcce49c9778cc390be24cbef1d1eca7e870457241d3ff72ca44f9f56bdf31a890fa5eb3a9107b603ccc9d06a5dd911a664c82b6abd4fe036f8db8d5a070c2d86386ae18d97adc1847640c211d91ff5c3387574a26f8ef27ca7f48d2dd1f0c7f14b81cc9d33ee6853031d3ecf10a914ffd90947909c8011fd30249219348ebff76bfc
+Output = "lorem ipsum"
+
+# positive test with 11 byte long value and double zero truncated ciphertext
+Decrypt = RSA-2048-2
+Input = 1f71879b426127f7dead621f7380a7098cf7d22173aa27991b143c46d53383c209bd0c9c00d84078037e715f6b98c65005a77120070522ede51d472c87ef94b94ead4c5428ee108a345561658301911ec5a8f7dd43ed4a3957fd29fb02a3529bf63f8040d3953490939bd8f78b2a3404b6fb5ff70a4bfdaac5c541d6bcce49c9778cc390be24cbef1d1eca7e870457241d3ff72ca44f9f56bdf31a890fa5eb3a9107b603ccc9d06a5dd911a664c82b6abd4fe036f8db8d5a070c2d86386ae18d97adc1847640c211d91ff5c3387574a26f8ef27ca7f48d2dd1f0c7f14b81cc9d33ee6853031d3ecf10a914ffd90947909c8011fd30249219348ebff76bfc
+Output = "lorem ipsum"
+
+# positive that generates a 0 byte long synthethic message internally
+Decrypt = RSA-2048-2
+Input = b5e49308f6e9590014ffaffc5b8560755739dd501f1d4e9227a7d291408cf4b753f292322ff8bead613bf2caa181b221bc38caf6392deafb28eb21ad60930841ed02fd6225cc9c463409adbe7d8f32440212fbe3881c51375bb09565efb22e62b071472fb38676e5b4e23a0617db5d14d93519ac0007a30a9c822eb31c38b57fcb1be29608fcf1ca2abdcaf5d5752bbc2b5ac7dba5afcff4a5641da360dd01f7112539b1ed46cdb550a3b1006559b9fe1891030ec80f0727c42401ddd6cbb5e3c80f312df6ec89394c5a7118f573105e7ab00fe57833c126141b50a935224842addfb479f75160659ba28877b512bb9a93084ad8bec540f92640f63a11a010e0
+Output = "lorem ipsum"
+
+# positive that generates a 245 byte long synthethic message internally
+Decrypt = RSA-2048-2
+Input = 1ea0b50ca65203d0a09280d39704b24fe6e47800189db5033f202761a78bafb270c5e25abd1f7ecc6e7abc4f26d1b0cd9b8c648d529416ee64ccbdd7aa72a771d0353262b543f0e436076f40a1095f5c7dfd10dcf0059ccb30e92dfa5e0156618215f1c3ff3aa997a9d999e506924f5289e3ac72e5e2086cc7b499d71583ed561028671155db4005bee01800a7cdbdae781dd32199b8914b5d4011dd6ff11cd26d46aad54934d293b0bc403dd211bf13b5a5c6836a5e769930f437ffd8634fb7371776f4bc88fa6c271d8aa6013df89ae6470154497c4ac861be2a1c65ebffec139bf7aaba3a81c7c5cdd84da9af5d3edfb957848074686b5837ecbcb6a41c50
+Output = "lorem ipsum"
+
+# a random negative test that generates an 11 byte long message
+Decrypt = RSA-2048-2
+Input = 5f02f4b1f46935c742ebe62b6f05aa0a3286aab91a49b34780adde6410ab46f7386e05748331864ac98e1da63686e4babe3a19ed40a7f5ceefb89179596aab07ab1015e03b8f825084dab028b6731288f2e511a4b314b6ea3997d2e8fe2825cef8897cbbdfb6c939d441d6e04948414bb69e682927ef8576c9a7090d4aad0e74c520d6d5ce63a154720f00b76de8cc550b1aa14f016d63a7b6d6eaa1f7dbe9e50200d3159b3d099c900116bf4eba3b94204f18b1317b07529751abf64a26b0a0bf1c8ce757333b3d673211b67cc0653f2fe2620d57c8b6ee574a0323a167eab1106d9bc7fd90d415be5f1e9891a0e6c709f4fc0404e8226f8477b4e939b36eb2
+Output = af9ac70191c92413cb9f2d
+
+# an otherwise correct plaintext, but with wrong first byte
+# (0x01 instead of 0x00), generates a random 11 byte long plaintext
+Decrypt = RSA-2048-2
+Input = 9b2ec9c0c917c98f1ad3d0119aec6be51ae3106e9af1914d48600ab6a2c0c0c8ae02a2dc3039906ff3aac904af32ec798fd65f3ad1afa2e69400e7c1de81f5728f3b3291f38263bc7a90a0563e43ce7a0d4ee9c0d8a716621ca5d3d081188769ce1b131af7d35b13dea99153579c86db31fe07d5a2c14d621b77854e48a8df41b5798563af489a291e417b6a334c63222627376118c02c53b6e86310f728734ffc86ef9d7c8bf56c0c841b24b82b59f51aee4526ba1c4268506d301e4ebc498c6aebb6fd5258c876bf900bac8ca4d309dd522f6a6343599a8bc3760f422c10c72d0ad527ce4af1874124ace3d99bb74db8d69d2528db22c3a37644640f95c05f
+Output = a1f8c9255c35cfba403ccc
+
+# an otherwise correct plaintext, but with wrong second byte
+# (0x01 instead of 0x02), generates a random 11 byte long plaintext
+Decrypt = RSA-2048-2
+Input = 782c2b59a21a511243820acedd567c136f6d3090c115232a82a5efb0b178285f55b5ec2d2bac96bf00d6592ea7cdc3341610c8fb07e527e5e2d20cfaf2c7f23e375431f45e998929a02f25fd95354c33838090bca838502259e92d86d568bc2cdb132fab2a399593ca60a015dc2bb1afcd64fef8a3834e17e5358d822980dc446e845b3ab4702b1ee41fe5db716d92348d5091c15d35a110555a35deb4650a5a1d2c98025d42d4544f8b32aa6a5e02dc02deaed9a7313b73b49b0d4772a3768b0ea0db5846ace6569cae677bf67fb0acf3c255dc01ec8400c963b6e49b1067728b4e563d7e1e1515664347b92ee64db7efb5452357a02fff7fcb7437abc2e579
+Output = e6d700309ca0ed62452254
+
+# an invalid ciphertext, with a zero byte in first byte of
+# ciphertext, decrypts to a random 11 byte long synthethic
+# plaintext
+Decrypt = RSA-2048-2
+Input = 0096136621faf36d5290b16bd26295de27f895d1faa51c800dafce73d001d60796cd4e2ac3fa2162131d859cd9da5a0c8a42281d9a63e5f353971b72e36b5722e4ac444d77f892a5443deb3dca49fa732fe855727196e23c26eeac55eeced8267a209ebc0f92f4656d64a6c13f7f7ce544ebeb0f668fe3a6c0f189e4bcd5ea12b73cf63e0c8350ee130dd62f01e5c97a1e13f52fde96a9a1bc9936ce734fdd61f27b18216f1d6de87f49cf4f2ea821fb8efd1f92cdad529baf7e31aff9bff4074f2cad2b4243dd15a711adcf7de900851fbd6bcb53dac399d7c880531d06f25f7002e1aaf1722765865d2c2b902c7736acd27bc6cbd3e38b560e2eecf7d4b576
+Output = ba27b1842e7c21c0e7ef6a
+
+# an invalid ciphertext, with a zero byte removed from first byte of
+# ciphertext, decrypts to a random 11 byte long synthethic
+# plaintext
+Decrypt = RSA-2048-2
+Input = 96136621faf36d5290b16bd26295de27f895d1faa51c800dafce73d001d60796cd4e2ac3fa2162131d859cd9da5a0c8a42281d9a63e5f353971b72e36b5722e4ac444d77f892a5443deb3dca49fa732fe855727196e23c26eeac55eeced8267a209ebc0f92f4656d64a6c13f7f7ce544ebeb0f668fe3a6c0f189e4bcd5ea12b73cf63e0c8350ee130dd62f01e5c97a1e13f52fde96a9a1bc9936ce734fdd61f27b18216f1d6de87f49cf4f2ea821fb8efd1f92cdad529baf7e31aff9bff4074f2cad2b4243dd15a711adcf7de900851fbd6bcb53dac399d7c880531d06f25f7002e1aaf1722765865d2c2b902c7736acd27bc6cbd3e38b560e2eecf7d4b576
+Output = ba27b1842e7c21c0e7ef6a
+
+# an invalid ciphertext, with two zero bytes in first bytes of
+# ciphertext, decrypts to a random 11 byte long synthethic
+# plaintext
+Decrypt = RSA-2048-2
+Input = 0000587cccc6b264bdfe0dc2149a988047fa921801f3502ea64624c510c6033d2f427e3f136c26e88ea9f6519e86a542cec96aad1e5e9013c3cc203b6de15a69183050813af5c9ad79703136d4b92f50ce171eefc6aa7988ecf02f319ffc5eafd6ee7a137f8fce64b255bb1b8dd19cfe767d64fdb468b9b2e9e7a0c24dae03239c8c714d3f40b7ee9c4e59ac15b17e4d328f1100756bce17133e8e7493b54e5006c3cbcdacd134130c5132a1edebdbd01a0c41452d16ed7a0788003c34730d0808e7e14c797a21f2b45a8aa1644357fd5e988f99b017d9df37563a354c788dc0e2f9466045622fa3f3e17db63414d27761f57392623a2bef6467501c63e8d645
+Output = d5cf555b1d6151029a429a
+
+# an invalid ciphertext, with two zero bytes removed from first bytes of
+# ciphertext, decrypts to a random 11 byte long synthethic
+# plaintext
+Decrypt = RSA-2048-2
+Input = 587cccc6b264bdfe0dc2149a988047fa921801f3502ea64624c510c6033d2f427e3f136c26e88ea9f6519e86a542cec96aad1e5e9013c3cc203b6de15a69183050813af5c9ad79703136d4b92f50ce171eefc6aa7988ecf02f319ffc5eafd6ee7a137f8fce64b255bb1b8dd19cfe767d64fdb468b9b2e9e7a0c24dae03239c8c714d3f40b7ee9c4e59ac15b17e4d328f1100756bce17133e8e7493b54e5006c3cbcdacd134130c5132a1edebdbd01a0c41452d16ed7a0788003c34730d0808e7e14c797a21f2b45a8aa1644357fd5e988f99b017d9df37563a354c788dc0e2f9466045622fa3f3e17db63414d27761f57392623a2bef6467501c63e8d645
+Output = d5cf555b1d6151029a429a
+
+# and invalid ciphertext, otherwise valid but starting with 000002, decrypts
+# to random 11 byte long synthethic plaintext
+Decrypt = RSA-2048-2
+Input = 1786550ce8d8433052e01ecba8b76d3019f1355b212ac9d0f5191b023325a7e7714b7802f8e9a17c4cb3cd3a84041891471b10ca1fcfb5d041d34c82e6d0011cf4dc76b90e9c2e0743590579d55bcd7857057152c4a8040361343d1d22ba677d62b011407c652e234b1d663af25e2386251d7409190f19fc8ec3f9374fdf1254633874ce2ec2bff40ad0cb473f9761ec7b68da45a4bd5e33f5d7dac9b9a20821df9406b653f78a95a6c0ea0a4d57f867e4db22c17bf9a12c150f809a7b72b6db86c22a8732241ebf3c6a4f2cf82671d917aba8bc61052b40ccddd743a94ea9b538175106201971cca9d136d25081739aaf6cd18b2aecf9ad320ea3f89502f955
+Output = 3d4a054d9358209e9cbbb9
+
+# negative test with otherwise valid padding but a zero byte in first byte
+# of padding
+Decrypt = RSA-2048-2
+Input = 179598823812d2c58a7eb50521150a48bcca8b4eb53414018b6bca19f4801456c5e36a940037ac516b0d6412ba44ec6b4f268a55ef1c5ffbf18a2f4e3522bb7b6ed89774b79bffa22f7d3102165565642de0d43a955e96a1f2e80e5430671d7266eb4f905dc8ff5e106dc5588e5b0289e49a4913940e392a97062616d2bda38155471b7d360cfb94681c702f60ed2d4de614ea72bf1c53160e63179f6c5b897b59492bee219108309f0b7b8cb2b136c346a5e98b8b4b8415fb1d713bae067911e3057f1c335b4b7e39101eafd5d28f0189037e4334f4fdb9038427b1d119a6702aa8233319cc97d496cc289ae8c956ddc84042659a2d43d6aa22f12b81ab884e
+Output = 1f037dd717b07d3e7f7359
+
+# negative test with otherwise valid padding but a zero byte at the eigth
+# byte of padding
+Decrypt = RSA-2048-2
+Input = a7a340675a82c30e22219a55bc07cdf36d47d01834c1834f917f18b517419ce9de2a96460e745024436470ed85e94297b283537d52189c406a3f533cb405cc6a9dba46b482ce98b6e3dd52d8fce2237425617e38c11fbc46b61897ef200d01e4f25f5f6c4c5b38cd0de38ba11908b86595a8036a08a42a3d05b79600a97ac18ba368a08d6cf6ccb624f6e8002afc75599fba4de3d4f3ba7d208391ebe8d21f8282b18e2c10869eb2702e68f9176b42b0ddc9d763f0c86ba0ff92c957aaeab76d9ab8da52ea297ec11d92d770146faa1b300e0f91ef969b53e7d2907ffc984e9a9c9d11fb7d6cba91972059b46506b035efec6575c46d7114a6b935864858445f
+Output = 63cb0bf65fc8255dd29e17
+
+# negative test with an otherwise valid plaintext but with missing separator
+# byte
+Decrypt = RSA-2048-2
+Input = 3d1b97e7aa34eaf1f4fc171ceb11dcfffd9a46a5b6961205b10b302818c1fcc9f4ec78bf18ea0cee7e9fa5b16fb4c611463b368b3312ac11cf9c06b7cf72b54e284848a508d3f02328c62c2999d0fb60929f81783c7a256891bc2ff4d91df2af96a24fc5701a1823af939ce6dbdc510608e3d41eec172ad2d51b9fc61b4217c923cadcf5bac321355ef8be5e5f090cdc2bd0c697d9058247db3ad613fdce87d2955a6d1c948a5160f93da21f731d74137f5d1f53a1923adb513d2e6e1589d44cc079f4c6ddd471d38ac82d20d8b1d21f8d65f3b6907086809f4123e08d86fb38729585de026a485d8f0e703fd4772f6668febf67df947b82195fa3867e3a3065
+Output = 6f09a0b62699337c497b0b
+
+# Test vectors for the Bleichenbacher workaround (2049 bit key size)
+
+PrivateKey = RSA-2049
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEBVfiJVWoXdfHHp3hqULGLwoyemG7eVmfKs5uEEk6Q66dcHbCD
+rD5EO7qU3CNWD3XjqBaToqQ73HQm2MTq/mjIXeD+dX9uSbue1EfmAkMIANuwTOsi
+5/pXoY0zj7ZgJs20Z+cMwEDn02fvQDx78ePfYkZQCUYx8h6v0vtbyRX/BDeazRES
+9zLAtGYHwXjTiiD1LtpQny+cBAXVEGnoDM+UFVTQRwRnUFw89UHqCJffyfQAzssp
+j/x1M3LZ9pM68XTMQO2W1GcDFzO5f4zd0/krw6A+qFdsQX8kAHteT3UBEFtUTen6
+3N/635jftLsFuBmfP4Ws/ZH3qaCUuaOD9QSQlwIDAQABAoIBAQEZwrP1CnrWFSZ5
+1/9RCVisLYym8AKFkvMy1VoWc2F4qOZ/F+cFzjAOPodUclEAYBP5dNCj20nvNEyl
+omo0wEUHBNDkIuDOI6aUJcFf77bybhBu7/ZMyLnXRC5NpOjIUAjq6zZYWaIpT6OT
+e8Jr5WMy59geLBYO9jXMUoqnvlXmM6cj28Hha6KeUrKa7y+eVlT9wGZrsPwlSsvo
+DmOHTw9fAgeC48nc/CUg0MnEp7Y05FA/u0k+Gq/us/iL16EzmHJdrm/jmed1zV1M
+8J/IODR8TJjasaSIPM5iBRNhWvqhCmM2jm17ed9BZqsWJznvUVpEAu4eBgHFpVvH
+HfDjDt+BAoGBAYj2k2DwHhjZot4pUlPSUsMeRHbOpf97+EE99/3jVlI83JdoBfhP
+wN3sdw3wbO0GXIETSHVLNGrxaXVod/07PVaGgsh4fQsxTvasZ9ZegTM5i2Kgg8D4
+dlxa1A1agfm73OJSftfpUAjLECnLTKvR+em+38KGyWVSJV2n6rGSF473AoGBAN7H
+zxHa3oOkxD0vgBl/If1dRv1XtDH0T+gaHeN/agkf/ARk7ZcdyFCINa3mzF9Wbzll
+YTqLNnmMkubiP1LvkH6VZ+NBvrxTNxiWJfu+qx87ez+S/7JoHm71p4SowtePfC2J
+qqok0s7b0GaBz+ZcNse/o8W6E1FiIi71wukUyYNhAoGAEgk/OnPK7dkPYKME5FQC
++HGrMsjJVbCa9GOjvkNw8tVYSpq7q2n9sDHqRPmEBl0EYehAqyGIhmAONxVUbIsL
+ha0m04y0MI9S0H+ZRH2R8IfzndNAONsuk46XrQU6cfvtZ3Xh3IcY5U5sr35lRn2c
+ut3H52XIWJ4smN/cJcpOyoECgYEAjM5hNHnPlgj392wkXPkbtJXWHp3mSISQVLTd
+G0MW8/mBQg3AlXi/eRb+RpHPrppk5jQLhgMjRSPyXXe2amb8PuWTqfGN6l32PtX3
+3+udILpppb71Wf+w7JTbcl9v9uq7o9SVR8DKdPA+AeweSQ0TmqCnlHuNZizOSjwP
+G16GF0ECgYEA+ZWbNMS8qM5IiHgbMbHptdit9dDT4+1UXoNn0/hUW6ZEMriHMDXv
+iBwrzeANGAn5LEDYeDe1xPms9Is2uNxTpZVhpFZSNALR6Po68wDlTJG2PmzuBv5t
+5mbzkpWCoD4fRU53ifsHgaTW+7Um74gWIf0erNIUZuTN2YrtEPTnb3k=
+-----END RSA PRIVATE KEY-----
+
+# corresponding public key
+PublicKey = RSA-2049-PUBLIC
+-----BEGIN PUBLIC KEY-----
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEBVfiJVWoXdfHHp3hqULGL
+woyemG7eVmfKs5uEEk6Q66dcHbCDrD5EO7qU3CNWD3XjqBaToqQ73HQm2MTq/mjI
+XeD+dX9uSbue1EfmAkMIANuwTOsi5/pXoY0zj7ZgJs20Z+cMwEDn02fvQDx78ePf
+YkZQCUYx8h6v0vtbyRX/BDeazRES9zLAtGYHwXjTiiD1LtpQny+cBAXVEGnoDM+U
+FVTQRwRnUFw89UHqCJffyfQAzsspj/x1M3LZ9pM68XTMQO2W1GcDFzO5f4zd0/kr
+w6A+qFdsQX8kAHteT3UBEFtUTen63N/635jftLsFuBmfP4Ws/ZH3qaCUuaOD9QSQ
+lwIDAQAB
+-----END PUBLIC KEY-----
+
+PrivPubKeyPair = RSA-2049:RSA-2049-PUBLIC
+
+# RSA decrypt
+
+# malformed that generates length specified by 3rd last value from PRF
+Decrypt = RSA-2049
+Input = 00b26f6404b82649629f2704494282443776929122e279a9cf30b0c6fe8122a0a9042870d97cc8ef65490fe58f031eb2442352191f5fbc311026b5147d32df914599f38b825ebb824af0d63f2d541a245c5775d1c4b78630e4996cc5fe413d38455a776cf4edcc0aa7fccb31c584d60502ed2b77398f536e137ff7ba6430e9258e21c2db5b82f5380f566876110ac4c759178900fbad7ab70ea07b1daf7a1639cbb4196543a6cbe8271f35dddb8120304f6eef83059e1c5c5678710f904a6d760c4d1d8ad076be17904b9e69910040b47914a0176fb7eea0c06444a6c4b86d674d19a556a1de5490373cb01ce31bbd15a5633362d3d2cd7d4af1b4c5121288b894
+Output = 42
+
+# simple positive test case
+Decrypt = RSA-2049
+Input = 013300edbf0bb3571e59889f7ed76970bf6d57e1c89bbb6d1c3991d9df8e65ed54b556d928da7d768facb395bbcc81e9f8573b45cf8195dbd85d83a59281cddf4163aec11b53b4140053e3bd109f787a7c3cec31d535af1f50e0598d85d96d91ea01913d07097d25af99c67464ebf2bb396fb28a9233e56f31f7e105d71a23e9ef3b736d1e80e713d1691713df97334779552fc94b40dd733c7251bc522b673d3ec9354af3dd4ad44fa71c0662213a57ada1d75149697d0eb55c053aaed5ffd0b815832f454179519d3736fb4faf808416071db0d0f801aca8548311ee708c131f4be658b15f6b54256872c2903ac708bd43b017b073b5707bc84c2cd9da70e967
+Output = "lorem ipsum"
+
+# positive test case with null padded ciphertext
+Decrypt = RSA-2049
+Input = 0002aadf846a329fadc6760980303dbd87bfadfa78c2015ce4d6c5782fd9d3f1078bd3c0a2c5bfbdd1c024552e5054d98b5bcdc94e476dd280e64d650089326542ce7c61d4f1ab40004c2e6a88a883613568556a10f3f9edeab67ae8dddc1e6b0831c2793d2715de943f7ce34c5c05d1b09f14431fde566d17e76c9feee90d86a2c158616ec81dda0c642f58c0ba8fa4495843124a7235d46fb4069715a51bf710fd024259131ba94da73597ace494856c94e7a3ec261545793b0990279b15fa91c7fd13dbfb1df2f221dab9fa9f7c1d21e48aa49f6aaecbabf5ee76dc6c2af2317ffb4e303115386a97f8729afc3d0c89419669235f1a3a69570e0836c79fc162
+Output = "lorem ipsum"
+
+# positive test case with null truncated ciphertext
+Decrypt = RSA-2049
+Input = 02aadf846a329fadc6760980303dbd87bfadfa78c2015ce4d6c5782fd9d3f1078bd3c0a2c5bfbdd1c024552e5054d98b5bcdc94e476dd280e64d650089326542ce7c61d4f1ab40004c2e6a88a883613568556a10f3f9edeab67ae8dddc1e6b0831c2793d2715de943f7ce34c5c05d1b09f14431fde566d17e76c9feee90d86a2c158616ec81dda0c642f58c0ba8fa4495843124a7235d46fb4069715a51bf710fd024259131ba94da73597ace494856c94e7a3ec261545793b0990279b15fa91c7fd13dbfb1df2f221dab9fa9f7c1d21e48aa49f6aaecbabf5ee76dc6c2af2317ffb4e303115386a97f8729afc3d0c89419669235f1a3a69570e0836c79fc162
+Output = "lorem ipsum"
+
+# positive test case with double null padded ciphertext
+Decrypt = RSA-2049
+Input = 0000f36da3b72d8ff6ded74e7efd08c01908f3f5f0de7b55eab92b5f875190809c39d4162e1e6649618f854fd84aeab03970d16bb814e999852c06de38d82b95c0f32e2a7b5714021fe303389be9c0eac24c90a6b7210f929d390fabf903d44e04110bb7a7fd6c383c275804721efa6d7c93aa64c0bb2b18d97c5220a846c66a4895ae52adddbe2a9996825e013585adcec4b32ba61d782737bd343e5fabd68e8a95b8b1340318559860792dd70dffbe05a1052b54cbfb48cfa7bb3c19cea52076bddac5c25ee276f153a610f6d06ed696d192d8ae4507ffae4e5bdda10a625d6b67f32f7cffcd48dee2431fe66f6105f9d17e611cdcc674868e81692a360f4052
+Output = "lorem ipsum"
+
+# positive test case with double null truncated ciphertext
+Decrypt = RSA-2049
+Input = f36da3b72d8ff6ded74e7efd08c01908f3f5f0de7b55eab92b5f875190809c39d4162e1e6649618f854fd84aeab03970d16bb814e999852c06de38d82b95c0f32e2a7b5714021fe303389be9c0eac24c90a6b7210f929d390fabf903d44e04110bb7a7fd6c383c275804721efa6d7c93aa64c0bb2b18d97c5220a846c66a4895ae52adddbe2a9996825e013585adcec4b32ba61d782737bd343e5fabd68e8a95b8b1340318559860792dd70dffbe05a1052b54cbfb48cfa7bb3c19cea52076bddac5c25ee276f153a610f6d06ed696d192d8ae4507ffae4e5bdda10a625d6b67f32f7cffcd48dee2431fe66f6105f9d17e611cdcc674868e81692a360f4052
+Output = "lorem ipsum"
+
+# a random negative test case that generates an 11 byte long message
+Decrypt = RSA-2049
+Input = 00f910200830fc8fff478e99e145f1474b312e2512d0f90b8cef77f8001d09861688c156d1cbaf8a8957f7ebf35f724466952d0524cad48aad4fba1e45ce8ea27e8f3ba44131b7831b62d60c0762661f4c1d1a88cd06263a259abf1ba9e6b0b172069afb86a7e88387726f8ab3adb30bfd6b3f6be6d85d5dfd044e7ef052395474a9cbb1c3667a92780b43a22693015af6c513041bdaf87d43b24ddd244e791eeaea1066e1f4917117b3a468e22e0f7358852bb981248de4d720add2d15dccba6280355935b67c96f9dcb6c419cc38ab9f6fba2d649ef2066e0c34c9f788ae49babd9025fa85b21113e56ce4f43aa134c512b030dd7ac7ce82e76f0be9ce09ebca
+Output = 1189b6f5498fd6df532b00
+
+# otherwise correct plaintext, but with wrong first byte (0x01 instead of 0x00)
+Decrypt = RSA-2049
+Input = 002c9ddc36ba4cf0038692b2d3a1c61a4bb3786a97ce2e46a3ba74d03158aeef456ce0f4db04dda3fe062268a1711250a18c69778a6280d88e133a16254e1f0e30ce8dac9b57d2e39a2f7d7be3ee4e08aec2fdbe8dadad7fdbf442a29a8fb40857407bf6be35596b8eefb5c2b3f58b894452c2dc54a6123a1a38d642e23751746597e08d71ac92704adc17803b19e131b4d1927881f43b0200e6f95658f559f912c889b4cd51862784364896cd6e8618f485a992f82997ad6a0917e32ae5872eaf850092b2d6c782ad35f487b79682333c1750c685d7d32ab3e1538f31dcaa5e7d5d2825875242c83947308dcf63ba4bfff20334c9c140c837dbdbae7a8dee72ff
+Output = f6d0f5b78082fe61c04674
+
+# otherwise correct plaintext, but with wrong second byte (0x01 instead of 0x02)
+Decrypt = RSA-2049
+Input = 00c5d77826c1ab7a34d6390f9d342d5dbe848942e2618287952ba0350d7de6726112e9cebc391a0fae1839e2bf168229e3e0d71d4161801509f1f28f6e1487ca52df05c466b6b0a6fbbe57a3268a970610ec0beac39ec0fa67babce1ef2a86bf77466dc127d7d0d2962c20e66593126f276863cd38dc6351428f884c1384f67cad0a0ffdbc2af16711fb68dc559b96b37b4f04cd133ffc7d79c43c42ca4948fa895b9daeb853150c8a5169849b730cc77d68b0217d6c0e3dbf38d751a1998186633418367e7576530566c23d6d4e0da9b038d0bb5169ce40133ea076472d055001f0135645940fd08ea44269af2604c8b1ba225053d6db9ab43577689401bdc0f3
+Output = 1ab287fcef3ff17067914d
+
+# RSA decrypt with 3072 bit keys
+PrivateKey = RSA-3072
+-----BEGIN RSA PRIVATE KEY-----
+MIIG5AIBAAKCAYEAr9ccqtXp9bjGw2cHCkfxnX5mrt4YpbJ0H7PE0zQ0VgaSotkJ
+72iI7GAv9rk68ljudDA8MBr81O2+xDMR3cjdvwDdu+OG0zuNDiKxtEk23EiYcbhS
+N7NM50etj9sMTk0dqnqt8HOFxchzLMt9Wkni5QyIPH16wQ7Wp02ayQ35EpkFoX1K
+CHIQ/Hi20EseuWlILBGm7recUOWxbz8lT3VxUosvFxargW1uygcnveqYBZMpcw64
+wzznHWHdSsOTtiVuB6wdEk8CANHD4FpMG8fx7S/IPlcZnP5ZCLEAh+J/vZfSwkIU
+YZxxR8j778o5vCVnYqaCNTH34jTWjq56DZ+vEN0V6VI3gMfVrlgJStUlqQY7TDP5
+XhAG2i6xLTdDaJSVwfICPkBzU8XrPkyhxIz/gaEJANFIIOuAGvTxpZbEuc6aUx/P
+ilTZ/9ckJYtu7CAQjfb9/XbUrgO6fqWY3LDkooCElYcob01/JWzoXl61Z5sdrMH5
+CVZJty5foHKusAN5AgMBAAECggGAJRfqyzr+9L/65gOY35lXpdKhVKgzaNjhWEKy
+9Z7gn3kZe9LvHprdr4eG9rQSdEdAXjBCsh8vULeqc3cWgMO7y2wiWl1f9rVsRxwY
+gqCjOwrxZaPtbCSdx3g+a8dYrDfmVy0z/jJQeO2VJlDy65YEkC75mlEaERnRPE/J
+pDoXXc37+xoUAP4XCTtpzTzbiV9lQy6iGV+QURxzNrWKaF2s/y2vTF6S5WWxZlrm
+DlErqplluAjV/xGc63zWksv5IAZ6+s2An2a+cG2iaBCseQ2xVslI5v5YG8mEkVf0
+2kk/OmSwxuEZ4DGxB/hDbOKRYLRYuPnxCV/esZJjOE/1OHVXvE8QtANN6EFwO60s
+HnacI4U+tjCjbRBh3UbipruvdDqX8LMsNvUMGjci3vOjlNkcLgeL8J15Xs3l5WuC
+Avl0Am91/FbpoN1qiPLny3jvEpjMbGUgfKRb03GIgHtPzbHmDdjluFZI+376i2/d
+RI85dBqNmAn+Fjrz3kW6wkpahByBAoHBAOSj2DDXPosxxoLidP/J/RKsMT0t0FE9
+UFcNt+tHYv6hk+e7VAuUqUpd3XQqz3P13rnK4xvSOsVguyeU/WgmH4ID9XGSgpBP
+Rh6s7izn4KAJeqfI26vTPxvyaZEqB4JxT6k7SerENus95zSn1v/f2MLBQ16EP8cJ
++QSOVCoZfEhUK+srherQ9eZKpj0OwBUrP4VhLdymv96r8xddWX1AVj4OBi2RywKI
+gAgv6fjwkb292jFu6x6FjKRNKwKK6c3jqQKBwQDE4c0Oz0KYYV4feJun3iL9UJSv
+StGsKVDuljA4WiBAmigMZTii/u0DFEjibiLWcJOnH53HTr0avA6c6D1nCwJ2qxyF
+rHNN2L+cdMx/7L1zLR11+InvRgpIGbpeGwHeIzJVUYG3b6llRJMZimBvAMr9ipM1
+bkVvIjt1G9W1ypeuKzm6d/t8F0yC7AIYZWDV4nvxiiY8whLZzGawHR2iZz8pfUwb
+7URbTvxdsGE27Kq9gstU0PzEJpnU1goCJ7/gA1ECgcBA8w5B6ZM5xV0H5z6nPwDm
+IgYmw/HucgV1hU8exfuoK8wxQvTACW4B0yJKkrK11T1899aGG7VYRn9D4j4OLO48
+Z9V8esseJXbc1fEezovvymGOci984xiFXtqAQzk44+lmQJJh33VeZApe2eLocvVH
+ddEmc1kOuJWFpszf3LeCcG69cnKrXsrLrZ8Frz//g3aa9B0sFi5hGeWHWJxISVN2
+c1Nr9IN/57i/GqVTcztjdCAcdM7Tr8phDg7OvRlnxGkCgcEAuYhMFBuulyiSaTff
+/3ZvJKYOJ45rPkEFGoD/2ercn+RlvyCYGcoAEjnIYVEGlWwrSH+b0NlbjVkQsD6O
+to8CeE/RpgqX8hFCqC7NE/RFp8cpDyXy3j/zqnRMUyhCP1KNuScBBZs9V8gikxv6
+ukBWCk3PYbeTySHKRBbB8vmCrMfhM96jaBIQsQO1CcZnVceDo1/bnsAIwaREVMxr
+Q8LmG7QOx/Z0x1MMsUFoqzilwccC09/JgxMZPh+h+Nv6jiCxAoHBAOEqQgFAfSdR
+ya60LLH55q803NRFMamuKiPbVJLzwiKfbjOiiopmQOS/LxxqIzeMXlYV4OsSvxTo
+G7mcTOFRtU5hKCK+t8qeQQpa/dsMpiHllwArnRyBjIVgL5lFKRpHUGLsavU/T1IH
+mtgaxZo32dXvcAh1+ndCHVBwbHTOF4conA+g+Usp4bZSSWn5nU4oIizvSVpG7SGe
+0GngdxH9Usdqbvzcip1EKeHRTZrHIEYmB+x0LaRIB3dwZNidK3TkKw==
+-----END RSA PRIVATE KEY-----
+
+PublicKey = RSA-3072-PUBLIC
+-----BEGIN PUBLIC KEY-----
+MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAr9ccqtXp9bjGw2cHCkfx
+nX5mrt4YpbJ0H7PE0zQ0VgaSotkJ72iI7GAv9rk68ljudDA8MBr81O2+xDMR3cjd
+vwDdu+OG0zuNDiKxtEk23EiYcbhSN7NM50etj9sMTk0dqnqt8HOFxchzLMt9Wkni
+5QyIPH16wQ7Wp02ayQ35EpkFoX1KCHIQ/Hi20EseuWlILBGm7recUOWxbz8lT3Vx
+UosvFxargW1uygcnveqYBZMpcw64wzznHWHdSsOTtiVuB6wdEk8CANHD4FpMG8fx
+7S/IPlcZnP5ZCLEAh+J/vZfSwkIUYZxxR8j778o5vCVnYqaCNTH34jTWjq56DZ+v
+EN0V6VI3gMfVrlgJStUlqQY7TDP5XhAG2i6xLTdDaJSVwfICPkBzU8XrPkyhxIz/
+gaEJANFIIOuAGvTxpZbEuc6aUx/PilTZ/9ckJYtu7CAQjfb9/XbUrgO6fqWY3LDk
+ooCElYcob01/JWzoXl61Z5sdrMH5CVZJty5foHKusAN5AgMBAAE=
+-----END PUBLIC KEY-----
+
+PrivPubKeyPair = RSA-3072:RSA-3072-PUBLIC
+
+# a random invalid ciphertext that generates an empty synthethic one
+Decrypt = RSA-3072
+Input = 5e956cd9652f4a2ece902931013e09662b6a9257ad1e987fb75f73a0606df2a4b04789770820c2e02322c4e826f767bd895734a01e20609c3be4517a7a2a589ea1cdc137beb73eb38dac781b52e863de9620f79f9b90fd5b953651fcbfef4a9f1cc07421d511a87dd6942caab6a5a0f4df473e62defb529a7de1509ab99c596e1dff1320402298d8be73a896cc86c38ae3f2f576e9ea70cc28ad575cb0f854f0be43186baa9c18e29c47c6ca77135db79c811231b7c1730955887d321fdc06568382b86643cf089b10e35ab23e827d2e5aa7b4e99ff2e914f302351819eb4d1693243b35f8bf1d42d08f8ec4acafa35f747a4a975a28643ec630d8e4fa5be59d81995660a14bb64c1fea5146d6b11f92da6a3956dd5cb5e0d747cf2ea23f81617769185336263d46ef4c144b754de62a6337342d6c85a95f19f015724546ee3fc4823eca603dbc1dc01c2d5ed50bd72d8e96df2dc048edde0081284068283fc5e73a6139851abf2f29977d0b3d160c883a42a37efba1be05c1a0b1741d7ddf59
+Output =
+
+# a random invalid that has PRF output with a length one byte too long
+# in the last value
+Decrypt = RSA-3072
+Input = 7db0390d75fcf9d4c59cf27b264190d856da9abd11e92334d0e5f71005cfed865a711dfa28b791188374b61916dbc11339bf14b06f5f3f68c206c5607380e13da3129bfb744157e1527dd6fdf6651248b028a496ae1b97702d44706043cdaa7a59c0f41367303f21f268968bf3bd2904db3ae5239b55f8b438d93d7db9d1666c071c0857e2ec37757463769c54e51f052b2a71b04c2869e9e7049a1037b8429206c99726f07289bac18363e7eb2a5b417f47c37a55090cda676517b3549c873f2fe95da9681752ec9864b069089a2ed2f340c8b04ee00079055a817a3355b46ac7dc00d17f4504ccfbcfcadb0c04cb6b22069e179385ae1eafabad5521bac2b8a8ee1dfff59a22eb3fdacfc87175d10d7894cfd869d056057dd9944b869c1784fcc27f731bc46171d39570fbffbadf082d33f6352ecf44aca8d9478e53f5a5b7c852b401e8f5f74da49da91e65bdc97765a9523b7a0885a6f8afe5759d58009fbfa837472a968e6ae92026a5e0202a395483095302d6c3985b5f5831c521a271
+Output = 56a3bea054e01338be9b7d7957539c
+
+# a random invalid that generates a synthethic of maximum size
+Decrypt = RSA-3072
+Input = 1715065322522dff85049800f6a29ab5f98c465020467414b2a44127fe9446da47fa18047900f99afe67c2df6f50160bb8e90bff296610fde632b3859d4d0d2e644f23835028c46cca01b84b88231d7e03154edec6627bcba23de76740d839851fa12d74c8f92e540c73fe837b91b7d699b311997d5f0f7864c486d499c3a79c111faaacbe4799597a25066c6200215c3d158f3817c1aa57f18bdaad0be1658da9da93f5cc6c3c4dd72788af57adbb6a0c26f42d32d95b8a4f95e8c6feb2f8a5d53b19a50a0b7cbc25e055ad03e5ace8f3f7db13e57759f67b65d143f08cca15992c6b2aae643390483de111c2988d4e76b42596266005103c8de6044fb7398eb3c28a864fa672de5fd8774510ff45e05969a11a4c7d3f343e331190d2dcf24fb9154ba904dc94af98afc5774a9617d0418fe6d13f8245c7d7626c176138dd698a23547c25f27c2b98ea4d8a45c7842b81888e4cc14e5b72e9cf91f56956c93dbf2e5f44a8282a7813157fc481ff1371a0f66b31797e81ebdb09a673d4db96d6
+Output = 7b036fcd6243900e4236c894e2462c17738acc87e01a76f4d95cb9a328d9acde81650283b8e8f60a217e3bdee835c7b222ad4c85d0acdb9a309bd2a754609a65dec50f3aa04c6d5891034566b9563d42668ede1f8992b17753a2132e28970584e255efc8b45a41c5dbd7567f014acec5fe6fdb6d484790360a913ebb9defcd74ff377f2a8ba46d2ed85f733c9a3da08eb57ecedfafda806778f03c66b2c5d2874cec1c291b2d49eb194c7b5d0dd2908ae90f4843268a2c45563092ade08acb6ab481a08176102fc803fbb2f8ad11b0e1531bd37df543498daf180b12017f4d4d426ca29b4161075534bfb914968088a9d13785d0adc0e2580d3548494b2a9e91605f2b27e6cc701c796f0de7c6f471f6ab6cb9272a1ed637ca32a60d117505d82af3c1336104afb537d01a8f70b510e1eebf4869cb976c419473795a66c7f5e6e20a8094b1bb603a74330c537c5c0698c31538bd2e138c1275a1bdf24c5fa8ab3b7b526324e7918a382d1363b3d463764222150e04
+
+# a positive test case that decrypts to 9 byte long value
+Decrypt = RSA-3072
+Input = 6c60845a854b4571f678941ae35a2ac03f67c21e21146f9db1f2306be9f136453b86ad55647d4f7b5c9e62197aaff0c0e40a3b54c4cde14e774b1c5959b6c2a2302896ffae1f73b00b862a20ff4304fe06cea7ff30ecb3773ca9af27a0b54547350d7c07dfb0a39629c7e71e83fc5af9b2adbaf898e037f1de696a3f328cf45af7ec9aff7173854087fb8fbf34be981efbd8493f9438d1b2ba2a86af082662aa46ae9adfbec51e5f3d9550a4dd1dcb7c8969c9587a6edc82a8cabbc785c40d9fbd12064559fb769450ac3e47e87bc046148130d7eaa843e4b3ccef3675d0630500803cb7ffee3882378c1a404e850c3e20707bb745e42b13c18786c4976076ed9fa8fd0ff15e571bef02cbbe2f90c908ac3734a433b73e778d4d17fcc28f49185ebc6e8536a06d293202d94496453bfdf1c2c7833a3f99fa38ca8a81f42eaa529d603b890308a319c0ab63a35ff8ebac965f6278f5a7e5d622be5d5fe55f0ca3ec993d55430d2bf59c5d3e860e90c16d91a04596f6fdf60d89ed95d88c036dde
+Output = "forty two"
+
+# a positive test case with null padded ciphertext
+Decrypt = RSA-3072
+Input = 00f4d565a3286784dbb85327db8807ae557ead229f92aba945cecda5225f606a7d6130edeeb6f26724d1eff1110f9eb18dc3248140ee3837e6688391e78796c526791384f045e21b6b853fb6342a11f309eb77962f37ce23925af600847fbd30e6e07e57de50b606e6b7f288cc777c1a6834f27e6edace508452128916eef7788c8bb227e3548c6a761cc4e9dd1a3584176dc053ba3500adb1d5e1611291654f12dfc5722832f635db3002d73f9defc310ace62c63868d341619c7ee15b20243b3371e05078e11219770c701d9f341af35df1bc729de294825ff2e416aa11526612852777eb131f9c45151eb144980d70608d2fc4043477368369aa0fe487a48bd57e66b00c3c58f941549f5ec050fca64449debe7a0c4ac51e55cb71620a70312aa4bd85fac1410c9c7f9d6ec610b7d11bf8faeffa20255d1a1bead9297d0aa8765cd2805847d639bc439f4a6c896e2008f746f9590ff4596de5ddde000ed666c452c978043ff4298461eb5a26d5e63d821438627f91201924bf7f2aeee1727
+Output = "forty two"
+
+# a positive test case with null truncated ciphertext
+Decrypt = RSA-3072
+Input = f4d565a3286784dbb85327db8807ae557ead229f92aba945cecda5225f606a7d6130edeeb6f26724d1eff1110f9eb18dc3248140ee3837e6688391e78796c526791384f045e21b6b853fb6342a11f309eb77962f37ce23925af600847fbd30e6e07e57de50b606e6b7f288cc777c1a6834f27e6edace508452128916eef7788c8bb227e3548c6a761cc4e9dd1a3584176dc053ba3500adb1d5e1611291654f12dfc5722832f635db3002d73f9defc310ace62c63868d341619c7ee15b20243b3371e05078e11219770c701d9f341af35df1bc729de294825ff2e416aa11526612852777eb131f9c45151eb144980d70608d2fc4043477368369aa0fe487a48bd57e66b00c3c58f941549f5ec050fca64449debe7a0c4ac51e55cb71620a70312aa4bd85fac1410c9c7f9d6ec610b7d11bf8faeffa20255d1a1bead9297d0aa8765cd2805847d639bc439f4a6c896e2008f746f9590ff4596de5ddde000ed666c452c978043ff4298461eb5a26d5e63d821438627f91201924bf7f2aeee1727
+Output = "forty two"
+
+# a positive test case with double null padded ciphertext
+Decrypt = RSA-3072
+Input = 00001ec97ac981dfd9dcc7a7389fdfa9d361141dac80c23a060410d472c16094e6cdffc0c3684d84aa402d7051dfccb2f6da33f66985d2a259f5b7fbf39ac537e95c5b7050eb18844a0513abef812cc8e74a3c5240009e6e805dcadf532bc1a2702d5acc9e585fad5b89d461fcc1397351cdce35171523758b171dc041f412e42966de7f94856477356d06f2a6b40e3ff0547562a4d91bbf1338e9e049facbee8b20171164505468cd308997447d3dc4b0acb49e7d368fedd8c734251f30a83491d2506f3f87318cc118823244a393dc7c5c739a2733d93e1b13db6840a9429947357f47b23fbe39b7d2d61e5ee26f9946c4632f6c4699e452f412a26641d4751135400713cd56ec66f0370423d55d2af70f5e7ad0adea8e4a0d904a01e4ac272eba4af1a029dd53eb71f115bf31f7a6c8b19a6523adeecc0d4c3c107575e38572a8f8474ccad163e46e2e8b08111132aa97a16fb588c9b7e37b3b3d7490381f3c55d1a9869a0fd42cd86fed59ecec78cb6b2dfd06a497f5afe3419691314ba0
+Output = "forty two"
+
+# a positive test case with double null truncated ciphertext
+Decrypt = RSA-3072
+Input = 1ec97ac981dfd9dcc7a7389fdfa9d361141dac80c23a060410d472c16094e6cdffc0c3684d84aa402d7051dfccb2f6da33f66985d2a259f5b7fbf39ac537e95c5b7050eb18844a0513abef812cc8e74a3c5240009e6e805dcadf532bc1a2702d5acc9e585fad5b89d461fcc1397351cdce35171523758b171dc041f412e42966de7f94856477356d06f2a6b40e3ff0547562a4d91bbf1338e9e049facbee8b20171164505468cd308997447d3dc4b0acb49e7d368fedd8c734251f30a83491d2506f3f87318cc118823244a393dc7c5c739a2733d93e1b13db6840a9429947357f47b23fbe39b7d2d61e5ee26f9946c4632f6c4699e452f412a26641d4751135400713cd56ec66f0370423d55d2af70f5e7ad0adea8e4a0d904a01e4ac272eba4af1a029dd53eb71f115bf31f7a6c8b19a6523adeecc0d4c3c107575e38572a8f8474ccad163e46e2e8b08111132aa97a16fb588c9b7e37b3b3d7490381f3c55d1a9869a0fd42cd86fed59ecec78cb6b2dfd06a497f5afe3419691314ba0
+Output = "forty two"
+
+# a random negative test case that generates a 9 byte long message
+Decrypt = RSA-3072
+Input = 5c8555f5cef627c15d37f85c7f5fd6e499264ea4b8e3f9112023aeb722eb38d8eac2be3751fd5a3785ab7f2d59fa3728e5be8c3de78a67464e30b21ee23b5484bb3cd06d0e1c6ad25649c8518165653eb80488bfb491b20c04897a6772f69292222fc5ef50b5cf9efc6d60426a449b6c489569d48c83488df629d695653d409ce49a795447fcec2c58a1a672e4a391401d428baaf781516e11e323d302fcf20f6eab2b2dbe53a48c987e407c4d7e1cb41131329138313d330204173a4f3ff06c6fadf970f0ed1005d0b27e35c3d11693e0429e272d583e57b2c58d24315c397856b34485dcb077665592b747f889d34febf2be8fce66c265fd9fc3575a6286a5ce88b4b413a08efc57a07a8f57a999605a837b0542695c0d189e678b53662ecf7c3d37d9dbeea585eebfaf79141118e06762c2381fe27ca6288edddc19fd67cd64f16b46e06d8a59ac530f22cd83cc0bc4e37feb52015cbb2283043ccf5e78a4eb7146827d7a466b66c8a4a4826c1bad68123a7f2d00fc1736525ff90c058f56
+Output = 257906ca6de8307728
+
+# a random negative test case that generates a 9 byte long message based on
+# second to last value from PRF
+Decrypt = RSA-3072
+Input = 758c215aa6acd61248062b88284bf43c13cb3b3d02410be4238607442f1c0216706e21a03a2c10eb624a63322d854da195c017b76fea83e274fa371834dcd2f3b7accf433fc212ad76c0bac366e1ed32e25b279f94129be7c64d6e162adc08ccebc0cfe8e926f01c33ab9c065f0e0ac83ae5137a4cb66702615ad68a35707d8676d2740d7c1a954680c83980e19778ed11eed3a7c2dbdfc461a9bbef671c1bc00c882d361d29d5f80c42bdf5efec886c34138f83369c6933b2ac4e93e764265351b4a0083f040e14f511f09b22f96566138864e4e6ff24da4810095da98e0585410951538ced2f757a277ff8e17172f06572c9024eeae503f176fd46eb6c5cd9ba07af11cde31dccac12eb3a4249a7bfd3b19797ad1656984bfcbf6f74e8f99d8f1ac420811f3d166d87f935ef15ae858cf9e72c8e2b547bf16c3fb09a8c9bf88fd2e5d38bf24ed610896131a84df76b9f920fe76d71fff938e9199f3b8cd0c11fd0201f9139d7673a871a9e7d4adc3bbe360c8813617cd60a90128fbe34c9d5
+Output = 043383c929060374ed
+
+# a random negative test that generates message based on 3rd last value from
+# PRF
+Decrypt = RSA-3072
+Input = 7b22d5e62d287968c6622171a1f75db4b0fd15cdf3134a1895d235d56f8d8fe619f2bf4868174a91d7601a82975d2255190d28b869141d7c395f0b8c4e2be2b2c1b4ffc12ce749a6f6803d4cfe7fba0a8d6949c04151f981c0d84592aa2ff25d1bd3ce5d10cb03daca6b496c6ad40d30bfa8acdfd02cdb9326c4bdd93b949c9dc46caa8f0e5f429785bce64136a429a3695ee674b647452bea1b0c6de9c5f1e8760d5ef6d5a9cfff40457b023d3c233c1dcb323e7808103e73963b2eafc928c9eeb0ee3294955415c1ddd9a1bb7e138fecd79a3cb89c57bd2305524624814aaf0fd1acbf379f7f5b39421f12f115ba488d380586095bb53f174fae424fa4c8e3b299709cd344b9f949b1ab57f1c645d7ed3c8f81d5594197355029fee8960970ff59710dc0e5eb50ea6f4c3938e3f89ed7933023a2c2ddffaba07be147f686828bd7d520f300507ed6e71bdaee05570b27bc92741108ac2eb433f028e138dd6d63067bc206ea2d826a7f41c0d613daed020f0f30f4e272e9618e0a8c39018a83
+Output = 70263fa6050534b9e0
+
+# an otherwise valid plaintext, but with wrong first byte (0x01 instead of 0x00)
+Decrypt = RSA-3072
+Input = 6db80adb5ff0a768caf1378ecc382a694e7d1bde2eff4ba12c48aaf794ded7a994a5b2b57acec20dbec4ae385c9dd531945c0f197a5496908725fc99d88601a17d3bb0b2d38d2c1c3100f39955a4cb3dbed5a38bf900f23d91e173640e4ec655c84fdfe71fcdb12a386108fcf718c9b7af37d39703e882436224c877a2235e8344fba6c951eb7e2a4d1d1de81fb463ac1b880f6cc0e59ade05c8ce35179ecd09546731fc07b141d3d6b342a97ae747e61a9130f72d37ac5a2c30215b6cbd66c7db893810df58b4c457b4b54f34428247d584e0fa71062446210db08254fb9ead1ba1a393c724bd291f0cf1a7143f32df849051dc896d7d176fef3b57ab6dffd626d0c3044e9edb2e3d012ace202d2581df01bec7e9aa0727a6650dd373d374f0bc0f4a611f8139dfe97d63e70c6188f4df5b672e47c51d8aa567097293fbff127c75ec690b43407578b73c85451710a0cece58fd497d7f7bd36a8a92783ef7dc6265dff52aac8b70340b996508d39217f2783ce6fc91a1cc94bb2ac487b84f62
+Output = 6d8d3a094ff3afff4c
+
+# an otherwise valid plaintext, but with wrong second byte (0x01 instead of 0x02)
+Decrypt = RSA-3072
+Input = 417328c034458563079a4024817d0150340c34e25ae16dcad690623f702e5c748a6ebb3419ff48f486f83ba9df35c05efbd7f40613f0fc996c53706c30df6bba6dcd4a40825f96133f3c21638a342bd4663dffbd0073980dac47f8c1dd8e97ce1412e4f91f2a8adb1ac2b1071066efe8d718bbb88ca4a59bd61500e826f2365255a409bece0f972df97c3a55e09289ef5fa815a2353ef393fd1aecfc888d611c16aec532e5148be15ef1bf2834b8f75bb26db08b66d2baad6464f8439d1986b533813321dbb180080910f233bcc4dd784fb21871aef41be08b7bfad4ecc3b68f228cb5317ac6ec1227bc7d0e452037ba918ee1da9fdb8393ae93b1e937a8d4691a17871d5092d2384b6190a53df888f65b951b05ed4ad57fe4b0c6a47b5b22f32a7f23c1a234c9feb5d8713d949686760680da4db454f4acad972470033472b9864d63e8d23eefc87ebcf464ecf33f67fbcdd48eab38c5292586b36aef5981ed2fa07b2f9e23fc57d9eb71bfff4111c857e9fff23ceb31e72592e70c874b4936
+Output = c6ae80ffa80bc184b0
+
+# an otherwise valid plaintext, but with zero byte in first byte of padding
+Decrypt = RSA-3072
+Input = 8542c626fe533467acffcd4e617692244c9b5a3bf0a215c5d64891ced4bf4f9591b4b2aedff9843057986d81631b0acb3704ec2180e5696e8bd15b217a0ec36d2061b0e2182faa3d1c59bd3f9086a10077a3337a3f5da503ec3753535ffd25b837a12f2541afefd0cffb0224b8f874e4bed13949e105c075ed44e287c5ae03b155e06b90ed247d2c07f1ef3323e3508cce4e4074606c54172ad74d12f8c3a47f654ad671104bf7681e5b061862747d9afd37e07d8e0e2291e01f14a95a1bb4cbb47c304ef067595a3947ee2d722067e38a0f046f43ec29cac6a8801c6e3e9a2331b1d45a7aa2c6af3205be382dd026e389614ee095665a611ab2e8dced2ee1c9d08ac9de11aef5b3803fc9a9ce8231ec87b5fed386fb92ee3db995a89307bcba844bd0a691c29ae51216e949dfc813133cb06a07265fd807bcb3377f6adb0a481d9b7f442003115895939773e6b95371c4febef29edae946fa245e7c50729e2e558cfaad773d1fd5f67b457a6d9d17a847c6fcbdb103a86f35f228cefc06cea0
+Output = a8a9301daa01bb25c7
+
+# an otherwise valid plaintext, but with zero byte in eight byte of padding
+Decrypt = RSA-3072
+Input = 449dfa237a70a99cb0351793ec8677882021c2aa743580bf6a0ea672055cffe8303ac42855b1d1f3373aae6af09cb9074180fc963e9d1478a4f98b3b4861d3e7f0aa8560cf603711f139db77667ca14ba3a1acdedfca9ef4603d6d7eb0645bfc805304f9ad9d77d34762ce5cd84bd3ec9d35c30e3be72a1e8d355d5674a141b5530659ad64ebb6082e6f73a80832ab6388912538914654d34602f4b3b1c78589b4a5d964b2efcca1dc7004c41f6cafcb5a7159a7fc7c0398604d0edbd4c8f4f04067da6a153a05e7cbeea13b5ee412400ef7d4f3106f4798da707ec37a11286df2b7a204856d5ff773613fd1e453a7114b78e347d3e8078e1cb3276b3562486ba630bf719697e0073a123c3e60ebb5c7a1ccff4279faffa2402bc1109f8d559d6766e73591943dfcf25ba10c3762f02af85187799b8b4b135c3990793a6fd32642f1557405ba55cc7cf7336a0e967073c5fa50743f9cc5e3017c172d9898d2af83345e71b3e0c22ab791eacb6484a32ec60ebc226ec9deaee91b1a0560c2b571
+Output = 6c716fe01d44398018
+
+# an otherwise valid plaintext, but with null separator missing
+Decrypt = RSA-3072
+Input = a7a5c99e50da48769ecb779d9abe86ef9ec8c38c6f43f17c7f2d7af608a4a1bd6cf695b47e97c191c61fb5a27318d02f495a176b9fae5a55b5d3fabd1d8aae4957e3879cb0c60f037724e11be5f30f08fc51c033731f14b44b414d11278cd3dba7e1c8bfe208d2b2bb7ec36366dacb6c88b24cd79ab394adf19dbbc21dfa5788bacbadc6a62f79cf54fd8cf585c615b5c0eb94c35aa9de25321c8ffefb8916bbaa2697cb2dd82ee98939df9b6704cee77793edd2b4947d82e00e5749664970736c59a84197bd72b5c71e36aae29cd39af6ac73a368edbc1ca792e1309f442aafcd77c992c88f8e4863149f221695cb7b0236e75b2339a02c4ea114854372c306b9412d8eedb600a31532002f2cea07b4df963a093185e4607732e46d753b540974fb5a5c3f9432df22e85bb17611370966c5522fd23f2ad3484341ba7fd8885fc8e6d379a611d13a2aca784fba2073208faad2137bf1979a0fa146c1880d4337db3274269493bab44a1bcd0681f7227ffdf589c2e925ed9d36302509d1109ba4
+Output = aa2de6cde4e2442884
+
# RSA PSS key tests
# PSS only key, no parameter restrictions
--
2.34.1

View File

@@ -0,0 +1,284 @@
From c693522a96b6fb2bb4b55a53d86550811bc0d7df Mon Sep 17 00:00:00 2001
From: Hubert Kario <hkario@redhat.com>
Date: Thu, 3 Nov 2022 17:45:58 +0100
Subject: [PATCH] rsa: Skip the synthethic plaintext test with old FIPS
provider
since the 3.0.0 FIPS provider doesn't implement the Bleichenbacher
workaround, the decryption fails instead of providing a synthetic
plaintext, so skip them then
CVE: CVE-2023-50781
Upstream-Status: Backport [https://github.com/openssl/openssl/commit/ddecbef6e389d263b728b7fa30fd3d9ce13feddb]
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13817)
Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
---
.../30-test_evp_data/evppkey_rsa_common.txt | 66 ++++++++++++++++++-
1 file changed, 63 insertions(+), 3 deletions(-)
diff --git a/test/recipes/30-test_evp_data/evppkey_rsa_common.txt b/test/recipes/30-test_evp_data/evppkey_rsa_common.txt
index d569e78..4bd7c72 100644
--- a/test/recipes/30-test_evp_data/evppkey_rsa_common.txt
+++ b/test/recipes/30-test_evp_data/evppkey_rsa_common.txt
@@ -253,12 +253,12 @@ Decrypt = RSA-2048
Input = 550AF55A2904E7B9762352F8FB7FA235A9CB053AACB2D5FCB8CA48453CB2EE3619746C701ABF2D4CC67003471A187900B05AA812BD25ED05C675DFC8C97A24A7BF49BD6214992CAD766D05A9A2B57B74F26A737E0237B8B76C45F1F226A836D7CFBC75BA999BDBE48DBC09227AA46C88F21DCCBA7840141AD5A5D71FD122E6BD6AC3E564780DFE623FC1CA9B995A6037BF0BBD43B205A84AC5444F34202C05CE9113087176432476576DE6FFFF9A52EA57C08BE3EC2F49676CB8E12F762AC71FA3C321E00AC988910C85FF52F93825666CE0D40FFAA0592078919D4493F46D95CCF76364C6D57760DD0B64805F9AFC76A2365A5575CA301D5103F0EA76CB9A78
Output = "Hello World"
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# Corrupted ciphertext
-FIPSversion = <3.2.0
Decrypt = RSA-2048
Input = 550AF55A2904E7B9762352F8FB7FA235A9CB053AACB2D5FCB8CA48453CB2EE3619746C701ABF2D4CC67003471A187900B05AA812BD25ED05C675DFC8C97A24A7BF49BD6214992CAD766D05A9A2B57B74F26A737E0237B8B76C45F1F226A836D7CFBC75BA999BDBE48DBC09227AA46C88F21DCCBA7840141AD5A5D71FD122E6BD6AC3E564780DFE623FC1CA9B995A6037BF0BBD43B205A84AC5444F34202C05CE9113087176432476576DE6FFFF9A52EA57C08BE3EC2F49676CB8E12F762AC71FA3C321E00AC988910C85FF52F93825666CE0D40FFAA0592078919D4493F46D95CCF76364C6D57760DD0B64805F9AFC76A2365A5575CA301D5103F0EA76CB9A79
-Output = "Hello World"
-Result = KEYOP_ERROR
+Output = 4cbb988d6a46228379132b0b5f8c249b3860043848c93632fb982c807c7c82fffc7a9ef83f4908f890373ac181ffea6381e103bcaa27e65638b6ecebef38b59ed4226a9d12af675cfcb634d8c40e7a7aff
# OAEP padding
Decrypt = RSA-2048
@@ -330,21 +330,29 @@ Decrypt = RSA-2048-2
Input = 8bfe264e85d3bdeaa6b8851b8e3b956ee3d226fd3f69063a86880173a273d9f283b2eebdd1ed35f7e02d91c571981b6737d5320bd8396b0f3ad5b019daec1b0aab3cbbc026395f4fd14f13673f2dfc81f9b660ec26ac381e6db3299b4e460b43fab9955df2b3cfaa20e900e19c856238fd371899c2bf2ce8c868b76754e5db3b036533fd603746be13c10d4e3e6022ebc905d20c2a7f32b215a4cd53b3f44ca1c327d2c2b651145821c08396c89071f665349c25e44d2733cd9305985ceef6430c3cf57af5fa224089221218fa34737c79c446d28a94c41c96e4e92ac53fbcf384dea8419ea089f8784445a492c812eb0d409467f75afd7d4d1078886205a066
Output = "lorem ipsum dolor sit amet"
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# a random negative test case decrypting to empty
Decrypt = RSA-2048-2
Input = 20aaa8adbbc593a924ba1c5c7990b5c2242ae4b99d0fe636a19a4cf754edbcee774e472fe028160ed42634f8864900cb514006da642cae6ae8c7d087caebcfa6dad1551301e130344989a1d462d4164505f6393933450c67bc6d39d8f5160907cabc251b737925a1cf21e5c6aa5781b7769f6a2a583d97cce008c0f8b6add5f0b2bd80bee60237aa39bb20719fe75749f4bc4e42466ef5a861ae3a92395c7d858d430bfe38040f445ea93fa2958b503539800ffa5ce5f8cf51fa8171a91f36cb4f4575e8de6b4d3f096ee140b938fd2f50ee13f0d050222e2a72b0a3069ff3a6738e82c87090caa5aed4fcbe882c49646aa250b98f12f83c8d528113614a29e7
Output =
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# invalid decrypting to max length message
Decrypt = RSA-2048-2
Input = 48cceab10f39a4db32f60074feea473cbcdb7accf92e150417f76b44756b190e843e79ec12aa85083a21f5437e7bad0a60482e601198f9d86923239c8786ee728285afd0937f7dde12717f28389843d7375912b07b991f4fdb0190fced8ba665314367e8c5f9d2981d0f5128feeb46cb50fc237e64438a86df198dd0209364ae3a842d77532b66b7ef263b83b1541ed671b120dfd660462e2107a4ee7b964e734a7bd68d90dda61770658a3c242948532da32648687e0318286473f675b412d6468f013f14d760a358dfcad3cda2afeec5e268a37d250c37f722f468a70dfd92d7294c3c1ee1e7f8843b7d16f9f37ef35748c3ae93aa155cdcdfeb4e78567303
Output = 22d850137b9eebe092b24f602dc5bb7918c16bd89ddbf20467b119d205f9c2e4bd7d2592cf1e532106e0f33557565923c73a02d4f09c0c22bea89148183e60317f7028b3aa1f261f91c979393101d7e15f4067e63979b32751658ef769610fe97cf9cef3278b3117d384051c3b1d82c251c2305418c8f6840530e631aad63e70e20e025bcd8efb54c92ec6d3b106a2f8e64eeff7d38495b0fc50c97138af4b1c0a67a1c4e27b077b8439332edfa8608dfeae653cd6a628ac550395f7e74390e42c11682234870925eeaa1fa71b76cf1f2ee3bda69f6717033ff8b7c95c9799e7a3bea5e7e4a1c359772fb6b1c6e6c516661dfe30c3
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# invalid decrypting to message with length specified by second to last value from PRF
Decrypt = RSA-2048-2
Input = 1439e08c3f84c1a7fec74ce07614b20e01f6fa4e8c2a6cffdc3520d8889e5d9a950c6425798f85d4be38d300ea5695f13ecd4cb389d1ff5b82484b494d6280ab7fa78e645933981cb934cce8bfcd114cc0e6811eefa47aae20af638a1cd163d2d3366186d0a07df0c81f6c9f3171cf3561472e98a6006bf75ddb457bed036dcce199369de7d94ef2c68e8467ee0604eea2b3009479162a7891ba5c40cab17f49e1c438cb6eaea4f76ce23cce0e483ff0e96fa790ea15be67671814342d0a23f4a20262b6182e72f3a67cd289711503c85516a9ed225422f98b116f1ab080a80abd6f0216df88d8cfd67c139243be8dd78502a7aaf6bc99d7da71bcdf627e7354
Output = 0f9b
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# invalid decrypting to message with length specified by third to last value from PRF
Decrypt = RSA-2048-2
Input = 1690ebcceece2ce024f382e467cf8510e74514120937978576caf684d4a02ad569e8d76cbe365a060e00779de2f0865ccf0d923de3b4783a4e2c74f422e2f326086c390b658ba47f31ab013aa80f468c71256e5fa5679b24e83cd82c3d1e05e398208155de2212993cd2b8bab6987cf4cc1293f19909219439d74127545e9ed8a706961b8ee2119f6bfacafbef91b75a789ba65b8b833bc6149cf49b5c4d2c6359f62808659ba6541e1cd24bf7f7410486b5103f6c0ea29334ea6f4975b17387474fe920710ea61568d7b7c0a7916acf21665ad5a31c4eabcde44f8fb6120d8457afa1f3c85d517cda364af620113ae5a3c52a048821731922737307f77a1081
@@ -385,23 +393,31 @@ Decrypt = RSA-2048-2
Input = 1ea0b50ca65203d0a09280d39704b24fe6e47800189db5033f202761a78bafb270c5e25abd1f7ecc6e7abc4f26d1b0cd9b8c648d529416ee64ccbdd7aa72a771d0353262b543f0e436076f40a1095f5c7dfd10dcf0059ccb30e92dfa5e0156618215f1c3ff3aa997a9d999e506924f5289e3ac72e5e2086cc7b499d71583ed561028671155db4005bee01800a7cdbdae781dd32199b8914b5d4011dd6ff11cd26d46aad54934d293b0bc403dd211bf13b5a5c6836a5e769930f437ffd8634fb7371776f4bc88fa6c271d8aa6013df89ae6470154497c4ac861be2a1c65ebffec139bf7aaba3a81c7c5cdd84da9af5d3edfb957848074686b5837ecbcb6a41c50
Output = "lorem ipsum"
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# a random negative test that generates an 11 byte long message
Decrypt = RSA-2048-2
Input = 5f02f4b1f46935c742ebe62b6f05aa0a3286aab91a49b34780adde6410ab46f7386e05748331864ac98e1da63686e4babe3a19ed40a7f5ceefb89179596aab07ab1015e03b8f825084dab028b6731288f2e511a4b314b6ea3997d2e8fe2825cef8897cbbdfb6c939d441d6e04948414bb69e682927ef8576c9a7090d4aad0e74c520d6d5ce63a154720f00b76de8cc550b1aa14f016d63a7b6d6eaa1f7dbe9e50200d3159b3d099c900116bf4eba3b94204f18b1317b07529751abf64a26b0a0bf1c8ce757333b3d673211b67cc0653f2fe2620d57c8b6ee574a0323a167eab1106d9bc7fd90d415be5f1e9891a0e6c709f4fc0404e8226f8477b4e939b36eb2
Output = af9ac70191c92413cb9f2d
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# an otherwise correct plaintext, but with wrong first byte
# (0x01 instead of 0x00), generates a random 11 byte long plaintext
Decrypt = RSA-2048-2
Input = 9b2ec9c0c917c98f1ad3d0119aec6be51ae3106e9af1914d48600ab6a2c0c0c8ae02a2dc3039906ff3aac904af32ec798fd65f3ad1afa2e69400e7c1de81f5728f3b3291f38263bc7a90a0563e43ce7a0d4ee9c0d8a716621ca5d3d081188769ce1b131af7d35b13dea99153579c86db31fe07d5a2c14d621b77854e48a8df41b5798563af489a291e417b6a334c63222627376118c02c53b6e86310f728734ffc86ef9d7c8bf56c0c841b24b82b59f51aee4526ba1c4268506d301e4ebc498c6aebb6fd5258c876bf900bac8ca4d309dd522f6a6343599a8bc3760f422c10c72d0ad527ce4af1874124ace3d99bb74db8d69d2528db22c3a37644640f95c05f
Output = a1f8c9255c35cfba403ccc
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# an otherwise correct plaintext, but with wrong second byte
# (0x01 instead of 0x02), generates a random 11 byte long plaintext
Decrypt = RSA-2048-2
Input = 782c2b59a21a511243820acedd567c136f6d3090c115232a82a5efb0b178285f55b5ec2d2bac96bf00d6592ea7cdc3341610c8fb07e527e5e2d20cfaf2c7f23e375431f45e998929a02f25fd95354c33838090bca838502259e92d86d568bc2cdb132fab2a399593ca60a015dc2bb1afcd64fef8a3834e17e5358d822980dc446e845b3ab4702b1ee41fe5db716d92348d5091c15d35a110555a35deb4650a5a1d2c98025d42d4544f8b32aa6a5e02dc02deaed9a7313b73b49b0d4772a3768b0ea0db5846ace6569cae677bf67fb0acf3c255dc01ec8400c963b6e49b1067728b4e563d7e1e1515664347b92ee64db7efb5452357a02fff7fcb7437abc2e579
Output = e6d700309ca0ed62452254
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# an invalid ciphertext, with a zero byte in first byte of
# ciphertext, decrypts to a random 11 byte long synthethic
# plaintext
@@ -409,6 +425,8 @@ Decrypt = RSA-2048-2
Input = 0096136621faf36d5290b16bd26295de27f895d1faa51c800dafce73d001d60796cd4e2ac3fa2162131d859cd9da5a0c8a42281d9a63e5f353971b72e36b5722e4ac444d77f892a5443deb3dca49fa732fe855727196e23c26eeac55eeced8267a209ebc0f92f4656d64a6c13f7f7ce544ebeb0f668fe3a6c0f189e4bcd5ea12b73cf63e0c8350ee130dd62f01e5c97a1e13f52fde96a9a1bc9936ce734fdd61f27b18216f1d6de87f49cf4f2ea821fb8efd1f92cdad529baf7e31aff9bff4074f2cad2b4243dd15a711adcf7de900851fbd6bcb53dac399d7c880531d06f25f7002e1aaf1722765865d2c2b902c7736acd27bc6cbd3e38b560e2eecf7d4b576
Output = ba27b1842e7c21c0e7ef6a
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# an invalid ciphertext, with a zero byte removed from first byte of
# ciphertext, decrypts to a random 11 byte long synthethic
# plaintext
@@ -416,6 +434,8 @@ Decrypt = RSA-2048-2
Input = 96136621faf36d5290b16bd26295de27f895d1faa51c800dafce73d001d60796cd4e2ac3fa2162131d859cd9da5a0c8a42281d9a63e5f353971b72e36b5722e4ac444d77f892a5443deb3dca49fa732fe855727196e23c26eeac55eeced8267a209ebc0f92f4656d64a6c13f7f7ce544ebeb0f668fe3a6c0f189e4bcd5ea12b73cf63e0c8350ee130dd62f01e5c97a1e13f52fde96a9a1bc9936ce734fdd61f27b18216f1d6de87f49cf4f2ea821fb8efd1f92cdad529baf7e31aff9bff4074f2cad2b4243dd15a711adcf7de900851fbd6bcb53dac399d7c880531d06f25f7002e1aaf1722765865d2c2b902c7736acd27bc6cbd3e38b560e2eecf7d4b576
Output = ba27b1842e7c21c0e7ef6a
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# an invalid ciphertext, with two zero bytes in first bytes of
# ciphertext, decrypts to a random 11 byte long synthethic
# plaintext
@@ -423,6 +443,8 @@ Decrypt = RSA-2048-2
Input = 0000587cccc6b264bdfe0dc2149a988047fa921801f3502ea64624c510c6033d2f427e3f136c26e88ea9f6519e86a542cec96aad1e5e9013c3cc203b6de15a69183050813af5c9ad79703136d4b92f50ce171eefc6aa7988ecf02f319ffc5eafd6ee7a137f8fce64b255bb1b8dd19cfe767d64fdb468b9b2e9e7a0c24dae03239c8c714d3f40b7ee9c4e59ac15b17e4d328f1100756bce17133e8e7493b54e5006c3cbcdacd134130c5132a1edebdbd01a0c41452d16ed7a0788003c34730d0808e7e14c797a21f2b45a8aa1644357fd5e988f99b017d9df37563a354c788dc0e2f9466045622fa3f3e17db63414d27761f57392623a2bef6467501c63e8d645
Output = d5cf555b1d6151029a429a
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# an invalid ciphertext, with two zero bytes removed from first bytes of
# ciphertext, decrypts to a random 11 byte long synthethic
# plaintext
@@ -430,24 +452,32 @@ Decrypt = RSA-2048-2
Input = 587cccc6b264bdfe0dc2149a988047fa921801f3502ea64624c510c6033d2f427e3f136c26e88ea9f6519e86a542cec96aad1e5e9013c3cc203b6de15a69183050813af5c9ad79703136d4b92f50ce171eefc6aa7988ecf02f319ffc5eafd6ee7a137f8fce64b255bb1b8dd19cfe767d64fdb468b9b2e9e7a0c24dae03239c8c714d3f40b7ee9c4e59ac15b17e4d328f1100756bce17133e8e7493b54e5006c3cbcdacd134130c5132a1edebdbd01a0c41452d16ed7a0788003c34730d0808e7e14c797a21f2b45a8aa1644357fd5e988f99b017d9df37563a354c788dc0e2f9466045622fa3f3e17db63414d27761f57392623a2bef6467501c63e8d645
Output = d5cf555b1d6151029a429a
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# and invalid ciphertext, otherwise valid but starting with 000002, decrypts
# to random 11 byte long synthethic plaintext
Decrypt = RSA-2048-2
Input = 1786550ce8d8433052e01ecba8b76d3019f1355b212ac9d0f5191b023325a7e7714b7802f8e9a17c4cb3cd3a84041891471b10ca1fcfb5d041d34c82e6d0011cf4dc76b90e9c2e0743590579d55bcd7857057152c4a8040361343d1d22ba677d62b011407c652e234b1d663af25e2386251d7409190f19fc8ec3f9374fdf1254633874ce2ec2bff40ad0cb473f9761ec7b68da45a4bd5e33f5d7dac9b9a20821df9406b653f78a95a6c0ea0a4d57f867e4db22c17bf9a12c150f809a7b72b6db86c22a8732241ebf3c6a4f2cf82671d917aba8bc61052b40ccddd743a94ea9b538175106201971cca9d136d25081739aaf6cd18b2aecf9ad320ea3f89502f955
Output = 3d4a054d9358209e9cbbb9
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# negative test with otherwise valid padding but a zero byte in first byte
# of padding
Decrypt = RSA-2048-2
Input = 179598823812d2c58a7eb50521150a48bcca8b4eb53414018b6bca19f4801456c5e36a940037ac516b0d6412ba44ec6b4f268a55ef1c5ffbf18a2f4e3522bb7b6ed89774b79bffa22f7d3102165565642de0d43a955e96a1f2e80e5430671d7266eb4f905dc8ff5e106dc5588e5b0289e49a4913940e392a97062616d2bda38155471b7d360cfb94681c702f60ed2d4de614ea72bf1c53160e63179f6c5b897b59492bee219108309f0b7b8cb2b136c346a5e98b8b4b8415fb1d713bae067911e3057f1c335b4b7e39101eafd5d28f0189037e4334f4fdb9038427b1d119a6702aa8233319cc97d496cc289ae8c956ddc84042659a2d43d6aa22f12b81ab884e
Output = 1f037dd717b07d3e7f7359
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# negative test with otherwise valid padding but a zero byte at the eigth
# byte of padding
Decrypt = RSA-2048-2
Input = a7a340675a82c30e22219a55bc07cdf36d47d01834c1834f917f18b517419ce9de2a96460e745024436470ed85e94297b283537d52189c406a3f533cb405cc6a9dba46b482ce98b6e3dd52d8fce2237425617e38c11fbc46b61897ef200d01e4f25f5f6c4c5b38cd0de38ba11908b86595a8036a08a42a3d05b79600a97ac18ba368a08d6cf6ccb624f6e8002afc75599fba4de3d4f3ba7d208391ebe8d21f8282b18e2c10869eb2702e68f9176b42b0ddc9d763f0c86ba0ff92c957aaeab76d9ab8da52ea297ec11d92d770146faa1b300e0f91ef969b53e7d2907ffc984e9a9c9d11fb7d6cba91972059b46506b035efec6575c46d7114a6b935864858445f
Output = 63cb0bf65fc8255dd29e17
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# negative test with an otherwise valid plaintext but with missing separator
# byte
Decrypt = RSA-2048-2
@@ -501,6 +531,8 @@ PrivPubKeyPair = RSA-2049:RSA-2049-PUBLIC
# RSA decrypt
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# malformed that generates length specified by 3rd last value from PRF
Decrypt = RSA-2049
Input = 00b26f6404b82649629f2704494282443776929122e279a9cf30b0c6fe8122a0a9042870d97cc8ef65490fe58f031eb2442352191f5fbc311026b5147d32df914599f38b825ebb824af0d63f2d541a245c5775d1c4b78630e4996cc5fe413d38455a776cf4edcc0aa7fccb31c584d60502ed2b77398f536e137ff7ba6430e9258e21c2db5b82f5380f566876110ac4c759178900fbad7ab70ea07b1daf7a1639cbb4196543a6cbe8271f35dddb8120304f6eef83059e1c5c5678710f904a6d760c4d1d8ad076be17904b9e69910040b47914a0176fb7eea0c06444a6c4b86d674d19a556a1de5490373cb01ce31bbd15a5633362d3d2cd7d4af1b4c5121288b894
@@ -531,16 +563,22 @@ Decrypt = RSA-2049
Input = f36da3b72d8ff6ded74e7efd08c01908f3f5f0de7b55eab92b5f875190809c39d4162e1e6649618f854fd84aeab03970d16bb814e999852c06de38d82b95c0f32e2a7b5714021fe303389be9c0eac24c90a6b7210f929d390fabf903d44e04110bb7a7fd6c383c275804721efa6d7c93aa64c0bb2b18d97c5220a846c66a4895ae52adddbe2a9996825e013585adcec4b32ba61d782737bd343e5fabd68e8a95b8b1340318559860792dd70dffbe05a1052b54cbfb48cfa7bb3c19cea52076bddac5c25ee276f153a610f6d06ed696d192d8ae4507ffae4e5bdda10a625d6b67f32f7cffcd48dee2431fe66f6105f9d17e611cdcc674868e81692a360f4052
Output = "lorem ipsum"
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# a random negative test case that generates an 11 byte long message
Decrypt = RSA-2049
Input = 00f910200830fc8fff478e99e145f1474b312e2512d0f90b8cef77f8001d09861688c156d1cbaf8a8957f7ebf35f724466952d0524cad48aad4fba1e45ce8ea27e8f3ba44131b7831b62d60c0762661f4c1d1a88cd06263a259abf1ba9e6b0b172069afb86a7e88387726f8ab3adb30bfd6b3f6be6d85d5dfd044e7ef052395474a9cbb1c3667a92780b43a22693015af6c513041bdaf87d43b24ddd244e791eeaea1066e1f4917117b3a468e22e0f7358852bb981248de4d720add2d15dccba6280355935b67c96f9dcb6c419cc38ab9f6fba2d649ef2066e0c34c9f788ae49babd9025fa85b21113e56ce4f43aa134c512b030dd7ac7ce82e76f0be9ce09ebca
Output = 1189b6f5498fd6df532b00
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# otherwise correct plaintext, but with wrong first byte (0x01 instead of 0x00)
Decrypt = RSA-2049
Input = 002c9ddc36ba4cf0038692b2d3a1c61a4bb3786a97ce2e46a3ba74d03158aeef456ce0f4db04dda3fe062268a1711250a18c69778a6280d88e133a16254e1f0e30ce8dac9b57d2e39a2f7d7be3ee4e08aec2fdbe8dadad7fdbf442a29a8fb40857407bf6be35596b8eefb5c2b3f58b894452c2dc54a6123a1a38d642e23751746597e08d71ac92704adc17803b19e131b4d1927881f43b0200e6f95658f559f912c889b4cd51862784364896cd6e8618f485a992f82997ad6a0917e32ae5872eaf850092b2d6c782ad35f487b79682333c1750c685d7d32ab3e1538f31dcaa5e7d5d2825875242c83947308dcf63ba4bfff20334c9c140c837dbdbae7a8dee72ff
Output = f6d0f5b78082fe61c04674
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# otherwise correct plaintext, but with wrong second byte (0x01 instead of 0x02)
Decrypt = RSA-2049
Input = 00c5d77826c1ab7a34d6390f9d342d5dbe848942e2618287952ba0350d7de6726112e9cebc391a0fae1839e2bf168229e3e0d71d4161801509f1f28f6e1487ca52df05c466b6b0a6fbbe57a3268a970610ec0beac39ec0fa67babce1ef2a86bf77466dc127d7d0d2962c20e66593126f276863cd38dc6351428f884c1384f67cad0a0ffdbc2af16711fb68dc559b96b37b4f04cd133ffc7d79c43c42ca4948fa895b9daeb853150c8a5169849b730cc77d68b0217d6c0e3dbf38d751a1998186633418367e7576530566c23d6d4e0da9b038d0bb5169ce40133ea076472d055001f0135645940fd08ea44269af2604c8b1ba225053d6db9ab43577689401bdc0f3
@@ -603,17 +641,23 @@ ooCElYcob01/JWzoXl61Z5sdrMH5CVZJty5foHKusAN5AgMBAAE=
PrivPubKeyPair = RSA-3072:RSA-3072-PUBLIC
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# a random invalid ciphertext that generates an empty synthethic one
Decrypt = RSA-3072
Input = 5e956cd9652f4a2ece902931013e09662b6a9257ad1e987fb75f73a0606df2a4b04789770820c2e02322c4e826f767bd895734a01e20609c3be4517a7a2a589ea1cdc137beb73eb38dac781b52e863de9620f79f9b90fd5b953651fcbfef4a9f1cc07421d511a87dd6942caab6a5a0f4df473e62defb529a7de1509ab99c596e1dff1320402298d8be73a896cc86c38ae3f2f576e9ea70cc28ad575cb0f854f0be43186baa9c18e29c47c6ca77135db79c811231b7c1730955887d321fdc06568382b86643cf089b10e35ab23e827d2e5aa7b4e99ff2e914f302351819eb4d1693243b35f8bf1d42d08f8ec4acafa35f747a4a975a28643ec630d8e4fa5be59d81995660a14bb64c1fea5146d6b11f92da6a3956dd5cb5e0d747cf2ea23f81617769185336263d46ef4c144b754de62a6337342d6c85a95f19f015724546ee3fc4823eca603dbc1dc01c2d5ed50bd72d8e96df2dc048edde0081284068283fc5e73a6139851abf2f29977d0b3d160c883a42a37efba1be05c1a0b1741d7ddf59
Output =
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# a random invalid that has PRF output with a length one byte too long
# in the last value
Decrypt = RSA-3072
Input = 7db0390d75fcf9d4c59cf27b264190d856da9abd11e92334d0e5f71005cfed865a711dfa28b791188374b61916dbc11339bf14b06f5f3f68c206c5607380e13da3129bfb744157e1527dd6fdf6651248b028a496ae1b97702d44706043cdaa7a59c0f41367303f21f268968bf3bd2904db3ae5239b55f8b438d93d7db9d1666c071c0857e2ec37757463769c54e51f052b2a71b04c2869e9e7049a1037b8429206c99726f07289bac18363e7eb2a5b417f47c37a55090cda676517b3549c873f2fe95da9681752ec9864b069089a2ed2f340c8b04ee00079055a817a3355b46ac7dc00d17f4504ccfbcfcadb0c04cb6b22069e179385ae1eafabad5521bac2b8a8ee1dfff59a22eb3fdacfc87175d10d7894cfd869d056057dd9944b869c1784fcc27f731bc46171d39570fbffbadf082d33f6352ecf44aca8d9478e53f5a5b7c852b401e8f5f74da49da91e65bdc97765a9523b7a0885a6f8afe5759d58009fbfa837472a968e6ae92026a5e0202a395483095302d6c3985b5f5831c521a271
Output = 56a3bea054e01338be9b7d7957539c
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# a random invalid that generates a synthethic of maximum size
Decrypt = RSA-3072
Input = 1715065322522dff85049800f6a29ab5f98c465020467414b2a44127fe9446da47fa18047900f99afe67c2df6f50160bb8e90bff296610fde632b3859d4d0d2e644f23835028c46cca01b84b88231d7e03154edec6627bcba23de76740d839851fa12d74c8f92e540c73fe837b91b7d699b311997d5f0f7864c486d499c3a79c111faaacbe4799597a25066c6200215c3d158f3817c1aa57f18bdaad0be1658da9da93f5cc6c3c4dd72788af57adbb6a0c26f42d32d95b8a4f95e8c6feb2f8a5d53b19a50a0b7cbc25e055ad03e5ace8f3f7db13e57759f67b65d143f08cca15992c6b2aae643390483de111c2988d4e76b42596266005103c8de6044fb7398eb3c28a864fa672de5fd8774510ff45e05969a11a4c7d3f343e331190d2dcf24fb9154ba904dc94af98afc5774a9617d0418fe6d13f8245c7d7626c176138dd698a23547c25f27c2b98ea4d8a45c7842b81888e4cc14e5b72e9cf91f56956c93dbf2e5f44a8282a7813157fc481ff1371a0f66b31797e81ebdb09a673d4db96d6
@@ -644,43 +688,59 @@ Decrypt = RSA-3072
Input = 1ec97ac981dfd9dcc7a7389fdfa9d361141dac80c23a060410d472c16094e6cdffc0c3684d84aa402d7051dfccb2f6da33f66985d2a259f5b7fbf39ac537e95c5b7050eb18844a0513abef812cc8e74a3c5240009e6e805dcadf532bc1a2702d5acc9e585fad5b89d461fcc1397351cdce35171523758b171dc041f412e42966de7f94856477356d06f2a6b40e3ff0547562a4d91bbf1338e9e049facbee8b20171164505468cd308997447d3dc4b0acb49e7d368fedd8c734251f30a83491d2506f3f87318cc118823244a393dc7c5c739a2733d93e1b13db6840a9429947357f47b23fbe39b7d2d61e5ee26f9946c4632f6c4699e452f412a26641d4751135400713cd56ec66f0370423d55d2af70f5e7ad0adea8e4a0d904a01e4ac272eba4af1a029dd53eb71f115bf31f7a6c8b19a6523adeecc0d4c3c107575e38572a8f8474ccad163e46e2e8b08111132aa97a16fb588c9b7e37b3b3d7490381f3c55d1a9869a0fd42cd86fed59ecec78cb6b2dfd06a497f5afe3419691314ba0
Output = "forty two"
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# a random negative test case that generates a 9 byte long message
Decrypt = RSA-3072
Input = 5c8555f5cef627c15d37f85c7f5fd6e499264ea4b8e3f9112023aeb722eb38d8eac2be3751fd5a3785ab7f2d59fa3728e5be8c3de78a67464e30b21ee23b5484bb3cd06d0e1c6ad25649c8518165653eb80488bfb491b20c04897a6772f69292222fc5ef50b5cf9efc6d60426a449b6c489569d48c83488df629d695653d409ce49a795447fcec2c58a1a672e4a391401d428baaf781516e11e323d302fcf20f6eab2b2dbe53a48c987e407c4d7e1cb41131329138313d330204173a4f3ff06c6fadf970f0ed1005d0b27e35c3d11693e0429e272d583e57b2c58d24315c397856b34485dcb077665592b747f889d34febf2be8fce66c265fd9fc3575a6286a5ce88b4b413a08efc57a07a8f57a999605a837b0542695c0d189e678b53662ecf7c3d37d9dbeea585eebfaf79141118e06762c2381fe27ca6288edddc19fd67cd64f16b46e06d8a59ac530f22cd83cc0bc4e37feb52015cbb2283043ccf5e78a4eb7146827d7a466b66c8a4a4826c1bad68123a7f2d00fc1736525ff90c058f56
Output = 257906ca6de8307728
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# a random negative test case that generates a 9 byte long message based on
# second to last value from PRF
Decrypt = RSA-3072
Input = 758c215aa6acd61248062b88284bf43c13cb3b3d02410be4238607442f1c0216706e21a03a2c10eb624a63322d854da195c017b76fea83e274fa371834dcd2f3b7accf433fc212ad76c0bac366e1ed32e25b279f94129be7c64d6e162adc08ccebc0cfe8e926f01c33ab9c065f0e0ac83ae5137a4cb66702615ad68a35707d8676d2740d7c1a954680c83980e19778ed11eed3a7c2dbdfc461a9bbef671c1bc00c882d361d29d5f80c42bdf5efec886c34138f83369c6933b2ac4e93e764265351b4a0083f040e14f511f09b22f96566138864e4e6ff24da4810095da98e0585410951538ced2f757a277ff8e17172f06572c9024eeae503f176fd46eb6c5cd9ba07af11cde31dccac12eb3a4249a7bfd3b19797ad1656984bfcbf6f74e8f99d8f1ac420811f3d166d87f935ef15ae858cf9e72c8e2b547bf16c3fb09a8c9bf88fd2e5d38bf24ed610896131a84df76b9f920fe76d71fff938e9199f3b8cd0c11fd0201f9139d7673a871a9e7d4adc3bbe360c8813617cd60a90128fbe34c9d5
Output = 043383c929060374ed
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# a random negative test that generates message based on 3rd last value from
# PRF
Decrypt = RSA-3072
Input = 7b22d5e62d287968c6622171a1f75db4b0fd15cdf3134a1895d235d56f8d8fe619f2bf4868174a91d7601a82975d2255190d28b869141d7c395f0b8c4e2be2b2c1b4ffc12ce749a6f6803d4cfe7fba0a8d6949c04151f981c0d84592aa2ff25d1bd3ce5d10cb03daca6b496c6ad40d30bfa8acdfd02cdb9326c4bdd93b949c9dc46caa8f0e5f429785bce64136a429a3695ee674b647452bea1b0c6de9c5f1e8760d5ef6d5a9cfff40457b023d3c233c1dcb323e7808103e73963b2eafc928c9eeb0ee3294955415c1ddd9a1bb7e138fecd79a3cb89c57bd2305524624814aaf0fd1acbf379f7f5b39421f12f115ba488d380586095bb53f174fae424fa4c8e3b299709cd344b9f949b1ab57f1c645d7ed3c8f81d5594197355029fee8960970ff59710dc0e5eb50ea6f4c3938e3f89ed7933023a2c2ddffaba07be147f686828bd7d520f300507ed6e71bdaee05570b27bc92741108ac2eb433f028e138dd6d63067bc206ea2d826a7f41c0d613daed020f0f30f4e272e9618e0a8c39018a83
Output = 70263fa6050534b9e0
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# an otherwise valid plaintext, but with wrong first byte (0x01 instead of 0x00)
Decrypt = RSA-3072
Input = 6db80adb5ff0a768caf1378ecc382a694e7d1bde2eff4ba12c48aaf794ded7a994a5b2b57acec20dbec4ae385c9dd531945c0f197a5496908725fc99d88601a17d3bb0b2d38d2c1c3100f39955a4cb3dbed5a38bf900f23d91e173640e4ec655c84fdfe71fcdb12a386108fcf718c9b7af37d39703e882436224c877a2235e8344fba6c951eb7e2a4d1d1de81fb463ac1b880f6cc0e59ade05c8ce35179ecd09546731fc07b141d3d6b342a97ae747e61a9130f72d37ac5a2c30215b6cbd66c7db893810df58b4c457b4b54f34428247d584e0fa71062446210db08254fb9ead1ba1a393c724bd291f0cf1a7143f32df849051dc896d7d176fef3b57ab6dffd626d0c3044e9edb2e3d012ace202d2581df01bec7e9aa0727a6650dd373d374f0bc0f4a611f8139dfe97d63e70c6188f4df5b672e47c51d8aa567097293fbff127c75ec690b43407578b73c85451710a0cece58fd497d7f7bd36a8a92783ef7dc6265dff52aac8b70340b996508d39217f2783ce6fc91a1cc94bb2ac487b84f62
Output = 6d8d3a094ff3afff4c
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# an otherwise valid plaintext, but with wrong second byte (0x01 instead of 0x02)
Decrypt = RSA-3072
Input = 417328c034458563079a4024817d0150340c34e25ae16dcad690623f702e5c748a6ebb3419ff48f486f83ba9df35c05efbd7f40613f0fc996c53706c30df6bba6dcd4a40825f96133f3c21638a342bd4663dffbd0073980dac47f8c1dd8e97ce1412e4f91f2a8adb1ac2b1071066efe8d718bbb88ca4a59bd61500e826f2365255a409bece0f972df97c3a55e09289ef5fa815a2353ef393fd1aecfc888d611c16aec532e5148be15ef1bf2834b8f75bb26db08b66d2baad6464f8439d1986b533813321dbb180080910f233bcc4dd784fb21871aef41be08b7bfad4ecc3b68f228cb5317ac6ec1227bc7d0e452037ba918ee1da9fdb8393ae93b1e937a8d4691a17871d5092d2384b6190a53df888f65b951b05ed4ad57fe4b0c6a47b5b22f32a7f23c1a234c9feb5d8713d949686760680da4db454f4acad972470033472b9864d63e8d23eefc87ebcf464ecf33f67fbcdd48eab38c5292586b36aef5981ed2fa07b2f9e23fc57d9eb71bfff4111c857e9fff23ceb31e72592e70c874b4936
Output = c6ae80ffa80bc184b0
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# an otherwise valid plaintext, but with zero byte in first byte of padding
Decrypt = RSA-3072
Input = 8542c626fe533467acffcd4e617692244c9b5a3bf0a215c5d64891ced4bf4f9591b4b2aedff9843057986d81631b0acb3704ec2180e5696e8bd15b217a0ec36d2061b0e2182faa3d1c59bd3f9086a10077a3337a3f5da503ec3753535ffd25b837a12f2541afefd0cffb0224b8f874e4bed13949e105c075ed44e287c5ae03b155e06b90ed247d2c07f1ef3323e3508cce4e4074606c54172ad74d12f8c3a47f654ad671104bf7681e5b061862747d9afd37e07d8e0e2291e01f14a95a1bb4cbb47c304ef067595a3947ee2d722067e38a0f046f43ec29cac6a8801c6e3e9a2331b1d45a7aa2c6af3205be382dd026e389614ee095665a611ab2e8dced2ee1c9d08ac9de11aef5b3803fc9a9ce8231ec87b5fed386fb92ee3db995a89307bcba844bd0a691c29ae51216e949dfc813133cb06a07265fd807bcb3377f6adb0a481d9b7f442003115895939773e6b95371c4febef29edae946fa245e7c50729e2e558cfaad773d1fd5f67b457a6d9d17a847c6fcbdb103a86f35f228cefc06cea0
Output = a8a9301daa01bb25c7
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# an otherwise valid plaintext, but with zero byte in eight byte of padding
Decrypt = RSA-3072
Input = 449dfa237a70a99cb0351793ec8677882021c2aa743580bf6a0ea672055cffe8303ac42855b1d1f3373aae6af09cb9074180fc963e9d1478a4f98b3b4861d3e7f0aa8560cf603711f139db77667ca14ba3a1acdedfca9ef4603d6d7eb0645bfc805304f9ad9d77d34762ce5cd84bd3ec9d35c30e3be72a1e8d355d5674a141b5530659ad64ebb6082e6f73a80832ab6388912538914654d34602f4b3b1c78589b4a5d964b2efcca1dc7004c41f6cafcb5a7159a7fc7c0398604d0edbd4c8f4f04067da6a153a05e7cbeea13b5ee412400ef7d4f3106f4798da707ec37a11286df2b7a204856d5ff773613fd1e453a7114b78e347d3e8078e1cb3276b3562486ba630bf719697e0073a123c3e60ebb5c7a1ccff4279faffa2402bc1109f8d559d6766e73591943dfcf25ba10c3762f02af85187799b8b4b135c3990793a6fd32642f1557405ba55cc7cf7336a0e967073c5fa50743f9cc5e3017c172d9898d2af83345e71b3e0c22ab791eacb6484a32ec60ebc226ec9deaee91b1a0560c2b571
Output = 6c716fe01d44398018
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
# an otherwise valid plaintext, but with null separator missing
Decrypt = RSA-3072
Input = a7a5c99e50da48769ecb779d9abe86ef9ec8c38c6f43f17c7f2d7af608a4a1bd6cf695b47e97c191c61fb5a27318d02f495a176b9fae5a55b5d3fabd1d8aae4957e3879cb0c60f037724e11be5f30f08fc51c033731f14b44b414d11278cd3dba7e1c8bfe208d2b2bb7ec36366dacb6c88b24cd79ab394adf19dbbc21dfa5788bacbadc6a62f79cf54fd8cf585c615b5c0eb94c35aa9de25321c8ffefb8916bbaa2697cb2dd82ee98939df9b6704cee77793edd2b4947d82e00e5749664970736c59a84197bd72b5c71e36aae29cd39af6ac73a368edbc1ca792e1309f442aafcd77c992c88f8e4863149f221695cb7b0236e75b2339a02c4ea114854372c306b9412d8eedb600a31532002f2cea07b4df963a093185e4607732e46d753b540974fb5a5c3f9432df22e85bb17611370966c5522fd23f2ad3484341ba7fd8885fc8e6d379a611d13a2aca784fba2073208faad2137bf1979a0fa146c1880d4337db3274269493bab44a1bcd0681f7227ffdf589c2e925ed9d36302509d1109ba4
--
2.34.1

View File

@@ -0,0 +1,57 @@
From 455db0c94c0b83083ce8b792982c03aa56fc866f Mon Sep 17 00:00:00 2001
From: Hubert Kario <hkario@redhat.com>
Date: Tue, 22 Nov 2022 17:42:11 +0100
Subject: [PATCH] rsa: add test for the option to disable implicit rejection
CVE: CVE-2023-50781
Upstream-Status: Backport [https://github.com/openssl/openssl/commit/455db0c94c0b83083ce8b792982c03aa56fc866f]
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13817)
Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
---
.../30-test_evp_data/evppkey_rsa_common.txt | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/test/recipes/30-test_evp_data/evppkey_rsa_common.txt b/test/recipes/30-test_evp_data/evppkey_rsa_common.txt
index 0ad654fc60..a3d01eec45 100644
--- a/test/recipes/30-test_evp_data/evppkey_rsa_common.txt
+++ b/test/recipes/30-test_evp_data/evppkey_rsa_common.txt
@@ -253,6 +253,14 @@ Decrypt = RSA-2048
Input = 550AF55A2904E7B9762352F8FB7FA235A9CB053AACB2D5FCB8CA48453CB2EE3619746C701ABF2D4CC67003471A187900B05AA812BD25ED05C675DFC8C97A24A7BF49BD6214992CAD766D05A9A2B57B74F26A737E0237B8B76C45F1F226A836D7CFBC75BA999BDBE48DBC09227AA46C88F21DCCBA7840141AD5A5D71FD122E6BD6AC3E564780DFE623FC1CA9B995A6037BF0BBD43B205A84AC5444F34202C05CE9113087176432476576DE6FFFF9A52EA57C08BE3EC2F49676CB8E12F762AC71FA3C321E00AC988910C85FF52F93825666CE0D40FFAA0592078919D4493F46D95CCF76364C6D57760DD0B64805F9AFC76A2365A5575CA301D5103F0EA76CB9A78
Output = "Hello World"
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
+# Note: disable the Bleichenbacher workaround to see if it passes
+Decrypt = RSA-2048
+Ctrl = rsa_pkcs1_implicit_rejection:0
+Input = 550AF55A2904E7B9762352F8FB7FA235A9CB053AACB2D5FCB8CA48453CB2EE3619746C701ABF2D4CC67003471A187900B05AA812BD25ED05C675DFC8C97A24A7BF49BD6214992CAD766D05A9A2B57B74F26A737E0237B8B76C45F1F226A836D7CFBC75BA999BDBE48DBC09227AA46C88F21DCCBA7840141AD5A5D71FD122E6BD6AC3E564780DFE623FC1CA9B995A6037BF0BBD43B205A84AC5444F34202C05CE9113087176432476576DE6FFFF9A52EA57C08BE3EC2F49676CB8E12F762AC71FA3C321E00AC988910C85FF52F93825666CE0D40FFAA0592078919D4493F46D95CCF76364C6D57760DD0B64805F9AFC76A2365A5575CA301D5103F0EA76CB9A78
+Output = "Hello World"
+
# The old FIPS provider doesn't include the workaround (#13817)
FIPSversion = >3.0.0
# Corrupted ciphertext
@@ -261,6 +269,16 @@ Decrypt = RSA-2048
Input = 550AF55A2904E7B9762352F8FB7FA235A9CB053AACB2D5FCB8CA48453CB2EE3619746C701ABF2D4CC67003471A187900B05AA812BD25ED05C675DFC8C97A24A7BF49BD6214992CAD766D05A9A2B57B74F26A737E0237B8B76C45F1F226A836D7CFBC75BA999BDBE48DBC09227AA46C88F21DCCBA7840141AD5A5D71FD122E6BD6AC3E564780DFE623FC1CA9B995A6037BF0BBD43B205A84AC5444F34202C05CE9113087176432476576DE6FFFF9A52EA57C08BE3EC2F49676CB8E12F762AC71FA3C321E00AC988910C85FF52F93825666CE0D40FFAA0592078919D4493F46D95CCF76364C6D57760DD0B64805F9AFC76A2365A5575CA301D5103F0EA76CB9A79
Output = 4cbb988d6a46228379132b0b5f8c249b3860043848c93632fb982c807c7c82fffc7a9ef83f4908f890373ac181ffea6381e103bcaa27e65638b6ecebef38b59ed4226a9d12af675cfcb634d8c40e7a7aff
+# The old FIPS provider doesn't include the workaround (#13817)
+FIPSversion = >3.0.0
+# Corrupted ciphertext
+# Note: disable the Bleichenbacher workaround to see if it fails
+Decrypt = RSA-2048
+Ctrl = rsa_pkcs1_implicit_rejection:0
+Input = 550AF55A2904E7B9762352F8FB7FA235A9CB053AACB2D5FCB8CA48453CB2EE3619746C701ABF2D4CC67003471A187900B05AA812BD25ED05C675DFC8C97A24A7BF49BD6214992CAD766D05A9A2B57B74F26A737E0237B8B76C45F1F226A836D7CFBC75BA999BDBE48DBC09227AA46C88F21DCCBA7840141AD5A5D71FD122E6BD6AC3E564780DFE623FC1CA9B995A6037BF0BBD43B205A84AC5444F34202C05CE9113087176432476576DE6FFFF9A52EA57C08BE3EC2F49676CB8E12F762AC71FA3C321E00AC988910C85FF52F93825666CE0D40FFAA0592078919D4493F46D95CCF76364C6D57760DD0B64805F9AFC76A2365A5575CA301D5103F0EA76CB9A79
+Output = "Hello World"
+Result = KEYOP_ERROR
+
# OAEP padding
Decrypt = RSA-2048
Ctrl = rsa_padding_mode:oaep
--
2.34.1

View File

@@ -0,0 +1,48 @@
From e70e34d857d4003199bcb5d3b52ca8102ccc1b98 Mon Sep 17 00:00:00 2001
From: Tomas Mraz <tomas@openssl.org>
Date: Mon, 5 Aug 2024 17:54:14 +0200
Subject: [PATCH] dh_kmgmt.c: Avoid expensive public key validation for known
safe-prime groups
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The partial validation is fully sufficient to check the key validity.
Thanks to Szilárd Pfeiffer for reporting the issue.
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <ppzgs1@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/25088)
CVE: CVE-2024-41996
Upstream-Status: Backport [https://github.com/openssl/openssl/commit/e70e34d857d4003199bcb5d3b52ca8102ccc1b98]
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
providers/implementations/keymgmt/dh_kmgmt.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/providers/implementations/keymgmt/dh_kmgmt.c b/providers/implementations/keymgmt/dh_kmgmt.c
index 795a3f2..3e7a811 100644
--- a/providers/implementations/keymgmt/dh_kmgmt.c
+++ b/providers/implementations/keymgmt/dh_kmgmt.c
@@ -387,9 +387,11 @@ static int dh_validate_public(const DH *dh, int checktype)
if (pub_key == NULL)
return 0;
- /* The partial test is only valid for named group's with q = (p - 1) / 2 */
- if (checktype == OSSL_KEYMGMT_VALIDATE_QUICK_CHECK
- && ossl_dh_is_named_safe_prime_group(dh))
+ /*
+ * The partial test is only valid for named group's with q = (p - 1) / 2
+ * but for that case it is also fully sufficient to check the key validity.
+ */
+ if (ossl_dh_is_named_safe_prime_group(dh))
return ossl_dh_check_pub_key_partial(dh, pub_key, &res);
return DH_check_pub_key_ex(dh, pub_key);
--
2.40.0

View File

@@ -12,13 +12,20 @@ SRC_URI = "https://github.com/openssl/openssl/releases/download/openssl-${PV}/op
file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
file://afalg.patch \
file://0001-Configure-do-not-tweak-mips-cflags.patch \
"
file://CVE-2024-41996.patch \
file://CVE-2023-50781-1.patch \
file://CVE-2023-50781-2.patch \
file://CVE-2023-50781-3.patch \
file://CVE-2023-50781-4.patch \
file://CVE-2023-50781-5.patch \
file://CVE-2023-50781-6.patch \
"
SRC_URI:append:class-nativesdk = " \
file://environment.d-openssl.sh \
"
SRC_URI[sha256sum] = "57e03c50feab5d31b152af2b764f10379aecd8ee92f16c985983ce4a99f7ef86"
SRC_URI[sha256sum] = "dfdd77e4ea1b57ff3a6dbde6b0bdc3f31db5ac99e7fdd4eaf9e1fbb6ec2db8ce"
inherit lib_package multilib_header multilib_script ptest perlnative
MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"

View File

@@ -0,0 +1,254 @@
From 9d3f347a2b14652e767d51142600206a32676b62 Mon Sep 17 00:00:00 2001
From: Jouni Malinen <quic_jouni@quicinc.com>
Date: Mon, 24 Jan 2022 20:57:19 +0200
Subject: [PATCH] DPP3: Add PKEX initiator retries and fallback from v2 to v1
for hostapd
This extends hostapd with the design used in wpa_supplicant for PKEX
initiator retries and automatic version fallback from v2 to v1 (the
latter is enabled only with CONFIG_DPP3=y).
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
CVE: CVE-2022-37660
Upstream-Status: Backport [https://git.w1.fi/cgit/hostap/commit/?id=9d3f347a2b14652e767d51142600206a32676b62]
Signed-off-by: Divya Chellam <divya.chellam@windriver.com>
---
src/ap/dpp_hostapd.c | 188 +++++++++++++++++++++++++++++++++++++++----
1 file changed, 171 insertions(+), 17 deletions(-)
diff --git a/src/ap/dpp_hostapd.c b/src/ap/dpp_hostapd.c
index 13e1fc5..6c30ba3 100644
--- a/src/ap/dpp_hostapd.c
+++ b/src/ap/dpp_hostapd.c
@@ -216,6 +216,163 @@ static void hostapd_dpp_auth_resp_retry(struct hostapd_data *hapd)
}
+static int hostapd_dpp_allow_ir(struct hostapd_data *hapd, unsigned int freq)
+{
+ int i, j;
+
+ if (!hapd->iface->hw_features)
+ return -1;
+
+ for (i = 0; i < hapd->iface->num_hw_features; i++) {
+ struct hostapd_hw_modes *mode = &hapd->iface->hw_features[i];
+
+ for (j = 0; j < mode->num_channels; j++) {
+ struct hostapd_channel_data *chan = &mode->channels[j];
+
+ if (chan->freq != (int) freq)
+ continue;
+
+ if (chan->flag & (HOSTAPD_CHAN_DISABLED |
+ HOSTAPD_CHAN_NO_IR |
+ HOSTAPD_CHAN_RADAR))
+ continue;
+
+ return 1;
+ }
+ }
+
+ wpa_printf(MSG_DEBUG,
+ "DPP: Frequency %u MHz not supported or does not allow PKEX initiation in the current channel list",
+ freq);
+
+ return 0;
+}
+
+
+static int hostapd_dpp_pkex_next_channel(struct hostapd_data *hapd,
+ struct dpp_pkex *pkex)
+{
+ if (pkex->freq == 2437)
+ pkex->freq = 5745;
+ else if (pkex->freq == 5745)
+ pkex->freq = 5220;
+ else if (pkex->freq == 5220)
+ pkex->freq = 60480;
+ else
+ return -1; /* no more channels to try */
+
+ if (hostapd_dpp_allow_ir(hapd, pkex->freq) == 1) {
+ wpa_printf(MSG_DEBUG, "DPP: Try to initiate on %u MHz",
+ pkex->freq);
+ return 0;
+ }
+
+ /* Could not use this channel - try the next one */
+ return hostapd_dpp_pkex_next_channel(hapd, pkex);
+}
+
+
+static int hostapd_dpp_pkex_init(struct hostapd_data *hapd, bool v2)
+{
+ struct dpp_pkex *pkex;
+ struct wpabuf *msg;
+ unsigned int wait_time;
+
+ wpa_printf(MSG_DEBUG, "DPP: Initiating PKEXv%d", v2 ? 2 : 1);
+ dpp_pkex_free(hapd->dpp_pkex);
+ hapd->dpp_pkex = dpp_pkex_init(hapd->msg_ctx, hapd->dpp_pkex_bi,
+ hapd->own_addr,
+ hapd->dpp_pkex_identifier,
+ hapd->dpp_pkex_code, v2);
+ pkex = hapd->dpp_pkex;
+ if (!pkex)
+ return -1;
+
+ msg = hapd->dpp_pkex->exchange_req;
+ wait_time = 2000; /* TODO: hapd->max_remain_on_chan; */
+ pkex->freq = 2437;
+ wpa_msg(hapd->msg_ctx, MSG_INFO, DPP_EVENT_TX "dst=" MACSTR
+ " freq=%u type=%d", MAC2STR(broadcast), pkex->freq,
+ v2 ? DPP_PA_PKEX_EXCHANGE_REQ :
+ DPP_PA_PKEX_V1_EXCHANGE_REQ);
+ hostapd_drv_send_action(hapd, pkex->freq, 0, broadcast,
+ wpabuf_head(msg), wpabuf_len(msg));
+ pkex->exch_req_wait_time = wait_time;
+ pkex->exch_req_tries = 1;
+
+ return 0;
+}
+
+
+static void hostapd_dpp_pkex_retry_timeout(void *eloop_ctx, void *timeout_ctx)
+{
+ struct hostapd_data *hapd = eloop_ctx;
+ struct dpp_pkex *pkex = hapd->dpp_pkex;
+
+ if (!pkex || !pkex->exchange_req)
+ return;
+ if (pkex->exch_req_tries >= 5) {
+ if (hostapd_dpp_pkex_next_channel(hapd, pkex) < 0) {
+#ifdef CONFIG_DPP3
+ if (pkex->v2) {
+ wpa_printf(MSG_DEBUG,
+ "DPP: Fall back to PKEXv1");
+ hostapd_dpp_pkex_init(hapd, false);
+ return;
+ }
+#endif /* CONFIG_DPP3 */
+ wpa_msg(hapd->msg_ctx, MSG_INFO, DPP_EVENT_FAIL
+ "No response from PKEX peer");
+ dpp_pkex_free(pkex);
+ hapd->dpp_pkex = NULL;
+ return;
+ }
+ pkex->exch_req_tries = 0;
+ }
+
+ pkex->exch_req_tries++;
+ wpa_printf(MSG_DEBUG, "DPP: Retransmit PKEX Exchange Request (try %u)",
+ pkex->exch_req_tries);
+ wpa_msg(hapd->msg_ctx, MSG_INFO, DPP_EVENT_TX "dst=" MACSTR
+ " freq=%u type=%d",
+ MAC2STR(broadcast), pkex->freq,
+ pkex->v2 ? DPP_PA_PKEX_EXCHANGE_REQ :
+ DPP_PA_PKEX_V1_EXCHANGE_REQ);
+ hostapd_drv_send_action(hapd, pkex->freq, pkex->exch_req_wait_time,
+ broadcast,
+ wpabuf_head(pkex->exchange_req),
+ wpabuf_len(pkex->exchange_req));
+}
+
+
+static void hostapd_dpp_pkex_tx_status(struct hostapd_data *hapd, const u8 *dst,
+ const u8 *data, size_t data_len, int ok)
+{
+ struct dpp_pkex *pkex = hapd->dpp_pkex;
+
+ if (pkex->failed) {
+ wpa_printf(MSG_DEBUG,
+ "DPP: Terminate PKEX exchange due to an earlier error");
+ if (pkex->t > pkex->own_bi->pkex_t)
+ pkex->own_bi->pkex_t = pkex->t;
+ dpp_pkex_free(pkex);
+ hapd->dpp_pkex = NULL;
+ return;
+ }
+
+ if (pkex->exch_req_wait_time && pkex->exchange_req) {
+ /* Wait for PKEX Exchange Response frame and retry request if
+ * no response is seen. */
+ eloop_cancel_timeout(hostapd_dpp_pkex_retry_timeout, hapd,
+ NULL);
+ eloop_register_timeout(pkex->exch_req_wait_time / 1000,
+ (pkex->exch_req_wait_time % 1000) * 1000,
+ hostapd_dpp_pkex_retry_timeout, hapd,
+ NULL);
+ }
+}
+
+
void hostapd_dpp_tx_status(struct hostapd_data *hapd, const u8 *dst,
const u8 *data, size_t data_len, int ok)
{
@@ -227,6 +384,11 @@ void hostapd_dpp_tx_status(struct hostapd_data *hapd, const u8 *dst,
" result=%s", MAC2STR(dst), ok ? "SUCCESS" : "FAILED");
if (!hapd->dpp_auth) {
+ if (hapd->dpp_pkex) {
+ hostapd_dpp_pkex_tx_status(hapd, dst, data, data_len,
+ ok);
+ return;
+ }
wpa_printf(MSG_DEBUG,
"DPP: Ignore TX status since there is no ongoing authentication exchange");
return;
@@ -1783,6 +1945,9 @@ hostapd_dpp_rx_pkex_exchange_resp(struct hostapd_data *hapd, const u8 *src,
return;
}
+ eloop_cancel_timeout(hostapd_dpp_pkex_retry_timeout, hapd, NULL);
+ hapd->dpp_pkex->exch_req_wait_time = 0;
+
msg = dpp_pkex_rx_exchange_resp(hapd->dpp_pkex, src, buf, len);
if (!msg) {
wpa_printf(MSG_DEBUG, "DPP: Failed to process the response");
@@ -2172,26 +2337,14 @@ int hostapd_dpp_pkex_add(struct hostapd_data *hapd, const char *cmd)
return -1;
if (os_strstr(cmd, " init=1") || os_strstr(cmd, " init=2")) {
- struct wpabuf *msg;
+#ifdef CONFIG_DPP3
+ bool v2 = true;
+#else /* CONFIG_DPP3 */
bool v2 = os_strstr(cmd, " init=2") != NULL;
+#endif /* CONFIG_DPP3 */
- wpa_printf(MSG_DEBUG, "DPP: Initiating PKEX");
- dpp_pkex_free(hapd->dpp_pkex);
- hapd->dpp_pkex = dpp_pkex_init(hapd->msg_ctx, own_bi,
- hapd->own_addr,
- hapd->dpp_pkex_identifier,
- hapd->dpp_pkex_code, v2);
- if (!hapd->dpp_pkex)
+ if (hostapd_dpp_pkex_init(hapd, v2) < 0)
return -1;
-
- msg = hapd->dpp_pkex->exchange_req;
- /* TODO: Which channel to use? */
- wpa_msg(hapd->msg_ctx, MSG_INFO, DPP_EVENT_TX "dst=" MACSTR
- " freq=%u type=%d", MAC2STR(broadcast), 2437,
- v2 ? DPP_PA_PKEX_EXCHANGE_REQ :
- DPP_PA_PKEX_V1_EXCHANGE_REQ);
- hostapd_drv_send_action(hapd, 2437, 0, broadcast,
- wpabuf_head(msg), wpabuf_len(msg));
}
/* TODO: Support multiple PKEX info entries */
@@ -2319,6 +2472,7 @@ void hostapd_dpp_deinit(struct hostapd_data *hapd)
#endif /* CONFIG_TESTING_OPTIONS */
if (!hapd->dpp_init_done)
return;
+ eloop_cancel_timeout(hostapd_dpp_pkex_retry_timeout, hapd, NULL);
eloop_cancel_timeout(hostapd_dpp_reply_wait_timeout, hapd, NULL);
eloop_cancel_timeout(hostapd_dpp_auth_conf_wait_timeout, hapd, NULL);
eloop_cancel_timeout(hostapd_dpp_init_timeout, hapd, NULL);
--
2.40.0

View File

@@ -0,0 +1,139 @@
From 80213629981a21825e4688fde1b590e4c4d4bcea Mon Sep 17 00:00:00 2001
From: Jouni Malinen <quic_jouni@quicinc.com>
Date: Mon, 24 Jan 2022 20:21:24 +0200
Subject: [PATCH] DPP3: Start with PKEXv2 and fall back to v1
Use automatic PKEX version negotiation as the initiator by starting with
PKEXv2 and if no response is received, trying again with PKEXv1. For
now, this is enabled only in wpa_supplicant CONFIG_DPP3=y builds.
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
CVE: CVE-2022-37660
Upstream-Status: Backport [https://git.w1.fi/cgit/hostap/commit/?id=80213629981a21825e4688fde1b590e4c4d4bcea]
Signed-off-by: Divya Chellam <divya.chellam@windriver.com>
---
wpa_supplicant/dpp_supplicant.c | 81 +++++++++++++++++++++------------
1 file changed, 52 insertions(+), 29 deletions(-)
diff --git a/wpa_supplicant/dpp_supplicant.c b/wpa_supplicant/dpp_supplicant.c
index 584654a..43c85d3 100644
--- a/wpa_supplicant/dpp_supplicant.c
+++ b/wpa_supplicant/dpp_supplicant.c
@@ -2557,6 +2557,45 @@ static int wpas_dpp_pkex_next_channel(struct wpa_supplicant *wpa_s,
}
+static int wpas_dpp_pkex_init(struct wpa_supplicant *wpa_s, bool v2)
+{
+ struct dpp_pkex *pkex;
+ struct wpabuf *msg;
+ unsigned int wait_time;
+
+ wpa_printf(MSG_DEBUG, "DPP: Initiating PKEXv%d", v2 ? 2 : 1);
+ dpp_pkex_free(wpa_s->dpp_pkex);
+ wpa_s->dpp_pkex = dpp_pkex_init(wpa_s, wpa_s->dpp_pkex_bi,
+ wpa_s->own_addr,
+ wpa_s->dpp_pkex_identifier,
+ wpa_s->dpp_pkex_code, v2);
+ pkex = wpa_s->dpp_pkex;
+ if (!pkex)
+ return -1;
+
+ msg = pkex->exchange_req;
+ wait_time = wpa_s->max_remain_on_chan;
+ if (wait_time > 2000)
+ wait_time = 2000;
+ pkex->freq = 2437;
+ wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_TX "dst=" MACSTR
+ " freq=%u type=%d",
+ MAC2STR(broadcast), pkex->freq,
+ v2 ? DPP_PA_PKEX_EXCHANGE_REQ :
+ DPP_PA_PKEX_V1_EXCHANGE_REQ);
+ offchannel_send_action(wpa_s, pkex->freq, broadcast,
+ wpa_s->own_addr, broadcast,
+ wpabuf_head(msg), wpabuf_len(msg),
+ wait_time, wpas_dpp_tx_pkex_status, 0);
+ if (wait_time == 0)
+ wait_time = 2000;
+ pkex->exch_req_wait_time = wait_time;
+ pkex->exch_req_tries = 1;
+
+ return 0;
+}
+
+
static void wpas_dpp_pkex_retry_timeout(void *eloop_ctx, void *timeout_ctx)
{
struct wpa_supplicant *wpa_s = eloop_ctx;
@@ -2566,6 +2605,14 @@ static void wpas_dpp_pkex_retry_timeout(void *eloop_ctx, void *timeout_ctx)
return;
if (pkex->exch_req_tries >= 5) {
if (wpas_dpp_pkex_next_channel(wpa_s, pkex) < 0) {
+#ifdef CONFIG_DPP3
+ if (pkex->v2) {
+ wpa_printf(MSG_DEBUG,
+ "DPP: Fall back to PKEXv1");
+ wpas_dpp_pkex_init(wpa_s, false);
+ return;
+ }
+#endif /* CONFIG_DPP3 */
wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_FAIL
"No response from PKEX peer");
dpp_pkex_free(pkex);
@@ -3271,7 +3318,6 @@ int wpas_dpp_pkex_add(struct wpa_supplicant *wpa_s, const char *cmd)
{
struct dpp_bootstrap_info *own_bi;
const char *pos, *end;
- unsigned int wait_time;
pos = os_strstr(cmd, " own=");
if (!pos)
@@ -3315,37 +3361,14 @@ int wpas_dpp_pkex_add(struct wpa_supplicant *wpa_s, const char *cmd)
return -1;
if (os_strstr(cmd, " init=1") || os_strstr(cmd, " init=2")) {
- struct dpp_pkex *pkex;
- struct wpabuf *msg;
+#ifdef CONFIG_DPP3
+ bool v2 = true;
+#else /* CONFIG_DPP3 */
bool v2 = os_strstr(cmd, " init=2") != NULL;
+#endif /* CONFIG_DPP3 */
- wpa_printf(MSG_DEBUG, "DPP: Initiating PKEX");
- dpp_pkex_free(wpa_s->dpp_pkex);
- wpa_s->dpp_pkex = dpp_pkex_init(wpa_s, own_bi, wpa_s->own_addr,
- wpa_s->dpp_pkex_identifier,
- wpa_s->dpp_pkex_code, v2);
- pkex = wpa_s->dpp_pkex;
- if (!pkex)
+ if (wpas_dpp_pkex_init(wpa_s, v2) < 0)
return -1;
-
- msg = pkex->exchange_req;
- wait_time = wpa_s->max_remain_on_chan;
- if (wait_time > 2000)
- wait_time = 2000;
- pkex->freq = 2437;
- wpa_msg(wpa_s, MSG_INFO, DPP_EVENT_TX "dst=" MACSTR
- " freq=%u type=%d",
- MAC2STR(broadcast), pkex->freq,
- v2 ? DPP_PA_PKEX_EXCHANGE_REQ :
- DPP_PA_PKEX_V1_EXCHANGE_REQ);
- offchannel_send_action(wpa_s, pkex->freq, broadcast,
- wpa_s->own_addr, broadcast,
- wpabuf_head(msg), wpabuf_len(msg),
- wait_time, wpas_dpp_tx_pkex_status, 0);
- if (wait_time == 0)
- wait_time = 2000;
- pkex->exch_req_wait_time = wait_time;
- pkex->exch_req_tries = 1;
}
/* TODO: Support multiple PKEX info entries */
--
2.40.0

View File

@@ -0,0 +1,196 @@
From bdcccbc2755dd1a75731496782e02b5435fb9534 Mon Sep 17 00:00:00 2001
From: Jouni Malinen <quic_jouni@quicinc.com>
Date: Tue, 25 Jan 2022 20:06:49 +0200
Subject: [PATCH] DPP: Change PKEX version configuration design
Use a separate ver=<1|2> parameter to DPP_PKEX_ADD instead of
overloading init=1 with version indication. This allows additional
options for forcing v1-only and v2-only in addition to automatic mode
(start with v2 and fall back to v1, if needed).
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
CVE: CVE-2022-37660
Upstream-Status: Backport [https://git.w1.fi/cgit/hostap/commit/?id=bdcccbc2755dd1a75731496782e02b5435fb9534]
Signed-off-by: Divya Chellam <divya.chellam@windriver.com>
---
src/ap/dpp_hostapd.c | 37 ++++++++++++++++++++++++++-------
src/common/dpp.h | 1 +
wpa_supplicant/dpp_supplicant.c | 37 ++++++++++++++++++++++++++-------
3 files changed, 61 insertions(+), 14 deletions(-)
diff --git a/src/ap/dpp_hostapd.c b/src/ap/dpp_hostapd.c
index 6c30ba3..fdfdcf9 100644
--- a/src/ap/dpp_hostapd.c
+++ b/src/ap/dpp_hostapd.c
@@ -272,11 +272,19 @@ static int hostapd_dpp_pkex_next_channel(struct hostapd_data *hapd,
}
-static int hostapd_dpp_pkex_init(struct hostapd_data *hapd, bool v2)
+enum hostapd_dpp_pkex_ver {
+ PKEX_VER_AUTO,
+ PKEX_VER_ONLY_1,
+ PKEX_VER_ONLY_2,
+};
+
+static int hostapd_dpp_pkex_init(struct hostapd_data *hapd,
+ enum hostapd_dpp_pkex_ver ver)
{
struct dpp_pkex *pkex;
struct wpabuf *msg;
unsigned int wait_time;
+ bool v2 = ver != PKEX_VER_ONLY_1;
wpa_printf(MSG_DEBUG, "DPP: Initiating PKEXv%d", v2 ? 2 : 1);
dpp_pkex_free(hapd->dpp_pkex);
@@ -287,6 +295,7 @@ static int hostapd_dpp_pkex_init(struct hostapd_data *hapd, bool v2)
pkex = hapd->dpp_pkex;
if (!pkex)
return -1;
+ pkex->forced_ver = ver != PKEX_VER_AUTO;
msg = hapd->dpp_pkex->exchange_req;
wait_time = 2000; /* TODO: hapd->max_remain_on_chan; */
@@ -314,10 +323,10 @@ static void hostapd_dpp_pkex_retry_timeout(void *eloop_ctx, void *timeout_ctx)
if (pkex->exch_req_tries >= 5) {
if (hostapd_dpp_pkex_next_channel(hapd, pkex) < 0) {
#ifdef CONFIG_DPP3
- if (pkex->v2) {
+ if (pkex->v2 && !pkex->forced_ver) {
wpa_printf(MSG_DEBUG,
"DPP: Fall back to PKEXv1");
- hostapd_dpp_pkex_init(hapd, false);
+ hostapd_dpp_pkex_init(hapd, PKEX_VER_ONLY_1);
return;
}
#endif /* CONFIG_DPP3 */
@@ -2336,14 +2345,28 @@ int hostapd_dpp_pkex_add(struct hostapd_data *hapd, const char *cmd)
if (!hapd->dpp_pkex_code)
return -1;
- if (os_strstr(cmd, " init=1") || os_strstr(cmd, " init=2")) {
+ if (os_strstr(cmd, " init=1")) {
#ifdef CONFIG_DPP3
- bool v2 = true;
+ enum hostapd_dpp_pkex_ver ver = PKEX_VER_AUTO;
#else /* CONFIG_DPP3 */
- bool v2 = os_strstr(cmd, " init=2") != NULL;
+ enum hostapd_dpp_pkex_ver ver = PKEX_VER_ONLY_1;
#endif /* CONFIG_DPP3 */
- if (hostapd_dpp_pkex_init(hapd, v2) < 0)
+ pos = os_strstr(cmd, " ver=");
+ if (pos) {
+ int v;
+
+ pos += 5;
+ v = atoi(pos);
+ if (v == 1)
+ ver = PKEX_VER_ONLY_1;
+ else if (v == 2)
+ ver = PKEX_VER_ONLY_2;
+ else
+ return -1;
+ }
+
+ if (hostapd_dpp_pkex_init(hapd, ver) < 0)
return -1;
}
diff --git a/src/common/dpp.h b/src/common/dpp.h
index 8d62a0e..bfea446 100644
--- a/src/common/dpp.h
+++ b/src/common/dpp.h
@@ -177,6 +177,7 @@ struct dpp_pkex {
unsigned int exchange_done:1;
unsigned int failed:1;
unsigned int v2:1;
+ unsigned int forced_ver:1;
struct dpp_bootstrap_info *own_bi;
u8 own_mac[ETH_ALEN];
u8 peer_mac[ETH_ALEN];
diff --git a/wpa_supplicant/dpp_supplicant.c b/wpa_supplicant/dpp_supplicant.c
index 43c85d3..61b300f 100644
--- a/wpa_supplicant/dpp_supplicant.c
+++ b/wpa_supplicant/dpp_supplicant.c
@@ -2557,11 +2557,19 @@ static int wpas_dpp_pkex_next_channel(struct wpa_supplicant *wpa_s,
}
-static int wpas_dpp_pkex_init(struct wpa_supplicant *wpa_s, bool v2)
+enum wpas_dpp_pkex_ver {
+ PKEX_VER_AUTO,
+ PKEX_VER_ONLY_1,
+ PKEX_VER_ONLY_2,
+};
+
+static int wpas_dpp_pkex_init(struct wpa_supplicant *wpa_s,
+ enum wpas_dpp_pkex_ver ver)
{
struct dpp_pkex *pkex;
struct wpabuf *msg;
unsigned int wait_time;
+ bool v2 = ver != PKEX_VER_ONLY_1;
wpa_printf(MSG_DEBUG, "DPP: Initiating PKEXv%d", v2 ? 2 : 1);
dpp_pkex_free(wpa_s->dpp_pkex);
@@ -2572,6 +2580,7 @@ static int wpas_dpp_pkex_init(struct wpa_supplicant *wpa_s, bool v2)
pkex = wpa_s->dpp_pkex;
if (!pkex)
return -1;
+ pkex->forced_ver = ver != PKEX_VER_AUTO;
msg = pkex->exchange_req;
wait_time = wpa_s->max_remain_on_chan;
@@ -2606,10 +2615,10 @@ static void wpas_dpp_pkex_retry_timeout(void *eloop_ctx, void *timeout_ctx)
if (pkex->exch_req_tries >= 5) {
if (wpas_dpp_pkex_next_channel(wpa_s, pkex) < 0) {
#ifdef CONFIG_DPP3
- if (pkex->v2) {
+ if (pkex->v2 && !pkex->forced_ver) {
wpa_printf(MSG_DEBUG,
"DPP: Fall back to PKEXv1");
- wpas_dpp_pkex_init(wpa_s, false);
+ wpas_dpp_pkex_init(wpa_s, PKEX_VER_ONLY_1);
return;
}
#endif /* CONFIG_DPP3 */
@@ -3360,14 +3369,28 @@ int wpas_dpp_pkex_add(struct wpa_supplicant *wpa_s, const char *cmd)
if (!wpa_s->dpp_pkex_code)
return -1;
- if (os_strstr(cmd, " init=1") || os_strstr(cmd, " init=2")) {
+ if (os_strstr(cmd, " init=1")) {
#ifdef CONFIG_DPP3
- bool v2 = true;
+ enum wpas_dpp_pkex_ver ver = PKEX_VER_AUTO;
#else /* CONFIG_DPP3 */
- bool v2 = os_strstr(cmd, " init=2") != NULL;
+ enum wpas_dpp_pkex_ver ver = PKEX_VER_ONLY_1;
#endif /* CONFIG_DPP3 */
- if (wpas_dpp_pkex_init(wpa_s, v2) < 0)
+ pos = os_strstr(cmd, " ver=");
+ if (pos) {
+ int v;
+
+ pos += 5;
+ v = atoi(pos);
+ if (v == 1)
+ ver = PKEX_VER_ONLY_1;
+ else if (v == 2)
+ ver = PKEX_VER_ONLY_2;
+ else
+ return -1;
+ }
+
+ if (wpas_dpp_pkex_init(wpa_s, ver) < 0)
return -1;
}
--
2.40.0

View File

@@ -0,0 +1,941 @@
From d7be749335f2585658cf98c4f0e7d6cd5ac06865 Mon Sep 17 00:00:00 2001
From: Jouni Malinen <jouni@qca.qualcomm.com>
Date: Tue, 25 Jan 2022 00:35:36 +0200
Subject: [PATCH] DPP3: PKEX over TCP
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
CVE: CVE-2022-37660
Upstream-Status: Backport [https://git.w1.fi/cgit/hostap/commit/?id=d7be749335f2585658cf98c4f0e7d6cd5ac06865]
Signed-off-by: Divya Chellam <divya.chellam@windriver.com>
---
src/ap/dpp_hostapd.c | 155 ++++++++++++++--
src/common/dpp.h | 13 ++
src/common/dpp_pkex.c | 18 +-
src/common/dpp_tcp.c | 308 +++++++++++++++++++++++++++++++-
wpa_supplicant/dpp_supplicant.c | 122 ++++++++++++-
5 files changed, 580 insertions(+), 36 deletions(-)
diff --git a/src/ap/dpp_hostapd.c b/src/ap/dpp_hostapd.c
index fdfdcf9..d956be9 100644
--- a/src/ap/dpp_hostapd.c
+++ b/src/ap/dpp_hostapd.c
@@ -28,12 +28,16 @@ static void hostapd_dpp_auth_conf_wait_timeout(void *eloop_ctx,
static void hostapd_dpp_auth_success(struct hostapd_data *hapd, int initiator);
static void hostapd_dpp_init_timeout(void *eloop_ctx, void *timeout_ctx);
static int hostapd_dpp_auth_init_next(struct hostapd_data *hapd);
+static void hostapd_dpp_set_testing_options(struct hostapd_data *hapd,
+ struct dpp_authentication *auth);
#ifdef CONFIG_DPP2
static void hostapd_dpp_reconfig_reply_wait_timeout(void *eloop_ctx,
void *timeout_ctx);
static void hostapd_dpp_handle_config_obj(struct hostapd_data *hapd,
struct dpp_authentication *auth,
struct dpp_config_obj *conf);
+static int hostapd_dpp_process_conf_obj(void *ctx,
+ struct dpp_authentication *auth);
#endif /* CONFIG_DPP2 */
static const u8 broadcast[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
@@ -272,6 +276,75 @@ static int hostapd_dpp_pkex_next_channel(struct hostapd_data *hapd,
}
+#ifdef CONFIG_DPP2
+static int hostapd_dpp_pkex_done(void *ctx, void *conn,
+ struct dpp_bootstrap_info *peer_bi)
+{
+ struct hostapd_data *hapd = ctx;
+ const char *cmd = hapd->dpp_pkex_auth_cmd;
+ const char *pos;
+ u8 allowed_roles = DPP_CAPAB_CONFIGURATOR;
+ struct dpp_bootstrap_info *own_bi = NULL;
+ struct dpp_authentication *auth;
+
+ if (!cmd)
+ cmd = "";
+ wpa_printf(MSG_DEBUG, "DPP: Start authentication after PKEX (cmd: %s)",
+ cmd);
+
+ pos = os_strstr(cmd, " own=");
+ if (pos) {
+ pos += 5;
+ own_bi = dpp_bootstrap_get_id(hapd->iface->interfaces->dpp,
+ atoi(pos));
+ if (!own_bi) {
+ wpa_printf(MSG_INFO,
+ "DPP: Could not find bootstrapping info for the identified local entry");
+ return -1;
+ }
+
+ if (peer_bi->curve != own_bi->curve) {
+ wpa_printf(MSG_INFO,
+ "DPP: Mismatching curves in bootstrapping info (peer=%s own=%s)",
+ peer_bi->curve->name, own_bi->curve->name);
+ return -1;
+ }
+ }
+
+ pos = os_strstr(cmd, " role=");
+ if (pos) {
+ pos += 6;
+ if (os_strncmp(pos, "configurator", 12) == 0)
+ allowed_roles = DPP_CAPAB_CONFIGURATOR;
+ else if (os_strncmp(pos, "enrollee", 8) == 0)
+ allowed_roles = DPP_CAPAB_ENROLLEE;
+ else if (os_strncmp(pos, "either", 6) == 0)
+ allowed_roles = DPP_CAPAB_CONFIGURATOR |
+ DPP_CAPAB_ENROLLEE;
+ else
+ return -1;
+ }
+
+ auth = dpp_auth_init(hapd->iface->interfaces->dpp, hapd->msg_ctx,
+ peer_bi, own_bi, allowed_roles, 0,
+ hapd->iface->hw_features,
+ hapd->iface->num_hw_features);
+ if (!auth)
+ return -1;
+
+ hostapd_dpp_set_testing_options(hapd, auth);
+ if (dpp_set_configurator(auth, cmd) < 0) {
+ dpp_auth_deinit(auth);
+ return -1;
+ }
+
+ return dpp_tcp_auth(hapd->iface->interfaces->dpp, conn, auth,
+ hapd->conf->dpp_name, DPP_NETROLE_AP,
+ hostapd_dpp_process_conf_obj);
+}
+#endif /* CONFIG_DPP2 */
+
+
enum hostapd_dpp_pkex_ver {
PKEX_VER_AUTO,
PKEX_VER_ONLY_1,
@@ -279,7 +352,9 @@ enum hostapd_dpp_pkex_ver {
};
static int hostapd_dpp_pkex_init(struct hostapd_data *hapd,
- enum hostapd_dpp_pkex_ver ver)
+ enum hostapd_dpp_pkex_ver ver,
+ const struct hostapd_ip_addr *ipaddr,
+ int tcp_port)
{
struct dpp_pkex *pkex;
struct wpabuf *msg;
@@ -288,15 +363,26 @@ static int hostapd_dpp_pkex_init(struct hostapd_data *hapd,
wpa_printf(MSG_DEBUG, "DPP: Initiating PKEXv%d", v2 ? 2 : 1);
dpp_pkex_free(hapd->dpp_pkex);
- hapd->dpp_pkex = dpp_pkex_init(hapd->msg_ctx, hapd->dpp_pkex_bi,
- hapd->own_addr,
- hapd->dpp_pkex_identifier,
- hapd->dpp_pkex_code, v2);
- pkex = hapd->dpp_pkex;
+ hapd->dpp_pkex = NULL;
+ pkex = dpp_pkex_init(hapd->msg_ctx, hapd->dpp_pkex_bi, hapd->own_addr,
+ hapd->dpp_pkex_identifier,
+ hapd->dpp_pkex_code, v2);
if (!pkex)
return -1;
pkex->forced_ver = ver != PKEX_VER_AUTO;
+ if (ipaddr) {
+#ifdef CONFIG_DPP2
+ return dpp_tcp_pkex_init(hapd->iface->interfaces->dpp, pkex,
+ ipaddr, tcp_port,
+ hapd->msg_ctx, hapd,
+ hostapd_dpp_pkex_done);
+#else /* CONFIG_DPP2 */
+ return -1;
+#endif /* CONFIG_DPP2 */
+ }
+
+ hapd->dpp_pkex = pkex;
msg = hapd->dpp_pkex->exchange_req;
wait_time = 2000; /* TODO: hapd->max_remain_on_chan; */
pkex->freq = 2437;
@@ -326,7 +412,8 @@ static void hostapd_dpp_pkex_retry_timeout(void *eloop_ctx, void *timeout_ctx)
if (pkex->v2 && !pkex->forced_ver) {
wpa_printf(MSG_DEBUG,
"DPP: Fall back to PKEXv1");
- hostapd_dpp_pkex_init(hapd, PKEX_VER_ONLY_1);
+ hostapd_dpp_pkex_init(hapd, PKEX_VER_ONLY_1,
+ NULL, 0);
return;
}
#endif /* CONFIG_DPP3 */
@@ -1883,7 +1970,7 @@ static void hostapd_dpp_rx_peer_disc_req(struct hostapd_data *hapd,
static void
hostapd_dpp_rx_pkex_exchange_req(struct hostapd_data *hapd, const u8 *src,
- const u8 *buf, size_t len,
+ const u8 *hdr, const u8 *buf, size_t len,
unsigned int freq, bool v2)
{
struct wpabuf *msg;
@@ -1897,14 +1984,14 @@ hostapd_dpp_rx_pkex_exchange_req(struct hostapd_data *hapd, const u8 *src,
if (!hapd->dpp_pkex_code || !hapd->dpp_pkex_bi) {
wpa_printf(MSG_DEBUG,
"DPP: No PKEX code configured - ignore request");
- return;
+ goto try_relay;
}
if (hapd->dpp_pkex) {
/* TODO: Support parallel operations */
wpa_printf(MSG_DEBUG,
"DPP: Already in PKEX session - ignore new request");
- return;
+ goto try_relay;
}
hapd->dpp_pkex = dpp_pkex_rx_exchange_req(hapd->msg_ctx,
@@ -1916,7 +2003,7 @@ hostapd_dpp_rx_pkex_exchange_req(struct hostapd_data *hapd, const u8 *src,
if (!hapd->dpp_pkex) {
wpa_printf(MSG_DEBUG,
"DPP: Failed to process the request - ignore it");
- return;
+ goto try_relay;
}
msg = hapd->dpp_pkex->exchange_resp;
@@ -1933,6 +2020,17 @@ hostapd_dpp_rx_pkex_exchange_req(struct hostapd_data *hapd, const u8 *src,
dpp_pkex_free(hapd->dpp_pkex);
hapd->dpp_pkex = NULL;
}
+
+ return;
+
+try_relay:
+#ifdef CONFIG_DPP2
+ if (v2)
+ dpp_relay_rx_action(hapd->iface->interfaces->dpp,
+ src, hdr, buf, len, freq, NULL, NULL, hapd);
+#else /* CONFIG_DPP2 */
+ wpa_printf(MSG_DEBUG, "DPP: No relay functionality included - skip");
+#endif /* CONFIG_DPP2 */
}
@@ -2132,12 +2230,12 @@ void hostapd_dpp_rx_action(struct hostapd_data *hapd, const u8 *src,
/* This is for PKEXv2, but for now, process only with
* CONFIG_DPP3 to avoid issues with a capability that has not
* been tested with other implementations. */
- hostapd_dpp_rx_pkex_exchange_req(hapd, src, buf, len, freq,
+ hostapd_dpp_rx_pkex_exchange_req(hapd, src, hdr, buf, len, freq,
true);
break;
#endif /* CONFIG_DPP3 */
case DPP_PA_PKEX_V1_EXCHANGE_REQ:
- hostapd_dpp_rx_pkex_exchange_req(hapd, src, buf, len, freq,
+ hostapd_dpp_rx_pkex_exchange_req(hapd, src, hdr, buf, len, freq,
false);
break;
case DPP_PA_PKEX_EXCHANGE_RESP:
@@ -2303,6 +2401,29 @@ int hostapd_dpp_pkex_add(struct hostapd_data *hapd, const char *cmd)
{
struct dpp_bootstrap_info *own_bi;
const char *pos, *end;
+ int tcp_port = DPP_TCP_PORT;
+ struct hostapd_ip_addr *ipaddr = NULL;
+#ifdef CONFIG_DPP2
+ struct hostapd_ip_addr ipaddr_buf;
+ char *addr;
+
+ pos = os_strstr(cmd, " tcp_port=");
+ if (pos) {
+ pos += 10;
+ tcp_port = atoi(pos);
+ }
+
+ addr = get_param(cmd, " tcp_addr=");
+ if (addr) {
+ int res;
+
+ res = hostapd_parse_ip_addr(addr, &ipaddr_buf);
+ os_free(addr);
+ if (res)
+ return -1;
+ ipaddr = &ipaddr_buf;
+ }
+#endif /* CONFIG_DPP2 */
pos = os_strstr(cmd, " own=");
if (!pos)
@@ -2366,8 +2487,14 @@ int hostapd_dpp_pkex_add(struct hostapd_data *hapd, const char *cmd)
return -1;
}
- if (hostapd_dpp_pkex_init(hapd, ver) < 0)
+ if (hostapd_dpp_pkex_init(hapd, ver, ipaddr, tcp_port) < 0)
return -1;
+ } else {
+#ifdef CONFIG_DPP2
+ dpp_controller_pkex_add(hapd->iface->interfaces->dpp, own_bi,
+ hapd->dpp_pkex_code,
+ hapd->dpp_pkex_identifier);
+#endif /* CONFIG_DPP2 */
}
/* TODO: Support multiple PKEX info entries */
diff --git a/src/common/dpp.h b/src/common/dpp.h
index bfea446..ca33fe3 100644
--- a/src/common/dpp.h
+++ b/src/common/dpp.h
@@ -550,6 +550,9 @@ int dpp_auth_conf_rx(struct dpp_authentication *auth, const u8 *hdr,
const u8 *attr_start, size_t attr_len);
int dpp_notify_new_qr_code(struct dpp_authentication *auth,
struct dpp_bootstrap_info *peer_bi);
+void dpp_controller_pkex_add(struct dpp_global *dpp,
+ struct dpp_bootstrap_info *bi,
+ const char *code, const char *identifier);
struct dpp_configuration * dpp_configuration_alloc(const char *type);
int dpp_akm_psk(enum dpp_akm akm);
int dpp_akm_sae(enum dpp_akm akm);
@@ -688,12 +691,22 @@ struct dpp_authentication * dpp_controller_get_auth(struct dpp_global *dpp,
unsigned int id);
void dpp_controller_new_qr_code(struct dpp_global *dpp,
struct dpp_bootstrap_info *bi);
+int dpp_tcp_pkex_init(struct dpp_global *dpp, struct dpp_pkex *pkex,
+ const struct hostapd_ip_addr *addr, int port,
+ void *msg_ctx, void *cb_ctx,
+ int (*pkex_done)(void *ctx, void *conn,
+ struct dpp_bootstrap_info *bi));
int dpp_tcp_init(struct dpp_global *dpp, struct dpp_authentication *auth,
const struct hostapd_ip_addr *addr, int port,
const char *name, enum dpp_netrole netrole, void *msg_ctx,
void *cb_ctx,
int (*process_conf_obj)(void *ctx,
struct dpp_authentication *auth));
+int dpp_tcp_auth(struct dpp_global *dpp, void *_conn,
+ struct dpp_authentication *auth, const char *name,
+ enum dpp_netrole netrole,
+ int (*process_conf_obj)(void *ctx,
+ struct dpp_authentication *auth));
struct wpabuf * dpp_build_presence_announcement(struct dpp_bootstrap_info *bi);
void dpp_notify_chirp_received(void *msg_ctx, int id, const u8 *src,
diff --git a/src/common/dpp_pkex.c b/src/common/dpp_pkex.c
index 38349fa..72084d9 100644
--- a/src/common/dpp_pkex.c
+++ b/src/common/dpp_pkex.c
@@ -469,8 +469,10 @@ struct dpp_pkex * dpp_pkex_rx_exchange_req(void *msg_ctx,
pkex->t = bi->pkex_t;
pkex->msg_ctx = msg_ctx;
pkex->own_bi = bi;
- os_memcpy(pkex->own_mac, own_mac, ETH_ALEN);
- os_memcpy(pkex->peer_mac, peer_mac, ETH_ALEN);
+ if (own_mac)
+ os_memcpy(pkex->own_mac, own_mac, ETH_ALEN);
+ if (peer_mac)
+ os_memcpy(pkex->peer_mac, peer_mac, ETH_ALEN);
if (identifier) {
pkex->identifier = os_strdup(identifier);
if (!pkex->identifier)
@@ -742,7 +744,8 @@ struct wpabuf * dpp_pkex_rx_exchange_resp(struct dpp_pkex *pkex,
}
#endif /* CONFIG_DPP2 */
- os_memcpy(pkex->peer_mac, peer_mac, ETH_ALEN);
+ if (peer_mac)
+ os_memcpy(pkex->peer_mac, peer_mac, ETH_ALEN);
attr_status = dpp_get_attr(buf, buflen, DPP_ATTR_STATUS,
&attr_status_len);
@@ -1341,9 +1344,12 @@ dpp_pkex_finish(struct dpp_global *dpp, struct dpp_pkex *pkex, const u8 *peer,
return NULL;
bi->id = dpp_next_id(dpp);
bi->type = DPP_BOOTSTRAP_PKEX;
- os_memcpy(bi->mac_addr, peer, ETH_ALEN);
- bi->num_freq = 1;
- bi->freq[0] = freq;
+ if (peer)
+ os_memcpy(bi->mac_addr, peer, ETH_ALEN);
+ if (freq) {
+ bi->num_freq = 1;
+ bi->freq[0] = freq;
+ }
bi->curve = pkex->own_bi->curve;
bi->pubkey = pkex->peer_bootstrap_key;
pkex->peer_bootstrap_key = NULL;
diff --git a/src/common/dpp_tcp.c b/src/common/dpp_tcp.c
index fb8ef1c..1a8a7c7 100644
--- a/src/common/dpp_tcp.c
+++ b/src/common/dpp_tcp.c
@@ -24,10 +24,12 @@ struct dpp_connection {
struct dpp_controller *ctrl;
struct dpp_relay_controller *relay;
struct dpp_global *global;
+ struct dpp_pkex *pkex;
struct dpp_authentication *auth;
void *msg_ctx;
void *cb_ctx;
int (*process_conf_obj)(void *ctx, struct dpp_authentication *auth);
+ int (*pkex_done)(void *ctx, void *conn, struct dpp_bootstrap_info *bi);
int sock;
u8 mac_addr[ETH_ALEN];
unsigned int freq;
@@ -71,6 +73,9 @@ struct dpp_controller {
struct dl_list conn; /* struct dpp_connection */
char *configurator_params;
enum dpp_netrole netrole;
+ struct dpp_bootstrap_info *pkex_bi;
+ char *pkex_code;
+ char *pkex_identifier;
void *msg_ctx;
void *cb_ctx;
int (*process_conf_obj)(void *ctx, struct dpp_authentication *auth);
@@ -102,6 +107,7 @@ static void dpp_connection_free(struct dpp_connection *conn)
wpabuf_free(conn->msg);
wpabuf_free(conn->msg_out);
dpp_auth_deinit(conn->auth);
+ dpp_pkex_free(conn->pkex);
os_free(conn->name);
os_free(conn);
}
@@ -525,6 +531,8 @@ int dpp_relay_rx_action(struct dpp_global *dpp, const u8 *src, const u8 *hdr,
/* TODO: Could send this to all configured Controllers. For now,
* only the first Controller is supported. */
ctrl = dpp_relay_controller_get_ctx(dpp, cb_ctx);
+ } else if (type == DPP_PA_PKEX_EXCHANGE_REQ) {
+ ctrl = dpp_relay_controller_get_ctx(dpp, cb_ctx);
} else {
if (!r_bootstrap)
return -1;
@@ -609,6 +617,8 @@ static void dpp_controller_free(struct dpp_controller *ctrl)
eloop_unregister_sock(ctrl->sock, EVENT_TYPE_READ);
}
os_free(ctrl->configurator_params);
+ os_free(ctrl->pkex_code);
+ os_free(ctrl->pkex_identifier);
os_free(ctrl);
}
@@ -955,6 +965,143 @@ static int dpp_controller_rx_reconfig_auth_resp(struct dpp_connection *conn,
}
+static int dpp_controller_rx_pkex_exchange_req(struct dpp_connection *conn,
+ const u8 *hdr, const u8 *buf,
+ size_t len)
+{
+ struct dpp_controller *ctrl = conn->ctrl;
+
+ if (!ctrl)
+ return 0;
+
+ wpa_printf(MSG_DEBUG, "DPP: PKEX Exchange Request");
+
+ /* TODO: Support multiple PKEX codes by iterating over all the enabled
+ * values here */
+
+ if (!ctrl->pkex_code || !ctrl->pkex_bi) {
+ wpa_printf(MSG_DEBUG,
+ "DPP: No PKEX code configured - ignore request");
+ return 0;
+ }
+
+ if (conn->pkex || conn->auth) {
+ wpa_printf(MSG_DEBUG,
+ "DPP: Already in PKEX/Authentication session - ignore new PKEX request");
+ return 0;
+ }
+
+ conn->pkex = dpp_pkex_rx_exchange_req(conn->ctrl->global, ctrl->pkex_bi,
+ NULL, NULL,
+ ctrl->pkex_identifier,
+ ctrl->pkex_code,
+ buf, len, true);
+ if (!conn->pkex) {
+ wpa_printf(MSG_DEBUG,
+ "DPP: Failed to process the request");
+ return -1;
+ }
+
+ return dpp_tcp_send_msg(conn, conn->pkex->exchange_resp);
+}
+
+
+static int dpp_controller_rx_pkex_exchange_resp(struct dpp_connection *conn,
+ const u8 *hdr, const u8 *buf,
+ size_t len)
+{
+ struct dpp_pkex *pkex = conn->pkex;
+ struct wpabuf *msg;
+ int res;
+
+ wpa_printf(MSG_DEBUG, "DPP: PKEX Exchange Response");
+
+ if (!pkex || !pkex->initiator || pkex->exchange_done) {
+ wpa_printf(MSG_DEBUG, "DPP: No matching PKEX session");
+ return 0;
+ }
+
+ msg = dpp_pkex_rx_exchange_resp(pkex, NULL, buf, len);
+ if (!msg) {
+ wpa_printf(MSG_DEBUG, "DPP: Failed to process the response");
+ return -1;
+ }
+
+ wpa_printf(MSG_DEBUG, "DPP: Send PKEX Commit-Reveal Request");
+ res = dpp_tcp_send_msg(conn, msg);
+ wpabuf_free(msg);
+ return res;
+}
+
+
+static int dpp_controller_rx_pkex_commit_reveal_req(struct dpp_connection *conn,
+ const u8 *hdr,
+ const u8 *buf, size_t len)
+{
+ struct dpp_pkex *pkex = conn->pkex;
+ struct wpabuf *msg;
+ int res;
+ struct dpp_bootstrap_info *bi;
+
+ wpa_printf(MSG_DEBUG, "DPP: PKEX Commit-Reveal Request");
+
+ if (!pkex || pkex->initiator || !pkex->exchange_done) {
+ wpa_printf(MSG_DEBUG, "DPP: No matching PKEX session");
+ return 0;
+ }
+
+ msg = dpp_pkex_rx_commit_reveal_req(pkex, hdr, buf, len);
+ if (!msg) {
+ wpa_printf(MSG_DEBUG, "DPP: Failed to process the request");
+ return -1;
+ }
+
+ wpa_printf(MSG_DEBUG, "DPP: Send PKEX Commit-Reveal Response");
+ res = dpp_tcp_send_msg(conn, msg);
+ wpabuf_free(msg);
+ if (res < 0)
+ return res;
+ bi = dpp_pkex_finish(conn->global, pkex, NULL, 0);
+ if (!bi)
+ return -1;
+ conn->pkex = NULL;
+ return 0;
+}
+
+
+static int
+dpp_controller_rx_pkex_commit_reveal_resp(struct dpp_connection *conn,
+ const u8 *hdr,
+ const u8 *buf, size_t len)
+{
+ struct dpp_pkex *pkex = conn->pkex;
+ int res;
+ struct dpp_bootstrap_info *bi;
+
+ wpa_printf(MSG_DEBUG, "DPP: PKEX Commit-Reveal Response");
+
+ if (!pkex || !pkex->initiator || !pkex->exchange_done) {
+ wpa_printf(MSG_DEBUG, "DPP: No matching PKEX session");
+ return 0;
+ }
+
+ res = dpp_pkex_rx_commit_reveal_resp(pkex, hdr, buf, len);
+ if (res < 0) {
+ wpa_printf(MSG_DEBUG, "DPP: Failed to process the response");
+ return res;
+ }
+
+ bi = dpp_pkex_finish(conn->global, pkex, NULL, 0);
+ if (!bi)
+ return -1;
+ conn->pkex = NULL;
+
+ if (!conn->pkex_done)
+ return -1;
+ return conn->pkex_done(conn->cb_ctx, conn, bi);
+}
+
+
static int dpp_controller_rx_action(struct dpp_connection *conn, const u8 *msg,
size_t len)
{
@@ -1014,6 +1161,22 @@ static int dpp_controller_rx_action(struct dpp_connection *conn, const u8 *msg,
case DPP_PA_RECONFIG_AUTH_RESP:
return dpp_controller_rx_reconfig_auth_resp(conn, msg, pos,
end - pos);
+ case DPP_PA_PKEX_V1_EXCHANGE_REQ:
+ wpa_printf(MSG_DEBUG,
+ "DPP: Ignore PKEXv1 Exchange Request - not supported over TCP");
+ return -1;
+ case DPP_PA_PKEX_EXCHANGE_REQ:
+ return dpp_controller_rx_pkex_exchange_req(conn, msg, pos,
+ end - pos);
+ case DPP_PA_PKEX_EXCHANGE_RESP:
+ return dpp_controller_rx_pkex_exchange_resp(conn, msg, pos,
+ end - pos);
+ case DPP_PA_PKEX_COMMIT_REVEAL_REQ:
+ return dpp_controller_rx_pkex_commit_reveal_req(conn, msg, pos,
+ end - pos);
+ case DPP_PA_PKEX_COMMIT_REVEAL_RESP:
+ return dpp_controller_rx_pkex_commit_reveal_resp(conn, msg, pos,
+ end - pos);
default:
/* TODO: missing messages types */
wpa_printf(MSG_DEBUG,
@@ -1559,6 +1722,101 @@ fail:
}
+int dpp_tcp_pkex_init(struct dpp_global *dpp, struct dpp_pkex *pkex,
+ const struct hostapd_ip_addr *addr, int port,
+ void *msg_ctx, void *cb_ctx,
+ int (*pkex_done)(void *ctx, void *conn,
+ struct dpp_bootstrap_info *bi))
+{
+ struct dpp_connection *conn;
+ struct sockaddr_storage saddr;
+ socklen_t addrlen;
+ const u8 *hdr, *pos, *end;
+ char txt[100];
+
+ wpa_printf(MSG_DEBUG, "DPP: Initialize TCP connection to %s port %d",
+ hostapd_ip_txt(addr, txt, sizeof(txt)), port);
+ if (dpp_ipaddr_to_sockaddr((struct sockaddr *) &saddr, &addrlen,
+ addr, port) < 0) {
+ dpp_pkex_free(pkex);
+ return -1;
+ }
+
+ conn = os_zalloc(sizeof(*conn));
+ if (!conn) {
+ dpp_pkex_free(pkex);
+ return -1;
+ }
+
+ conn->msg_ctx = msg_ctx;
+ conn->cb_ctx = cb_ctx;
+ conn->pkex_done = pkex_done;
+ conn->global = dpp;
+ conn->pkex = pkex;
+ conn->sock = socket(AF_INET, SOCK_STREAM, 0);
+ if (conn->sock < 0)
+ goto fail;
+
+ if (fcntl(conn->sock, F_SETFL, O_NONBLOCK) != 0) {
+ wpa_printf(MSG_DEBUG, "DPP: fnctl(O_NONBLOCK) failed: %s",
+ strerror(errno));
+ goto fail;
+ }
+
+ if (connect(conn->sock, (struct sockaddr *) &saddr, addrlen) < 0) {
+ if (errno != EINPROGRESS) {
+ wpa_printf(MSG_DEBUG, "DPP: Failed to connect: %s",
+ strerror(errno));
+ goto fail;
+ }
+
+ /*
+ * Continue connecting in the background; eloop will call us
+ * once the connection is ready (or failed).
+ */
+ }
+
+ if (eloop_register_sock(conn->sock, EVENT_TYPE_WRITE,
+ dpp_conn_tx_ready, conn, NULL) < 0)
+ goto fail;
+ conn->write_eloop = 1;
+
+ hdr = wpabuf_head(pkex->exchange_req);
+ end = hdr + wpabuf_len(pkex->exchange_req);
+ hdr += 2; /* skip Category and Actiom */
+ pos = hdr + DPP_HDR_LEN;
+ conn->msg_out = dpp_tcp_encaps(hdr, pos, end - pos);
+ if (!conn->msg_out)
+ goto fail;
+ /* Message will be sent in dpp_conn_tx_ready() */
+
+ /* TODO: eloop timeout to clear a connection if it does not complete
+ * properly */
+ dl_list_add(&dpp->tcp_init, &conn->list);
+ return 0;
+fail:
+ dpp_connection_free(conn);
+ return -1;
+}
+
+
+static int dpp_tcp_auth_start(struct dpp_connection *conn,
+ struct dpp_authentication *auth)
+{
+ const u8 *hdr, *pos, *end;
+
+ hdr = wpabuf_head(auth->req_msg);
+ end = hdr + wpabuf_len(auth->req_msg);
+ hdr += 2; /* skip Category and Actiom */
+ pos = hdr + DPP_HDR_LEN;
+ conn->msg_out = dpp_tcp_encaps(hdr, pos, end - pos);
+ if (!conn->msg_out)
+ return -1;
+ /* Message will be sent in dpp_conn_tx_ready() */
+ return 0;
+}
+
+
int dpp_tcp_init(struct dpp_global *dpp, struct dpp_authentication *auth,
const struct hostapd_ip_addr *addr, int port, const char *name,
enum dpp_netrole netrole, void *msg_ctx, void *cb_ctx,
@@ -1568,7 +1826,6 @@ int dpp_tcp_init(struct dpp_global *dpp, struct dpp_authentication *auth,
struct dpp_connection *conn;
struct sockaddr_storage saddr;
socklen_t addrlen;
- const u8 *hdr, *pos, *end;
char txt[100];
wpa_printf(MSG_DEBUG, "DPP: Initialize TCP connection to %s port %d",
@@ -1620,14 +1877,8 @@ int dpp_tcp_init(struct dpp_global *dpp, struct dpp_authentication *auth,
goto fail;
conn->write_eloop = 1;
- hdr = wpabuf_head(auth->req_msg);
- end = hdr + wpabuf_len(auth->req_msg);
- hdr += 2; /* skip Category and Actiom */
- pos = hdr + DPP_HDR_LEN;
- conn->msg_out = dpp_tcp_encaps(hdr, pos, end - pos);
- if (!conn->msg_out)
+ if (dpp_tcp_auth_start(conn, auth) < 0)
goto fail;
- /* Message will be sent in dpp_conn_tx_ready() */
/* TODO: eloop timeout to clear a connection if it does not complete
* properly */
@@ -1639,6 +1890,30 @@ fail:
}
+int dpp_tcp_auth(struct dpp_global *dpp, void *_conn,
+ struct dpp_authentication *auth, const char *name,
+ enum dpp_netrole netrole,
+ int (*process_conf_obj)(void *ctx,
+ struct dpp_authentication *auth))
+{
+ struct dpp_connection *conn = _conn;
+
+ /* Continue with Authentication exchange on an existing TCP connection.
+ */
+ conn->process_conf_obj = process_conf_obj;
+ os_free(conn->name);
+ conn->name = os_strdup(name ? name : "Test");
+ conn->netrole = netrole;
+ conn->auth = auth;
+
+ if (dpp_tcp_auth_start(conn, auth) < 0)
+ return -1;
+
+ dpp_conn_tx_ready(conn->sock, conn, NULL);
+ return 0;
+}
+
+
int dpp_controller_start(struct dpp_global *dpp,
struct dpp_controller_config *config)
{
@@ -1789,6 +2064,23 @@ void dpp_controller_new_qr_code(struct dpp_global *dpp,
}
+void dpp_controller_pkex_add(struct dpp_global *dpp,
+ struct dpp_bootstrap_info *bi,
+ const char *code, const char *identifier)
+{
+ struct dpp_controller *ctrl = dpp->controller;
+
+ if (!ctrl)
+ return;
+
+ ctrl->pkex_bi = bi;
+ os_free(ctrl->pkex_code);
+ ctrl->pkex_code = code ? os_strdup(code) : NULL;
+ os_free(ctrl->pkex_identifier);
+ ctrl->pkex_identifier = identifier ? os_strdup(identifier) : NULL;
+}
+
+
void dpp_tcp_init_flush(struct dpp_global *dpp)
{
struct dpp_connection *conn, *tmp;
diff --git a/wpa_supplicant/dpp_supplicant.c b/wpa_supplicant/dpp_supplicant.c
index 61b300f..aab94cb 100644
--- a/wpa_supplicant/dpp_supplicant.c
+++ b/wpa_supplicant/dpp_supplicant.c
@@ -2557,6 +2557,71 @@ static int wpas_dpp_pkex_next_channel(struct wpa_supplicant *wpa_s,
}
+#ifdef CONFIG_DPP2
+static int wpas_dpp_pkex_done(void *ctx, void *conn,
+ struct dpp_bootstrap_info *peer_bi)
+{
+ struct wpa_supplicant *wpa_s = ctx;
+ const char *cmd = wpa_s->dpp_pkex_auth_cmd;
+ const char *pos;
+ u8 allowed_roles = DPP_CAPAB_CONFIGURATOR;
+ struct dpp_bootstrap_info *own_bi = NULL;
+ struct dpp_authentication *auth;
+
+ if (!cmd)
+ cmd = "";
+ wpa_printf(MSG_DEBUG, "DPP: Start authentication after PKEX (cmd: %s)",
+ cmd);
+
+ pos = os_strstr(cmd, " own=");
+ if (pos) {
+ pos += 5;
+ own_bi = dpp_bootstrap_get_id(wpa_s->dpp, atoi(pos));
+ if (!own_bi) {
+ wpa_printf(MSG_INFO,
+ "DPP: Could not find bootstrapping info for the identified local entry");
+ return -1;
+ }
+
+ if (peer_bi->curve != own_bi->curve) {
+ wpa_printf(MSG_INFO,
+ "DPP: Mismatching curves in bootstrapping info (peer=%s own=%s)",
+ peer_bi->curve->name, own_bi->curve->name);
+ return -1;
+ }
+ }
+
+ pos = os_strstr(cmd, " role=");
+ if (pos) {
+ pos += 6;
+ if (os_strncmp(pos, "configurator", 12) == 0)
+ allowed_roles = DPP_CAPAB_CONFIGURATOR;
+ else if (os_strncmp(pos, "enrollee", 8) == 0)
+ allowed_roles = DPP_CAPAB_ENROLLEE;
+ else if (os_strncmp(pos, "either", 6) == 0)
+ allowed_roles = DPP_CAPAB_CONFIGURATOR |
+ DPP_CAPAB_ENROLLEE;
+ else
+ return -1;
+ }
+
+ auth = dpp_auth_init(wpa_s->dpp, wpa_s, peer_bi, own_bi, allowed_roles,
+ 0, wpa_s->hw.modes, wpa_s->hw.num_modes);
+ if (!auth)
+ return -1;
+
+ wpas_dpp_set_testing_options(wpa_s, auth);
+ if (dpp_set_configurator(auth, cmd) < 0) {
+ dpp_auth_deinit(auth);
+ return -1;
+ }
+
+ return dpp_tcp_auth(wpa_s->dpp, conn, auth, wpa_s->conf->dpp_name,
+ DPP_NETROLE_STA, wpas_dpp_process_conf_obj);
+}
+#endif /* CONFIG_DPP2 */
+
+
enum wpas_dpp_pkex_ver {
PKEX_VER_AUTO,
PKEX_VER_ONLY_1,
@@ -2564,7 +2629,9 @@ enum wpas_dpp_pkex_ver {
};
static int wpas_dpp_pkex_init(struct wpa_supplicant *wpa_s,
- enum wpas_dpp_pkex_ver ver)
+ enum wpas_dpp_pkex_ver ver,
+ const struct hostapd_ip_addr *ipaddr,
+ int tcp_port)
{
struct dpp_pkex *pkex;
struct wpabuf *msg;
@@ -2573,15 +2640,24 @@ static int wpas_dpp_pkex_init(struct wpa_supplicant *wpa_s,
wpa_printf(MSG_DEBUG, "DPP: Initiating PKEXv%d", v2 ? 2 : 1);
dpp_pkex_free(wpa_s->dpp_pkex);
- wpa_s->dpp_pkex = dpp_pkex_init(wpa_s, wpa_s->dpp_pkex_bi,
- wpa_s->own_addr,
- wpa_s->dpp_pkex_identifier,
- wpa_s->dpp_pkex_code, v2);
- pkex = wpa_s->dpp_pkex;
+ wpa_s->dpp_pkex = NULL;
+ pkex = dpp_pkex_init(wpa_s, wpa_s->dpp_pkex_bi, wpa_s->own_addr,
+ wpa_s->dpp_pkex_identifier,
+ wpa_s->dpp_pkex_code, v2);
if (!pkex)
return -1;
pkex->forced_ver = ver != PKEX_VER_AUTO;
+ if (ipaddr) {
+#ifdef CONFIG_DPP2
+ return dpp_tcp_pkex_init(wpa_s->dpp, pkex, ipaddr, tcp_port,
+ wpa_s, wpa_s, wpas_dpp_pkex_done);
+#else /* CONFIG_DPP2 */
+ return -1;
+#endif /* CONFIG_DPP2 */
+ }
+
+ wpa_s->dpp_pkex = pkex;
msg = pkex->exchange_req;
wait_time = wpa_s->max_remain_on_chan;
if (wait_time > 2000)
@@ -2618,7 +2694,8 @@ static void wpas_dpp_pkex_retry_timeout(void *eloop_ctx, void *timeout_ctx)
if (pkex->v2 && !pkex->forced_ver) {
wpa_printf(MSG_DEBUG,
"DPP: Fall back to PKEXv1");
- wpas_dpp_pkex_init(wpa_s, PKEX_VER_ONLY_1);
+ wpas_dpp_pkex_init(wpa_s, PKEX_VER_ONLY_1,
+ NULL, 0);
return;
}
#endif /* CONFIG_DPP3 */
@@ -3327,6 +3404,29 @@ int wpas_dpp_pkex_add(struct wpa_supplicant *wpa_s, const char *cmd)
{
struct dpp_bootstrap_info *own_bi;
const char *pos, *end;
+ int tcp_port = DPP_TCP_PORT;
+ struct hostapd_ip_addr *ipaddr = NULL;
+#ifdef CONFIG_DPP2
+ struct hostapd_ip_addr ipaddr_buf;
+ char *addr;
+
+ pos = os_strstr(cmd, " tcp_port=");
+ if (pos) {
+ pos += 10;
+ tcp_port = atoi(pos);
+ }
+
+ addr = get_param(cmd, " tcp_addr=");
+ if (addr) {
+ int res;
+
+ res = hostapd_parse_ip_addr(addr, &ipaddr_buf);
+ os_free(addr);
+ if (res)
+ return -1;
+ ipaddr = &ipaddr_buf;
+ }
+#endif /* CONFIG_DPP2 */
pos = os_strstr(cmd, " own=");
if (!pos)
@@ -3390,8 +3490,14 @@ int wpas_dpp_pkex_add(struct wpa_supplicant *wpa_s, const char *cmd)
return -1;
}
- if (wpas_dpp_pkex_init(wpa_s, ver) < 0)
+ if (wpas_dpp_pkex_init(wpa_s, ver, ipaddr, tcp_port) < 0)
return -1;
+ } else {
+#ifdef CONFIG_DPP2
+ dpp_controller_pkex_add(wpa_s->dpp, own_bi,
+ wpa_s->dpp_pkex_code,
+ wpa_s->dpp_pkex_identifier);
+#endif /* CONFIG_DPP2 */
}
/* TODO: Support multiple PKEX info entries */
--
2.40.0

View File

@@ -0,0 +1,144 @@
From 15af83cf1846870873a011ed4d714732f01cd2e4 Mon Sep 17 00:00:00 2001
From: Jouni Malinen <quic_jouni@quicinc.com>
Date: Tue, 19 Jul 2022 21:23:04 +0300
Subject: [PATCH] DPP: Delete PKEX code and identifier on success completion of
PKEX
We are not supposed to reuse these without being explicitly requested to
perform PKEX again. There is not a strong use case for being able to
provision an Enrollee multiple times with PKEX, so this should have no
issues on the Enrollee. For a Configurator, there might be some use
cases that would benefit from being able to use the same code with
multiple Enrollee devices, e.g., for guess access with a laptop and a
smart phone. That case will now require a new DPP_PKEX_ADD command on
the Configurator after each completion of the provisioning exchange.
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
CVE: CVE-2022-37660
Upstream-Status: Backport [https://git.w1.fi/cgit/hostap/commit/?id=15af83cf1846870873a011ed4d714732f01cd2e4]
Signed-off-by: Divya Chellam <divya.chellam@windriver.com>
---
src/ap/dpp_hostapd.c | 22 +++++++++++++++++++++-
wpa_supplicant/dpp_supplicant.c | 21 ++++++++++++++++++++-
2 files changed, 41 insertions(+), 2 deletions(-)
diff --git a/src/ap/dpp_hostapd.c b/src/ap/dpp_hostapd.c
index d956be9..73b09ba 100644
--- a/src/ap/dpp_hostapd.c
+++ b/src/ap/dpp_hostapd.c
@@ -276,6 +276,22 @@ static int hostapd_dpp_pkex_next_channel(struct hostapd_data *hapd,
}
+static void hostapd_dpp_pkex_clear_code(struct hostapd_data *hapd)
+{
+ if (!hapd->dpp_pkex_code && !hapd->dpp_pkex_identifier)
+ return;
+
+ /* Delete PKEX code and identifier on successful completion of
+ * PKEX. We are not supposed to reuse these without being
+ * explicitly requested to perform PKEX again. */
+ wpa_printf(MSG_DEBUG, "DPP: Delete PKEX code/identifier");
+ os_free(hapd->dpp_pkex_code);
+ hapd->dpp_pkex_code = NULL;
+ os_free(hapd->dpp_pkex_identifier);
+ hapd->dpp_pkex_identifier = NULL;
+}
+
+
#ifdef CONFIG_DPP2
static int hostapd_dpp_pkex_done(void *ctx, void *conn,
struct dpp_bootstrap_info *peer_bi)
@@ -287,6 +303,8 @@ static int hostapd_dpp_pkex_done(void *ctx, void *conn,
struct dpp_bootstrap_info *own_bi = NULL;
struct dpp_authentication *auth;
+ hostapd_dpp_pkex_clear_code(hapd);
+
if (!cmd)
cmd = "";
wpa_printf(MSG_DEBUG, "DPP: Start authentication after PKEX (cmd: %s)",
@@ -2114,6 +2132,7 @@ hostapd_dpp_rx_pkex_commit_reveal_req(struct hostapd_data *hapd, const u8 *src,
wpabuf_head(msg), wpabuf_len(msg));
wpabuf_free(msg);
+ hostapd_dpp_pkex_clear_code(hapd);
bi = dpp_pkex_finish(hapd->iface->interfaces->dpp, pkex, src, freq);
if (!bi)
return;
@@ -2145,6 +2164,7 @@ hostapd_dpp_rx_pkex_commit_reveal_resp(struct hostapd_data *hapd, const u8 *src,
return;
}
+ hostapd_dpp_pkex_clear_code(hapd);
bi = dpp_pkex_finish(hapd->iface->interfaces->dpp, pkex, src, freq);
if (!bi)
return;
@@ -2518,7 +2538,7 @@ int hostapd_dpp_pkex_remove(struct hostapd_data *hapd, const char *id)
return -1;
}
- if ((id_val != 0 && id_val != 1) || !hapd->dpp_pkex_code)
+ if ((id_val != 0 && id_val != 1))
return -1;
/* TODO: Support multiple PKEX entries */
diff --git a/wpa_supplicant/dpp_supplicant.c b/wpa_supplicant/dpp_supplicant.c
index aab94cb..015ae66 100644
--- a/wpa_supplicant/dpp_supplicant.c
+++ b/wpa_supplicant/dpp_supplicant.c
@@ -2557,6 +2557,22 @@ static int wpas_dpp_pkex_next_channel(struct wpa_supplicant *wpa_s,
}
+static void wpas_dpp_pkex_clear_code(struct wpa_supplicant *wpa_s)
+{
+ if (!wpa_s->dpp_pkex_code && !wpa_s->dpp_pkex_identifier)
+ return;
+
+ /* Delete PKEX code and identifier on successful completion of
+ * PKEX. We are not supposed to reuse these without being
+ * explicitly requested to perform PKEX again. */
+ os_free(wpa_s->dpp_pkex_code);
+ wpa_s->dpp_pkex_code = NULL;
+ os_free(wpa_s->dpp_pkex_identifier);
+ wpa_s->dpp_pkex_identifier = NULL;
+
+}
+
+
#ifdef CONFIG_DPP2
static int wpas_dpp_pkex_done(void *ctx, void *conn,
struct dpp_bootstrap_info *peer_bi)
@@ -2568,6 +2584,8 @@ static int wpas_dpp_pkex_done(void *ctx, void *conn,
struct dpp_bootstrap_info *own_bi = NULL;
struct dpp_authentication *auth;
+ wpas_dpp_pkex_clear_code(wpa_s);
+
if (!cmd)
cmd = "";
wpa_printf(MSG_DEBUG, "DPP: Start authentication after PKEX (cmd: %s)",
@@ -2872,6 +2890,7 @@ wpas_dpp_pkex_finish(struct wpa_supplicant *wpa_s, const u8 *peer,
{
struct dpp_bootstrap_info *bi;
+ wpas_dpp_pkex_clear_code(wpa_s);
bi = dpp_pkex_finish(wpa_s->dpp, wpa_s->dpp_pkex, peer, freq);
if (!bi)
return NULL;
@@ -3521,7 +3540,7 @@ int wpas_dpp_pkex_remove(struct wpa_supplicant *wpa_s, const char *id)
return -1;
}
- if ((id_val != 0 && id_val != 1) || !wpa_s->dpp_pkex_code)
+ if ((id_val != 0 && id_val != 1))
return -1;
/* TODO: Support multiple PKEX entries */
--
2.40.0

View File

@@ -38,6 +38,11 @@ SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz \
file://0001-SAE-Check-for-invalid-Rejected-Groups-element-length.patch \
file://0002-SAE-Check-for-invalid-Rejected-Groups-element-length.patch \
file://0003-SAE-Reject-invalid-Rejected-Groups-element-in-the-pa.patch \
file://CVE-2022-37660-0001.patch \
file://CVE-2022-37660-0002.patch \
file://CVE-2022-37660-0003.patch \
file://CVE-2022-37660-0004.patch \
file://CVE-2022-37660-0005.patch \
"
SRC_URI[sha256sum] = "20df7ae5154b3830355f8ab4269123a87affdea59fe74fe9292a91d0d7e17b2f"

View File

@@ -0,0 +1,113 @@
From ed9ae6a4a02d322378739a895ae2090ca2bf6cdc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
Date: Tue, 20 May 2025 16:03:44 +0100
Subject: [PATCH] sort: fix buffer under-read (CWE-127)
* src/sort.c (begfield): Check pointer adjustment
to avoid Out-of-range pointer offset (CWE-823).
(limfield): Likewise.
* tests/sort/sort-field-limit.sh: Add a new test,
which triggers with ASAN or Valgrind.
* tests/local.mk: Reference the new test.
* NEWS: Mention bug fix introduced in v7.2 (2009).
Fixes https://bugs.gnu.org/78507
CVE: CVE-2025-5278
Upstream-Status: Backport [https://cgit.git.savannah.gnu.org/cgit/coreutils.git/commit/?id=8c9602e3a145e9596dc1a63c6ed67865814b6633]
[Adjusted for 9.0 version and adjusted test case to not use valgrind.]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
src/sort.c | 12 ++++++++++--
tests/local.mk | 1 +
tests/misc/sort-field-limit.sh | 35 ++++++++++++++++++++++++++++++++++
3 files changed, 46 insertions(+), 2 deletions(-)
create mode 100755 tests/misc/sort-field-limit.sh
diff --git a/src/sort.c b/src/sort.c
index 5f4c817de..07b96d34b 100644
--- a/src/sort.c
+++ b/src/sort.c
@@ -1642,7 +1642,11 @@ begfield (struct line const *line, struct keyfield const *key)
++ptr;
/* Advance PTR by SCHAR (if possible), but no further than LIM. */
- ptr = MIN (lim, ptr + schar);
+ size_t remaining_bytes = lim - ptr;
+ if (schar < remaining_bytes)
+ ptr += schar;
+ else
+ ptr = lim;
return ptr;
}
@@ -1743,7 +1747,11 @@ limfield (struct line const *line, struct keyfield const *key)
++ptr;
/* Advance PTR by ECHAR (if possible), but no further than LIM. */
- ptr = MIN (lim, ptr + echar);
+ size_t remaining_bytes = lim - ptr;
+ if (echar < remaining_bytes)
+ ptr += echar;
+ else
+ ptr = lim;
}
return ptr;
diff --git a/tests/local.mk b/tests/local.mk
index 228d0e368..ced85c44c 100644
--- a/tests/local.mk
+++ b/tests/local.mk
@@ -373,6 +373,7 @@ all_tests = \
tests/misc/sort-debug-keys.sh \
tests/misc/sort-debug-warn.sh \
tests/misc/sort-discrim.sh \
+ tests/misc/sort-field-limit.sh \
tests/misc/sort-files0-from.pl \
tests/misc/sort-float.sh \
tests/misc/sort-h-thousands-sep.sh \
diff --git a/tests/misc/sort-field-limit.sh b/tests/misc/sort-field-limit.sh
new file mode 100755
index 000000000..dc5b4c964
--- /dev/null
+++ b/tests/misc/sort-field-limit.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+# From 7.2-9.7, this would trigger an out of bounds mem read
+
+# Copyright (C) 2025 Free Software Foundation, Inc.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
+print_ver_ sort
+getlimits_
+
+# This issue triggers with valgrind or ASAN
+valgrind --error-exitcode=1 sort --version 2>/dev/null &&
+ VALGRIND='valgrind --error-exitcode=1'
+
+{ printf '%s\n' aa bb; } > in || framework_failure_
+
+_POSIX2_VERSION=200809 sort +0.${SIZE_MAX}R in > out || fail=1
+compare in out || fail=1
+
+_POSIX2_VERSION=200809 sort +1 -1.${SIZE_MAX}R in > out || fail=1
+compare in out || fail=1
+
+Exit $fail
--
2.34.1

View File

@@ -19,6 +19,7 @@ SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \
file://0001-uname-report-processor-and-hardware-correctly.patch \
file://0001-local.mk-fix-cross-compiling-problem.patch \
file://e8b56ebd536e82b15542a00c888109471936bfda.patch \
file://CVE-2025-5278.patch \
file://run-ptest \
file://0001-split-do-not-shrink-hold-buffer.patch \
"

View File

@@ -31,6 +31,9 @@ SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
file://CVE-2021-36369.patch \
file://CVE-2023-36328.patch \
file://CVE-2023-48795.patch \
file://0001-Add-m_snprintf-that-won-t-return-negative.patch \
file://0001-Handle-arbitrary-length-paths-and-commands-in-multih.patch \
file://CVE-2025-47203.patch \
"
PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \

View File

@@ -0,0 +1,48 @@
From ac2433cb8daa1279d14f8b2cd4c7e1f3405787d4 Mon Sep 17 00:00:00 2001
From: Matt Johnston <matt@ucc.asn.au>
Date: Fri, 1 Apr 2022 12:10:48 +0800
Subject: [PATCH] Add m_snprintf() that won't return negative
Origin: https://github.com/mkj/dropbear/commit/ac2433cb8daa1279d14f8b2cd4c7e1f3405787d4
Upstream-Status: Backport [https://github.com/mkj/dropbear/commit/ac2433cb8daa1279d14f8b2cd4c7e1f3405787d4]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
dbutil.c | 13 +++++++++++++
dbutil.h | 2 ++
2 files changed, 15 insertions(+)
diff --git a/dbutil.c b/dbutil.c
index 5af6330..d4c3298 100644
--- a/dbutil.c
+++ b/dbutil.c
@@ -691,3 +691,16 @@ void fsync_parent_dir(const char* fn) {
m_free(fn_dir);
#endif
}
+
+int m_snprintf(char *str, size_t size, const char *format, ...) {
+ va_list param;
+ int ret;
+
+ va_start(param, format);
+ ret = vsnprintf(str, size, format, param);
+ va_end(param);
+ if (ret < 0) {
+ dropbear_exit("snprintf failed");
+ }
+ return ret;
+}
diff --git a/dbutil.h b/dbutil.h
index 2a1c82c..71cffe8 100644
--- a/dbutil.h
+++ b/dbutil.h
@@ -70,6 +70,8 @@ void m_close(int fd);
void setnonblocking(int fd);
void disallow_core(void);
int m_str_to_uint(const char* str, unsigned int *val);
+/* The same as snprintf() but exits rather than returning negative */
+int m_snprintf(char *str, size_t size, const char *format, ...);
/* Used to force mp_ints to be initialised */
#define DEF_MP_INT(X) mp_int X = {0, 0, 0, NULL}

View File

@@ -0,0 +1,126 @@
From fe15c36664a984de9e1b2386ac52d4b8577cac93 Mon Sep 17 00:00:00 2001
From: Matt Johnston <matt@ucc.asn.au>
Date: Mon, 1 Apr 2024 11:50:26 +0800
Subject: [PATCH] Handle arbitrary length paths and commands in
multihop_passthrough_args()
Origin: https://github.com/mkj/dropbear/commit/7894254afa9b1d3a836911b7ccea1fe18391b881
Origin: https://github.com/mkj/dropbear/commit/2f1177e55f33afd676e08c9449ab7ab517fc3b30
Origin: https://github.com/mkj/dropbear/commit/697b1f86c0b2b0caf12e9e32bab29161093ab5d4
Origin: https://github.com/mkj/dropbear/commit/dd03da772bfad6174425066ff9752b60e25ed183
Origin: https://github.com/mkj/dropbear/commit/d59436a4d56de58b856142a5d489a4a8fc7382ed
Upstream-Status: Backport [see commits above]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
cli-runopts.c | 63 +++++++++++++++++++++------------------------------
1 file changed, 26 insertions(+), 37 deletions(-)
diff --git a/cli-runopts.c b/cli-runopts.c
index 255b47e..9798f62 100644
--- a/cli-runopts.c
+++ b/cli-runopts.c
@@ -523,61 +523,50 @@ static void loadidentityfile(const char* filename, int warnfail) {
#if DROPBEAR_CLI_MULTIHOP
-static char*
-multihop_passthrough_args() {
- char *ret;
- int total;
- unsigned int len = 0;
+/* Fill out -i, -y, -W options that make sense for all
+ * the intermediate processes */
+static char* multihop_passthrough_args(void) {
+ char *args = NULL;
+ unsigned int len, total;
+#if DROPBEAR_CLI_PUBKEY_AUTH
m_list_elem *iter;
- /* Fill out -i, -y, -W options that make sense for all
- * the intermediate processes */
+#endif
+ /* Sufficient space for non-string args */
+ len = 100;
+
+ /* String arguments have arbitrary length, so determine space required */
#if DROPBEAR_CLI_PUBKEY_AUTH
for (iter = cli_opts.privkeys->first; iter; iter = iter->next)
{
sign_key * key = (sign_key*)iter->item;
- len += 3 + strlen(key->filename);
+ len += 4 + strlen(key->filename);
}
-#endif /* DROPBEAR_CLI_PUBKEY_AUTH */
+#endif
- len += 30; /* space for -W <size>, terminator. */
- ret = m_malloc(len);
+ args = m_malloc(len);
total = 0;
- if (cli_opts.no_hostkey_check)
- {
- int written = snprintf(ret+total, len-total, "-y -y ");
- total += written;
- }
- else if (cli_opts.always_accept_key)
- {
- int written = snprintf(ret+total, len-total, "-y ");
- total += written;
+ /* Create new argument string */
+
+ if (cli_opts.no_hostkey_check) {
+ total += m_snprintf(args+total, len-total, "-y -y ");
+ } else if (cli_opts.always_accept_key) {
+ total += m_snprintf(args+total, len-total, "-y ");
}
- if (opts.recv_window != DEFAULT_RECV_WINDOW)
- {
- int written = snprintf(ret+total, len-total, "-W %u ", opts.recv_window);
- total += written;
+ if (opts.recv_window != DEFAULT_RECV_WINDOW) {
+ total += m_snprintf(args+total, len-total, "-W %u ", opts.recv_window);
}
#if DROPBEAR_CLI_PUBKEY_AUTH
for (iter = cli_opts.privkeys->first; iter; iter = iter->next)
{
sign_key * key = (sign_key*)iter->item;
- const size_t size = len - total;
- int written = snprintf(ret+total, size, "-i %s ", key->filename);
- dropbear_assert((unsigned int)written < size);
- total += written;
+ total += m_snprintf(args+total, len-total, "-i %s ", key->filename);
}
#endif /* DROPBEAR_CLI_PUBKEY_AUTH */
- /* if args were passed, total will be not zero, and it will have a space at the end, so remove that */
- if (total > 0)
- {
- total--;
- }
-
- return ret;
+ return args;
}
/* Sets up 'onion-forwarding' connections. This will spawn
@@ -608,7 +597,7 @@ static void parse_multihop_hostname(const char* orighostarg, const char* argv0)
&& strchr(cli_opts.username, '@')) {
unsigned int len = strlen(orighostarg) + strlen(cli_opts.username) + 2;
hostbuf = m_malloc(len);
- snprintf(hostbuf, len, "%s@%s", cli_opts.username, orighostarg);
+ m_snprintf(hostbuf, len, "%s@%s", cli_opts.username, orighostarg);
} else {
hostbuf = m_strdup(orighostarg);
}
@@ -642,7 +631,7 @@ static void parse_multihop_hostname(const char* orighostarg, const char* argv0)
+ strlen(passthrough_args)
+ 30;
cli_opts.proxycmd = m_malloc(cmd_len);
- snprintf(cli_opts.proxycmd, cmd_len, "%s -B %s:%s %s %s",
+ m_snprintf(cli_opts.proxycmd, cmd_len, "%s -B %s:%s %s %s",
argv0, cli_opts.remotehost, cli_opts.remoteport,
passthrough_args, remainder);
#ifndef DISABLE_ZLIB

View File

@@ -0,0 +1,344 @@
From e5a0ef27c227f7ae69d9a9fec98a056494409b9b Mon Sep 17 00:00:00 2001
From: Matt Johnston <matt@ucc.asn.au>
Date: Mon, 5 May 2025 23:14:19 +0800
Subject: [PATCH] Execute multihop commands directly, no shell
This avoids problems with shell escaping if arguments contain special
characters.
Origin: https://github.com/mkj/dropbear/commit/e5a0ef27c227f7ae69d9a9fec98a056494409b9b
Bug: https://www.openwall.com/lists/oss-security/2025/05/13/1
Bug-Debian: https://deb.freexian.com/extended-lts/tracker/CVE-2025-47203
CVE: CVE-2025-47203
Upstream-Status: Backport [https://github.com/mkj/dropbear/commit/e5a0ef27c227f7ae69d9a9fec98a056494409b9b]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
cli-main.c | 60 ++++++++++++++++++++++++++++--------------
cli-runopts.c | 84 +++++++++++++++++++++++++++++++++++------------------------
dbutil.c | 9 +++++--
dbutil.h | 1 +
runopts.h | 5 ++++
5 files changed, 104 insertions(+), 55 deletions(-)
diff --git a/cli-main.c b/cli-main.c
index 7f455d1..53c55c1 100644
--- a/cli-main.c
+++ b/cli-main.c
@@ -73,9 +73,8 @@ int main(int argc, char ** argv) {
pid_t proxy_cmd_pid = 0;
#if DROPBEAR_CLI_PROXYCMD
- if (cli_opts.proxycmd) {
+ if (cli_opts.proxycmd || cli_opts.proxyexec) {
cli_proxy_cmd(&sock_in, &sock_out, &proxy_cmd_pid);
- m_free(cli_opts.proxycmd);
if (signal(SIGINT, kill_proxy_sighandler) == SIG_ERR ||
signal(SIGTERM, kill_proxy_sighandler) == SIG_ERR ||
signal(SIGHUP, kill_proxy_sighandler) == SIG_ERR) {
@@ -96,7 +95,8 @@ int main(int argc, char ** argv) {
}
#endif /* DBMULTI stuff */
-static void exec_proxy_cmd(const void *user_data_cmd) {
+#if DROPBEAR_CLI_PROXYCMD
+static void shell_proxy_cmd(const void *user_data_cmd) {
const char *cmd = user_data_cmd;
char *usershell;
@@ -105,40 +105,62 @@ static void exec_proxy_cmd(const void *user_data_cmd) {
dropbear_exit("Failed to run '%s'\n", cmd);
}
-#if DROPBEAR_CLI_PROXYCMD
+static void exec_proxy_cmd(const void *unused) {
+ (void)unused;
+ run_command(cli_opts.proxyexec[0], cli_opts.proxyexec, ses.maxfd);
+ dropbear_exit("Failed to run '%s'\n", cli_opts.proxyexec[0]);
+}
+
static void cli_proxy_cmd(int *sock_in, int *sock_out, pid_t *pid_out) {
- char * ex_cmd = NULL;
- size_t ex_cmdlen;
+ char * cmd_arg = NULL;
+ void (*exec_fn)(const void *user_data) = NULL;
int ret;
+ /* exactly one of cli_opts.proxycmd or cli_opts.proxyexec should be set */
+
/* File descriptor "-j &3" */
- if (*cli_opts.proxycmd == '&') {
+ if (cli_opts.proxycmd && *cli_opts.proxycmd == '&') {
char *p = cli_opts.proxycmd + 1;
int sock = strtoul(p, &p, 10);
/* must be a single number, and not stdin/stdout/stderr */
if (sock > 2 && sock < 1024 && *p == '\0') {
*sock_in = sock;
*sock_out = sock;
- return;
+ goto cleanup;
}
}
- /* Normal proxycommand */
-
- /* So that spawn_command knows which shell to run */
- fill_passwd(cli_opts.own_user);
-
- ex_cmdlen = strlen(cli_opts.proxycmd) + 6; /* "exec " + command + '\0' */
- ex_cmd = m_malloc(ex_cmdlen);
- snprintf(ex_cmd, ex_cmdlen, "exec %s", cli_opts.proxycmd);
+ if (cli_opts.proxycmd) {
+ /* Normal proxycommand */
+ size_t shell_cmdlen;
+ /* So that spawn_command knows which shell to run */
+ fill_passwd(cli_opts.own_user);
+
+ shell_cmdlen = strlen(cli_opts.proxycmd) + 6; /* "exec " + command + '\0' */
+ cmd_arg = m_malloc(shell_cmdlen);
+ snprintf(cmd_arg, shell_cmdlen, "exec %s", cli_opts.proxycmd);
+ exec_fn = shell_proxy_cmd;
+ } else {
+ /* No shell */
+ exec_fn = exec_proxy_cmd;
+ }
- ret = spawn_command(exec_proxy_cmd, ex_cmd,
- sock_out, sock_in, NULL, pid_out);
- m_free(ex_cmd);
+ ret = spawn_command(exec_fn, cmd_arg, sock_out, sock_in, NULL, pid_out);
if (ret == DROPBEAR_FAILURE) {
dropbear_exit("Failed running proxy command");
*sock_in = *sock_out = -1;
}
+
+cleanup:
+ m_free(cli_opts.proxycmd);
+ m_free(cmd_arg);
+ if (cli_opts.proxyexec) {
+ char **a = NULL;
+ for (a = cli_opts.proxyexec; *a; a++) {
+ m_free_direct(*a);
+ }
+ m_free(cli_opts.proxyexec);
+ }
}
static void kill_proxy_sighandler(int UNUSED(signo)) {
diff --git a/cli-runopts.c b/cli-runopts.c
index 9798f62..0f3dcd0 100644
--- a/cli-runopts.c
+++ b/cli-runopts.c
@@ -525,47 +525,69 @@ static void loadidentityfile(const char* filename, int warnfail) {
/* Fill out -i, -y, -W options that make sense for all
* the intermediate processes */
-static char* multihop_passthrough_args(void) {
- char *args = NULL;
- unsigned int len, total;
+static char** multihop_args(const char* argv0, const char* prior_hops) {
+ /* null terminated array */
+ char **args = NULL;
+ size_t max_args = 14, pos = 0, len;
#if DROPBEAR_CLI_PUBKEY_AUTH
m_list_elem *iter;
#endif
- /* Sufficient space for non-string args */
- len = 100;
- /* String arguments have arbitrary length, so determine space required */
#if DROPBEAR_CLI_PUBKEY_AUTH
for (iter = cli_opts.privkeys->first; iter; iter = iter->next)
{
- sign_key * key = (sign_key*)iter->item;
- len += 4 + strlen(key->filename);
+ /* "-i file" for each */
+ max_args += 2;
}
#endif
- args = m_malloc(len);
- total = 0;
+ args = m_malloc(sizeof(char*) * max_args);
+ pos = 0;
- /* Create new argument string */
+ args[pos] = m_strdup(argv0);
+ pos++;
if (cli_opts.no_hostkey_check) {
- total += m_snprintf(args+total, len-total, "-y -y ");
+ args[pos] = m_strdup("-y");
+ pos++;
+ args[pos] = m_strdup("-y");
+ pos++;
} else if (cli_opts.always_accept_key) {
- total += m_snprintf(args+total, len-total, "-y ");
+ args[pos] = m_strdup("-y");
+ pos++;
}
if (opts.recv_window != DEFAULT_RECV_WINDOW) {
- total += m_snprintf(args+total, len-total, "-W %u ", opts.recv_window);
+ args[pos] = m_strdup("-W");
+ pos++;
+ args[pos] = m_malloc(11);
+ m_snprintf(args[pos], 11, "%u", opts.recv_window);
+ pos++;
}
#if DROPBEAR_CLI_PUBKEY_AUTH
for (iter = cli_opts.privkeys->first; iter; iter = iter->next)
{
sign_key * key = (sign_key*)iter->item;
- total += m_snprintf(args+total, len-total, "-i %s ", key->filename);
+ args[pos] = m_strdup("-i");
+ pos++;
+ args[pos] = m_strdup(key->filename);
+ pos++;
}
#endif /* DROPBEAR_CLI_PUBKEY_AUTH */
+ /* last hop */
+ args[pos] = m_strdup("-B");
+ pos++;
+ len = strlen(cli_opts.remotehost) + strlen(cli_opts.remoteport) + 2;
+ args[pos] = m_malloc(len);
+ snprintf(args[pos], len, "%s:%s", cli_opts.remotehost, cli_opts.remoteport);
+ pos++;
+
+ /* hostnames of prior hops */
+ args[pos] = m_strdup(prior_hops);
+ pos++;
+
return args;
}
@@ -585,7 +607,7 @@ static void parse_multihop_hostname(const char* orighostarg, const char* argv0)
char *userhostarg = NULL;
char *hostbuf = NULL;
char *last_hop = NULL;
- char *remainder = NULL;
+ char *prior_hops = NULL;
/* both scp and rsync parse a user@host argument
* and turn it into "-l user host". This breaks
@@ -603,6 +625,8 @@ static void parse_multihop_hostname(const char* orighostarg, const char* argv0)
}
userhostarg = hostbuf;
+ /* Split off any last hostname and use that as remotehost/remoteport.
+ * That is used for authorized_keys checking etc */
last_hop = strrchr(userhostarg, ',');
if (last_hop) {
if (last_hop == userhostarg) {
@@ -610,36 +634,28 @@ static void parse_multihop_hostname(const char* orighostarg, const char* argv0)
}
*last_hop = '\0';
last_hop++;
- remainder = userhostarg;
+ prior_hops = userhostarg;
userhostarg = last_hop;
}
+ /* Update cli_opts.remotehost and cli_opts.remoteport */
parse_hostname(userhostarg);
- if (last_hop) {
- /* Set up the proxycmd */
- unsigned int cmd_len = 0;
- char *passthrough_args = multihop_passthrough_args();
+ /* Construct any multihop proxy command. Use proxyexec to
+ * avoid worrying about shell escaping. */
+ if (prior_hops) {
+ cli_opts.proxyexec = multihop_args(argv0, prior_hops);
+ /* Any -J argument has been copied to proxyexec */
if (cli_opts.proxycmd) {
dropbear_exit("-J can't be used with multihop mode");
}
- if (cli_opts.remoteport == NULL) {
- cli_opts.remoteport = "22";
- }
- cmd_len = strlen(argv0) + strlen(remainder)
- + strlen(cli_opts.remotehost) + strlen(cli_opts.remoteport)
- + strlen(passthrough_args)
- + 30;
- cli_opts.proxycmd = m_malloc(cmd_len);
- m_snprintf(cli_opts.proxycmd, cmd_len, "%s -B %s:%s %s %s",
- argv0, cli_opts.remotehost, cli_opts.remoteport,
- passthrough_args, remainder);
+
#ifndef DISABLE_ZLIB
- /* The stream will be incompressible since it's encrypted. */
+ /* This outer stream will be incompressible since it's encrypted. */
opts.compress_mode = DROPBEAR_COMPRESS_OFF;
#endif
- m_free(passthrough_args);
}
+
m_free(hostbuf);
}
#endif /* !DROPBEAR_CLI_MULTIHOP */
diff --git a/dbutil.c b/dbutil.c
index d4c3298..a51c1f9 100644
--- a/dbutil.c
+++ b/dbutil.c
@@ -347,7 +347,6 @@ int spawn_command(void(*exec_fn)(const void *user_data), const void *exec_data,
void run_shell_command(const char* cmd, unsigned int maxfd, char* usershell) {
char * argv[4];
char * baseshell = NULL;
- unsigned int i;
baseshell = basename(usershell);
@@ -369,6 +368,12 @@ void run_shell_command(const char* cmd, unsigned int maxfd, char* usershell) {
argv[1] = NULL;
}
+ run_command(usershell, argv, maxfd);
+}
+
+void run_command(const char* argv0, char** args, unsigned int maxfd) {
+ unsigned int i;
+
/* Re-enable SIGPIPE for the executed process */
if (signal(SIGPIPE, SIG_DFL) == SIG_ERR) {
dropbear_exit("signal() error");
@@ -380,7 +385,7 @@ void run_shell_command(const char* cmd, unsigned int maxfd, char* usershell) {
m_close(i);
}
- execv(usershell, argv);
+ execv(argv0, args);
}
#if DEBUG_TRACE
diff --git a/dbutil.h b/dbutil.h
index 71cffe8..5d86485 100644
--- a/dbutil.h
+++ b/dbutil.h
@@ -60,6 +60,7 @@ char * stripcontrol(const char * text);
int spawn_command(void(*exec_fn)(const void *user_data), const void *exec_data,
int *writefd, int *readfd, int *errfd, pid_t *pid);
void run_shell_command(const char* cmd, unsigned int maxfd, char* usershell);
+void run_command(const char* argv0, char** args, unsigned int maxfd);
#if ENABLE_CONNECT_UNIX
int connect_unix(const char* addr);
#endif
diff --git a/runopts.h b/runopts.h
index 01201d2..b49dc13 100644
--- a/runopts.h
+++ b/runopts.h
@@ -179,7 +179,12 @@ typedef struct cli_runopts {
unsigned int netcat_port;
#endif
#if DROPBEAR_CLI_PROXYCMD
+ /* A proxy command to run via the user's shell */
char *proxycmd;
+#endif
+#if DROPBEAR_CLI_MULTIHOP
+ /* Similar to proxycmd, but is arguments for execve(), not shell */
+ char **proxyexec;
#endif
char *bind_address;
char *bind_port;

View File

@@ -0,0 +1,120 @@
From cc647f9e46d55509a93498af19659baf9c80f2e3 Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Thu, 10 Apr 2025 10:57:20 -0500
Subject: [PATCH 1/2] gstring: carefully handle gssize parameters
Wherever we use gssize to allow passing -1, we need to ensure we don't
overflow the value by assigning a gsize to it without checking if the
size exceeds the maximum gssize. The safest way to do this is to just
use normal gsize everywhere instead and use gssize only for the
parameter.
Our computers don't have enough RAM to write tests for this. I tried
forcing string->len to high values for test purposes, but this isn't
valid and will just cause out of bounds reads/writes due to
string->allocated_len being unexpectedly small, so I don't think we can
test this easily.
CVE: CVE-2025-4373
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/cc647f9e46d55509a93498af19659baf9c80f2e3]
Signed-off-by: Praveen Kumar <praveen.kumar@windriver.com>
---
glib/gstring.c | 36 +++++++++++++++++++++++-------------
1 file changed, 23 insertions(+), 13 deletions(-)
diff --git a/glib/gstring.c b/glib/gstring.c
index 0a509e5..d6f8735 100644
--- a/glib/gstring.c
+++ b/glib/gstring.c
@@ -424,8 +424,9 @@ g_string_insert_len (GString *string,
return string;
if (len < 0)
- len = strlen (val);
- len_unsigned = len;
+ len_unsigned = strlen (val);
+ else
+ len_unsigned = len;
if (pos < 0)
pos_unsigned = string->len;
@@ -723,10 +724,12 @@ g_string_insert_c (GString *string,
g_string_maybe_expand (string, 1);
if (pos < 0)
- pos = string->len;
+ pos_unsigned = string->len;
else
- g_return_val_if_fail ((gsize) pos <= string->len, string);
- pos_unsigned = pos;
+ {
+ pos_unsigned = pos;
+ g_return_val_if_fail (pos_unsigned <= string->len, string);
+ }
/* If not just an append, move the old stuff */
if (pos_unsigned < string->len)
@@ -759,6 +762,7 @@ g_string_insert_unichar (GString *string,
gssize pos,
gunichar wc)
{
+ gsize pos_unsigned;
gint charlen, first, i;
gchar *dest;
@@ -800,15 +804,18 @@ g_string_insert_unichar (GString *string,
g_string_maybe_expand (string, charlen);
if (pos < 0)
- pos = string->len;
+ pos_unsigned = string->len;
else
- g_return_val_if_fail ((gsize) pos <= string->len, string);
+ {
+ pos_unsigned = pos;
+ g_return_val_if_fail (pos_unsigned <= string->len, string);
+ }
/* If not just an append, move the old stuff */
- if ((gsize) pos < string->len)
- memmove (string->str + pos + charlen, string->str + pos, string->len - pos);
+ if (pos_unsigned < string->len)
+ memmove (string->str + pos_unsigned + charlen, string->str + pos_unsigned, string->len - pos_unsigned);
- dest = string->str + pos;
+ dest = string->str + pos_unsigned;
/* Code copied from g_unichar_to_utf() */
for (i = charlen - 1; i > 0; --i)
{
@@ -866,6 +873,7 @@ g_string_overwrite_len (GString *string,
const gchar *val,
gssize len)
{
+ gssize len_unsigned;
gsize end;
g_return_val_if_fail (string != NULL, NULL);
@@ -877,14 +885,16 @@ g_string_overwrite_len (GString *string,
g_return_val_if_fail (pos <= string->len, string);
if (len < 0)
- len = strlen (val);
+ len_unsigned = strlen (val);
+ else
+ len_unsigned = len;
- end = pos + len;
+ end = pos + len_unsigned;
if (end > string->len)
g_string_maybe_expand (string, end - string->len);
- memcpy (string->str + pos, val, len);
+ memcpy (string->str + pos, val, len_unsigned);
if (end > string->len)
{
--
2.40.0

View File

@@ -0,0 +1,29 @@
From 4d435bb4809793c445846db8fb87e3c9184c4703 Mon Sep 17 00:00:00 2001
From: Peter Bloomfield <peterbloomfield@bellsouth.net>
Date: Fri, 11 Apr 2025 05:52:33 +0000
Subject: [PATCH 2/2] gstring: Make len_unsigned unsigned
CVE: CVE-2025-4373
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/4d435bb4809793c445846db8fb87e3c9184c4703]
Signed-off-by: Praveen Kumar <praveen.kumar@windriver.com>
---
glib/gstring.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/glib/gstring.c b/glib/gstring.c
index d6f8735..d097e2f 100644
--- a/glib/gstring.c
+++ b/glib/gstring.c
@@ -873,7 +873,7 @@ g_string_overwrite_len (GString *string,
const gchar *val,
gssize len)
{
- gssize len_unsigned;
+ gsize len_unsigned;
gsize end;
g_return_val_if_fail (string != NULL, NULL);
--
2.40.0

View File

@@ -0,0 +1,40 @@
From 285db475ecaa4d2cc39ce326b4c63aacb87ca6ad Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Tue, 22 Aug 2023 19:57:48 +0200
Subject: [PATCH] glib/gfileutils.c: use 64 bits for value in get_tmp_file()
On 32 bit systems 'long' value will overflow in 2038 and become negative.
As it is used to index into letters array, and % operation preserves signs,
data corruption will then occur.
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
CVE: CVE-2025-7039
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/285db475ecaa4d2cc39ce326b4c63aacb87ca6ad]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
glib/gfileutils.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/glib/gfileutils.c b/glib/gfileutils.c
index 9646c696e..bd3cc179a 100644
--- a/glib/gfileutils.c
+++ b/glib/gfileutils.c
@@ -1475,7 +1475,7 @@ get_tmp_file (gchar *tmpl,
static const char letters[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
static const int NLETTERS = sizeof (letters) - 1;
- glong value;
+ gint64 value;
gint64 now_us;
static int counter = 0;
@@ -1496,7 +1496,7 @@ get_tmp_file (gchar *tmpl,
for (count = 0; count < 100; value += 7777, ++count)
{
- glong v = value;
+ gint64 v = value;
/* Fill in the random bits. */
XXXXXX[0] = letters[v % NLETTERS];

View File

@@ -0,0 +1,43 @@
From 61e963284889ddb4544e6f1d5261c16120f6fcc3 Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Tue, 1 Jul 2025 10:58:07 -0500
Subject: [PATCH] gfileutils: fix computation of temporary file name
We need to ensure that the value we use to index into the letters array
is always positive.
Fixes #3716
CVE: CVE-2025-7039
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/61e963284889ddb4544e6f1d5261c16120f6fcc3]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
glib/gfileutils.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/glib/gfileutils.c b/glib/gfileutils.c
index c7d3339d1..286b1b154 100644
--- a/glib/gfileutils.c
+++ b/glib/gfileutils.c
@@ -1475,9 +1475,9 @@ get_tmp_file (gchar *tmpl,
static const char letters[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
static const int NLETTERS = sizeof (letters) - 1;
- gint64 value;
- gint64 now_us;
- static int counter = 0;
+ guint64 value;
+ guint64 now_us;
+ static guint counter = 0;
g_return_val_if_fail (tmpl != NULL, -1);
@@ -1496,7 +1496,7 @@ get_tmp_file (gchar *tmpl,
for (count = 0; count < 100; value += 7777, ++count)
{
- gint64 v = value;
+ guint64 v = value;
/* Fill in the random bits. */
XXXXXX[0] = letters[v % NLETTERS];

View File

@@ -60,6 +60,10 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
file://CVE-2025-3360-04.patch \
file://CVE-2025-3360-05.patch \
file://CVE-2025-3360-06.patch \
file://CVE-2025-4373-01.patch \
file://CVE-2025-4373-02.patch \
file://CVE-2025-7039-01.patch \
file://CVE-2025-7039-02.patch \
"
SRC_URI:append:class-native = " file://relocate-modules.patch"
@@ -95,3 +99,6 @@ def find_meson_cross_files(d):
python () {
find_meson_cross_files(d)
}
# not-applicable-platform: Issue only applies on Windows
CVE_CHECK_IGNORE += "CVE-2025-4056"

View File

@@ -1,6 +1,6 @@
SRCBRANCH ?= "release/2.35/master"
PV = "2.35"
SRCREV_glibc ?= "d2febe7c407665c18cfea1930c65f41899ab3aa3"
SRCREV_glibc ?= "a66bc3941ff298e474d5f02d0c3303401951141f"
SRCREV_localedef ?= "794da69788cbf9bf57b59a852f9f11307663fa87"
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"

View File

@@ -0,0 +1,455 @@
From 31d9848830e496f57d4182b518467c4c63bfd4bd Mon Sep 17 00:00:00 2001
From: Frank Barrus <frankbarrus_sw@shaggy.cc>
Date: Mon, 16 Jun 2025 22:37:54 -0700
Subject: [PATCH] pthreads NPTL: lost wakeup fix 2
This fixes the lost wakeup (from a bug in signal stealing) with a change
in the usage of g_signals[] in the condition variable internal state.
It also completely eliminates the concept and handling of signal stealing,
as well as the need for signalers to block to wait for waiters to wake
up every time there is a G1/G2 switch. This greatly reduces the average
and maximum latency for pthread_cond_signal.
The g_signals[] field now contains a signal count that is relative to
the current g1_start value. Since it is a 32-bit field, and the LSB is
still reserved (though not currently used anymore), it has a 31-bit value
that corresponds to the low 31 bits of the sequence number in g1_start.
(since g1_start also has an LSB flag, this means bits 31:1 in g_signals
correspond to bits 31:1 in g1_start, plus the current signal count)
By making the signal count relative to g1_start, there is no longer
any ambiguity or A/B/A issue, and thus any checks before blocking,
including the futex call itself, are guaranteed not to block if the G1/G2
switch occurs, even if the signal count remains the same. This allows
initially safely blocking in G2 until the switch to G1 occurs, and
then transitioning from G1 to a new G1 or G2, and always being able to
distinguish the state change. This removes the race condition and A/B/A
problems that otherwise ocurred if a late (pre-empted) waiter were to
resume just as the futex call attempted to block on g_signal since
otherwise there was no last opportunity to re-check things like whether
the current G1 group was already closed.
By fixing these issues, the signal stealing code can be eliminated,
since there is no concept of signal stealing anymore. The code to block
for all waiters to exit g_refs can also be removed, since any waiters
that are still in the g_refs region can be guaranteed to safely wake
up and exit. If there are still any left at this time, they are all
sent one final futex wakeup to ensure that they are not blocked any
longer, but there is no need for the signaller to block and wait for
them to wake up and exit the g_refs region.
The signal count is then effectively "zeroed" but since it is now
relative to g1_start, this is done by advancing it to a new value that
can be observed by any pending blocking waiters. Any late waiters can
always tell the difference, and can thus just cleanly exit if they are
in a stale G1 or G2. They can never steal a signal from the current
G1 if they are not in the current G1, since the signal value that has
to match in the cmpxchg has the low 31 bits of the g1_start value
contained in it, and that's first checked, and then it won't match if
there's a G1/G2 change.
Note: the 31-bit sequence number used in g_signals is designed to
handle wrap-around when checking the signal count, but if the entire
31-bit wraparound (2 billion signals) occurs while there is still a
late waiter that has not yet resumed, and it happens to then match
the current g1_start low bits, and the pre-emption occurs after the
normal "closed group" checks (which are 64-bit) but then hits the
futex syscall and signal consuming code, then an A/B/A issue could
still result and cause an incorrect assumption about whether it
should block. This particular scenario seems unlikely in practice.
Note that once awake from the futex, the waiter would notice the
closed group before consuming the signal (since that's still a 64-bit
check that would not be aliased in the wrap-around in g_signals),
so the biggest impact would be blocking on the futex until the next
full wakeup from a G1/G2 switch.
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847
Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=1db84775f831a1494993ce9c118deaf9537cc50a]
Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
---
nptl/pthread_cond_common.c | 106 +++++++++------------------
nptl/pthread_cond_wait.c | 144 ++++++++++++-------------------------
2 files changed, 81 insertions(+), 169 deletions(-)
diff --git a/nptl/pthread_cond_common.c b/nptl/pthread_cond_common.c
index fb035f72c3..8dd7037923 100644
--- a/nptl/pthread_cond_common.c
+++ b/nptl/pthread_cond_common.c
@@ -201,7 +201,6 @@ static bool __attribute__ ((unused))
__condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
unsigned int *g1index, int private)
{
- const unsigned int maxspin = 0;
unsigned int g1 = *g1index;
/* If there is no waiter in G2, we don't do anything. The expression may
@@ -222,85 +221,46 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
* New waiters arriving concurrently with the group switching will all go
into G2 until we atomically make the switch. Waiters existing in G2
are not affected.
- * Waiters in G1 will be closed out immediately by setting a flag in
- __g_signals, which will prevent waiters from blocking using a futex on
- __g_signals and also notifies them that the group is closed. As a
- result, they will eventually remove their group reference, allowing us
- to close switch group roles. */
-
- /* First, set the closed flag on __g_signals. This tells waiters that are
- about to wait that they shouldn't do that anymore. This basically
- serves as an advance notificaton of the upcoming change to __g1_start;
- waiters interpret it as if __g1_start was larger than their waiter
- sequence position. This allows us to change __g1_start after waiting
- for all existing waiters with group references to leave, which in turn
- makes recovery after stealing a signal simpler because it then can be
- skipped if __g1_start indicates that the group is closed (otherwise,
- we would have to recover always because waiters don't know how big their
- groups are). Relaxed MO is fine. */
- atomic_fetch_or_relaxed (cond->__data.__g_signals + g1, 1);
-
- /* Wait until there are no group references anymore. The fetch-or operation
- injects us into the modification order of __g_refs; release MO ensures
- that waiters incrementing __g_refs after our fetch-or see the previous
- changes to __g_signals and to __g1_start that had to happen before we can
- switch this G1 and alias with an older group (we have two groups, so
- aliasing requires switching group roles twice). Note that nobody else
- can have set the wake-request flag, so we do not have to act upon it.
-
- Also note that it is harmless if older waiters or waiters from this G1
- get a group reference after we have quiesced the group because it will
- remain closed for them either because of the closed flag in __g_signals
- or the later update to __g1_start. New waiters will never arrive here
- but instead continue to go into the still current G2. */
- unsigned r = atomic_fetch_or_release (cond->__data.__g_refs + g1, 0);
- while ((r >> 1) > 0)
- {
- for (unsigned int spin = maxspin; ((r >> 1) > 0) && (spin > 0); spin--)
- {
- /* TODO Back off. */
- r = atomic_load_relaxed (cond->__data.__g_refs + g1);
- }
- if ((r >> 1) > 0)
- {
- /* There is still a waiter after spinning. Set the wake-request
- flag and block. Relaxed MO is fine because this is just about
- this futex word.
-
- Update r to include the set wake-request flag so that the upcoming
- futex_wait only blocks if the flag is still set (otherwise, we'd
- violate the basic client-side futex protocol). */
- r = atomic_fetch_or_relaxed (cond->__data.__g_refs + g1, 1) | 1;
-
- if ((r >> 1) > 0)
- futex_wait_simple (cond->__data.__g_refs + g1, r, private);
- /* Reload here so we eventually see the most recent value even if we
- do not spin. */
- r = atomic_load_relaxed (cond->__data.__g_refs + g1);
- }
- }
- /* Acquire MO so that we synchronize with the release operation that waiters
- use to decrement __g_refs and thus happen after the waiters we waited
- for. */
- atomic_thread_fence_acquire ();
+ * Waiters in G1 will be closed out immediately by the advancing of
+ __g_signals to the next "lowseq" (low 31 bits of the new g1_start),
+ which will prevent waiters from blocking using a futex on
+ __g_signals since it provides enough signals for all possible
+ remaining waiters. As a result, they can each consume a signal
+ and they will eventually remove their group reference. */
/* Update __g1_start, which finishes closing this group. The value we add
will never be negative because old_orig_size can only be zero when we
switch groups the first time after a condvar was initialized, in which
- case G1 will be at index 1 and we will add a value of 1. See above for
- why this takes place after waiting for quiescence of the group.
+ case G1 will be at index 1 and we will add a value of 1.
Relaxed MO is fine because the change comes with no additional
constraints that others would have to observe. */
__condvar_add_g1_start_relaxed (cond,
(old_orig_size << 1) + (g1 == 1 ? 1 : - 1));
- /* Now reopen the group, thus enabling waiters to again block using the
- futex controlled by __g_signals. Release MO so that observers that see
- no signals (and thus can block) also see the write __g1_start and thus
- that this is now a new group (see __pthread_cond_wait_common for the
- matching acquire MO loads). */
- atomic_store_release (cond->__data.__g_signals + g1, 0);
-
+ unsigned int lowseq = ((old_g1_start + old_orig_size) << 1) & ~1U;
+
+ /* If any waiters still hold group references (and thus could be blocked),
+ then wake them all up now and prevent any running ones from blocking.
+ This is effectively a catch-all for any possible current or future
+ bugs that can allow the group size to reach 0 before all G1 waiters
+ have been awakened or at least given signals to consume, or any
+ other case that can leave blocked (or about to block) older waiters.. */
+ if ((atomic_fetch_or_release (cond->__data.__g_refs + g1, 0) >> 1) > 0)
+ {
+ /* First advance signals to the end of the group (i.e. enough signals
+ for the entire G1 group) to ensure that waiters which have not
+ yet blocked in the futex will not block.
+ Note that in the vast majority of cases, this should never
+ actually be necessary, since __g_signals will have enough
+ signals for the remaining g_refs waiters. As an optimization,
+ we could check this first before proceeding, although that
+ could still leave the potential for futex lost wakeup bugs
+ if the signal count was non-zero but the futex wakeup
+ was somehow lost. */
+ atomic_store_release (cond->__data.__g_signals + g1, lowseq);
+
+ futex_wake (cond->__data.__g_signals + g1, INT_MAX, private);
+ }
/* At this point, the old G1 is now a valid new G2 (but not in use yet).
No old waiter can neither grab a signal nor acquire a reference without
noticing that __g1_start is larger.
@@ -311,6 +271,10 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
g1 ^= 1;
*g1index ^= 1;
+ /* Now advance the new G1 g_signals to the new lowseq, giving it
+ an effective signal count of 0 to start. */
+ atomic_store_release (cond->__data.__g_signals + g1, lowseq);
+
/* These values are just observed by signalers, and thus protected by the
lock. */
unsigned int orig_size = wseq - (old_g1_start + old_orig_size);
diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c
index 20c348a503..1cb3dbf7b0 100644
--- a/nptl/pthread_cond_wait.c
+++ b/nptl/pthread_cond_wait.c
@@ -238,9 +238,7 @@ __condvar_cleanup_waiting (void *arg)
signaled), and a reference count.
The group reference count is used to maintain the number of waiters that
- are using the group's futex. Before a group can change its role, the
- reference count must show that no waiters are using the futex anymore; this
- prevents ABA issues on the futex word.
+ are using the group's futex.
To represent which intervals in the waiter sequence the groups cover (and
thus also which group slot contains G1 or G2), we use a 64b counter to
@@ -300,11 +298,12 @@ __condvar_cleanup_waiting (void *arg)
last reference.
* Reference count used by waiters concurrently with signalers that have
acquired the condvar-internal lock.
- __g_signals: The number of signals that can still be consumed.
+ __g_signals: The number of signals that can still be consumed, relative to
+ the current g1_start. (i.e. bits 31 to 1 of __g_signals are bits
+ 31 to 1 of g1_start with the signal count added)
* Used as a futex word by waiters. Used concurrently by waiters and
signalers.
- * LSB is true iff this group has been completely signaled (i.e., it is
- closed).
+ * LSB is currently reserved and 0.
__g_size: Waiters remaining in this group (i.e., which have not been
signaled yet.
* Accessed by signalers and waiters that cancel waiting (both do so only
@@ -328,18 +327,6 @@ __condvar_cleanup_waiting (void *arg)
sufficient because if a waiter can see a sufficiently large value, it could
have also consume a signal in the waiters group.
- Waiters try to grab a signal from __g_signals without holding a reference
- count, which can lead to stealing a signal from a more recent group after
- their own group was already closed. They cannot always detect whether they
- in fact did because they do not know when they stole, but they can
- conservatively add a signal back to the group they stole from; if they
- did so unnecessarily, all that happens is a spurious wake-up. To make this
- even less likely, __g1_start contains the index of the current g2 too,
- which allows waiters to check if there aliasing on the group slots; if
- there wasn't, they didn't steal from the current G1, which means that the
- G1 they stole from must have been already closed and they do not need to
- fix anything.
-
It is essential that the last field in pthread_cond_t is __g_signals[1]:
The previous condvar used a pointer-sized field in pthread_cond_t, so a
PTHREAD_COND_INITIALIZER from that condvar implementation might only
@@ -435,6 +422,9 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
{
while (1)
{
+ uint64_t g1_start = __condvar_load_g1_start_relaxed (cond);
+ unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
+
/* Spin-wait first.
Note that spinning first without checking whether a timeout
passed might lead to what looks like a spurious wake-up even
@@ -446,35 +436,45 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
having to compare against the current time seems to be the right
choice from a performance perspective for most use cases. */
unsigned int spin = maxspin;
- while (signals == 0 && spin > 0)
+ while (spin > 0 && ((int)(signals - lowseq) < 2))
{
/* Check that we are not spinning on a group that's already
closed. */
- if (seq < (__condvar_load_g1_start_relaxed (cond) >> 1))
- goto done;
+ if (seq < (g1_start >> 1))
+ break;
/* TODO Back off. */
/* Reload signals. See above for MO. */
signals = atomic_load_acquire (cond->__data.__g_signals + g);
+ g1_start = __condvar_load_g1_start_relaxed (cond);
+ lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
spin--;
}
- /* If our group will be closed as indicated by the flag on signals,
- don't bother grabbing a signal. */
- if (signals & 1)
- goto done;
-
- /* If there is an available signal, don't block. */
- if (signals != 0)
+ if (seq < (g1_start >> 1))
+ {
+ /* If the group is closed already,
+ then this waiter originally had enough extra signals to
+ consume, up until the time its group was closed. */
+ goto done;
+ }
+
+ /* If there is an available signal, don't block.
+ If __g1_start has advanced at all, then we must be in G1
+ by now, perhaps in the process of switching back to an older
+ G2, but in either case we're allowed to consume the available
+ signal and should not block anymore. */
+ if ((int)(signals - lowseq) >= 2)
break;
/* No signals available after spinning, so prepare to block.
We first acquire a group reference and use acquire MO for that so
that we synchronize with the dummy read-modify-write in
__condvar_quiesce_and_switch_g1 if we read from that. In turn,
- in this case this will make us see the closed flag on __g_signals
- that designates a concurrent attempt to reuse the group's slot.
+ in this case this will make us see the advancement of __g_signals
+ to the upcoming new g1_start that occurs with a concurrent
+ attempt to reuse the group's slot.
We use acquire MO for the __g_signals check to make the
__g1_start check work (see spinning above).
Note that the group reference acquisition will not mask the
@@ -482,15 +482,24 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
an atomic read-modify-write operation and thus extend the release
sequence. */
atomic_fetch_add_acquire (cond->__data.__g_refs + g, 2);
- if (((atomic_load_acquire (cond->__data.__g_signals + g) & 1) != 0)
- || (seq < (__condvar_load_g1_start_relaxed (cond) >> 1)))
+ signals = atomic_load_acquire (cond->__data.__g_signals + g);
+ g1_start = __condvar_load_g1_start_relaxed (cond);
+ lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
+
+ if (seq < (g1_start >> 1))
{
- /* Our group is closed. Wake up any signalers that might be
- waiting. */
+ /* group is closed already, so don't block */
__condvar_dec_grefs (cond, g, private);
goto done;
}
+ if ((int)(signals - lowseq) >= 2)
+ {
+ /* a signal showed up or G1/G2 switched after we grabbed the refcount */
+ __condvar_dec_grefs (cond, g, private);
+ break;
+ }
+
// Now block.
struct _pthread_cleanup_buffer buffer;
struct _condvar_cleanup_buffer cbuffer;
@@ -501,7 +510,7 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
__pthread_cleanup_push (&buffer, __condvar_cleanup_waiting, &cbuffer);
err = __futex_abstimed_wait_cancelable64 (
- cond->__data.__g_signals + g, 0, clockid, abstime, private);
+ cond->__data.__g_signals + g, signals, clockid, abstime, private);
__pthread_cleanup_pop (&buffer, 0);
@@ -524,6 +533,8 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
signals = atomic_load_acquire (cond->__data.__g_signals + g);
}
+ if (seq < (__condvar_load_g1_start_relaxed (cond) >> 1))
+ goto done;
}
/* Try to grab a signal. Use acquire MO so that we see an up-to-date value
of __g1_start below (see spinning above for a similar case). In
@@ -532,69 +543,6 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
while (!atomic_compare_exchange_weak_acquire (cond->__data.__g_signals + g,
&signals, signals - 2));
- /* We consumed a signal but we could have consumed from a more recent group
- that aliased with ours due to being in the same group slot. If this
- might be the case our group must be closed as visible through
- __g1_start. */
- uint64_t g1_start = __condvar_load_g1_start_relaxed (cond);
- if (seq < (g1_start >> 1))
- {
- /* We potentially stole a signal from a more recent group but we do not
- know which group we really consumed from.
- We do not care about groups older than current G1 because they are
- closed; we could have stolen from these, but then we just add a
- spurious wake-up for the current groups.
- We will never steal a signal from current G2 that was really intended
- for G2 because G2 never receives signals (until it becomes G1). We
- could have stolen a signal from G2 that was conservatively added by a
- previous waiter that also thought it stole a signal -- but given that
- that signal was added unnecessarily, it's not a problem if we steal
- it.
- Thus, the remaining case is that we could have stolen from the current
- G1, where "current" means the __g1_start value we observed. However,
- if the current G1 does not have the same slot index as we do, we did
- not steal from it and do not need to undo that. This is the reason
- for putting a bit with G2's index into__g1_start as well. */
- if (((g1_start & 1) ^ 1) == g)
- {
- /* We have to conservatively undo our potential mistake of stealing
- a signal. We can stop trying to do that when the current G1
- changes because other spinning waiters will notice this too and
- __condvar_quiesce_and_switch_g1 has checked that there are no
- futex waiters anymore before switching G1.
- Relaxed MO is fine for the __g1_start load because we need to
- merely be able to observe this fact and not have to observe
- something else as well.
- ??? Would it help to spin for a little while to see whether the
- current G1 gets closed? This might be worthwhile if the group is
- small or close to being closed. */
- unsigned int s = atomic_load_relaxed (cond->__data.__g_signals + g);
- while (__condvar_load_g1_start_relaxed (cond) == g1_start)
- {
- /* Try to add a signal. We don't need to acquire the lock
- because at worst we can cause a spurious wake-up. If the
- group is in the process of being closed (LSB is true), this
- has an effect similar to us adding a signal. */
- if (((s & 1) != 0)
- || atomic_compare_exchange_weak_relaxed
- (cond->__data.__g_signals + g, &s, s + 2))
- {
- /* If we added a signal, we also need to add a wake-up on
- the futex. We also need to do that if we skipped adding
- a signal because the group is being closed because
- while __condvar_quiesce_and_switch_g1 could have closed
- the group, it might stil be waiting for futex waiters to
- leave (and one of those waiters might be the one we stole
- the signal from, which cause it to block using the
- futex). */
- futex_wake (cond->__data.__g_signals + g, 1, private);
- break;
- }
- /* TODO Back off. */
- }
- }
- }
-
done:
/* Confirm that we have been woken. We do that before acquiring the mutex
--
2.49.0

View File

@@ -0,0 +1,144 @@
From 6aab1191e35a3da66e8c49d95178a9d77c119a1f Mon Sep 17 00:00:00 2001
From: Malte Skarupke <malteskarupke@fastmail.fm>
Date: Mon, 16 Jun 2025 23:17:53 -0700
Subject: [PATCH] nptl: Update comments and indentation for new condvar
implementation
Some comments were wrong after the most recent commit. This fixes that.
Also fixing indentation where it was using spaces instead of tabs.
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847
Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=0cc973160c23bb67f895bc887dd6942d29f8fee3]
Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
---
nptl/pthread_cond_common.c | 5 +++--
nptl/pthread_cond_wait.c | 39 +++++++++++++++++++-------------------
2 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/nptl/pthread_cond_common.c b/nptl/pthread_cond_common.c
index 8dd7037923..306a207dd6 100644
--- a/nptl/pthread_cond_common.c
+++ b/nptl/pthread_cond_common.c
@@ -221,8 +221,9 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
* New waiters arriving concurrently with the group switching will all go
into G2 until we atomically make the switch. Waiters existing in G2
are not affected.
- * Waiters in G1 will be closed out immediately by the advancing of
- __g_signals to the next "lowseq" (low 31 bits of the new g1_start),
+ * Waiters in G1 have already received a signal and been woken. If they
+ haven't woken yet, they will be closed out immediately by the advancing
+ of __g_signals to the next "lowseq" (low 31 bits of the new g1_start),
which will prevent waiters from blocking using a futex on
__g_signals since it provides enough signals for all possible
remaining waiters. As a result, they can each consume a signal
diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c
index 1cb3dbf7b0..cee1968756 100644
--- a/nptl/pthread_cond_wait.c
+++ b/nptl/pthread_cond_wait.c
@@ -249,7 +249,7 @@ __condvar_cleanup_waiting (void *arg)
figure out whether they are in a group that has already been completely
signaled (i.e., if the current G1 starts at a later position that the
waiter's position). Waiters cannot determine whether they are currently
- in G2 or G1 -- but they do not have too because all they are interested in
+ in G2 or G1 -- but they do not have to because all they are interested in
is whether there are available signals, and they always start in G2 (whose
group slot they know because of the bit in the waiter sequence. Signalers
will simply fill the right group until it is completely signaled and can
@@ -412,7 +412,7 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
}
/* Now wait until a signal is available in our group or it is closed.
- Acquire MO so that if we observe a value of zero written after group
+ Acquire MO so that if we observe (signals == lowseq) after group
switching in __condvar_quiesce_and_switch_g1, we synchronize with that
store and will see the prior update of __g1_start done while switching
groups too. */
@@ -422,8 +422,8 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
{
while (1)
{
- uint64_t g1_start = __condvar_load_g1_start_relaxed (cond);
- unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
+ uint64_t g1_start = __condvar_load_g1_start_relaxed (cond);
+ unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
/* Spin-wait first.
Note that spinning first without checking whether a timeout
@@ -447,21 +447,21 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
/* Reload signals. See above for MO. */
signals = atomic_load_acquire (cond->__data.__g_signals + g);
- g1_start = __condvar_load_g1_start_relaxed (cond);
- lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
+ g1_start = __condvar_load_g1_start_relaxed (cond);
+ lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
spin--;
}
- if (seq < (g1_start >> 1))
+ if (seq < (g1_start >> 1))
{
- /* If the group is closed already,
+ /* If the group is closed already,
then this waiter originally had enough extra signals to
consume, up until the time its group was closed. */
goto done;
- }
+ }
/* If there is an available signal, don't block.
- If __g1_start has advanced at all, then we must be in G1
+ If __g1_start has advanced at all, then we must be in G1
by now, perhaps in the process of switching back to an older
G2, but in either case we're allowed to consume the available
signal and should not block anymore. */
@@ -483,22 +483,23 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
sequence. */
atomic_fetch_add_acquire (cond->__data.__g_refs + g, 2);
signals = atomic_load_acquire (cond->__data.__g_signals + g);
- g1_start = __condvar_load_g1_start_relaxed (cond);
- lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
+ g1_start = __condvar_load_g1_start_relaxed (cond);
+ lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
- if (seq < (g1_start >> 1))
+ if (seq < (g1_start >> 1))
{
- /* group is closed already, so don't block */
+ /* group is closed already, so don't block */
__condvar_dec_grefs (cond, g, private);
goto done;
}
if ((int)(signals - lowseq) >= 2)
{
- /* a signal showed up or G1/G2 switched after we grabbed the refcount */
+ /* a signal showed up or G1/G2 switched after we grabbed the
+ refcount */
__condvar_dec_grefs (cond, g, private);
break;
- }
+ }
// Now block.
struct _pthread_cleanup_buffer buffer;
@@ -536,10 +537,8 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
if (seq < (__condvar_load_g1_start_relaxed (cond) >> 1))
goto done;
}
- /* Try to grab a signal. Use acquire MO so that we see an up-to-date value
- of __g1_start below (see spinning above for a similar case). In
- particular, if we steal from a more recent group, we will also see a
- more recent __g1_start below. */
+ /* Try to grab a signal. See above for MO. (if we do another loop
+ iteration we need to see the correct value of g1_start) */
while (!atomic_compare_exchange_weak_acquire (cond->__data.__g_signals + g,
&signals, signals - 2));
--
2.49.0

View File

@@ -0,0 +1,77 @@
From 28a5082045429fdc5a4744d45fdc5b5202528eaa Mon Sep 17 00:00:00 2001
From: Malte Skarupke <malteskarupke@fastmail.fm>
Date: Mon, 16 Jun 2025 23:29:49 -0700
Subject: [PATCH] nptl: Remove unnecessary catch-all-wake in condvar group
switch
This wake is unnecessary. We only switch groups after every sleeper in a group
has been woken. Sure, they may take a while to actually wake up and may still
hold a reference, but waking them a second time doesn't speed that up. Instead
this just makes the code more complicated and may hide problems.
In particular this safety wake wouldn't even have helped with the bug that was
fixed by Barrus' patch: The bug there was that pthread_cond_signal would not
switch g1 when it should, so we wouldn't even have entered this code path.
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847
Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=b42cc6af11062c260c7dfa91f1c89891366fed3e]
Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
---
nptl/pthread_cond_common.c | 30 +-----------------------------
1 file changed, 1 insertion(+), 29 deletions(-)
diff --git a/nptl/pthread_cond_common.c b/nptl/pthread_cond_common.c
index 306a207dd6..f976a533a1 100644
--- a/nptl/pthread_cond_common.c
+++ b/nptl/pthread_cond_common.c
@@ -221,13 +221,7 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
* New waiters arriving concurrently with the group switching will all go
into G2 until we atomically make the switch. Waiters existing in G2
are not affected.
- * Waiters in G1 have already received a signal and been woken. If they
- haven't woken yet, they will be closed out immediately by the advancing
- of __g_signals to the next "lowseq" (low 31 bits of the new g1_start),
- which will prevent waiters from blocking using a futex on
- __g_signals since it provides enough signals for all possible
- remaining waiters. As a result, they can each consume a signal
- and they will eventually remove their group reference. */
+ * Waiters in G1 have already received a signal and been woken. */
/* Update __g1_start, which finishes closing this group. The value we add
will never be negative because old_orig_size can only be zero when we
@@ -240,28 +234,6 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
unsigned int lowseq = ((old_g1_start + old_orig_size) << 1) & ~1U;
- /* If any waiters still hold group references (and thus could be blocked),
- then wake them all up now and prevent any running ones from blocking.
- This is effectively a catch-all for any possible current or future
- bugs that can allow the group size to reach 0 before all G1 waiters
- have been awakened or at least given signals to consume, or any
- other case that can leave blocked (or about to block) older waiters.. */
- if ((atomic_fetch_or_release (cond->__data.__g_refs + g1, 0) >> 1) > 0)
- {
- /* First advance signals to the end of the group (i.e. enough signals
- for the entire G1 group) to ensure that waiters which have not
- yet blocked in the futex will not block.
- Note that in the vast majority of cases, this should never
- actually be necessary, since __g_signals will have enough
- signals for the remaining g_refs waiters. As an optimization,
- we could check this first before proceeding, although that
- could still leave the potential for futex lost wakeup bugs
- if the signal count was non-zero but the futex wakeup
- was somehow lost. */
- atomic_store_release (cond->__data.__g_signals + g1, lowseq);
-
- futex_wake (cond->__data.__g_signals + g1, INT_MAX, private);
- }
/* At this point, the old G1 is now a valid new G2 (but not in use yet).
No old waiter can neither grab a signal nor acquire a reference without
noticing that __g1_start is larger.
--
2.49.0

View File

@@ -0,0 +1,117 @@
From 16b9af737c77b153fca4f36cbdbe94f7416c0b42 Mon Sep 17 00:00:00 2001
From: Malte Skarupke <malteskarupke@fastmail.fm>
Date: Mon, 16 Jun 2025 23:38:40 -0700
Subject: [PATCH] nptl: Remove unnecessary quadruple check in pthread_cond_wait
pthread_cond_wait was checking whether it was in a closed group no less than
four times. Checking once is enough. Here are the four checks:
1. While spin-waiting. This was dead code: maxspin is set to 0 and has been
for years.
2. Before deciding to go to sleep, and before incrementing grefs: I kept this
3. After incrementing grefs. There is no reason to think that the group would
close while we do an atomic increment. Obviously it could close at any
point, but that doesn't mean we have to recheck after every step. This
check was equally good as check 2, except it has to do more work.
4. When we find ourselves in a group that has a signal. We only get here after
we check that we're not in a closed group. There is no need to check again.
The check would only have helped in cases where the compare_exchange in the
next line would also have failed. Relying on the compare_exchange is fine.
Removing the duplicate checks clarifies the code.
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847
Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=4f7b051f8ee3feff1b53b27a906f245afaa9cee1]
Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
---
nptl/pthread_cond_wait.c | 49 ----------------------------------------
1 file changed, 49 deletions(-)
diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c
index cee1968756..47e834cade 100644
--- a/nptl/pthread_cond_wait.c
+++ b/nptl/pthread_cond_wait.c
@@ -366,7 +366,6 @@ static __always_inline int
__pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
clockid_t clockid, const struct __timespec64 *abstime)
{
- const int maxspin = 0;
int err;
int result = 0;
@@ -425,33 +424,6 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
uint64_t g1_start = __condvar_load_g1_start_relaxed (cond);
unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
- /* Spin-wait first.
- Note that spinning first without checking whether a timeout
- passed might lead to what looks like a spurious wake-up even
- though we should return ETIMEDOUT (e.g., if the caller provides
- an absolute timeout that is clearly in the past). However,
- (1) spurious wake-ups are allowed, (2) it seems unlikely that a
- user will (ab)use pthread_cond_wait as a check for whether a
- point in time is in the past, and (3) spinning first without
- having to compare against the current time seems to be the right
- choice from a performance perspective for most use cases. */
- unsigned int spin = maxspin;
- while (spin > 0 && ((int)(signals - lowseq) < 2))
- {
- /* Check that we are not spinning on a group that's already
- closed. */
- if (seq < (g1_start >> 1))
- break;
-
- /* TODO Back off. */
-
- /* Reload signals. See above for MO. */
- signals = atomic_load_acquire (cond->__data.__g_signals + g);
- g1_start = __condvar_load_g1_start_relaxed (cond);
- lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
- spin--;
- }
-
if (seq < (g1_start >> 1))
{
/* If the group is closed already,
@@ -482,24 +454,6 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
an atomic read-modify-write operation and thus extend the release
sequence. */
atomic_fetch_add_acquire (cond->__data.__g_refs + g, 2);
- signals = atomic_load_acquire (cond->__data.__g_signals + g);
- g1_start = __condvar_load_g1_start_relaxed (cond);
- lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
-
- if (seq < (g1_start >> 1))
- {
- /* group is closed already, so don't block */
- __condvar_dec_grefs (cond, g, private);
- goto done;
- }
-
- if ((int)(signals - lowseq) >= 2)
- {
- /* a signal showed up or G1/G2 switched after we grabbed the
- refcount */
- __condvar_dec_grefs (cond, g, private);
- break;
- }
// Now block.
struct _pthread_cleanup_buffer buffer;
@@ -533,9 +487,6 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
/* Reload signals. See above for MO. */
signals = atomic_load_acquire (cond->__data.__g_signals + g);
}
-
- if (seq < (__condvar_load_g1_start_relaxed (cond) >> 1))
- goto done;
}
/* Try to grab a signal. See above for MO. (if we do another loop
iteration we need to see the correct value of g1_start) */
--
2.49.0

View File

@@ -0,0 +1,105 @@
From d9ffb50dc55f77e584a5d0275eea758c7a6b04e3 Mon Sep 17 00:00:00 2001
From: Malte Skarupke <malteskarupke@fastmail.fm>
Date: Mon, 16 Jun 2025 23:53:35 -0700
Subject: [PATCH] nptl: Use a single loop in pthread_cond_wait instaed of a
nested loop
The loop was a little more complicated than necessary. There was only one
break statement out of the inner loop, and the outer loop was nearly empty.
So just remove the outer loop, moving its code to the one break statement in
the inner loop. This allows us to replace all gotos with break statements.
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847
Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=929a4764ac90382616b6a21f099192b2475da674]
Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
---
nptl/pthread_cond_wait.c | 41 +++++++++++++++++++---------------------
1 file changed, 19 insertions(+), 22 deletions(-)
diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c
index 47e834cade..5c86880105 100644
--- a/nptl/pthread_cond_wait.c
+++ b/nptl/pthread_cond_wait.c
@@ -410,17 +410,15 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
return err;
}
- /* Now wait until a signal is available in our group or it is closed.
- Acquire MO so that if we observe (signals == lowseq) after group
- switching in __condvar_quiesce_and_switch_g1, we synchronize with that
- store and will see the prior update of __g1_start done while switching
- groups too. */
- unsigned int signals = atomic_load_acquire (cond->__data.__g_signals + g);
-
- do
- {
+
while (1)
{
+ /* Now wait until a signal is available in our group or it is closed.
+ Acquire MO so that if we observe (signals == lowseq) after group
+ switching in __condvar_quiesce_and_switch_g1, we synchronize with that
+ store and will see the prior update of __g1_start done while switching
+ groups too. */
+ unsigned int signals = atomic_load_acquire (cond->__data.__g_signals + g);
uint64_t g1_start = __condvar_load_g1_start_relaxed (cond);
unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
@@ -429,7 +427,7 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
/* If the group is closed already,
then this waiter originally had enough extra signals to
consume, up until the time its group was closed. */
- goto done;
+ break;
}
/* If there is an available signal, don't block.
@@ -438,8 +436,16 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
G2, but in either case we're allowed to consume the available
signal and should not block anymore. */
if ((int)(signals - lowseq) >= 2)
- break;
-
+ {
+ /* Try to grab a signal. See above for MO. (if we do another loop
+ iteration we need to see the correct value of g1_start) */
+ if (atomic_compare_exchange_weak_acquire (
+ cond->__data.__g_signals + g,
+ &signals, signals - 2))
+ break;
+ else
+ continue;
+ }
/* No signals available after spinning, so prepare to block.
We first acquire a group reference and use acquire MO for that so
that we synchronize with the dummy read-modify-write in
@@ -479,21 +485,12 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
the lock during cancellation is not possible. */
__condvar_cancel_waiting (cond, seq, g, private);
result = err;
- goto done;
+ break;
}
else
__condvar_dec_grefs (cond, g, private);
- /* Reload signals. See above for MO. */
- signals = atomic_load_acquire (cond->__data.__g_signals + g);
}
- }
- /* Try to grab a signal. See above for MO. (if we do another loop
- iteration we need to see the correct value of g1_start) */
- while (!atomic_compare_exchange_weak_acquire (cond->__data.__g_signals + g,
- &signals, signals - 2));
-
- done:
/* Confirm that we have been woken. We do that before acquiring the mutex
to allow for execution of pthread_cond_destroy while having acquired the
--
2.49.0

View File

@@ -0,0 +1,169 @@
From a2faee6d0dac6e5232255da9afda4d9ed6cfb6e5 Mon Sep 17 00:00:00 2001
From: Malte Skarupke <malteskarupke@fastmail.fm>
Date: Tue, 17 Jun 2025 01:37:12 -0700
Subject: [PATCH] nptl: Fix indentation
In my previous change I turned a nested loop into a simple loop. I'm doing
the resulting indentation changes in a separate commit to make the diff on
the previous commit easier to review.
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847
Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=ee6c14ed59d480720721aaacc5fb03213dc153da]
Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
---
nptl/pthread_cond_wait.c | 132 ++++++++++++++++-----------------------
1 file changed, 54 insertions(+), 78 deletions(-)
diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c
index 5c86880105..104ebd48ca 100644
--- a/nptl/pthread_cond_wait.c
+++ b/nptl/pthread_cond_wait.c
@@ -410,87 +410,63 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
return err;
}
-
- while (1)
- {
- /* Now wait until a signal is available in our group or it is closed.
- Acquire MO so that if we observe (signals == lowseq) after group
- switching in __condvar_quiesce_and_switch_g1, we synchronize with that
- store and will see the prior update of __g1_start done while switching
- groups too. */
- unsigned int signals = atomic_load_acquire (cond->__data.__g_signals + g);
- uint64_t g1_start = __condvar_load_g1_start_relaxed (cond);
- unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
-
- if (seq < (g1_start >> 1))
- {
- /* If the group is closed already,
- then this waiter originally had enough extra signals to
- consume, up until the time its group was closed. */
- break;
- }
-
- /* If there is an available signal, don't block.
- If __g1_start has advanced at all, then we must be in G1
- by now, perhaps in the process of switching back to an older
- G2, but in either case we're allowed to consume the available
- signal and should not block anymore. */
- if ((int)(signals - lowseq) >= 2)
- {
- /* Try to grab a signal. See above for MO. (if we do another loop
- iteration we need to see the correct value of g1_start) */
- if (atomic_compare_exchange_weak_acquire (
- cond->__data.__g_signals + g,
+ while (1)
+ {
+ /* Now wait until a signal is available in our group or it is closed.
+ Acquire MO so that if we observe (signals == lowseq) after group
+ switching in __condvar_quiesce_and_switch_g1, we synchronize with that
+ store and will see the prior update of __g1_start done while switching
+ groups too. */
+ unsigned int signals = atomic_load_acquire (cond->__data.__g_signals + g);
+ uint64_t g1_start = __condvar_load_g1_start_relaxed (cond);
+ unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
+
+ if (seq < (g1_start >> 1))
+ {
+ /* If the group is closed already,
+ then this waiter originally had enough extra signals to
+ consume, up until the time its group was closed. */
+ break;
+ }
+
+ /* If there is an available signal, don't block.
+ If __g1_start has advanced at all, then we must be in G1
+ by now, perhaps in the process of switching back to an older
+ G2, but in either case we're allowed to consume the available
+ signal and should not block anymore. */
+ if ((int)(signals - lowseq) >= 2)
+ {
+ /* Try to grab a signal. See above for MO. (if we do another loop
+ iteration we need to see the correct value of g1_start) */
+ if (atomic_compare_exchange_weak_acquire (
+ cond->__data.__g_signals + g,
&signals, signals - 2))
- break;
- else
- continue;
- }
- /* No signals available after spinning, so prepare to block.
- We first acquire a group reference and use acquire MO for that so
- that we synchronize with the dummy read-modify-write in
- __condvar_quiesce_and_switch_g1 if we read from that. In turn,
- in this case this will make us see the advancement of __g_signals
- to the upcoming new g1_start that occurs with a concurrent
- attempt to reuse the group's slot.
- We use acquire MO for the __g_signals check to make the
- __g1_start check work (see spinning above).
- Note that the group reference acquisition will not mask the
- release MO when decrementing the reference count because we use
- an atomic read-modify-write operation and thus extend the release
- sequence. */
- atomic_fetch_add_acquire (cond->__data.__g_refs + g, 2);
-
- // Now block.
- struct _pthread_cleanup_buffer buffer;
- struct _condvar_cleanup_buffer cbuffer;
- cbuffer.wseq = wseq;
- cbuffer.cond = cond;
- cbuffer.mutex = mutex;
- cbuffer.private = private;
- __pthread_cleanup_push (&buffer, __condvar_cleanup_waiting, &cbuffer);
-
- err = __futex_abstimed_wait_cancelable64 (
- cond->__data.__g_signals + g, signals, clockid, abstime, private);
-
- __pthread_cleanup_pop (&buffer, 0);
-
- if (__glibc_unlikely (err == ETIMEDOUT || err == EOVERFLOW))
- {
- __condvar_dec_grefs (cond, g, private);
- /* If we timed out, we effectively cancel waiting. Note that
- we have decremented __g_refs before cancellation, so that a
- deadlock between waiting for quiescence of our group in
- __condvar_quiesce_and_switch_g1 and us trying to acquire
- the lock during cancellation is not possible. */
- __condvar_cancel_waiting (cond, seq, g, private);
- result = err;
break;
- }
- else
- __condvar_dec_grefs (cond, g, private);
-
+ else
+ continue;
}
+ // Now block.
+ struct _pthread_cleanup_buffer buffer;
+ struct _condvar_cleanup_buffer cbuffer;
+ cbuffer.wseq = wseq;
+ cbuffer.cond = cond;
+ cbuffer.mutex = mutex;
+ cbuffer.private = private;
+ __pthread_cleanup_push (&buffer, __condvar_cleanup_waiting, &cbuffer);
+
+ err = __futex_abstimed_wait_cancelable64 (
+ cond->__data.__g_signals + g, signals, clockid, abstime, private);
+
+ __pthread_cleanup_pop (&buffer, 0);
+
+ if (__glibc_unlikely (err == ETIMEDOUT || err == EOVERFLOW))
+ {
+ /* If we timed out, we effectively cancel waiting. */
+ __condvar_cancel_waiting (cond, seq, g, private);
+ result = err;
+ break;
+ }
+ }
/* Confirm that we have been woken. We do that before acquiring the mutex
to allow for execution of pthread_cond_destroy while having acquired the
--
2.49.0

View File

@@ -0,0 +1,160 @@
From 2a601ac9041e2ca645acad2c174b1c545cfceafe Mon Sep 17 00:00:00 2001
From: Malte Skarupke <malteskarupke@fastmail.fm>
Date: Tue, 17 Jun 2025 01:53:25 -0700
Subject: [PATCH] nptl: rename __condvar_quiesce_and_switch_g1
This function no longer waits for threads to leave g1, so rename it to
__condvar_switch_g1
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847
Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=4b79e27a5073c02f6bff9aa8f4791230a0ab1867]
Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
---
nptl/pthread_cond_broadcast.c | 4 ++--
nptl/pthread_cond_common.c | 26 ++++++++++++--------------
nptl/pthread_cond_signal.c | 17 ++++++++---------
nptl/pthread_cond_wait.c | 9 ++++-----
4 files changed, 26 insertions(+), 30 deletions(-)
diff --git a/nptl/pthread_cond_broadcast.c b/nptl/pthread_cond_broadcast.c
index 5ae141ac81..a07435589a 100644
--- a/nptl/pthread_cond_broadcast.c
+++ b/nptl/pthread_cond_broadcast.c
@@ -60,7 +60,7 @@ ___pthread_cond_broadcast (pthread_cond_t *cond)
cond->__data.__g_size[g1] << 1);
cond->__data.__g_size[g1] = 0;
- /* We need to wake G1 waiters before we quiesce G1 below. */
+ /* We need to wake G1 waiters before we switch G1 below. */
/* TODO Only set it if there are indeed futex waiters. We could
also try to move this out of the critical section in cases when
G2 is empty (and we don't need to quiesce). */
@@ -69,7 +69,7 @@ ___pthread_cond_broadcast (pthread_cond_t *cond)
/* G1 is complete. Step (2) is next unless there are no waiters in G2, in
which case we can stop. */
- if (__condvar_quiesce_and_switch_g1 (cond, wseq, &g1, private))
+ if (__condvar_switch_g1 (cond, wseq, &g1, private))
{
/* Step (3): Send signals to all waiters in the old G2 / new G1. */
atomic_fetch_add_relaxed (cond->__data.__g_signals + g1,
diff --git a/nptl/pthread_cond_common.c b/nptl/pthread_cond_common.c
index f976a533a1..3baac4dabc 100644
--- a/nptl/pthread_cond_common.c
+++ b/nptl/pthread_cond_common.c
@@ -189,16 +189,15 @@ __condvar_get_private (int flags)
return FUTEX_SHARED;
}
-/* This closes G1 (whose index is in G1INDEX), waits for all futex waiters to
- leave G1, converts G1 into a fresh G2, and then switches group roles so that
- the former G2 becomes the new G1 ending at the current __wseq value when we
- eventually make the switch (WSEQ is just an observation of __wseq by the
- signaler).
+/* This closes G1 (whose index is in G1INDEX), converts G1 into a fresh G2,
+ and then switches group roles so that the former G2 becomes the new G1
+ ending at the current __wseq value when we eventually make the switch
+ (WSEQ is just an observation of __wseq by the signaler).
If G2 is empty, it will not switch groups because then it would create an
empty G1 which would require switching groups again on the next signal.
Returns false iff groups were not switched because G2 was empty. */
static bool __attribute__ ((unused))
-__condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
+__condvar_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
unsigned int *g1index, int private)
{
unsigned int g1 = *g1index;
@@ -214,8 +213,7 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
+ cond->__data.__g_size[g1 ^ 1]) == 0)
return false;
- /* Now try to close and quiesce G1. We have to consider the following kinds
- of waiters:
+ /* We have to consider the following kinds of waiters:
* Waiters from less recent groups than G1 are not affected because
nothing will change for them apart from __g1_start getting larger.
* New waiters arriving concurrently with the group switching will all go
@@ -223,12 +221,12 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
are not affected.
* Waiters in G1 have already received a signal and been woken. */
- /* Update __g1_start, which finishes closing this group. The value we add
- will never be negative because old_orig_size can only be zero when we
- switch groups the first time after a condvar was initialized, in which
- case G1 will be at index 1 and we will add a value of 1.
- Relaxed MO is fine because the change comes with no additional
- constraints that others would have to observe. */
+ /* Update __g1_start, which closes this group. The value we add will never
+ be negative because old_orig_size can only be zero when we switch groups
+ the first time after a condvar was initialized, in which case G1 will be
+ at index 1 and we will add a value of 1. Relaxed MO is fine because the
+ change comes with no additional constraints that others would have to
+ observe. */
__condvar_add_g1_start_relaxed (cond,
(old_orig_size << 1) + (g1 == 1 ? 1 : - 1));
diff --git a/nptl/pthread_cond_signal.c b/nptl/pthread_cond_signal.c
index 14800ba00b..a9bc10dcca 100644
--- a/nptl/pthread_cond_signal.c
+++ b/nptl/pthread_cond_signal.c
@@ -69,18 +69,17 @@ ___pthread_cond_signal (pthread_cond_t *cond)
bool do_futex_wake = false;
/* If G1 is still receiving signals, we put the signal there. If not, we
- check if G2 has waiters, and if so, quiesce and switch G1 to the former
- G2; if this results in a new G1 with waiters (G2 might have cancellations
- already, see __condvar_quiesce_and_switch_g1), we put the signal in the
- new G1. */
+ check if G2 has waiters, and if so, switch G1 to the former G2; if this
+ results in a new G1 with waiters (G2 might have cancellations already,
+ see __condvar_switch_g1), we put the signal in the new G1. */
if ((cond->__data.__g_size[g1] != 0)
- || __condvar_quiesce_and_switch_g1 (cond, wseq, &g1, private))
+ || __condvar_switch_g1 (cond, wseq, &g1, private))
{
/* Add a signal. Relaxed MO is fine because signaling does not need to
- establish a happens-before relation (see above). We do not mask the
- release-MO store when initializing a group in
- __condvar_quiesce_and_switch_g1 because we use an atomic
- read-modify-write and thus extend that store's release sequence. */
+ establish a happens-before relation (see above). We do not mask the
+ release-MO store when initializing a group in __condvar_switch_g1
+ because we use an atomic read-modify-write and thus extend that
+ store's release sequence. */
atomic_fetch_add_relaxed (cond->__data.__g_signals + g1, 2);
cond->__data.__g_size[g1]--;
/* TODO Only set it if there are indeed futex waiters. */
diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c
index 104ebd48ca..bb46f3605d 100644
--- a/nptl/pthread_cond_wait.c
+++ b/nptl/pthread_cond_wait.c
@@ -382,8 +382,7 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
because we do not need to establish any happens-before relation with
signalers (see __pthread_cond_signal); modification order alone
establishes a total order of waiters/signals. We do need acquire MO
- to synchronize with group reinitialization in
- __condvar_quiesce_and_switch_g1. */
+ to synchronize with group reinitialization in __condvar_switch_g1. */
uint64_t wseq = __condvar_fetch_add_wseq_acquire (cond, 2);
/* Find our group's index. We always go into what was G2 when we acquired
our position. */
@@ -414,9 +413,9 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
{
/* Now wait until a signal is available in our group or it is closed.
Acquire MO so that if we observe (signals == lowseq) after group
- switching in __condvar_quiesce_and_switch_g1, we synchronize with that
- store and will see the prior update of __g1_start done while switching
- groups too. */
+ switching in __condvar_switch_g1, we synchronize with that store and
+ will see the prior update of __g1_start done while switching groups
+ too. */
unsigned int signals = atomic_load_acquire (cond->__data.__g_signals + g);
uint64_t g1_start = __condvar_load_g1_start_relaxed (cond);
unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
--
2.49.0

View File

@@ -0,0 +1,192 @@
From fc074de88796eb2036fbe9bade638e00adfd5cb2 Mon Sep 17 00:00:00 2001
From: Malte Skarupke <malteskarupke@fastmail.fm>
Date: Tue, 17 Jun 2025 02:08:36 -0700
Subject: [PATCH] nptl: Use all of g1_start and g_signals
The LSB of g_signals was unused. The LSB of g1_start was used to indicate
which group is G2. This was used to always go to sleep in pthread_cond_wait
if a waiter is in G2. A comment earlier in the file says that this is not
correct to do:
"Waiters cannot determine whether they are currently in G2 or G1 -- but they
do not have to because all they are interested in is whether there are
available signals"
I either would have had to update the comment, or get rid of the check. I
chose to get rid of the check. In fact I don't quite know why it was there.
There will never be available signals for group G2, so we didn't need the
special case. Even if there were, this would just be a spurious wake. This
might have caught some cases where the count has wrapped around, but it
wouldn't reliably do that, (and even if it did, why would you want to force a
sleep in that case?) and we don't support that many concurrent waiters
anyway. Getting rid of it allows us to use one more bit, making us more
robust to wraparound.
The following commits have been cherry-picked from Glibc master branch:
Bug : https://sourceware.org/bugzilla/show_bug.cgi?id=25847
Upstream-Status: Backport
[https://sourceware.org/git/?p=glibc.git;a=commit;h=91bb902f58264a2fd50fbce8f39a9a290dd23706]
Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
---
nptl/pthread_cond_broadcast.c | 4 ++--
nptl/pthread_cond_common.c | 26 ++++++++++----------------
nptl/pthread_cond_signal.c | 2 +-
nptl/pthread_cond_wait.c | 14 +++++---------
4 files changed, 18 insertions(+), 28 deletions(-)
diff --git a/nptl/pthread_cond_broadcast.c b/nptl/pthread_cond_broadcast.c
index a07435589a..ef0943cdc5 100644
--- a/nptl/pthread_cond_broadcast.c
+++ b/nptl/pthread_cond_broadcast.c
@@ -57,7 +57,7 @@ ___pthread_cond_broadcast (pthread_cond_t *cond)
{
/* Add as many signals as the remaining size of the group. */
atomic_fetch_add_relaxed (cond->__data.__g_signals + g1,
- cond->__data.__g_size[g1] << 1);
+ cond->__data.__g_size[g1]);
cond->__data.__g_size[g1] = 0;
/* We need to wake G1 waiters before we switch G1 below. */
@@ -73,7 +73,7 @@ ___pthread_cond_broadcast (pthread_cond_t *cond)
{
/* Step (3): Send signals to all waiters in the old G2 / new G1. */
atomic_fetch_add_relaxed (cond->__data.__g_signals + g1,
- cond->__data.__g_size[g1] << 1);
+ cond->__data.__g_size[g1]);
cond->__data.__g_size[g1] = 0;
/* TODO Only set it if there are indeed futex waiters. */
do_futex_wake = true;
diff --git a/nptl/pthread_cond_common.c b/nptl/pthread_cond_common.c
index 3baac4dabc..e48f914321 100644
--- a/nptl/pthread_cond_common.c
+++ b/nptl/pthread_cond_common.c
@@ -208,9 +208,9 @@ __condvar_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
behavior.
Note that this works correctly for a zero-initialized condvar too. */
unsigned int old_orig_size = __condvar_get_orig_size (cond);
- uint64_t old_g1_start = __condvar_load_g1_start_relaxed (cond) >> 1;
- if (((unsigned) (wseq - old_g1_start - old_orig_size)
- + cond->__data.__g_size[g1 ^ 1]) == 0)
+ uint64_t old_g1_start = __condvar_load_g1_start_relaxed (cond);
+ uint64_t new_g1_start = old_g1_start + old_orig_size;
+ if (((unsigned) (wseq - new_g1_start) + cond->__data.__g_size[g1 ^ 1]) == 0)
return false;
/* We have to consider the following kinds of waiters:
@@ -221,16 +221,10 @@ __condvar_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
are not affected.
* Waiters in G1 have already received a signal and been woken. */
- /* Update __g1_start, which closes this group. The value we add will never
- be negative because old_orig_size can only be zero when we switch groups
- the first time after a condvar was initialized, in which case G1 will be
- at index 1 and we will add a value of 1. Relaxed MO is fine because the
- change comes with no additional constraints that others would have to
- observe. */
- __condvar_add_g1_start_relaxed (cond,
- (old_orig_size << 1) + (g1 == 1 ? 1 : - 1));
-
- unsigned int lowseq = ((old_g1_start + old_orig_size) << 1) & ~1U;
+ /* Update __g1_start, which closes this group. Relaxed MO is fine because
+ the change comes with no additional constraints that others would have
+ to observe. */
+ __condvar_add_g1_start_relaxed (cond, old_orig_size);
/* At this point, the old G1 is now a valid new G2 (but not in use yet).
No old waiter can neither grab a signal nor acquire a reference without
@@ -242,13 +236,13 @@ __condvar_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
g1 ^= 1;
*g1index ^= 1;
- /* Now advance the new G1 g_signals to the new lowseq, giving it
+ /* Now advance the new G1 g_signals to the new g1_start, giving it
an effective signal count of 0 to start. */
- atomic_store_release (cond->__data.__g_signals + g1, lowseq);
+ atomic_store_release (cond->__data.__g_signals + g1, (unsigned)new_g1_start);
/* These values are just observed by signalers, and thus protected by the
lock. */
- unsigned int orig_size = wseq - (old_g1_start + old_orig_size);
+ unsigned int orig_size = wseq - new_g1_start;
__condvar_set_orig_size (cond, orig_size);
/* Use and addition to not loose track of cancellations in what was
previously G2. */
diff --git a/nptl/pthread_cond_signal.c b/nptl/pthread_cond_signal.c
index a9bc10dcca..07427369aa 100644
--- a/nptl/pthread_cond_signal.c
+++ b/nptl/pthread_cond_signal.c
@@ -80,7 +80,7 @@ ___pthread_cond_signal (pthread_cond_t *cond)
release-MO store when initializing a group in __condvar_switch_g1
because we use an atomic read-modify-write and thus extend that
store's release sequence. */
- atomic_fetch_add_relaxed (cond->__data.__g_signals + g1, 2);
+ atomic_fetch_add_relaxed (cond->__data.__g_signals + g1, 1);
cond->__data.__g_size[g1]--;
/* TODO Only set it if there are indeed futex waiters. */
do_futex_wake = true;
diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c
index bb46f3605d..430cbe8a35 100644
--- a/nptl/pthread_cond_wait.c
+++ b/nptl/pthread_cond_wait.c
@@ -84,7 +84,7 @@ __condvar_cancel_waiting (pthread_cond_t *cond, uint64_t seq, unsigned int g,
not hold a reference on the group. */
__condvar_acquire_lock (cond, private);
- uint64_t g1_start = __condvar_load_g1_start_relaxed (cond) >> 1;
+ uint64_t g1_start = __condvar_load_g1_start_relaxed (cond);
if (g1_start > seq)
{
/* Our group is closed, so someone provided enough signals for it.
@@ -278,7 +278,6 @@ __condvar_cleanup_waiting (void *arg)
* Waiters fetch-add while having acquire the mutex associated with the
condvar. Signalers load it and fetch-xor it concurrently.
__g1_start: Starting position of G1 (inclusive)
- * LSB is index of current G2.
* Modified by signalers while having acquired the condvar-internal lock
and observed concurrently by waiters.
__g1_orig_size: Initial size of G1
@@ -299,11 +298,9 @@ __condvar_cleanup_waiting (void *arg)
* Reference count used by waiters concurrently with signalers that have
acquired the condvar-internal lock.
__g_signals: The number of signals that can still be consumed, relative to
- the current g1_start. (i.e. bits 31 to 1 of __g_signals are bits
- 31 to 1 of g1_start with the signal count added)
+ the current g1_start. (i.e. g1_start with the signal count added)
* Used as a futex word by waiters. Used concurrently by waiters and
signalers.
- * LSB is currently reserved and 0.
__g_size: Waiters remaining in this group (i.e., which have not been
signaled yet.
* Accessed by signalers and waiters that cancel waiting (both do so only
@@ -418,9 +415,8 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
too. */
unsigned int signals = atomic_load_acquire (cond->__data.__g_signals + g);
uint64_t g1_start = __condvar_load_g1_start_relaxed (cond);
- unsigned int lowseq = (g1_start & 1) == g ? signals : g1_start & ~1U;
- if (seq < (g1_start >> 1))
+ if (seq < g1_start)
{
/* If the group is closed already,
then this waiter originally had enough extra signals to
@@ -433,13 +429,13 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex,
by now, perhaps in the process of switching back to an older
G2, but in either case we're allowed to consume the available
signal and should not block anymore. */
- if ((int)(signals - lowseq) >= 2)
+ if ((int)(signals - (unsigned int)g1_start) > 0)
{
/* Try to grab a signal. See above for MO. (if we do another loop
iteration we need to see the correct value of g1_start) */
if (atomic_compare_exchange_weak_acquire (
cond->__data.__g_signals + g,
- &signals, signals - 2))
+ &signals, signals - 1))
break;
else
continue;
--
2.49.0

View File

@@ -27,6 +27,7 @@ CVE_CHECK_IGNORE += "CVE-2023-4527"
CVE_CHECK_IGNORE += " \
CVE-2023-0687 CVE-2023-4813 CVE-2023-4806 CVE-2023-4911 CVE-2023-5156 \
CVE-2024-2961 CVE-2024-33599 CVE-2024-33600 CVE-2024-33601 CVE-2024-33602 \
CVE-2025-0395 CVE-2025-4802 CVE-2025-8058 \
"
DEPENDS += "gperf-native bison-native"
@@ -61,6 +62,14 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
file://0022-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch \
file://0023-timezone-Make-shell-interpreter-overridable-in-tzsel.patch \
file://0024-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \
file://0026-PR25847-1.patch \
file://0026-PR25847-2.patch \
file://0026-PR25847-3.patch \
file://0026-PR25847-4.patch \
file://0026-PR25847-5.patch \
file://0026-PR25847-6.patch \
file://0026-PR25847-7.patch \
file://0026-PR25847-8.patch \
\
file://0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch \
file://0002-get_nscd_addresses-Fix-subscript-typos-BZ-29605.patch \

View File

@@ -24,7 +24,7 @@ IMAGE_FSTYPES = "wic.vmdk wic.vhd wic.vhdx"
inherit core-image setuptools3
SRCREV ?= "5dad8173d4c55283a93302d907339fb1f7696a65"
SRCREV ?= "49e837cefaa0d1844b32ff788c6e9de246a3a739"
SRC_URI = "git://git.yoctoproject.org/poky;branch=kirkstone \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \

View File

@@ -0,0 +1,181 @@
From 71e1e8af5ee46dad1b57bb96cfbf1c3ad21fbd7b Mon Sep 17 00:00:00 2001
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Fri, 4 Jul 2025 14:28:26 +0200
Subject: [PATCH] schematron: Fix memory safety issues in
xmlSchematronReportOutput
Fix use-after-free (CVE-2025-49794) and type confusion (CVE-2025-49796)
in xmlSchematronReportOutput.
Fixes #931.
Fixes #933.
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/-/commit/71e1e8af5ee46dad1b57bb96cfbf1c3ad21fbd7b]
CVE: CVE-2025-49794 CVE-2025-49796
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
result/schematron/cve-2025-49794_0.err | 2 ++
result/schematron/cve-2025-49796_0.err | 2 ++
schematron.c | 37 +++++++++++++++-----------
test/schematron/cve-2025-49794.sct | 10 +++++++
test/schematron/cve-2025-49794_0.xml | 6 +++++
test/schematron/cve-2025-49796.sct | 9 +++++++
test/schematron/cve-2025-49796_0.xml | 3 +++
7 files changed, 53 insertions(+), 16 deletions(-)
create mode 100644 result/schematron/cve-2025-49794_0.err
create mode 100644 result/schematron/cve-2025-49796_0.err
create mode 100644 test/schematron/cve-2025-49794.sct
create mode 100644 test/schematron/cve-2025-49794_0.xml
create mode 100644 test/schematron/cve-2025-49796.sct
create mode 100644 test/schematron/cve-2025-49796_0.xml
diff --git a/result/schematron/cve-2025-49794_0.err b/result/schematron/cve-2025-49794_0.err
new file mode 100644
index 0000000..5775231
--- /dev/null
+++ b/result/schematron/cve-2025-49794_0.err
@@ -0,0 +1,2 @@
+./test/schematron/cve-2025-49794_0.xml:2: element boo0: schematron error : /librar0/boo0 line 2:
+./test/schematron/cve-2025-49794_0.xml fails to validate
diff --git a/result/schematron/cve-2025-49796_0.err b/result/schematron/cve-2025-49796_0.err
new file mode 100644
index 0000000..bf875ee
--- /dev/null
+++ b/result/schematron/cve-2025-49796_0.err
@@ -0,0 +1,2 @@
+./test/schematron/cve-2025-49796_0.xml:2: element boo0: schematron error : /librar0/boo0 line 2:
+./test/schematron/cve-2025-49796_0.xml fails to validate
diff --git a/schematron.c b/schematron.c
index ddbb069..5ebca64 100644
--- a/schematron.c
+++ b/schematron.c
@@ -1239,27 +1239,16 @@ exit:
* *
************************************************************************/
-static xmlNodePtr
+static xmlXPathObjectPtr
xmlSchematronGetNode(xmlSchematronValidCtxtPtr ctxt,
xmlNodePtr cur, const xmlChar *xpath) {
- xmlNodePtr node = NULL;
- xmlXPathObjectPtr ret;
if ((ctxt == NULL) || (cur == NULL) || (xpath == NULL))
return(NULL);
ctxt->xctxt->doc = cur->doc;
ctxt->xctxt->node = cur;
- ret = xmlXPathEval(xpath, ctxt->xctxt);
- if (ret == NULL)
- return(NULL);
-
- if ((ret->type == XPATH_NODESET) &&
- (ret->nodesetval != NULL) && (ret->nodesetval->nodeNr > 0))
- node = ret->nodesetval->nodeTab[0];
-
- xmlXPathFreeObject(ret);
- return(node);
+ return(xmlXPathEval(xpath, ctxt->xctxt));
}
/**
@@ -1304,18 +1293,26 @@ xmlSchematronFormatReport(xmlSchematronValidCtxtPtr ctxt,
(child->type == XML_CDATA_SECTION_NODE))
ret = xmlStrcat(ret, child->content);
else if (IS_SCHEMATRON(child, "name")) {
+ xmlXPathObject *obj = NULL;
xmlChar *path;
path = xmlGetNoNsProp(child, BAD_CAST "path");
node = cur;
if (path != NULL) {
- node = xmlSchematronGetNode(ctxt, cur, path);
- if (node == NULL)
- node = cur;
+ obj = xmlSchematronGetNode(ctxt, cur, path);
+ if ((obj != NULL) &&
+ (obj->type == XPATH_NODESET) &&
+ (obj->nodesetval != NULL) &&
+ (obj->nodesetval->nodeNr > 0))
+ node = obj->nodesetval->nodeTab[0];
xmlFree(path);
}
+ switch (node->type) {
+ case XML_ELEMENT_NODE:
+ case XML_ATTRIBUTE_NODE:
+
if ((node->ns == NULL) || (node->ns->prefix == NULL))
ret = xmlStrcat(ret, node->name);
else {
@@ -1323,6 +1320,14 @@ xmlSchematronFormatReport(xmlSchematronValidCtxtPtr ctxt,
ret = xmlStrcat(ret, BAD_CAST ":");
ret = xmlStrcat(ret, node->name);
}
+ break;
+
+ /* TODO: handle other node types */
+ default:
+ break;
+ }
+
+ xmlXPathFreeObject(obj);
} else {
child = child->next;
continue;
diff --git a/test/schematron/cve-2025-49794.sct b/test/schematron/cve-2025-49794.sct
new file mode 100644
index 0000000..7fc9ee3
--- /dev/null
+++ b/test/schematron/cve-2025-49794.sct
@@ -0,0 +1,10 @@
+<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron">
+ <sch:pattern id="">
+ <sch:rule context="boo0">
+ <sch:report test="not(0)">
+ <sch:name path="&#9;e|namespace::*|e"/>
+ </sch:report>
+ <sch:report test="0"></sch:report>
+ </sch:rule>
+ </sch:pattern>
+</sch:schema>
diff --git a/test/schematron/cve-2025-49794_0.xml b/test/schematron/cve-2025-49794_0.xml
new file mode 100644
index 0000000..debc64b
--- /dev/null
+++ b/test/schematron/cve-2025-49794_0.xml
@@ -0,0 +1,6 @@
+<librar0>
+ <boo0 t="">
+ <author></author>
+ </boo0>
+ <ins></ins>
+</librar0>
diff --git a/test/schematron/cve-2025-49796.sct b/test/schematron/cve-2025-49796.sct
new file mode 100644
index 0000000..e9702d7
--- /dev/null
+++ b/test/schematron/cve-2025-49796.sct
@@ -0,0 +1,9 @@
+<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron">
+ <sch:pattern id="">
+ <sch:rule context="boo0">
+ <sch:report test="not(0)">
+ <sch:name path="/"/>
+ </sch:report>
+ </sch:rule>
+ </sch:pattern>
+</sch:schema>
diff --git a/test/schematron/cve-2025-49796_0.xml b/test/schematron/cve-2025-49796_0.xml
new file mode 100644
index 0000000..be33c4e
--- /dev/null
+++ b/test/schematron/cve-2025-49796_0.xml
@@ -0,0 +1,3 @@
+<librar0>
+ <boo0/>
+</librar0>
--
2.49.0

View File

@@ -0,0 +1,56 @@
From acbbeef9f5dcdcc901c5f3fa14d583ef8cfd22f0 Mon Sep 17 00:00:00 2001
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Tue, 27 May 2025 12:53:17 +0200
Subject: [PATCH] tree: Fix integer overflow in xmlBuildQName
This issue affects memory safety.
Fixes #926.
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/-/commit/acbbeef9f5dcdcc901c5f3fa14d583ef8cfd22f0]
CVE: CVE-2025-6021
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
tree.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/tree.c b/tree.c
index 6e04dfb..cdf863c 100644
--- a/tree.c
+++ b/tree.c
@@ -50,6 +50,10 @@
#include "buf.h"
#include "save.h"
+#ifndef SIZE_MAX
+#define SIZE_MAX ((size_t) -1)
+#endif
+
int __xmlRegisterCallbacks = 0;
/************************************************************************
@@ -222,16 +226,18 @@ xmlGetParameterEntityFromDtd(const xmlDtd *dtd, const xmlChar *name) {
xmlChar *
xmlBuildQName(const xmlChar *ncname, const xmlChar *prefix,
xmlChar *memory, int len) {
- int lenn, lenp;
+ size_t lenn, lenp;
xmlChar *ret;
- if (ncname == NULL) return(NULL);
+ if ((ncname == NULL) || (len < 0)) return(NULL);
if (prefix == NULL) return((xmlChar *) ncname);
lenn = strlen((char *) ncname);
lenp = strlen((char *) prefix);
+ if (lenn >= SIZE_MAX - lenp - 1)
+ return(NULL);
- if ((memory == NULL) || (len < lenn + lenp + 2)) {
+ if ((memory == NULL) || ((size_t) len < lenn + lenp + 2)) {
ret = (xmlChar *) xmlMallocAtomic(lenn + lenp + 2);
if (ret == NULL) {
xmlTreeErrMemory("building QName");
--
2.49.0

View File

@@ -0,0 +1,103 @@
From 5e9ec5c107d3f5b5179c3dbc19df43df041cd55b Mon Sep 17 00:00:00 2001
From: Michael Mann <mmann78@netscape.net>
Date: Fri, 20 Jun 2025 23:05:00 -0400
Subject: [PATCH] [CVE-2025-6170] Fix potential buffer overflows of interactive
shell
Fixes #941
CVE: CVE-2025-6170
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/-/commit/5e9ec5c107d3f5b5179c3dbc19df43df041cd55b]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
debugXML.c | 15 ++++++++++-----
result/scripts/long_command | 8 ++++++++
test/scripts/long_command.script | 6 ++++++
test/scripts/long_command.xml | 1 +
4 files changed, 25 insertions(+), 5 deletions(-)
create mode 100644 result/scripts/long_command
create mode 100644 test/scripts/long_command.script
create mode 100644 test/scripts/long_command.xml
diff --git a/debugXML.c b/debugXML.c
index ed56b0f8..452b9573 100644
--- a/debugXML.c
+++ b/debugXML.c
@@ -1050,6 +1050,10 @@ xmlCtxtDumpOneNode(xmlDebugCtxtPtr ctxt, xmlNodePtr node)
xmlCtxtGenericNodeCheck(ctxt, node);
}
+#define MAX_PROMPT_SIZE 500
+#define MAX_ARG_SIZE 400
+#define MAX_COMMAND_SIZE 100
+
/**
* xmlCtxtDumpNode:
* @output: the FILE * for the output
@@ -2802,10 +2806,10 @@ void
xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input,
FILE * output)
{
- char prompt[500] = "/ > ";
+ char prompt[MAX_PROMPT_SIZE] = "/ > ";
char *cmdline = NULL, *cur;
- char command[100];
- char arg[400];
+ char command[MAX_COMMAND_SIZE];
+ char arg[MAX_ARG_SIZE];
int i;
xmlShellCtxtPtr ctxt;
xmlXPathObjectPtr list;
@@ -2863,7 +2867,8 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input,
cur++;
i = 0;
while ((*cur != ' ') && (*cur != '\t') &&
- (*cur != '\n') && (*cur != '\r')) {
+ (*cur != '\n') && (*cur != '\r') &&
+ (i < (MAX_COMMAND_SIZE - 1))) {
if (*cur == 0)
break;
command[i++] = *cur++;
@@ -2878,7 +2883,7 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input,
while ((*cur == ' ') || (*cur == '\t'))
cur++;
i = 0;
- while ((*cur != '\n') && (*cur != '\r') && (*cur != 0)) {
+ while ((*cur != '\n') && (*cur != '\r') && (*cur != 0) && (i < (MAX_ARG_SIZE-1))) {
if (*cur == 0)
break;
arg[i++] = *cur++;
diff --git a/result/scripts/long_command b/result/scripts/long_command
new file mode 100644
index 00000000..e6f00708
--- /dev/null
+++ b/result/scripts/long_command
@@ -0,0 +1,8 @@
+/ > b > b > Object is a Node Set :
+Set contains 1 nodes:
+1 ELEMENT a:c
+b > Unknown command This_is_a_really_long_command_string_designed_to_test_the_limits_of_the_memory_that_stores_the_comm
+b > b > Unknown command ess_currents_of_time_and_existence
+b > <?xml version="1.0"?>
+<a xmlns:a="bar"><b xmlns:a="foo">Navigating_the_labyrinthine_corridors_of_human_cognition_one_often_encounters_the_perplexing_paradox_that_the_more_we_delve_into_the_intricate_dance_of_neural_pathways_and_synaptic_firings_the_further_we_seem_to_stray_from_a_truly_holistic_understanding_of_consciousness_a_phenomenon_that_remains_as_elusive_as_a_moonbeam_caught_in_a_spiderweb_yet_undeniably_shapes_every_fleeting_thought_every_prof</b></a>
+b >
\ No newline at end of file
diff --git a/test/scripts/long_command.script b/test/scripts/long_command.script
new file mode 100644
index 00000000..00f6df09
--- /dev/null
+++ b/test/scripts/long_command.script
@@ -0,0 +1,6 @@
+cd a/b
+set <a:c/>
+xpath //*[namespace-uri()="foo"]
+This_is_a_really_long_command_string_designed_to_test_the_limits_of_the_memory_that_stores_the_command_please_dont_crash foo
+set Navigating_the_labyrinthine_corridors_of_human_cognition_one_often_encounters_the_perplexing_paradox_that_the_more_we_delve_into_the_intricate_dance_of_neural_pathways_and_synaptic_firings_the_further_we_seem_to_stray_from_a_truly_holistic_understanding_of_consciousness_a_phenomenon_that_remains_as_elusive_as_a_moonbeam_caught_in_a_spiderweb_yet_undeniably_shapes_every_fleeting_thought_every_profound_emotion_and_every_grand_aspiration_that_propels_our_species_ever_onward_through_the_relentless_currents_of_time_and_existence
+save -
diff --git a/test/scripts/long_command.xml b/test/scripts/long_command.xml
new file mode 100644
index 00000000..1ba44016
--- /dev/null
+++ b/test/scripts/long_command.xml
@@ -0,0 +1 @@
+<a xmlns:a="bar"><b xmlns:a="foo"/></a>

View File

@@ -39,6 +39,9 @@ SRC_URI += "http://www.w3.org/XML/Test/xmlts20080827.tar;subdir=${BP};name=testt
file://CVE-2025-24928.patch \
file://CVE-2025-32414.patch \
file://CVE-2025-32415.patch \
file://CVE-2025-6021.patch \
file://CVE-2025-49794-CVE-2025-49796.patch \
file://CVE-2025-6170.patch \
"
SRC_URI[archive.sha256sum] = "60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee"

View File

@@ -0,0 +1,25 @@
From 27d1493340d714e7be6e08c0a8f43e48276149c4 Mon Sep 17 00:00:00 2001
From: "Thomas E. Dickey" <dickey@invisible-island.net>
Date: Sat, 29 Mar 2025 22:52:37 +0000
Subject: [PATCH] snapshot of project "ncurses", label v6_5_20250329
CVE: CVE-2025-6141
Upstream-Status: Backport [https://github.com/ThomasDickey/ncurses-snapshots/commit/27d1493340d714e7be6e08c0a8f43e48276149c4]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
ncurses/tinfo/parse_entry.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/ncurses/tinfo/parse_entry.c b/ncurses/tinfo/parse_entry.c
index a2278c07..c551c780 100644
--- a/ncurses/tinfo/parse_entry.c
+++ b/ncurses/tinfo/parse_entry.c
@@ -954,6 +954,8 @@ postprocess_termcap(TERMTYPE2 *tp, bool has_base)
bp = tp->Strings[from_ptr->nte_index];
if (VALID_STRING(bp)) {
for (dp = buf2; *bp; bp++) {
+ if ((size_t) (dp - buf2) >= (sizeof(buf2) - sizeof(TERMTYPE2)))
+ break;
if (bp[0] == '$' && bp[1] == '<') {
while (*bp && *bp != '>') {
++bp;

View File

@@ -6,6 +6,7 @@ SRC_URI += "file://0001-tic-hang.patch \
file://CVE-2023-29491.patch \
file://CVE-2023-50495.patch \
file://CVE-2023-45918.patch \
file://CVE-2025-6141.patch \
"
# commit id corresponds to the revision in package version
SRCREV = "a0bc708bc6954b5d3c0a38d92b683c3ec3135260"

View File

@@ -0,0 +1,92 @@
From 2108812a76bd078a2bbd7583308ff18bf01f2383 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Tue, 29 Apr 2025 14:47:59 +0200
Subject: [PATCH 1/3] coredump: restore compatibility with older patterns
This was broken in f45b8015513d38ee5f7cc361db9c5b88c9aae704. Unfortunately
the review does not talk about backward compatibility at all. There are
two places where it matters:
- During upgrades, the replacement of kernel.core_pattern is asynchronous.
For example, during rpm upgrades, it would be updated a post-transaction
file trigger. In other scenarios, the update might only happen after
reboot. We have a potentially long window where the old pattern is in
place. We need to capture coredumps during upgrades too.
- With --backtrace. The interface of --backtrace, in hindsight, is not
great. But there are users of --backtrace which were written to use
a specific set of arguments, and we can't just break compatiblity.
One example is systemd-coredump-python, but there are also reports of
users using --backtrace to generate coredump logs.
Thus, we require the original set of args, and will use the additional args if
found.
A test is added to verify that --backtrace works with and without the optional
args.
(cherry picked from commit ded0aac389e647d35bce7ec4a48e718d77c0435b)
(cherry picked from commit f9b8b75c11bba9b63096904be98cc529c304eb97)
(cherry picked from commit 385a33b043406ad79a7207f3906c3b15192a3333)
(cherry picked from commit c6f79626b6d175c6a5b62b8c5d957a83eb882301)
(cherry picked from commit 9f02346d50e33c24acf879ce4dd5937d56473325)
(cherry picked from commit ac0aa5d1fdc21db1ef035fce562cb6fc8602b544)
Upstream-Status: Backport [https://github.com/systemd/systemd-stable/commit/cadd1b1a1f39fd13b1115a10f563017201d7b56a]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
src/coredump/coredump.c | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c
index 79280ab986..d598f6f59a 100644
--- a/src/coredump/coredump.c
+++ b/src/coredump/coredump.c
@@ -84,8 +84,12 @@ enum {
META_ARGV_SIGNAL, /* %s: number of signal causing dump */
META_ARGV_TIMESTAMP, /* %t: time of dump, expressed as seconds since the Epoch (we expand this to µs granularity) */
META_ARGV_RLIMIT, /* %c: core file size soft resource limit */
- META_ARGV_HOSTNAME, /* %h: hostname */
+ _META_ARGV_REQUIRED,
+ /* The fields below were added to kernel/core_pattern at later points, so they might be missing. */
+ META_ARGV_HOSTNAME = _META_ARGV_REQUIRED, /* %h: hostname */
_META_ARGV_MAX,
+ /* If new fields are added, they should be added here, to maintain compatibility
+ * with callers which don't know about the new fields. */
/* The following indexes are cached for a couple of special fields we use (and
* thereby need to be retrieved quickly) for naming coredump files, and attaching
@@ -96,7 +100,7 @@ enum {
_META_MANDATORY_MAX,
/* The rest are similar to the previous ones except that we won't fail if one of
- * them is missing. */
+ * them is missing in a message sent over the socket. */
META_EXE = _META_MANDATORY_MAX,
META_UNIT,
@@ -1278,14 +1282,17 @@ static int gather_pid_metadata_from_argv(
char *t;
/* We gather all metadata that were passed via argv[] into an array of iovecs that
- * we'll forward to the socket unit */
+ * we'll forward to the socket unit.
+ *
+ * We require at least _META_ARGV_REQUIRED args, but will accept more.
+ * We know how to parse _META_ARGV_MAX args. The rest will be ignored. */
- if (argc < _META_ARGV_MAX)
+ if (argc < _META_ARGV_REQUIRED)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
- "Not enough arguments passed by the kernel (%i, expected %i).",
- argc, _META_ARGV_MAX);
+ "Not enough arguments passed by the kernel (%i, expected between %i and %i).",
+ argc, _META_ARGV_REQUIRED, _META_ARGV_MAX);
- for (int i = 0; i < _META_ARGV_MAX; i++) {
+ for (int i = 0; i < MIN(argc, _META_ARGV_MAX); i++) {
t = argv[i];
--
2.34.1

View File

@@ -0,0 +1,106 @@
From fb22bb743556d4d14463b0f0373c24d07d2e7b28 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Mon, 26 May 2025 12:04:44 +0200
Subject: [PATCH 2/3] coredump: get rid of _META_MANDATORY_MAX
No functional change. This change is done in preparation for future changes.
Currently, the list of fields which are received on the command line is a
strict subset of the fields which are always expected to be received on a
socket. But when we add new kernel args in the future, we'll have two
non-overlapping sets and this approach will not work. Get rid of the variable
and enumerate the required fields. This set will never change, so this is
actually more maintainable.
The message with the hint where to add new fields is switched with
_META_ARGV_MAX. The new order is more correct.
(cherry-picked from 49f1f2d4a7612bbed5211a73d11d6a94fbe3bb69)
(cherry-picked from aea6a631bca93e8b04a11aaced694f25f4da155e)
(cherry picked from cf16b6b6b2e0a656531bfd73ad66be3817b155cd)
(cherry picked from commit b46a4f023cd80b24c8f1aa7a95700bc0cb828cdc)
(cherry picked from commit 5855552310ed279180c21cb803408aa2ce36053d)
(cherry picked from commit cc31f2d4146831b9f2fe7bf584468908ff9c4de5)
Upstream-Status: Backport [https://github.com/systemd/systemd-stable/commit/2c81e60fe0b8c506a4fe902e45bed6f58f482b39]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
src/coredump/coredump.c | 29 ++++++++++++++++++++---------
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c
index d598f6f59a..0b27086288 100644
--- a/src/coredump/coredump.c
+++ b/src/coredump/coredump.c
@@ -71,7 +71,7 @@
* size. See DATA_SIZE_MAX in journal-importer.h. */
assert_cc(JOURNAL_SIZE_MAX <= DATA_SIZE_MAX);
-enum {
+typedef enum {
/* We use these as array indexes for our process metadata cache.
*
* The first indices of the cache stores the same metadata as the ones passed by
@@ -87,9 +87,9 @@ enum {
_META_ARGV_REQUIRED,
/* The fields below were added to kernel/core_pattern at later points, so they might be missing. */
META_ARGV_HOSTNAME = _META_ARGV_REQUIRED, /* %h: hostname */
- _META_ARGV_MAX,
/* If new fields are added, they should be added here, to maintain compatibility
* with callers which don't know about the new fields. */
+ _META_ARGV_MAX,
/* The following indexes are cached for a couple of special fields we use (and
* thereby need to be retrieved quickly) for naming coredump files, and attaching
@@ -97,16 +97,15 @@ enum {
* environment. */
META_COMM = _META_ARGV_MAX,
- _META_MANDATORY_MAX,
/* The rest are similar to the previous ones except that we won't fail if one of
* them is missing in a message sent over the socket. */
- META_EXE = _META_MANDATORY_MAX,
+ META_EXE,
META_UNIT,
META_PROC_AUXV,
_META_MAX
-};
+} meta_argv_t;
static const char * const meta_field_names[_META_MAX] = {
[META_ARGV_PID] = "COREDUMP_PID=",
@@ -1192,12 +1191,24 @@ static int process_socket(int fd) {
if (r < 0)
goto finish;
- /* Make sure we received at least all fields we need. */
- for (int i = 0; i < _META_MANDATORY_MAX; i++)
+ /* Make sure we received all the expected fields. We support being called by an *older*
+ * systemd-coredump from the outside, so we require only the basic set of fields that
+ * was being sent when the support for sending to containers over a socket was added
+ * in a108c43e36d3ceb6e34efe37c014fc2cda856000. */
+ meta_argv_t i;
+ VA_ARGS_FOREACH(i,
+ META_ARGV_PID,
+ META_ARGV_UID,
+ META_ARGV_GID,
+ META_ARGV_SIGNAL,
+ META_ARGV_TIMESTAMP,
+ META_ARGV_RLIMIT,
+ META_ARGV_HOSTNAME,
+ META_COMM)
if (!context.meta[i]) {
r = log_error_errno(SYNTHETIC_ERRNO(EINVAL),
- "A mandatory argument (%i) has not been sent, aborting.",
- i);
+ "Mandatory argument %s not received on socket, aborting.",
+ meta_field_names[i]);
goto finish;
}
--
2.34.1

View File

@@ -0,0 +1,143 @@
From 89730dea979b2d22fd548b622cd88bac99ff1d6b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Tue, 29 Apr 2025 14:47:59 +0200
Subject: [PATCH 3/3] coredump: use %d in kernel core pattern
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The kernel provides %d which is documented as
"dump mode—same as value returned by prctl(2) PR_GET_DUMPABLE".
We already query /proc/pid/auxv for this information, but unfortunately this
check is subject to a race, because the crashed process may be replaced by an
attacker before we read this data, for example replacing a SUID process that
was killed by a signal with another process that is not SUID, tricking us into
making the coredump of the original process readable by the attacker.
With this patch, we effectively add one more check to the list of conditions
that need be satisfied if we are to make the coredump accessible to the user.
Reportedy-by: Qualys Security Advisory <qsa@qualys.com>
(cherry-picked from commit 0c49e0049b7665bb7769a13ef346fef92e1ad4d6)
(cherry-picked from commit c58a8a6ec9817275bb4babaa2c08e0e35090d4e3)
(cherry picked from commit 19d439189ab85dd7222bdd59fd442bbcc8ea99a7)
(cherry picked from commit 254ab8d2a7866679cee006d844d078774cbac3c9)
(cherry picked from commit 7fc7aa5a4d28d7768dfd1eb85be385c3ea949168)
(cherry picked from commit 19b228662e0fcc6596c0395a0af8486a4b3f1627)
CVE: CVE-2025-4598
Upstream-Status: Backport [https://github.com/systemd/systemd-stable/commit/2eb46dce078334805c547cbcf5e6462cf9d2f9f0]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
man/systemd-coredump.xml | 11 +++++++++++
src/coredump/coredump.c | 21 ++++++++++++++++++---
sysctl.d/50-coredump.conf.in | 2 +-
3 files changed, 30 insertions(+), 4 deletions(-)
diff --git a/man/systemd-coredump.xml b/man/systemd-coredump.xml
index cb9f47745b..ba7cad12bc 100644
--- a/man/systemd-coredump.xml
+++ b/man/systemd-coredump.xml
@@ -259,6 +259,17 @@ COREDUMP_FILENAME=/var/lib/systemd/coredump/core.Web….552351.….zst
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>COREDUMP_DUMPABLE=</varname></term>
+
+ <listitem><para>The <constant>PR_GET_DUMPABLE</constant> field as reported by the kernel, see
+ <citerefentry
+ project='man-pages'><refentrytitle>prctl</refentrytitle><manvolnum>2</manvolnum></citerefentry>.
+ </para>
+
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term><varname>COREDUMP_OPEN_FDS=</varname></term>
diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c
index 0b27086288..aca6a2eb6b 100644
--- a/src/coredump/coredump.c
+++ b/src/coredump/coredump.c
@@ -87,6 +87,7 @@ typedef enum {
_META_ARGV_REQUIRED,
/* The fields below were added to kernel/core_pattern at later points, so they might be missing. */
META_ARGV_HOSTNAME = _META_ARGV_REQUIRED, /* %h: hostname */
+ META_ARGV_DUMPABLE, /* %d: as set by the kernel */
/* If new fields are added, they should be added here, to maintain compatibility
* with callers which don't know about the new fields. */
_META_ARGV_MAX,
@@ -115,6 +116,7 @@ static const char * const meta_field_names[_META_MAX] = {
[META_ARGV_TIMESTAMP] = "COREDUMP_TIMESTAMP=",
[META_ARGV_RLIMIT] = "COREDUMP_RLIMIT=",
[META_ARGV_HOSTNAME] = "COREDUMP_HOSTNAME=",
+ [META_ARGV_DUMPABLE] = "COREDUMP_DUMPABLE=",
[META_COMM] = "COREDUMP_COMM=",
[META_EXE] = "COREDUMP_EXE=",
[META_UNIT] = "COREDUMP_UNIT=",
@@ -125,6 +127,7 @@ typedef struct Context {
const char *meta[_META_MAX];
size_t meta_size[_META_MAX];
pid_t pid;
+ unsigned dumpable;
bool is_pid1;
bool is_journald;
} Context;
@@ -470,14 +473,16 @@ static int grant_user_access(int core_fd, const Context *context) {
if (r < 0)
return r;
- /* We allow access if we got all the data and at_secure is not set and
- * the uid/gid matches euid/egid. */
+ /* We allow access if dumpable on the command line was exactly 1, we got all the data,
+ * at_secure is not set, and the uid/gid match euid/egid. */
bool ret =
+ context->dumpable == 1 &&
at_secure == 0 &&
uid != UID_INVALID && euid != UID_INVALID && uid == euid &&
gid != GID_INVALID && egid != GID_INVALID && gid == egid;
- log_debug("Will %s access (uid="UID_FMT " euid="UID_FMT " gid="GID_FMT " egid="GID_FMT " at_secure=%s)",
+ log_debug("Will %s access (dumpable=%u uid="UID_FMT " euid="UID_FMT " gid="GID_FMT " egid="GID_FMT " at_secure=%s)",
ret ? "permit" : "restrict",
+ context->dumpable,
uid, euid, gid, egid, yes_no(at_secure));
return ret;
}
@@ -1102,6 +1107,16 @@ static int save_context(Context *context, const struct iovec_wrapper *iovw) {
if (r < 0)
return log_error_errno(r, "Failed to parse PID \"%s\": %m", context->meta[META_ARGV_PID]);
+ /* The value is set to contents of /proc/sys/fs/suid_dumpable, which we set to 2,
+ * if the process is marked as not dumpable, see PR_SET_DUMPABLE(2const). */
+ if (context->meta[META_ARGV_DUMPABLE]) {
+ r = safe_atou(context->meta[META_ARGV_DUMPABLE], &context->dumpable);
+ if (r < 0)
+ return log_error_errno(r, "Failed to parse dumpable field \"%s\": %m", context->meta[META_ARGV_DUMPABLE]);
+ if (context->dumpable > 2)
+ log_notice("Got unexpected %%d/dumpable value %u.", context->dumpable);
+ }
+
unit = context->meta[META_UNIT];
context->is_pid1 = streq(context->meta[META_ARGV_PID], "1") || streq_ptr(unit, SPECIAL_INIT_SCOPE);
context->is_journald = streq_ptr(unit, SPECIAL_JOURNALD_SERVICE);
diff --git a/sysctl.d/50-coredump.conf.in b/sysctl.d/50-coredump.conf.in
index 5fb551a8cf..9c10a89828 100644
--- a/sysctl.d/50-coredump.conf.in
+++ b/sysctl.d/50-coredump.conf.in
@@ -13,7 +13,7 @@
# the core dump.
#
# See systemd-coredump(8) and core(5).
-kernel.core_pattern=|{{ROOTLIBEXECDIR}}/systemd-coredump %P %u %g %s %t %c %h
+kernel.core_pattern=|{{ROOTLIBEXECDIR}}/systemd-coredump %P %u %g %s %t %c %h %d
# Allow 16 coredumps to be dispatched in parallel by the kernel.
# We collect metadata from /proc/%P/, and thus need to make sure the crashed
--
2.34.1

View File

@@ -0,0 +1,36 @@
From a0c698c720441782fcf2cb7dfd01e69baf8f1f39 Mon Sep 17 00:00:00 2001
From: Dan Streetman <ddstreet@ieee.org>
Date: Thu, 2 Feb 2023 15:58:10 -0500
Subject: [PATCH] basic/macro: add macro to iterate variadic args
(cherry picked from commit e179f2d89c9f0c951636d74de00136b4075cd1ac)
(cherry picked from commit cd4f43bf378ff33ce5cfeacd96f7f3726603bddc)
Upstream-Status: Backport [https://github.com/systemd/systemd-stable/commit/c288a3aafdf11cd93eb7a21e4d587c6fc218a29c]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
src/basic/macro.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/basic/macro.h b/src/basic/macro.h
index 9e62f9c71c..16242902ec 100644
--- a/src/basic/macro.h
+++ b/src/basic/macro.h
@@ -454,4 +454,13 @@ typedef struct {
assert_cc(sizeof(dummy_t) == 0);
+/* Iterate through each variadic arg. All must be the same type as 'entry' or must be implicitly
+ * convertable. The iteration variable 'entry' must already be defined. */
+#define VA_ARGS_FOREACH(entry, ...) \
+ _VA_ARGS_FOREACH(entry, UNIQ_T(_entries_, UNIQ), UNIQ_T(_current_, UNIQ), ##__VA_ARGS__)
+#define _VA_ARGS_FOREACH(entry, _entries_, _current_, ...) \
+ for (typeof(entry) _entries_[] = { __VA_ARGS__ }, *_current_ = _entries_; \
+ ((long)(_current_ - _entries_) < (long)ELEMENTSOF(_entries_)) && ({ entry = *_current_; true; }); \
+ _current_++)
+
#include "log.h"
--
2.34.1

Some files were not shown because too many files have changed in this diff Show More