Compare commits

...

226 Commits

Author SHA1 Message Date
Steve Sakoman
32da5ee951 build-appliance-image: Update to dunfell head revision
(From OE-Core rev: 6dd64ca2d726d0b222a7608c65eb0a20454c3f99)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-04 05:45:39 -10:00
Steve Sakoman
88bec50206 gcc: fix runpath errors in cc1 binary
The runpath in the cc1 binary is:

Library runpath: [$ORIGIN/../../../recipe-sysroot-native/usr/lib:$ORIGIN/../../../recipe-sysroot-native/lib]

This does not match the actual location of the libraries, which would require:

Library runpath: [$ORIGIN/../../recipe-sysroot-native/usr/lib:$ORIGIN/../../recipe-sysroot-native/lib]

Prior to gcc 9.1 the recipe set B explicity with:

B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"

and this build directory structure matches the runpath in cc1, so there is no issue.

This line was commented out in versions 9.1 through 11.3.  The upgrade to 12.1 once
again uncommented this line.

As a result the runpath is incorrect in version 9.1 through 11.3 and cc1 defaults
to using host libraries.

This patch restores setting B as done in master and versions prior to 9.1

(From OE-Core rev: 43d5ebde6d609898064ea70c89a7eba002e5fd74)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-04 05:40:20 -10:00
Michael Opdenacker
aa5a1adb60 ref-manual: document image-specific variant of INCOMPATIBLE_LICENSE
This has been around without being properly documented since 2019 (!!!),
and is nowadays the preferred method for enforcing license restrictions.

(From yocto-docs rev: 7a67426330decf108b8f152c3cb6cd6d167c98e4)

Signed-off-by: Alexander Kanavin <alex@linutronix.de
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:46:16 -10:00
Steve Sakoman
df86cc15d0 build-appliance-image: Update to dunfell head revision
(From OE-Core rev: ab6a0d053d910c3d50fcb06e9c2ca98430b673a4)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:31:24 -10:00
Steve Sakoman
9c828566b2 poky.conf: bump version for 3.1.27
(From meta-yocto rev: e7886680c9436f78ba74f7882eb26999590229f4)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Steve Sakoman
d7ef6fd67c documentation: update for 3.1.27
(From yocto-docs rev: 957952fb61427d8549e3bc902b38b4a5acd2c618)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Steve Sakoman
6e42635ae0 openssl: fix intermittent openssl-ptest reproducibility issue
Adds two missing key sorts in generation of unified_info

Backported from a similar (but more invasive)  patch in the 3.x source code:

764cf5b263]

(From OE-Core rev: 6c505ef6c9950eb6d09bcec683fefe6edc7b2e6b)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Tom Hochstein
f8a370159b cmake: Fix CMAKE_SYSTEM_PROCESSOR setting for SDK
When building using an SDK, cmake complains that the target
architecture 'cortexa53-crypto' is unknown. The same build in bitbake
uses the target architecture 'aarch64'.

Set CMAKE_SYSTEM_PROCESSOR the same as for bitbake.

(From OE-Core rev: 7a7ef9d73affc23fa14712d56f1a40d0c46569cb)

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d32a6225eefce2073a1cd401034b5b4c68351bfe)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Nikhil R
7ac47c90cc libpng: Add ptest for libpng
libpng is a platform-independent library which
supports all PNG features.
This ptest executes the below binaries, parses
the png image and prints the image features.

1. pngfix - provides information about PNG image
copyrights details.

2. pngtest - tests, optimizes and optionally fixes
the zlib header in PNG files.

3. pngstest - verifies the integrity of PNG image by
dumping chunk level information.

4. timepng - provides details about PNG image chunks.

(From OE-Core rev: 843803bcc248b18cdefb29d610a1371e32e815ce)

Signed-off-by: Nikhil R <nikhil.r@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Anthony Bagwell
5de95d9c29 kernel-fitimage: fix dtbo support for fit images
8a2f4e143 added support for u-boot boot script but missed adding the
extra parameter to fitimage_emit_section_config on the dtbo branch

(From OE-Core rev: d1b6c34d33704f05374154e4ea7d8acdea7b8018)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 22bac8aea0d5d28cc5a3bf20edf638225cce2f88)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Trevor Gamblin
a022b1abef vim: upgrade 9.0.1527 -> 9.0.1592
Fixes:

https://nvd.nist.gov/vuln/detail/CVE-2023-2609
d1ae836 patch 9.0.1531: crash when register contents ends up being invalid
https://nvd.nist.gov/vuln/detail/CVE-2023-2610
ab9a2d8 patch 9.0.1532: crash when expanding "~" in substitute causes very long text

(From OE-Core rev: 8a481b1dfeeee8d8d3430f527da1f3f5b7d96999)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1e4b4dfb4145bc00eb6937b5f54a41170e9a5b4c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Alexander Kanavin
228d031f73 wireless-regdb: upgrade 2023.02.13 -> 2023.05.03
(From OE-Core rev: 67adfd6cbcdbb765460e6f97d8957c872d8f5c81)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 47438402fa430499864a4b1f1a13eaac66aa21c0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Alexander Kanavin
a04b507d39 linux-firmware: upgrade 20230404 -> 20230515
License-Update: additional firmwares

(From OE-Core rev: 17988a2cebcccb7ddacb3d085deeab0f0b8f646a)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 64603f602d00999220fe5bafeed996ddcb56d36b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Deepthi Hemraj
0bf993da8b glibc: stable 2.31 branch updates.
Below commits on glibc-2.31 stable branch are updated.
2d4f26e5cf x86: Fix wcsnlen-avx2 page cross length comparison

(From OE-Core rev: d89f5692514c68050349f37315e1dea14cbcfa24)

Signed-off-by: Deepthi Hemraj <Deepthi.Hemraj@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Priyal Doshi
5b0daa0061 tzdata: upgrade to 2023c
(From OE-Core rev: 62c42d4a1029de4fe9b19631cbd34722f6535edf)

Signed-off-by: Priyal Doshi <pdoshi@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Vijay Anusuri
fcb0381657 qemu: backport Debian patch to fix CVE-2023-0330
import patch from ubuntu to fix
 CVE-2023-0330

Upstream-Status: Backport [import from ubuntu https://git.launchpad.net/ubuntu/+source/qemu/tree/debian/patches?h=ubuntu/focal-security
Upstream commit
b987718bbb]

(From OE-Core rev: 559327579bcee685c6dc22b7ad5595960aa896c0)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Vivek Kumbhar
1adc1600f2 python3: fix CVE-2023-24329 urllib.parse url blocklisting bypass
(From OE-Core rev: 307f23e066e06793ec60f0cddf8ff1c64c02d834)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Vivek Kumbhar
218ca73cab curl: fix CVE-2023-28320 siglongjmp race condition may lead to crash
Introduced by: 3c49b405de (curl-7_9_8)
Fixed by: 13718030ad (curl-8_1_0)
Follow-up: f446258f02 (curl-8_1_0)
https://curl.se/docs/CVE-2023-28320.html

(From OE-Core rev: a6b2b550690c2ffdce1aef9da1595a42d1bc6348)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Ashish Sharma
ed4a2d3d41 go: Fix CVE-2023-29400
emit filterFailsafe for empty unquoted attr
value

(From OE-Core rev: 02a0e76e04ddbbbb381202d61cbb084333336f38)

Signed-off-by: Ashish Sharma <asharma@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Poonam Jadhav
8b1211f81f libx11: Fix CVE-2023-3138 for dunfell branch
Add patch to fix CVE-2023-3138 for dunfell branch

Link: 304a654a0d.patch

(From OE-Core rev: aed61452f5c9fc377ce3336b765eb1cb195482a8)

Signed-off-by: Poonam Jadhav <poonam.jadhav@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-22 16:24:17 -10:00
Ross Burton
87f16e1f3b cve-update-nvd2-native: actually use API keys
There were vestigal remains of API key support which could be removed,
but as using an API key - in theory - gives the user larger rate limits
it's probably wise to expose it.

If the user has an API key, then set NVDCVE_API_KEY.

(From OE-Core rev: b3fc8ef9aba822b3d485242c8ebd0e0bff0ebfc8)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a542de684282bfec79f24ae2f1a2027ffde319d8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-13 07:03:17 -10:00
Ross Burton
579797adab cve-update-nvd2-native: log a little more
Add a note of what range we're fetching, and use bb.note() instead of
debug() as messages about retrying shouldn't really be considered debug
logging.

(From OE-Core rev: f6c3ee35ae9950aec4b3dc15062b1c1fb5610011)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b64a869b9c5e1d504f1011da16b5c5ff721afbf0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-13 07:03:17 -10:00
Peter Marko
9faca1f692 cve-update-nvd2-native: increase retry count
Current 503 errors seem to last several seconds.
In most cases there are two errors and third request succeeds.
However sometimes the outage takes more than time needed
for two retries and third one also fails.

Extend retry count from 3 to 5 to improve the probablity
that the fetcher succeeds.

(From OE-Core rev: 46286a641f1113e22d39a427a5dc0a11321d434e)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f4d118af2360cff7f234102fd5e4b65a6f4146a6)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-13 07:03:17 -10:00
Peter Marko
6c5b006a10 cve-update-nvd2-native: retry all errors and sleep between retries
Last couple days it is not possible to update NVD DB as servers
are returning lot of errors.
Mostly "HTTP Error 503: Service Unavailable" is observed but
sporadially also some others.

Retrying helps in most cases, so extend retries to all errors.

Additionally add sleep which is recommended by NVD between requests.
These retries are already implemented between successful requests,
but giving servers time between failed ones is important, too.

(From OE-Core rev: 8bba9342f641e9aa51ccaebc02bc5d51354e1c72)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 88dad8f198baa80af5ab576498f4df6ed639d551)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-13 07:03:17 -10:00
Peter Marko
5e9e50e544 cve-update-nvd2-native: fix cvssV3 metrics
After upgrade to soon-to-be-released kirkstone 4.0.11 CVE annotations got broken.
Anything which has only cvssV3 does not resolve properly.
Fix the API fields used to extract it.

i0.0 score is now at level of NVD DB 1.1.
All CVEs with UNKNOWN vector are not present in NVD DB 1.1.

NVD API 1.1:
sqlite> select vector, count(vector) from nvd group by vector;
ADJACENT_NETWORK|4776
LOCAL|32146
NETWORK|167746
PHYSICAL|185
sqlite> select scorev3, count(scorev3) from nvd group by scorev3;
0.0|73331
1.8|7
1.9|3
...

NVD API 2.0 (broken):
sqlite> select vector, count(vector) from nvd group by vector;
ADJACENT_NETWORK|4587
LOCAL|26273
NETWORK|150421
UNKNOWN|24644
sqlite> select scorev3, count(scorev3) from nvd group by scorev3;
0.0|205925

NVD API 2.0 (fixed):
sqlite> select vector, count(vector) from nvd group by vector;
ADJACENT_NETWORK|5090
LOCAL|32322
NETWORK|168004
PHYSICAL|213
UNKNOWN|511
sqlite> select scorev3, count(scorev3) from nvd group by scorev3;
0.0|73841
1.8|7
1.9|3
...

(From OE-Core rev: 2233a187dc0da833401297667c1e2ed6bf5627fd)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 61a5857efdcc0f49c69c0deb24fce99007aeef19)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-13 07:03:17 -10:00
Ross Burton
60cd2c29ea cve-update-nvd2-native: use exact times, don't truncate
When requesting updates in a specific range, use the actual current time
and database mtime instead of truncating to midnight, and explicitly set
the timezone to UTC so that NIST don't treat the timestamps as _their_ local
time when they're _our_ local time.

(From OE-Core rev: e12b81ede54c92e372f0d80373bb91254d0a889f)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9aa0ec37f5f74252588d2494a71c71a7d8e68df9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-13 07:03:17 -10:00
Ross Burton
122c106794 cve-update-nvd2-native: handle all configuration nodes, not just first
Some CVEs, such as CVE-2013-6629, list multiple configurations which are
vulnerable. The current JSON parser only considers the first
configuration.

Instead, consider every configuration. We don't yet handle the AND/OR
logical operators, but this is a step in the right direction.

(From OE-Core rev: e521d6ce48d3b04eb2d53c710bba18593a908fe3)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e1bf4f6dd686055fe9a8bdcc3f739eac2807bae0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-13 07:03:17 -10:00
Alexander Kanavin
65c2f76dca grub: submit determinism.patch upstream
(From OE-Core rev: 1fe434d42a3365f232b07864638128b7ac70f627)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 61947762e410c685f667e0af6440fb8a33cd6777)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:59 -10:00
Mikko Rapeli
a16a21af9a useradd-staticids.bbclass: improve error message
Current error message is difficult to read:

ERROR: Nothing PROVIDES 'image'
trs-image was skipped: image - image: normal username test does not have a static ID defined. Add test to one of these files

It's not clear that first "image" is recipe name, second "image" is
binary package name and that "test" is the user account which does not
have a static ID defined. Improve the error message so that these are
more explicit. Now the error message looks like:

image was skipped: Recipe image, package image: normal username "test" does not have a static ID defined.

(From OE-Core rev: ea997ec788a5397598e24301e40d1c30ffa68c04)

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 07898218f3908a83e07178b6530dfa48d55d4ec2)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:59 -10:00
Fabien Mahot
84ef58ae39 oeqa/selftest/bbtests: add non-existent prefile/postfile tests
Fixes [YOCTO #10725]

(From OE-Core rev: 74fed908b807056cbb10c20d62d494f3089f52ee)

Signed-off-by: Fabien Mahot <fabien.mahot@smile.fr>
Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b0c33655fad5b2e7d96a45b6210527dfb766797b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:59 -10:00
Alexander Kanavin
e146653c21 scripts/runqemu: allocate unfsd ports in a way that doesn't race or clash with unrelated processes
There is already a neat check_free_port() function for finding an available port
atomically, so use that and make two additional tweaks:

- no need to allocate two separate ports; per unfsd documentation they can be the same

- move lockfile release until after unfsd has been shut down and the port(s) used has been freed

[YOCTO #15077]

(From OE-Core rev: 816d12f125974fc064d17c735b7769f7a9744597)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit dee96e82fb04ea99ecd6c25513c7bd368df3bd37)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:59 -10:00
Alexander Kanavin
b30e81df2b scripts/runqemu: split lock dir creation into a reusable function
(From OE-Core rev: d296853f1c5bcc6ccd800a4fbcbba18021f98518)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 004d6bcb067ecf1d796801fa43a98820c4efd3c7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:59 -10:00
Kai Kang
0a24a5bb3b pm-utils: fix multilib conflictions
It fails to instal pm-utils and lib32-pm-utils at same time:

Error: Transaction test error:
  file /usr/bin/pm-is-supported conflicts between attempted installs of lib32-pm-utils-1.4.1-r1.corei7_32 and pm-utils-1.4.1-r1.corei7_64
  file /usr/sbin/pm-hibernate conflicts between attempted installs of lib32-pm-utils-1.4.1-r1.corei7_32 and pm-utils-1.4.1-r1.corei7_64
  file /usr/sbin/pm-powersave conflicts between attempted installs of lib32-pm-utils-1.4.1-r1.corei7_32 and pm-utils-1.4.1-r1.corei7_64
  file /usr/sbin/pm-suspend conflicts between attempted installs of lib32-pm-utils-1.4.1-r1.corei7_32 and pm-utils-1.4.1-r1.corei7_64
  file /usr/sbin/pm-suspend-hybrid conflicts between attempted installs of lib32-pm-utils-1.4.1-r1.corei7_32 and pm-utils-1.4.1-r1.corei7_64

All of the conflicted files either is script which source a file in
${libdir}, or a link file to some file in ${libdir}. Compare the content
of installed files in ${libdir} exclude binaries, only the paths of
${libdir} diff. So re-define libdir with ${nonarch_libdir} to fix the
conflicts.

(From OE-Core rev: 292ff56250d2f916370c508fd7a94f3ab769a356)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f836541bcfdbf033a37537530b4e3b87b0a7f003)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:59 -10:00
Martin Jansa
f506b0c057 kmod: remove unused ptest.patch
* it was removed from SRC_URI in 2015:
  https://git.openembedded.org/openembedded-core/commit/?id=f80d136bdd578468035a88125fa1b84973fd912b

(From OE-Core rev: 4342d2a60e2ba8a7aeb683b78f1eef94eb2c2edc)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cfc4586b4bf080a3a4aa419dffc76c5da2a95b74)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:59 -10:00
Pavel Zhukov
4cfb4fc8ed lib/terminal.py: Add urxvt terminal
This fixes failure [1] of menuconfig task in rxvt-unicode terminal in case if
xterm/Konsole/Gnome is not installed. Tested with rxvt-unicode-256color

[1]
WARNING: Terminal screen is supported but did not start
ERROR: No valid terminal found, unable to open devshell.
Tried the following commands:
	tmux split-window -c "{cwd}" "do_terminal"
	tmux new-window -c "{cwd}" -n "zephyr-helloworld Configuration" "do_terminal"
	xfce4-terminal -T "zephyr-helloworld Configuration" -e "do_terminal"
	terminology -T="zephyr-helloworld Configuration" -e do_terminal
	mate-terminal --disable-factory -t "zephyr-helloworld Configuration" -x do_terminal
	konsole --separate --workdir . -p tabtitle="zephyr-helloworld Configuration" -e do_terminal
	gnome-terminal -t "zephyr-helloworld Configuration" -- do_terminal
	xterm -T "zephyr-helloworld Configuration" -e do_terminal
	rxvt -T "zephyr-helloworld Configuration" -e do_terminal
	tmux new -c "{cwd}" -d -s devshell -n devshell "do_terminal"
	screen -D -m -t "zephyr-helloworld Configuration" -S devshell do_terminal
DEBUG: Python function do_menuconfig finished

(From OE-Core rev: 9dad23306348af9f54c5fcdfacdbc1e775bf5742)

Signed-off-by: Pavel Zhukov <pazhukov@suse.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8d2fe4df8ae33e033caf4119a76715f085be1d15)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:59 -10:00
Thomas Roos
e211a16fb5 oeqa/selftest/cases/devtool.py: skip all tests require folder a git repo
Devtool selftests require poky dir a git repo, when downloading poky as a tar,
this is not the case. Those tests will now skipped.

[YOCTO #12389]

(From OE-Core rev: 5f3128e3a85e3a5d67d5dc1f2585fe6c236e443c)

Signed-off-by: Thomas Roos <throos@amazon.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 95a5bc130dc51ea9de95c64dbf0e9c7892415d50)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:59 -10:00
Lorenzo Arena
82fd9eb08f conf: add nice level to the hash config ignred variables
This is needed as each user could be setting different nice levels
while building, however this should not make the shared cache unusable.

(From OE-Core rev: b77850f613bdc103e5d529b6c62ae90e134106ae)

Signed-off-by: Lorenzo Arena <arena.lor@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 42784f9360345da1c01d988070253e7ffd5ac4ac)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:59 -10:00
Martin Jansa
f3a78fecc2 go.bbclass: don't use test to check output from ls
* avoids possibly confusing error message in log.do_install like:
  ls: cannot access 'etcd/3.5.7-r0/build/bin/linux_arm64/': No such file or directory

(From OE-Core rev: 236a3e0bf753669b4fddbd91be5fdb10c2e6093f)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 2f1777e6ac5269a71203b6a2c562a43503be95ae)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:59 -10:00
Rusty Howell
8c4bad844f oe-depends-dot: Handle new format for task-depends.dot
The .dot file created by `bitbake -g` changed formats a while ago, which
broke oe-depends-dot.

Also add some useful examples to the --help output.

(From OE-Core rev: c49914bb3cb6116f2e1bed7de82a702c2e4f7b5d)

Signed-off-by: Rusty Howell <rustyhowell@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:59 -10:00
Wang Mingyu
2ae4aff0a6 mobile-broadband-provider-info: upgrade 20221107 -> 20230416
(From OE-Core rev: 698a70eab4384ee4938cb4550fa8469d62db786b)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 125f72393c9b6fea02757cdc3a22696945e0f490)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:59 -10:00
Chee Yang Lee
55750ffd78 python3: upgrade to 3.8.17
License-Update: update year to 2023
30afa75ad8

Release Notes for 3.8.15:
Security content in this release
CVE-2022-40674: bundled libexpat was upgraded from 2.4.7 to 2.4.9 which
fixes a heap use-after-free vulnerability in function doContent
gh-97616: a fix for a possible buffer overflow in list *= int
gh-97612: a fix for possible shell injection in the example script
get-remote-certificate.py (this issue originally had a CVE assigned to
it, which its author withdrew)
gh-96577: a fix for a potential buffer overrun in msilib

https://www.python.org/downloads/release/python-3815/

Release Notes for 3.8.16:
Security content in this release
gh-98739: Updated bundled libexpat to 2.5.0 to fix CVE-2022-43680 (heap
use-after-free).
gh-98517: Port XKCP’s fix for the buffer overflows in SHA-3 to fix
CVE-2022-37454.
gh-98433: The IDNA codec decoder used on DNS hostnames by socket or
asyncio related name resolution functions no longer involves a quadratic
algorithm to fix CVE-2022-45061. This prevents a potential CPU denial of
service if an out-of-spec excessive length hostname involving
bidirectional characters were decoded. Some protocols such as urllib
http 3xx redirects potentially allow for an attacker to supply such a
name.
gh-68966: The deprecated mailcap module now refuses to inject unsafe
text (filenames, MIME types, parameters) into shell commands to address
CVE-2015-20107. Instead of using such text, it will warn and act as if a
match was not found (or for test commands, as if the test failed).
gh-100001: python -m http.server no longer allows terminal control
characters sent within a garbage request to be printed to the stderr
server log.
gh-87604: Avoid publishing list of active per-interpreter audit hooks
via the gc module.

https://www.python.org/downloads/release/python-3816/

Release Notes for 3.8.17:
Security content in this release
gh-103142: The version of OpenSSL used in Windows and Mac installers has
been upgraded to 1.1.1u to address CVE-2023-2650, CVE-2023-0465,
CVE-2023-0466, CVE-2023-0464, as well as CVE-2023-0286, CVE-2022-4303,
and CVE-2022-4303 fixed previously in 1.1.1t (gh-101727).
gh-102153: urllib.parse.urlsplit() now strips leading C0 control and
space characters following the specification for URLs defined by WHATWG
in response to CVE-2023-24329.
gh-99889: Fixed a security in flaw in uu.decode() that could allow for
directory traversal based on the input if no out_file was specified.
gh-104049: Do not expose the local on-disk location in directory indexes
produced by http.client.SimpleHTTPRequestHandler.
gh-103935: trace.__main__ now uses io.open_code() for files to be
executed instead of raw open().
gh-101283: subprocess.Popen now uses a safer approach to find cmd.exe
when launching with shell=True.
gh-102953: The extraction methods in tarfile, and
shutil.unpack_archive(), have a new filter argument that allows limiting
tar features than may be surprising or dangerous, such as creating files
outside the destination directory. See Extraction filters for details.

https://www.python.org/downloads/release/python-3817/

(From OE-Core rev: 01a1f016a6558566a36098a993adaf4b40e30c78)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:58 -10:00
Hitendra Prajapati
70d75e8996 grub2: Fix Multiple CVEs
Backport fixes for:
* CVE-2020-27749 - Upstream-Status: Backport from https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=c6c426e5ab6ea715153b72584de6bd8c82f698ec && https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=b1c9e9e889e4273fb15712051c887e6078511448 && https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=3d157bbd06506b170fde5ec23980c4bf9f7660e2 && https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=8bc817014ce3d7a498db44eae33c8b90e2430926 && https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=030fb6c4fa354cdbd6a8d6903dfed5d36eaf3cb2 && https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=4ea7bae51f97e49c84dc67ea30b466ca8633b9f6

* CVE-2021-20225 - Upstream-Status: Backport from https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=2a330dba93ff11bc00eda76e9419bc52b0c7ead6
* CVE-2021-20233 - Upstream-Status: Backport from https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=2f533a89a8dfcacbf2c9dbc77d910f111f24bf33

(From OE-Core rev: 636aab87bc7e10b4ce0bdaa00dd01416a590a801)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:58 -10:00
Chee Yang Lee
b994c2d4f5 sysstat: fix CVE-2023-33204
import patch from debian to fix CVE-2023-33204
http://security.debian.org/debian-security/pool/updates/main/s/sysstat/sysstat_12.0.3-2+deb10u2.debian.tar.xz

upstream patch:
6f8dc568e6

(From OE-Core rev: c6bc5cfbed71b65753e50aee5a640934e754858a)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:58 -10:00
Vijay Anusuri
eb7bb5b589 cups: Fix CVE-2023-34241
OpenPrinting CUPS is a standards-based, open source printing system for Linux and other Unix-like operating systems. Starting in version 2.0.0 and prior to version 2.4.6, CUPS logs data of free memory to the logging service AFTER the connection has been closed, when it should have logged the data right before. This is a use-after-free bug that impacts the entire cupsd process. The exact cause of this issue is the function `httpClose(con->http)` being called in `scheduler/client.c`. The problem is that httpClose always, provided its argument is not null, frees the pointer at the end of the call, only for cupsdLogClient to pass the pointer to httpGetHostname. This issue happens in function `cupsdAcceptClient` if LogLevel is warn or higher and in two scenarios: there is a double-lookup for the IP Address (HostNameLookups Double is set in `cupsd.conf`) which fails to resolve, or if CUPS is compiled with TCP wrappers and the connection is refused by rules from `/etc/hosts.allow` and `/etc/hosts.deny`. Version 2.4.6 has a patch for this issue.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-34241
https://github.com/OpenPrinting/cups/security/advisories/GHSA-qjgh-5hcq-5f25
https://security-tracker.debian.org/tracker/CVE-2023-34241

Upstream Patch:
9809947a95

(From OE-Core rev: 28b25ba7a8c6aa5c5744ca17e8686f2762791c72)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:58 -10:00
Richard Purdie
bc3497092e bitbake: runqueue: Fix deferred task/multiconfig race issue
If there are several multiconfigs in play for example a non-multiconfig with
a task with one hash and then three multiconfigs for the same task, different
architectures but the same hash (different to the non-mc), the three mcs
will be deferred until after the non-mc task but then will all run together
and race against each other.

Change the code to re-enable deferred tasks one at a time. This way, if they do
race, they won't run in parallel against each other.

(Bitbake rev: b60c7085ec370473bea9b3b4b65826a17638837f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9523e28658ad7fb446645b590608dfac2812afd3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:13:58 -10:00
Bruce Ashfield
642040373e linux-yocto/5.4: cfg: fix DECNET configuration warning
Dropping CONFIG_DECNET as it has been removed from -stable
and we now get a configuration warning.

(From OE-Core rev: b7530e5360babbe9321ee4cf1e336412116a98cb)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-04 05:37:07 -10:00
Bruce Ashfield
a6f3173407 linux-yocto-rt/54: fix 5.4-rt build breakage
Integrating the following commit:

    commit 8d8179549a233e7517523ac12887016451da2e20
    Author: Bruce Ashfield <bruce.ashfield@gmail.com>
    Date:   Tue Jun 27 10:13:01 2023 -0400

        rt: fix 5.4-stable introduced compile errors

        The 5.4 stable series brough back two elements removed
        by the -rt patch:

         - tick_period
         - deferred/safe printk

        We fix the build by dropping the use of the period and
        deferred printk

(From OE-Core rev: 13add4fd84c2e8a14caad857fbadf83205758c31)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-04 05:37:07 -10:00
Bruce Ashfield
00277476e3 linux-yocto/5.4: update to v5.4.248
Updating  to the latest korg -stable release that comprises
the following commits:

    f2b499c27a95 Linux 5.4.248
    1cdc48aaff18 mmc: block: ensure error propagation for non-blk
    de517032ee39 drm/nouveau/kms: Fix NULL pointer dereference in nouveau_connector_detect_depth
    d3f7f557d8a2 neighbour: delete neigh_lookup_nodev as not used
    a433b85d1750 net: Remove unused inline function dst_hold_and_use()
    fbc0209ae3a7 neighbour: Remove unused inline function neigh_key_eq16()
    bc1ea55bf1cf afs: Fix vlserver probe RTT handling
    98acd5f0ce10 selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET
    1140f8bc29c2 net: tipc: resize nlattr array to correct size
    b83f86ba414c net: lapbether: only support ethernet devices
    ec694ad393cc net/sched: cls_api: Fix lockup on flushing explicitly created chain
    0456f470fa02 drm/nouveau: add nv_encoder pointer check for NULL
    b1d76d16af2a drm/nouveau/kms: Don't change EDID when it hasn't actually changed
    f654b8a1325f drm/nouveau/dp: check for NULL nv_connector->native_mode
    2ac7be7718a1 igb: fix nvm.ops.read() error handling
    44008337f80e sctp: fix an error code in sctp_sf_eat_auth()
    edd3d3dc4849 ipvlan: fix bound dev checking for IPv6 l3s mode
    6718478c18a4 IB/isert: Fix incorrect release of isert connection
    f8a91a024ab9 IB/isert: Fix possible list corruption in CMA handler
    8a867ab71302 IB/isert: Fix dead lock in ib_isert
    22125be516ef IB/uverbs: Fix to consider event queue closing also upon non-blocking mode
    ea4cf04d3f19 iavf: remove mask from iavf_irq_enable_queues()
    19a500f530c2 RDMA/rxe: Fix the use-before-initialization error of resp_pkts
    42ab73534583 RDMA/rxe: Removed unused name from rxe_task struct
    f99b6de58b5e RDMA/rxe: Remove the unused variable obj
    46305daf8064 net/sched: cls_u32: Fix reference counter leak leading to overflow
    88d6c1958bc0 ping6: Fix send to link-local addresses with VRF.
    474e0adf29cf netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM
    67cafcd3e661 spi: fsl-dspi: avoid SCK glitches with continuous transfers
    8231594e21d1 spi: spi-fsl-dspi: Remove unused chip->void_write_data
    9d8b388a24c6 usb: dwc3: gadget: Reset num TRBs before giving back the request
    94e52fac1519 serial: lantiq: add missing interrupt ack
    b577b74f8f83 USB: serial: option: add Quectel EM061KGL series
    6b1203ae83c3 Remove DECnet support from kernel
    aad6addc17ae ALSA: hda/realtek: Add a quirk for Compaq N14JP6
    def7e17c98f7 net: usb: qmi_wwan: add support for Compal RXM-G1
    74bd53737372 RDMA/uverbs: Restrict usage of privileged QKEYs
    a8997ffad359 nouveau: fix client work fence deletion race
    01fd784b0762 powerpc/purgatory: remove PGO flags
    b16bf76b3828 kexec: support purgatories with .text.hot sections
    b27a5fbe3c87 nilfs2: fix possible out-of-bounds segment allocation in resize ioctl
    0dd2d8331eb4 nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key()
    e1fb47f13970 nios2: dts: Fix tse_mac "max-frame-size" property
    5e531f448e5a ocfs2: check new file size on fallocate call
    f6878da39f47 ocfs2: fix use-after-free when unmounting read-only filesystem
    82173fde61c7 drm:amd:amdgpu: Fix missing buffer object unlock in failure path
    63afd766211b xen/blkfront: Only check REQ_FUA for writes
    27447dada0b5 mips: Move initrd_start check after initrd address sanitisation.
    a365600bba27 MIPS: Alchemy: fix dbdma2
    6b39b06b8d5b parisc: Flush gatt writes and adjust gatt mask in parisc_agp_mask_memory()
    de873bce06a8 parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu()
    28850d25a62c btrfs: handle memory allocation failure in btrfs_csum_one_bio
    b31586747bae power: supply: Fix logic checking if system is running from battery
    dd8804117d4b irqchip/meson-gpio: Mark OF related data as maybe unused
    30ade27dbe66 regulator: Fix error checking for debugfs_create_dir
    a12155f0b1b6 platform/x86: asus-wmi: Ignore WMI events with codes 0x7B, 0xC0
    d26edc403c0a power: supply: Ratelimit no data debug output
    af44b2ddfc08 ARM: dts: vexpress: add missing cache properties
    bd725832eb50 power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + schedule()
    82bfd14f1359 power: supply: sc27xx: Fix external_power_changed race
    66d5882dcc9f power: supply: ab8500: Fix external_power_changed race
    a8f286bfbc71 s390/dasd: Use correct lock while counting channel queue length
    d60be47f4357 dasd: refactor dasd_ioctl_information
    7f3bb75a0484 KEYS: asymmetric: Copy sig and digest in public_key_verify_signature()
    75d9e00f65cd test_firmware: fix a memory leak with reqs buffer

(From OE-Core rev: ff0f134daad2e1cae942355c9a8eb177be607d13)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-04 05:37:07 -10:00
Bruce Ashfield
8f837940fd linux-yocto/5.4: update to v5.4.247
Updating  to the latest korg -stable release that comprises
the following commits:

    61a2f83e4762 Linux 5.4.247
    4b0199bc8189 Revert "staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE"
    85258ae30708 mtd: spinand: macronix: Add support for MX35LFxGE4AD
    8e546674031f btrfs: unset reloc control if transaction commit fails in prepare_to_relocate()
    4223d91ca1b5 btrfs: check return value of btrfs_commit_transaction in relocation
    a35d89d3605b rbd: get snapshot context after exclusive lock is ensured to be held
    52a40eaa55d6 drm/atomic: Don't pollute crtc_state->mode_blob with error pointers
    2cc5d40e4d49 cifs: handle empty list of targets in cifs_reconnect()
    307ffb716282 cifs: get rid of unused parameter in reconn_setup_dfs_targets()
    73ed7996bbec ext4: only check dquot_initialize_needed() when debugging
    7d0a29c74a31 eeprom: at24: also select REGMAP
    0360652bf6ab i2c: sprd: Delete i2c adapter in .remove's error path
    c73f1c2f6816 bonding (gcc13): synchronize bond_{a,t}lb_xmit() types
    ec946898039a usb: usbfs: Use consistent mmap functions
    0147952d158b usb: usbfs: Enforce page requirements for mmap
    090878903dd3 pinctrl: meson-axg: add missing GPIOA_18 gpio group
    c6e842555050 rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting
    69653f941619 Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk
    953335a377b6 ceph: fix use-after-free bug for inodes when flushing capsnaps
    2416bac0e7b2 can: j1939: avoid possible use-after-free when j1939_can_rx_register fails
    bf0245bd44c0 can: j1939: change j1939_netdev_lock type to mutex
    9eed68d62e2a can: j1939: j1939_sk_send_loop_abort(): improved error queue handling in J1939 Socket
    2fc62d51d3e4 drm/amdgpu: fix xclk freq on CHIP_STONEY
    e752bb1c039f ALSA: hda/realtek: Add Lenovo P3 Tower platform
    ca599db7a5e0 ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01
    d5ca4799e6d3 Input: psmouse - fix OOB access in Elantech protocol
    282a96e3f88f Input: xpad - delete a Razer DeathAdder mouse VID/PID entry
    a3a99a069eb9 batman-adv: Broken sync while rescheduling delayed work
    df7044fc099b bnxt_en: Query default VLAN before VNIC setup on a VF
    a6ca81297392 lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release()
    198da74a4e8d net: sched: fix possible refcount leak in tc_chain_tmplt_add()
    8f7cbd6d5e39 net: sched: move rtm_tca_policy declaration to include file
    b8b90f92444b rfs: annotate lockless accesses to RFS sock flow table
    28ac3cf2ac21 rfs: annotate lockless accesses to sk->sk_rxhash
    a4c72805fda4 netfilter: ipset: Add schedule point in call_ad().
    0b705ed9d403 netfilter: conntrack: fix NULL pointer dereference in nf_confirm_cthelper
    c2c6133eebaf Bluetooth: L2CAP: Add missing checks for invalid DCID
    0f841f80390d Bluetooth: Fix l2cap_disconnect_req deadlock
    b0b1b97702a5 net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods
    7e0da73ce546 neighbour: fix unaligned access to pneigh_entry
    314713ff4c9b neighbour: Replace zero-length array with flexible-array member
    e96f52705a63 spi: qup: Request DMA before enabling clocks
    1cc6435cd704 i40e: fix build warnings in i40e_alloc.h
    fc75b8973de4 i40iw: fix build warning in i40iw_manage_apbvt()
    c425e71826e4 block/blk-iocost (gcc13): keep large values in a new enum
    ec97af8e8a36 blk-iocost: avoid 64-bit division in ioc_timer_fn

(From OE-Core rev: e4928321624e5cd6eb587e6804173559531b7c4c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-04 05:37:07 -10:00
Bruce Ashfield
74b8f9ee39 linux-yocto/5.4: update to v5.4.246
Updating  to the latest korg -stable release that comprises
the following commits:

    f568a20f058f Linux 5.4.246
    6c0fc4725f6f drm/edid: fix objtool warning in drm_cvt_modes()
    914bf541c3bb wifi: rtlwifi: 8192de: correct checking of IQK reload
    58bc9baaef92 drm/edid: Fix uninitialized variable in drm_cvt_modes()
    77e442733faa RDMA/bnxt_re: Remove the qp from list only if the qp destroy succeeds
    a616aa258e46 RDMA/bnxt_re: Remove set but not used variable 'dev_attr'
    4ffad598bff4 scsi: dpt_i2o: Do not process completions with invalid addresses
    e2897f133acd scsi: dpt_i2o: Remove broken pass-through ioctl (I2OUSERCMD)
    56a4a9dc5ed1 regmap: Account for register length when chunking
    94f3bc7e84af test_firmware: fix the memory leak of the allocated firmware buffer
    fb7dce686fd1 fbcon: Fix null-ptr-deref in soft_cursor
    5ea6122caf51 ext4: add lockdep annotations for i_data_sem for ea_inode's
    b06346ef5778 ext4: disallow ea_inodes with extended attributes
    ec2a04f8fc9f ext4: set lockdep subclass for the ea_inode in ext4_xattr_inode_cache_find()
    2e636c0c9344 ext4: add EA_INODE checking to ext4_iget()
    d9de088797a0 tracing/probe: trace_probe_primary_from_call(): checked list_first_entry
    7df474125c37 selinux: don't use make's grouped targets feature yet
    b18bc3c9c2c5 tty: serial: fsl_lpuart: use UARTCTRL_TXINV to send break instead of UARTCTRL_SBK
    ae7fb0c8bf80 mmc: vub300: fix invalid response handling
    9d8f5797d791 wifi: rtlwifi: remove always-true condition pointed out by GCC 12
    843f51766784 lib/dynamic_debug.c: use address-of operator on section symbols
    0638dcc7e75f treewide: Remove uninitialized_var() usage
    1eb88dccb827 kernel/extable.c: use address-of operator on section symbols
    d069c7ce3995 eth: sun: cassini: remove dead code
    d04adc383f32 gcc-12: disable '-Wdangling-pointer' warning for now
    253d70232573 ACPI: thermal: drop an always true check
    a010f8e64689 x86/boot: Wrap literal addresses in absolute_pointer()
    f0bb5135553c flow_dissector: work around stack frame size warning
    cd943425c6aa ata: libata-scsi: Use correct device no in ata_find_dev()
    76c67ff783ac scsi: stex: Fix gcc 13 warnings
    cd91ead608f0 misc: fastrpc: reject new invocations during device removal
    bf1d0b84dfd2 misc: fastrpc: return -EPIPE to invocations on device removal
    d5f183881529 usb: gadget: f_fs: Add unbind event before functionfs_unbind
    ac388cbbd97c net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818
    e101e8160cf0 iio: dac: build ad5758 driver when AD5758 is selected
    a87236446a62 iio: dac: mcp4725: Fix i2c_master_send() return value handling
    c3b25245e3a8 iio: light: vcnl4035: fixed chip ID check
    711049e31e09 HID: wacom: avoid integer overflow in wacom_intuos_inout()
    4251ff7fd4a4 HID: google: add jewel USB id
    f3b4e2a636d1 iio: adc: mxs-lradc: fix the order of two cleanup operations
    030ca3f7b042 mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
    11b084412055 atm: hide unused procfs functions
    cea581b385ab ALSA: oss: avoid missing-prototype warnings
    384fd08858da netfilter: conntrack: define variables exp_nat_nla_policy and any_addr with CONFIG_NF_NAT
    f7e62f1b7229 wifi: b43: fix incorrect __packed annotation
    8a9035110288 scsi: core: Decrease scsi_device's iorequest_cnt if dispatch failed
    f1e6a1097141 arm64/mm: mark private VM_FAULT_X defines as vm_fault_t
    c87334f4e705 ARM: dts: stm32: add pin map for CAN controller on stm32f7
    a39f24357fdc wifi: rtl8xxxu: fix authentication timeout due to incorrect RCR value
    353fd22693a6 media: dvb-core: Fix use-after-free due to race condition at dvb_ca_en50221
    66a6d704c251 media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*()
    ed47886a73db media: dvb-core: Fix use-after-free due on race condition at dvb_net
    e9033a425ab2 media: mn88443x: fix !CONFIG_OF error by drop of_match_ptr from ID table
    08b20cb8e5b9 media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb()
    46e8b0fe538b media: dvb_ca_en50221: fix a size write bug
    b66849f35462 media: netup_unidvb: fix irq init by register it at the end of probe
    88aef84eefb3 media: dvb-usb: dw2102: fix uninit-value in su3000_read_mac_address
    6b9a534ec5cf media: dvb-usb: digitv: fix null-ptr-deref in digitv_i2c_xfer()
    f3c8ed7366cd media: dvb-usb-v2: rtl28xxu: fix null-ptr-deref in rtl28xxu_i2c_xfer
    65033ab2f930 media: dvb-usb-v2: ce6230: fix null-ptr-deref in ce6230_i2c_master_xfer()
    37e36b426197 media: dvb-usb-v2: ec168: fix null-ptr-deref in ec168_i2c_xfer()
    64f1b8296bef media: dvb-usb: az6027: fix three null-ptr-deref in az6027_i2c_xfer()
    d16f5dc3aa09 media: dvb_demux: fix a bug for the continuity counter
    a7c87057f259 ASoC: ssm2602: Add workaround for playback distortions
    619f008df14e xfrm: Check if_id in inbound policy/secpath match
    21ca81704611 ASoC: dwc: limit the number of overrun messages
    acd5f476c16e nbd: Fix debugfs_create_dir error checking
    19ce1e1f348d fbdev: stifb: Fix info entry in sti_struct on error path
    aa32f2fadb4c fbdev: modedb: Add 1920x1080 at 60 Hz video mode
    199f9c5430f9 media: rcar-vin: Select correct interrupt mode for V4L2_FIELD_ALTERNATE
    b950966b44f9 ARM: 9295/1: unwind:fix unwind abort for uleb128 case
    a823d8e0bb02 mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()
    29bfbc8a63c4 watchdog: menz069_wdt: fix watchdog initialisation
    0018639be2d9 mtd: rawnand: marvell: don't set the NAND frequency select
    5f0043efdc24 mtd: rawnand: marvell: ensure timing values are written
    6c0aacf1b4e1 net: dsa: mv88e6xxx: Increase wait after reset deactivation
    94a00f1142c5 net/sched: flower: fix possible OOB write in fl_set_geneve_opt()
    dd4b5a204dfa udp6: Fix race condition in udp6_sendmsg & connect
    cd4a37f0dcc9 net/netlink: fix NETLINK_LIST_MEMBERSHIPS length report
    cec562fbf8c5 ocfs2/dlm: move BITS_TO_BYTES() to bitops.h for wider use
    9e6bb63e5e66 net: sched: fix NULL pointer dereference in mq_attach
    2188c0f09532 net/sched: Prohibit regrafting ingress or clsact Qdiscs
    80b20d528a71 net/sched: Reserve TC_H_INGRESS (TC_H_CLSACT) for ingress (clsact) Qdiscs
    321f38375517 net/sched: sch_clsact: Only create under TC_H_CLSACT
    5f67d33c01b3 net/sched: sch_ingress: Only create under TC_H_INGRESS
    381a703220fb tcp: Return user_mss for TCP_MAXSEG in CLOSE/LISTEN state if user_mss set
    32e9a9ee285f tcp: deny tcp_disconnect() when threads are waiting
    26e830858a2b af_packet: do not use READ_ONCE() in packet_bind()
    43f1402dc2e9 mtd: rawnand: ingenic: fix empty stub helper definitions
    dd3773e8c8c9 amd-xgbe: fix the false linkup in xgbe_phy_status
    603eec060d14 af_packet: Fix data-races of pkt_sk(sk)->num.
    bab2f42d8d8a netrom: fix info-leak in nr_write_internal()
    d7aeb591b101 net/mlx5: fw_tracer, Fix event handling
    c7ac3ebf41ee dmaengine: pl330: rename _start to prevent build error
    17d70de57248 iommu/amd: Don't block updates to GATag if guest mode is on
    fa961ad9ef91 iommu/rockchip: Fix unwind goto issue
    5abb81b4d762 RDMA/bnxt_re: Fix return value of bnxt_re_process_raw_qp_pkt_rx
    2bafc7f22db3 RDMA/bnxt_re: Refactor queue pair creation code
    56446791bccd RDMA/bnxt_re: Enable SRIOV VF support on Broadcom's 57500 adapter series
    cc5a673d85a9 RDMA/efa: Fix unsupported page sizes in device
    cf0b1e5482ea Linux 5.4.245
    ec14c6e0a2e5 netfilter: ctnetlink: Support offloaded conntrack entry deletion
    5b7d4d91c047 ipv{4,6}/raw: fix output xfrm lookup wrt protocol
    6c88024cab83 binder: fix UAF caused by faulty buffer cleanup
    e6183912ee90 bluetooth: Add cmd validity checks at the start of hci_sock_ioctl()
    9ba28194ea50 io_uring: have io_kill_timeout() honor the request references
    6de3014d4bd8 io_uring: don't drop completion lock before timer is fully initialized
    b0bfceaa8c0e io_uring: always grab lock in io_cancel_async_work()
    00395fd7f9a0 cdc_ncm: Fix the build warning
    672e59995e70 net/mlx5: Devcom, serialize devcom registration
    f42feb29bad9 net/mlx5: devcom only supports 2 ports
    67637a7ee6bd fs: fix undefined behavior in bit shift for SB_NOUSER
    02281c23d069 power: supply: bq24190: Call power_supply_changed() after updating input current
    f6518954c146 power: supply: core: Refactor power_supply_set_input_current_limit_from_supplier()
    db00ef8fd609 power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize
    ff484163dfb6 net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize
    a270ca35a949 cdc_ncm: Implement the 32-bit version of NCM Transfer Block
    51d0ac4577c2 Linux 5.4.244
    edec0d399907 3c589_cs: Fix an error handling path in tc589_probe()
    3dfc1004d9af net/mlx5: Devcom, fix error flow in mlx5_devcom_register_device
    c59106f8bca1 net/mlx5: Fix error message when failing to allocate device memory
    8680d838c98c forcedeth: Fix an error handling path in nv_probe()
    b8db4a4e2007 ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg
    0099a29bc5a0 x86/show_trace_log_lvl: Ensure stack pointer is aligned, again
    c60f38c9bdcb xen/pvcalls-back: fix double frees with pvcalls_new_active_socket()
    9b13972e4f23 coresight: Fix signedness bug in tmc_etr_buf_insert_barrier_packet()
    f6b610730e8f power: supply: sbs-charger: Fix INHIBITED bit for Status reg
    0c5f4cec7596 power: supply: bq27xxx: Fix poll_interval handling and races on remove
    dafe9136be7b power: supply: bq27xxx: Fix I2C IRQ race on remove
    7b3b11964979 power: supply: bq27xxx: Fix bq27xxx_battery_update() race condition
    96bfafbc7d80 power: supply: leds: Fix blink to LED on transition
    011f47c8b838 ipv6: Fix out-of-bounds access in ipv6_find_tlv()
    120cdad8b2ae bpf: Fix mask generation for 32-bit narrow loads of 64-bit fields
    9928ce5225d6 selftests: fib_tests: mute cleanup error message
    58766252f6b2 net: fix skb leak in __skb_tstamp_tx()
    2b580d0f03c4 media: radio-shark: Add endpoint checks
    a730feb672c7 USB: sisusbvga: Add endpoint checks
    80100e0863e5 USB: core: Add routines for endpoint checks in old drivers
    7e3ae83371a4 udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated().
    9ea0c5f90a27 net: fix stack overflow when LRO is disabled for virtual interfaces
    1522dc58bff8 fbdev: udlfb: Fix endpoint check
    be646802b3dc debugobjects: Don't wake up kswapd from fill_pool()
    4e5a7181a6c3 x86/topology: Fix erroneous smp_num_siblings on Intel Hybrid platforms
    6d091e0ddcf3 parisc: Fix flush_dcache_page() for usage from irq context
    b556618baca5 selftests/memfd: Fix unknown type name build failure
    04aee084a3fa x86/mm: Avoid incomplete Global INVLPG flushes
    a9f5423460a6 btrfs: use nofs when cleaning up aborted transactions
    4f92934d8073 gpio: mockup: Fix mode of debugfs files
    da8adda57984 parisc: Allow to reboot machine after system halt
    43ffe982a304 parisc: Handle kgdb breakpoints only in kernel context
    f7d19a366cd2 m68k: Move signal frame following exception on 68020/030
    8facb9cc168a ALSA: hda/realtek: Enable headset onLenovo M70/M90
    5cc3e698c2bb ALSA: hda/ca0132: add quirk for EVGA X299 DARK
    68e4c390173e mt76: mt7615: Fix build with older compilers
    b558275c1b04 spi: fsl-cpm: Use 16 bit mode for large transfers with even size
    d64a45c019ac spi: fsl-spi: Re-organise transfer bits_per_word adaptation
    aabe8ca79139 watchdog: sp5100_tco: Immediately trigger upon starting.
    aeff9e7e87c1 s390/qdio: fix do_sqbs() inline assembly constraint
    ab196fe70a18 s390/qdio: get rid of register asm
    a4e3c4c65ae8 vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF
    74e644795d37 vc_screen: rewrite vcs_size to accept vc, not inode
    e9399d4ea5ee usb: gadget: u_ether: Fix host MAC address case
    939cafcdf7de usb: gadget: u_ether: Convert prints to device prints
    c8489e0fab18 lib/string_helpers: Introduce string_upper() and string_lower() helpers
    7e15602c5073 HID: wacom: add three styli to wacom_intuos_get_tool_type
    2a12339ce34f HID: wacom: Add new Intuos Pro Small (PTH-460) device IDs
    b5185f1b11c7 HID: wacom: Force pen out of prox if no events have been received in a while
    e0c1b35239d9 netfilter: nf_tables: hold mutex on netns pre_exit path
    6236af6936dd netfilter: nf_tables: validate NFTA_SET_ELEM_OBJREF based on NFT_SET_OBJECT flag
    05b4105e6852 netfilter: nf_tables: stricter validation of element data
    e832e4bae556 netfilter: nf_tables: allow up to 64 bytes in the set element data area
    28fe10236a64 netfilter: nf_tables: add nft_setelem_parse_key()
    eb5b579bd69f netfilter: nf_tables: validate registers coming from userspace.
    cfe1b9719cce netfilter: nftables: statify nft_parse_register()
    7c788393d453 netfilter: nftables: add nft_parse_register_store() and use it
    25336cd96b03 netfilter: nftables: add nft_parse_register_load() and use it
    116d53f09ff5 nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode()
    df89b1753eb1 powerpc/64s/radix: Fix soft dirty tracking
    60b9a9c8f370 tpm/tpm_tis: Disable interrupts for more Lenovo devices
    a33c172c1e34 ceph: force updating the msg pointer in non-split case
    6eb9ed0ab7b5 serial: Add support for Advantech PCI-1611U card
    21f107a95965 statfs: enforce statfs[64] structure initialization
    1eb3e32de7b1 KVM: x86: do not report a vCPU as preempted outside instruction boundaries
    a88638a95407 can: kvaser_pciefd: Disable interrupts in probe error path
    4579e2556767 can: kvaser_pciefd: Do not send EFLUSH command on TFD interrupt
    33d5a0a4985a can: kvaser_pciefd: Clear listen-only bit if not explicitly requested
    e5ac4f12074e can: kvaser_pciefd: Empty SRB buffer in probe
    c0e9fb21b612 can: kvaser_pciefd: Call request_irq() before enabling interrupts
    36cd7601e6b9 can: kvaser_pciefd: Set CAN_STATE_STOPPED in kvaser_pciefd_stop()
    e65811289346 can: j1939: recvmsg(): allow MSG_CMSG_COMPAT flag
    880482525101 ALSA: hda/realtek: Add quirk for 2nd ASUS GU603
    57fd0d122edd ALSA: hda/realtek: Add a quirk for HP EliteDesk 805
    739056188ad3 ALSA: hda: Add NVIDIA codec IDs a3 through a7 to patch table
    4ef155ddf957 ALSA: hda: Fix Oops by 9.1 surround channel names
    4f9c0a7c2726 usb: typec: altmodes/displayport: fix pin_assignment_show
    33b6648d27b8 usb: dwc3: debugfs: Resume dwc3 before accessing registers
    241491524ab0 USB: UHCI: adjust zhaoxin UHCI controllers OverCurrent bit value
    1f36dc41616b usb-storage: fix deadlock when a scsi command timeouts more than once
    7cef7681aa77 USB: usbtmc: Fix direction for 0-length ioctl control messages
    f662f856acec vlan: fix a potential uninit-value in vlan_dev_hard_start_xmit()
    53bf7cda160b igb: fix bit_shift to be in [1..8] range
    e20105d967ab cassini: Fix a memory leak in the error handling path of cas_init_one()
    e519a404a5bb wifi: iwlwifi: mvm: don't trust firmware n_channels
    d0baaadd1c5e net: bcmgenet: Restore phy_stop() depending upon suspend/close
    2cca63d5bc4e net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop()
    435855b0831b net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment()
    ed50fcab1435 drm/exynos: fix g2d_open/close helper function definitions
    1550bcf2983a media: netup_unidvb: fix use-after-free at del_timer()
    69055f99900b net: hns3: fix reset delay time to avoid configuration timeout
    304e5cb77eb8 net: hns3: fix sending pfc frames after reset issue
    d1bcc606870e erspan: get the proto with the md version for collect_md
    f185ede016c9 ip_gre, ip6_gre: Fix race condition on o_seqno in collect_md mode
    0eb3ec0a3553 ip6_gre: Make o_seqno start from 0 in native mode
    304096241398 ip6_gre: Fix skb_under_panic in __gre6_xmit()
    7525aa211758 serial: arc_uart: fix of_iomap leak in `arc_serial_probe`
    5a90309002cd vsock: avoid to close connected socket after the timeout
    5009aead17f0 ALSA: firewire-digi00x: prevent potential use after free
    b22b514209ff net: fec: Better handle pm_runtime_get() failing in .remove()
    033297ef3bba af_key: Reject optional tunnel/BEET mode templates in outbound policies
    912a6cff0db1 cpupower: Make TSC read per CPU for Mperf monitor
    131eb9c9b1a0 ASoC: fsl_micfil: register platform component before registering cpu dai
    a3714a47b401 btrfs: fix space cache inconsistency after error loading it from disk
    596898303745 btrfs: replace calls to btrfs_find_free_ino with btrfs_find_free_objectid
    1e453cb55014 mfd: dln2: Fix memory leak in dln2_probe()
    bdc33478d5d3 phy: st: miphy28lp: use _poll_timeout functions for waits
    e6e917e82de4 Input: xpad - add constants for GIP interface numbers
    9fcef1e37d54 iommu/arm-smmu-v3: Acknowledge pri/event queue overflow if any
    4461f41ece4d clk: tegra20: fix gcc-7 constant overflow warning
    c23e6383d7fe RDMA/core: Fix multiple -Warray-bounds warnings
    3ed95a6f6c64 recordmcount: Fix memory leaks in the uwrite function
    38a118fd545b sched: Fix KCSAN noinstr violation
    cbe3063a9be1 mcb-pci: Reallocate memory region to avoid memory overlapping
    d5cd2928d310 serial: 8250: Reinit port->pm on port specific driver unbind
    ccb12585a735 usb: typec: tcpm: fix multiple times discover svids error
    c5405c767173 HID: wacom: generic: Set battery quirk only when we see battery data
    d3f32dc2ccc2 spi: spi-imx: fix MX51_ECSPI_* macros when cs > 3
    bf80dbd52899 HID: logitech-hidpp: Reconcile USB and Unifying serials
    e28f9de2d4d7 HID: logitech-hidpp: Don't use the USB serial for USB devices
    8a65476dd1ca staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE
    2112c4c47d36 Bluetooth: L2CAP: fix "bad unlock balance" in l2cap_disconnect_rsp
    fa57021262e9 wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace
    0ad8dd870aa1 wifi: iwlwifi: pcie: Fix integer overflow in iwl_write_to_user_buf
    f6f2d16c77f9 wifi: iwlwifi: pcie: fix possible NULL pointer dereference
    a7ec2f424f6e samples/bpf: Fix fout leak in hbm's run_bpf_prog
    4ceedc2f8bdf f2fs: fix to drop all dirty pages during umount() if cp_error is set
    8659c5f4ffaa ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa()
    cee78217a7ae ext4: set goal start correctly in ext4_mb_normalize_request
    d43b1bdb1005 gfs2: Fix inode height consistency check
    410e610a96c5 scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition
    cc2d2b3dbfb0 lib: cpu_rmap: Avoid use after free on rmap->obj array entries
    89f5055f9b0b scsi: target: iscsit: Free cmds before session free
    67236cf14db3 net: Catch invalid index in XPS mapping
    92af9cb86ab0 net: pasemi: Fix return type of pasemi_mac_start_tx()
    644a9d5e2276 scsi: lpfc: Prevent lpfc_debugfs_lockstat_write() buffer overflow
    c4813f858e5c ext2: Check block size validity during mount
    56c7e9c39bd5 wifi: brcmfmac: cfg80211: Pass the PMK in binary instead of hex
    c409eb45f5dd ACPICA: ACPICA: check null return of ACPI_ALLOCATE_ZEROED in acpi_db_display_objects
    710e09fd116e ACPICA: Avoid undefined behavior: applying zero offset to null pointer
    99c8f2e6f33a drm/tegra: Avoid potential 32-bit integer overflow
    ccae2233e993 ACPI: EC: Fix oops when removing custom query handlers
    48ac727ea4a3 firmware: arm_sdei: Fix sleep from invalid context BUG
    a2a5d3a584bf memstick: r592: Fix UAF bug in r592_remove due to race condition
    d73e8c47675e regmap: cache: Return error in cache sync operations for REGCACHE_NONE
    9b72cb394f96 drm/amd/display: Use DC_LOG_DC in the trasform pixel function
    a75d9211a07f fs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode()
    196528ad4844 af_unix: Fix data races around sk->sk_shutdown.
    7d17bc2d4e75 af_unix: Fix a data race of sk->sk_receive_queue->qlen.
    699c9e7c9f66 net: datagram: fix data-races in datagram_poll()
    1aa872e967f2 ipvlan:Fix out-of-bounds caused by unclear skb->cb
    4188c5269475 net: add vlan_get_protocol_and_depth() helper
    57a269d82f2e net: tap: check vlan with eth_type_vlan() method
    1747aa98ab13 net: annotate sk->sk_err write from do_recvmmsg()
    a507022c862e netlink: annotate accesses to nlk->cb_running
    b47aae7038cc netfilter: conntrack: fix possible bug_on with enable_hooks=1
    d7343f8de019 net: Fix load-tearing on sk->sk_stamp in sock_recv_cmsgs().
    42e1dafa65e2 linux/dim: Do nothing if no time delta between samples
    7460ac5a66fb ARM: 9296/1: HP Jornada 7XX: fix kernel-doc warnings
    22b8ac608af5 drm/mipi-dsi: Set the fwnode for mipi_dsi_device
    d4992b2b5c68 driver core: add a helper to setup both the of_node and fwnode of a device

(From OE-Core rev: bc75da82987e243bdfe3e1192bb715438b3a7378)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-04 05:37:07 -10:00
Vijay Anusuri
7256436957 libcap: backport Debian patches to fix CVE-2023-2602 and CVE-2023-2603
import patches from ubuntu to fix
 CVE-2023-2602
 CVE-2023-2603

Upstream-Status: Backport [import from ubuntu https://git.launchpad.net/ubuntu/+source/libcap2/tree/debian/patches?h=ubuntu/focal-security
Upstream commit
https://git.kernel.org/pub/scm/libs/libcap/libcap.git/commit/?id=bc6b36682f188020ee4770fae1d41bde5b2c97bb
&
https://git.kernel.org/pub/scm/libs/libcap/libcap.git/commit/?id=422bec25ae4a1ab03fd4d6f728695ed279173b18]

(From OE-Core rev: d0718a43a00223aa074f14e769214ba11d4f8ef2)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-04 05:37:07 -10:00
Hitendra Prajapati
f25b363233 go: fix CVE-2023-29402 & CVE-2023-29404
Backport fixes for:
* CVE-2023-29402 - Upstream-Status: Backport from c160b49b6d
* CVE-2023-29404 - Upstream-Status: Backport from bf3c8ce03e

(From OE-Core rev: a4a989605d8cab3278d6c6e32eb882815ff36a28)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-04 05:37:07 -10:00
Ashish Sharma
2474c30274 go: Backport fix CVE-2023-29405
Upstream-Status: Backport
[fa60c381ed
&
1008486a9f]

(From OE-Core rev: ce213403b4e82f1b191fed4ef6494e9dee55c4f8)

Signed-off-by: Ashish Sharma <asharma@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-04 05:37:07 -10:00
Ross Burton
5ca4b2a548 ninja: Whitelist CVE-2021-4336, wrong ninja
(From OE-Core rev: c2dd2c13ff26c3f046e35a2f6b8afeb099ef422a)

(From OE-Core rev: a056017d8383686651de6a72b50d95213bacf226)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9a106486ad)
Signed-off-by: virendra thakur <virendrak@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-04 05:37:07 -10:00
Vijay Anusuri
a84a25acc5 libjpeg-turbo: CVE-2020-35538 Null pointer dereference in jcopy_sample_rows() function
Upstream-Status: Backport
[9120a24743
&
a46c111d9f]

(From OE-Core rev: 345ffb433060f017d212135a5b2383017f32d321)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-04 05:37:07 -10:00
Ian Ray
c8f5ff0ffe systemd-systemctl: support instance expansion in WantedBy
Refactor _process_deps to expand systemd instance specifier "%i" to the
template instance.

This change expands on prior commit e510222b57 ("systemd-systemctl: fix
instance template WantedBy symlink construction") by substituting every
"%i" pattern-match with the instance name.

The regexp handles the following cases:

* svc-wants@%i.service

* sys-subsystem-net-devices-%i.device

(From OE-Core rev: 2aa82324d43467e7c8bfbbb59570ee3306264b75)

Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 9356276137267a29ae2289d796a2940918375308)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-27 05:24:36 -10:00
Martin Siegumfeldt
822d364542 systemd-systemctl: fix instance template WantedBy symlink construction
Fix issue of the below instance template systemd service dependency

[Install]
WantedBy=svc-wants@%i.service

creating the symlink (instance "a" example)

/etc/systemd/system/svc-wants@%i.service.wants/svc-wanted-by@a.service

which should be

/etc/systemd/system/svc-wants@a.service.wants/svc-wanted-by@a.service

as implemented by this change.

The functionality appears regressed just after "thud" baseline when the
logic was refactored from shell script into python (commit
925e30cb10)

(From OE-Core rev: 308397f0bb3d6f3d4e9ec2c6a10823184049c9b5)

(From OE-Core rev: 2751472807edc6d2ccc93b6339e6dc57d4abb2da)

Signed-off-by: Martin Siegumfeldt <mns@gomspace.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 372b29c8ad270d4d430c26a4e614976c7029afaf)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-27 05:24:36 -10:00
Andrej Valek
b01dd27a8d kernel-fitimage: use correct kernel image
Even if initramfs_bundle_path was used, a wrong compression was reflected
in output its template file. Use linux.bin as universal kernel image.
The linux.bin file covers both cases because it's beying created from
vmlinux.

We know, that vmlinux is created inside compressed directory already,
so no external compression will be used.

(From OE-Core rev: 8280c089b0df97368476b8bc54ed758e809f42f5)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Walter Schweizer <walter.schweizer@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Backport of 27fbbeaf972bb7e2535c1b23375cfa9d66b69db6 in master branch
Signed-off-by: Remi Peuvergne <remi.peuvergne@non.se.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-27 05:24:36 -10:00
Abdellatif El Khlifi
42a4f98ab5 kernel-fitimage: adding support for Initramfs bundle and u-boot script
This commit adds Initramfs bundle support to the FIT image in addition
to u-boot boot script capability.

These new features are selectable.

In case of Initramfs, the kernel is configured to be bundled with the rootfs
in the same binary (ie: zImage-initramfs-<machine>.bin). When the kernel is
copied to RAM and executed, it unpacks the Initramfs rootfs.

For more information about Initramfs please read:

https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt

For more details about the Initramfs bundle and boot script implementation
please check the kernel-fitimage.bbclass paragraph in Yocto reference
or mega manual.

Current limitations:

- Initramfs bundle FIT support has been tested on ARM 32-bit
- The kernel image type in case of ARM 32-bit is zImage

Change-Id: I901bfd899e8d733c5b9a2b6645b1d4748f4b1fda
(From OE-Core rev: e3eb79c0a11e9f67af3161361fb88b00123ecbac)

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Backport of 19fa415c8769a67b52babd80f71d68bf36a21db2 in master branch
Signed-off-by: Remi Peuvergne <remi.peuvergne@non.se.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-27 05:24:36 -10:00
Steve Sakoman
756bae9bf9 uninative.bbclass: handle read only files outside of patchelf
We are seeing autobuilder failures with the latest uninative:

patchelf: open: Permission denied

See upstream discussion which suggests handling
read-only files explicitly outside of patchelf:
https://github.com/NixOS/patchelf/pull/89

(From OE-Core rev: 3680fcbf9ba327aedb32bb4eb647dd56fcccfd51)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-27 05:24:36 -10:00
Michael Halstead
ec29356556 uninative: Upgrade to 4.0 to include latest gcc 13.1.1
(From OE-Core rev: 0179c939e4abab008d3c3aa9c1c1eb63b78a6e09)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f87becb69e02bdf055dffb633ed4f6d36b36f7a7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-27 05:24:36 -10:00
Michael Halstead
f6f1b85384 uninative: Upgrade to 3.10 to support gcc 13
(From OE-Core rev: 15287d18c18152efcfc56a2ae16efdc42c53d92a)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f811bffb861b23238e8291394bd6e8407f013619)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-27 05:24:36 -10:00
Michael Halstead
6dcf266eb4 uninative: Upgrade to 3.9 to include glibc 2.37
Update uninative to work with the new glibc 2.37.

(From OE-Core rev: c95020a30ee8266d4bfa7b14a7526c10590027fd)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 360971a6ba562fa0b29bd062b96ede2d3a47fa2e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-27 05:24:36 -10:00
Michael Halstead
5ea3190383 uninative: Upgrade to 3.8.1 to include libgcc
Including libgcc solves issues with libpthread.

(From OE-Core rev: 8bb60a90dbd59b22e5ba884804b3cb47df45e97d)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 36eb46589fb01374d4738a2c376386c68d06aa83)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-27 05:24:36 -10:00
Richard Purdie
5127d99785 uninative: Ensure uninative is enabled in all cases for BuildStarted event
Recent changes in bitbake mean the datastore is not always reset between
ConfigParsed and BuildStarted. This means in a fresh buiild, with memory
resident bitbake active, uninative may end up disabled.

Update the code so the enable code is always run at BuildStarted if
needed.

(From OE-Core rev: 24897c70980f934cf59a28a0d3b6e8fddcb15a7f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit db743cc78fe5172bb4a4dac9c1dad4f5aa9e1491)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-27 05:24:36 -10:00
Jan Vermaete
ff22728dd5 cve-update-nvd2-native: added the missing http import
(From OE-Core rev: 787acb1cbc22c0f3bd0cc163c527cc7a98007f26)

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
(cherry picked from commit 39d2cde7eb922cb0a2cf9402cd8b3ae3b4cc2f62)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-27 05:24:36 -10:00
Marta Rybczynska
af419f2429 cve-update-nvd2-native: new CVE database fetcher
Add new fetcher for the NVD database using the 2.0 API [1].
The implementation changes as little as possible, keeping the current
database format (but using a different database file for the transition
period), with a notable exception of not using the META table.

Minor changes that could be visible:
- the database starts in 1999 instead of 2002
- the complete fetch is longer (30 minutes typically)

[1] https://nvd.nist.gov/developers/vulnerabilities

(From OE-Core rev: 191e2c6d7009999f049a0cf8460259f8f91a829d)

Signed-off-by: Marta Rybczynska <marta.rybczynska@syslinbit.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit fb62c4c3dbca4e58f7ce6cf29d4b630a06411a97)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-27 05:24:36 -10:00
Hitendra Prajapati
04003b36bf openssl: CVE-2023-2650 Possible DoS translating ASN.1 object identifiers
Upstream-Status: Backport from 9e209944b3

(From OE-Core rev: 8a9d188b4d838bbbf8aab14fad1ee5aaadb86621)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-27 05:24:36 -10:00
Sanjay Chitroda
800b69b78b cups: Fix CVE-2023-32324
OpenPrinting CUPS is an open source printing system. In versions 2.4.2
and prior, a heap buffer overflow vulnerability would allow a remote
attacker to launch a denial of service (DoS) attack. A buffer overflow
vulnerability in the function `format_log_line` could allow remote
attackers to cause a DoS on the affected system. Exploitation of the
vulnerability can be triggered when the configuration file `cupsd.conf`
sets the value of `loglevel `to `DEBUG`. No known patches or
workarounds exist at time of publication.

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

Upstream Patch:
https://github.com/OpenPrinting/cups/commit/fd8bc2d32589

(From OE-Core rev: cb46ae57abe3069d6a4dc2ab0b8dfce5a4a5bd15)

Signed-off-by: Sanjay Chitroda <schitrod@cisco.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-27 05:24:35 -10:00
Steve Sakoman
bab87089ad build-appliance-image: Update to dunfell head revision
(From OE-Core rev: 77f6fbfa18b4ad77c3756cfdc45d441a20210781)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-17 09:48:48 -10:00
Steve Sakoman
d91c3c1242 poky.conf: bump version for 3.1.26
(From meta-yocto rev: 5faf10f83e45aceb3d14c904346d82ea3ce9bdcc)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-17 05:10:27 -10:00
Steve Sakoman
a7ed388d44 documentation: update for 3.1.26
(From yocto-docs rev: 9eae543ad41edbc3db7ec465e756507643cebb1d)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-17 05:10:27 -10:00
Richard Purdie
b93817cc62 selftest/reproducible: Allow native/cross reuse in test
We don't compare reproducibility of the native/cross components, only the
target ones. With the long build times of rust-native, the test now takes
crazy lengths of time so this tweak should allow us to reuse native/cross
artefacts from sstate whilst still testing the target output is
reproducible.

(From OE-Core rev: fd3d9b32256bceacd514bfd5ebfa0a30bcfdbd0c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b494d83c639a877cefeb7cbab6d37195e492f059)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-17 05:10:26 -10:00
Qiu Tingting
33e9349a4a e2fsprogs: fix ptest bug for second running
At second running, there are four new failed case:
  d_loaddump f_bigalloc_badinode f_bigalloc_orphan_list f_dup_resize

The test_data.tmp is necessary, but it is deleted by run-ptest.
So it should be restored after testing.

(From OE-Core rev: 496dc586446d09a77923bc191e5305ba06c8f59e)

Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit d0d08dd9a8a179e25b9cfcbac696c1d212a1910c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-17 05:10:26 -10:00
Randy MacLeod
036558afb0 vim: upgrade 9.0.1429 -> 9.0.1527
Fixes: https://nvd.nist.gov/vuln/detail/CVE-2023-2426
caf642c25 patch 9.0.1499: using uninitialized memory with fuzzy matching

(From OE-Core rev: 51a6a2f7917f18f67879ea9559084393ab68520b)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 4f9a8df5aca99d0a5c2d2346b27ce7be08e7896c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-17 05:10:26 -10:00
Nikhil R
7ae33b3e6f libwebp: Fix CVE-2023-1999
Add patch to fix CVE-2023-1999

Link: a486d800b6

(From OE-Core rev: c1f8a40b65d72c8fdd2f4ae77fa4e682184c8891)

Signed-off-by: Nikhil R <nikhil.r@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-17 05:10:26 -10:00
Alex Kiernan
733d919af4 openssh: Move sshdgenkeys.service to sshd.socket
sshd.socket launches the templated sshd@.service, so by moving the
sshdgenkeys.service to sshd.socket, key generation can start in advance
of a connection.

(From OE-Core rev: 96798603273bbab40a7e19bbb67a9a5398648c21)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit af38a39b4bed9e43c5075008be47ca72191a489e)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-13 04:00:11 -10:00
Bruce Ashfield
f42e2c212f linux-yocto/5.4: update to v5.4.243
Updating  to the latest korg -stable release that comprises
the following commits:

    f53660ec669f Linux 5.4.243
    d60f15682a5c drm/amd/display: Fix hang when skipping modeset
    93ca0d7b88e8 mm/page_alloc: fix potential deadlock on zonelist_update_seq seqlock
    3f231e30cdeb drm/exynos: move to use request_irq by IRQF_NO_AUTOEN flag
    65a8b6d129cf drm/msm/adreno: Fix null ptr access in adreno_gpu_cleanup()
    62ac943eb2a9 firmware: raspberrypi: fix possible memory leak in rpi_firmware_probe()
    a781ea3437a0 drm/msm: Fix double pm_runtime_disable() call
    e4e88f74eb2f PM: domains: Restore comment indentation for generic_pm_domain.child_links
    ddcca7299de3 printk: declare printk_deferred_{enter,safe}() in include/linux/printk.h
    c2c3ffc79896 PCI: pciehp: Fix AB-BA deadlock between reset_lock and device_lock
    6a24285f64ea PCI: pciehp: Use down_read/write_nested(reset_lock) to fix lockdep errors
    dde34ef0bc73 drbd: correctly submit flush bio on barrier
    373720b9289c serial: 8250: Fix serial8250_tx_empty() race with DMA Tx
    f2a1071100fe tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH
    ba04d6af5ac4 ext4: fix invalid free tracking in ext4_xattr_move_to_block()
    185062a21976 ext4: remove a BUG_ON in ext4_mb_release_group_pa()
    d7ff83a71d77 ext4: bail out of ext4_xattr_ibody_get() fails for any reason
    486efbbc9445 ext4: add bounds checking in get_max_inline_xattr_value_size()
    b4fa4768c9ac ext4: fix deadlock when converting an inline directory in nojournal mode
    2dda20290671 ext4: improve error recovery code paths in __ext4_remount()
    525c802de3f9 ext4: fix data races when using cached status extents
    4f4fd982d972 ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum
    1b90fbc75901 ext4: fix WARNING in mb_find_extent
    f9e27d4bdb1f HID: wacom: insert timestamp to packed Bluetooth (BT) events
    d8b609e66244 HID: wacom: Set a default resolution for older tablets
    3decf3a750a9 drm/amdgpu: disable sdma ecc irq only when sdma RAS is enabled in suspend
    625d4112ea25 drm/amdgpu/gfx: disable gfx9 cp_ecc_error_irq only when enabling legacy gfx ras
    b1fabc379463 drm/amdgpu: fix an amdgpu_irq_put() issue in gmc_v9_0_hw_fini()
    c6bb59662432 drm/panel: otm8009a: Set backlight parent to panel device
    3e7703624612 f2fs: fix potential corruption when moving a directory
    dafc5a5c8fda ARM: dts: s5pv210: correct MIPI CSIS clock name
    ad751b896eae ARM: dts: exynos: fix WM8960 clock name in Itop Elite
    823496470790 remoteproc: st: Call of_node_put() on iteration error
    a1366ecb0905 remoteproc: stm32: Call of_node_put() on iteration error
    f16bc5111cc6 sh: nmi_debug: fix return value of __setup handler
    c9871a47f4ce sh: init: use OF_EARLY_FLATTREE for early init
    111b08116dac sh: math-emu: fix macro redefined warning
    8fb33166aed8 inotify: Avoid reporting event with invalid wd
    0ccea97abe6d platform/x86: touchscreen_dmi: Add info for the Dexp Ursus KX210i
    871641c7ebe5 cifs: fix pcchunk length type in smb2_copychunk_range
    3e2b4bceaaf9 btrfs: print-tree: parent bytenr must be aligned to sector size
    1e05bf5e80bb btrfs: don't free qgroup space unless specified
    b232f5e8cf81 btrfs: fix btrfs_prev_leaf() to not return the same key twice
    96f71f669bee perf symbols: Fix return incorrect build_id size in elf_read_build_id()
    78190a6ebe4e perf map: Delete two variable initialisations before null pointer checks in sort__sym_from_cmp()
    ffec80cc6761 perf vendor events power9: Remove UTF-8 characters from JSON files
    62f1ebfe9aac virtio_net: suppress cpu stall when free_unused_bufs
    1dc5faf30a6c virtio_net: split free_unused_bufs()
    b15637e717ad net: dsa: mt7530: fix corrupt frames using trgmii on 40 MHz XTAL MT7621
    544b0de2d767 ALSA: caiaq: input: Add error handling for unsupported input methods in `snd_usb_caiaq_input_init`
    35f2642f4abd drm/amdgpu: add a missing lock for AMDGPU_SCHED
    5cfe3f910f7c af_packet: Don't send zero-byte data in packet_sendmsg_spkt().
    fbcfa00386e1 ionic: remove noise from ethtool rxnfc error msg
    4a56f1f6fe92 rxrpc: Fix hard call timeout units
    dfa36eb38020 net/sched: act_mirred: Add carrier check
    cc5ccfb7c0ee writeback: fix call of incorrect macro
    9c1fcb97f98f net: dsa: mv88e6xxx: add mv88e6321 rsvd2cpu
    e80412439030 sit: update dev->needed_headroom in ipip6_tunnel_bind_dev()
    cc5fe387c629 net/sched: cls_api: remove block_cb from driver_list before freeing
    8acd3a28873f net/ncsi: clear Tx enable mode when handling a Config required AEN
    bc0905a76531 relayfs: fix out-of-bounds access in relay_file_read
    c038ae623a7c kernel/relay.c: fix read_pos error when multiple readers
    4f4de392f492 crypto: safexcel - Cleanup ring IRQ workqueues on load failure
    b9878f485d70 crypto: inside-secure - irq balance
    439d3a7056d5 dm verity: fix error handling for check_at_most_once on FEC
    0156f7dbd822 dm verity: skip redundant verity_handle_err() on I/O errors
    e4875d6e053d mailbox: zynqmp: Fix counts of child nodes
    ff0d64f5127e mailbox: zynq: Switch to flexible array to simplify code
    352b152905cc tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem
    9b2ed144318e nohz: Add TICK_DEP_BIT_RCU
    c8b6063f13ad netfilter: nf_tables: deactivate anonymous set from preparation phase
    29fb2a1a5f71 debugobject: Ensure pool refill (again)
    cef1b8a4df5c perf intel-pt: Fix CYC timestamps after standalone CBR
    5ead86d57583 perf auxtrace: Fix address filter entire kernel size
    29a1ef57c3be dm ioctl: fix nested locking in table_clear() to remove deadlock concern
    337b7af27356 dm flakey: fix a crash with invalid table line
    6d126899b074 dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path
    cbe0a7ec67c3 dm clone: call kmem_cache_destroy() in dm_clone_init() error path
    d8f66a19f8be s390/dasd: fix hanging blockdevice after request requeue
    5492d4081274 btrfs: scrub: reject unsupported scrub flags
    946e067b4cda scripts/gdb: fix lx-timerlist for Python3
    7cf5ce2857b8 clk: rockchip: rk3399: allow clk_cifout to force clk_cifout_src to reparent
    4379d5ce9235 wifi: rtl8xxxu: RTL8192EU always needs full init
    ecdcefd312d4 mailbox: zynqmp: Fix typo in IPI documentation
    38afc633d374 mailbox: zynqmp: Fix IPI isr handling
    14964127be77 md/raid10: fix null-ptr-deref in raid10_sync_request
    fe1cbbcb1a25 nilfs2: fix infinite loop in nilfs_mdt_get_block()
    4569a292a84e nilfs2: do not write dirty data after degenerating to read-only
    fd37a5c6998b parisc: Fix argument pointer in real64_call_asm()
    736aeb17b6a0 afs: Fix updating of i_size with dv jump from server
    27263ff39784 dmaengine: at_xdmac: do not enable all cyclic channels
    8c821199bc28 dmaengine: dw-edma: Fix to enable to issue dma request on DMA processing
    24c9c4ad23d3 dmaengine: dw-edma: Fix to change for continuous transfer
    2e900f363174 phy: tegra: xusb: Add missing tegra_xusb_port_unregister for usb2_port and ulpi_port
    58e026465814 pwm: mtk-disp: Disable shadow registers before setting backlight values
    33f00f0a7368 pwm: mtk-disp: Adjust the clocks to avoid them mismatch
    e5e9e59c4564 pwm: mtk-disp: Don't check the return code of pwmchip_remove()
    8e238e88822f dmaengine: mv_xor_v2: Fix an error code.
    026df12f3c4d leds: TI_LMU_COMMON: select REGMAP instead of depending on it
    a34f6dcb78c6 ext4: fix use-after-free read in ext4_find_extent for bigalloc + inline
    6dfd85ada867 openrisc: Properly store r31 to pt_regs on unhandled exceptions
    2fd44d2bde34 clocksource/drivers/davinci: Fix memory leak in davinci_timer_register when init fails
    f2aaf419889c clocksource: davinci: axe a pointless __GFP_NOFAIL
    fc051820d616 clocksource/drivers/davinci: Avoid trailing '\n' hidden in pr_fmt()
    945e9898624d RDMA/mlx5: Use correct device num_ports when modify DC
    9bf843683a32 SUNRPC: remove the maximum number of retries in call_bind_status
    1dfa3c9dd27b Input: raspberrypi-ts - fix refcount leak in rpi_ts_probe
    ce6c42f0b644 input: raspberrypi-ts: Release firmware handle when not needed
    de85be00a8f3 firmware: raspberrypi: Introduce devm_rpi_firmware_get()
    d537afa08e15 firmware: raspberrypi: Keep count of all consumers
    919f470337e1 NFSv4.1: Always send a RECLAIM_COMPLETE after establishing lease
    fe60c3af70bf IB/hfi1: Fix SDMA mmu_rb_node not being evicted in LRU order
    b4f12e2402a5 RDMA/siw: Remove namespace check from siw_netdev_event()
    795d11e8ff35 clk: add missing of_node_put() in "assigned-clocks" property parsing
    0c770f95a2d7 power: supply: generic-adc-battery: fix unit scaling
    31ca78dc1f50 rtc: meson-vrtc: Use ktime_get_real_ts64() to get the current time
    8feca6259007 RDMA/mlx4: Prevent shift wrapping in set_user_sq_size()
    683cd87041ac rtc: omap: include header for omap_rtc_power_off_program prototype
    a48403e8c325 RDMA/rdmavt: Delete unnecessary NULL check
    b24e0e4612a5 RDMA/siw: Fix potential page_array out of range access
    318bc22decd4 perf/core: Fix hardlockup failure caused by perf throttle
    ff3edfb3c825 powerpc/rtas: use memmove for potentially overlapping buffer copy
    333a2a9846b9 macintosh: via-pmu-led: requires ATA to be set
    e2dd8bbab7b5 powerpc/sysdev/tsi108: fix resource printk format warnings
    770d583cd5ae powerpc/wii: fix resource printk format warnings
    f60c8d7c16bb powerpc/mpc512x: fix resource printk format warning
    97cd970f8add macintosh/windfarm_smu_sat: Add missing of_node_put()
    54dda7322255 spmi: Add a check for remove callback when removing a SPMI driver
    af9bfe1c0a50 staging: rtl8192e: Fix W_DISABLE# does not work after stop/start
    572d48361aa0 serial: 8250: Add missing wakeup event reporting
    488baa8038fa tty: serial: fsl_lpuart: adjust buffer length to the intended size
    8fa80b452bc9 firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe
    26ca30516b2c usb: mtu3: fix kernel panic at qmu transfer done irq handler
    bd7a3e6416ab usb: chipidea: fix missing goto in `ci_hdrc_probe`
    f9e2abb6df6d sh: sq: Fix incorrect element size for allocating bitmap buffer
    e1431faa89bd uapi/linux/const.h: prefer ISO-friendly __typeof__
    6716203844bc spi: cadence-quadspi: fix suspend-resume implementations
    caaefbf823ab mtd: spi-nor: cadence-quadspi: Handle probe deferral while requesting DMA channel
    ee5ffe4cdfea mtd: spi-nor: cadence-quadspi: Don't initialize rx_dma_complete on failure
    7c69aeca59f2 mtd: spi-nor: cadence-quadspi: Provide a way to disable DAC mode
    df9708297bb2 mtd: spi-nor: cadence-quadspi: Make driver independent of flash geometry
    30ac77e99525 scripts/gdb: bail early if there are no generic PD
    35a2681e9937 PM: domains: Fix up terminology with parent/child
    0fbc62db7e10 scripts/gdb: bail early if there are no clocks
    0988baae3984 ia64: salinfo: placate defined-but-not-used warning
    d6cb7b6868b9 ia64: mm/contig: fix section mismatch warning/error
    d3c6d52148a1 of: Fix modalias string generation
    ca0f4ad2b7a3 vmci_host: fix a race condition in vmci_host_poll() causing GPF
    170e22324052 spi: fsl-spi: Fix CPM/QE mode Litte Endian
    863238433703 spi: qup: Don't skip cleanup in remove's error path
    814a9a6de1b1 linux/vt_buffer.h: allow either builtin or modular for macros
    3547e5bd0d10 ASoC: es8316: Handle optional IRQ assignment
    9650d5a1e7df ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ
    f5ce428e3eae genirq: Add IRQF_NO_AUTOEN for request_irq/nmi()
    0f31993721f9 PCI: imx6: Install the fault handler only on compatible match
    0fee5030c094 usb: gadget: udc: renesas_usb3: Fix use after free bug in renesas_usb3_remove due to race condition
    7d2bc728cc8d iio: light: max44009: add missing OF device matching
    ee0e2f7af02a fpga: bridge: fix kernel-doc parameter description
    3fb02404c1e0 usb: host: xhci-rcar: remove leftover quirk handling
    36fb7843f1c3 pstore: Revert pmsg_lock back to a normal mutex
    602fa8af44fd tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp.
    638810f5d020 net: amd: Fix link leak when verifying config failed
    9ef809945edd netlink: Use copy_to_user() for optval in netlink_getsockopt().
    de0ffb5145c9 Revert "Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work"
    27c468ec1af1 ipv4: Fix potential uninit variable access bug in __ip_make_skb()
    3b9960e21e8b netfilter: nf_tables: don't write table validation state without mutex
    64d2c1cfd04f bpf: Don't EFAULT for getsockopt with optval=NULL
    3bf918f90f93 ixgbe: Enable setting RSS table to default values
    053b36c50bdd ixgbe: Allow flow hash to be set via ethtool
    ae23fc2b230a wifi: iwlwifi: mvm: check firmware response size
    ffdfaf27ebf1 wifi: iwlwifi: make the loop for card preparation effective
    3725b35fc0e5 md/raid10: fix memleak of md thread
    fb3f2f2fa0f3 md: update the optimal I/O size on reshape
    b6460f68c1cc md/raid10: fix memleak for 'conf->bio_split'
    8c5d5d7ffd1e md/raid10: fix leak of 'r10bio->remaining' for recovery
    1fee7e391d99 bpf, sockmap: Revert buggy deadlock fix in the sockhash and sockmap
    d5fdcd2384ff nvme-fcloop: fix "inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage"
    b1e6b3fd1104 nvme: fix async event trace event
    eaaa0c6b0540 nvme: handle the persistent internal error AER
    c229821510df bpf, sockmap: fix deadlocks in the sockhash and sockmap
    74d90f92eafe scsi: lpfc: Fix ioremap issues in lpfc_sli4_pci_mem_setup()
    01993768b3e7 crypto: drbg - Only fail when jent is unavailable in FIPS mode
    b21c7e28e801 crypto: drbg - make drbg_prepare_hrng() handle jent instantiation errors
    14efbe2499c1 bpftool: Fix bug for long instructions in program CFG dumps
    3e3533c56cf8 wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_reg()
    03109f1870e2 wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_rfreg()
    e163e64227ad rtlwifi: Replace RT_TRACE with rtl_dbg
    faec6b865468 rtlwifi: Start changing RT_TRACE into rtl_dbg
    7c5e804b6d52 f2fs: handle dqget error in f2fs_transfer_project_quota()
    7a2ae008a53c scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS
    a4245323d272 scsi: target: iscsit: Fix TAS handling during conn cleanup
    8e402d5198b3 net/packet: convert po->auxdata to an atomic flag
    f3ac72c7ab20 net/packet: convert po->origdev to an atomic flag
    4760229b820d net/packet: annotate accesses to po->xmit
    47464e0c658a vlan: partially enable SIOCSHWTSTAMP in container
    8f851a75bbc7 scm: fix MSG_CTRUNC setting condition for SO_PASSSEC
    7160c6940a97 wifi: rtw88: mac: Return the original error from rtw_mac_power_switch()
    743ae09b28ce wifi: rtw88: mac: Return the original error from rtw_pwr_seq_parser()
    72d5edceb2de tools: bpftool: Remove invalid \' json escape
    0d1792c98351 wifi: ath6kl: reduce WARN to dev_dbg() in callback
    8d17563174b0 wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list()
    d98993186607 wifi: ath9k: hif_usb: fix memory leak of remain_skbs
    1286c4ce1f01 wifi: ath6kl: minor fix for allocation size
    a3e7a3d472c2 tick/common: Align tick period with the HZ tick.
    04be737176e6 tick: Get rid of tick_period
    3df29117d8a6 tick/sched: Optimize tick_do_update_jiffies64() further
    b6fe34d93655 tick/sched: Reduce seqcount held scope in tick_do_update_jiffies64()
    746eac77e008 tick/sched: Use tick_next_period for lockless quick check
    a23607579f12 timekeeping: Split jiffies seqlock
    22d7ec50ffdd debugobject: Prevent init race with static objects
    a687da500464 arm64: kgdb: Set PSTATE.SS to 1 to re-enable single-step
    442470948c04 x86/ioapic: Don't return 0 from arch_dynirq_lower_bound()
    824683dbec23 regulator: stm32-pwr: fix of_iomap leak
    53adb408b170 media: rc: gpio-ir-recv: Fix support for wake-up
    9df630dafa1a media: rcar_fdp1: Fix refcount leak in probe and remove function
    6fd6e2f29c18 media: rcar_fdp1: Fix the correct variable assignments
    75b55a3cbb4a media: rcar_fdp1: Make use of the helper function devm_platform_ioremap_resource()
    03d234459259 media: rcar_fdp1: fix pm_runtime_get_sync() usage count
    aebe8e43d85e media: rcar_fdp1: simplify error check logic at fdp_open()
    a4b6ab360f56 media: saa7134: fix use after free bug in saa7134_finidev due to race condition
    cd1583caed7e media: dm1105: Fix use after free bug in dm1105_remove due to race condition
    0c61a6897c47 x86/apic: Fix atomic update of offset in reserve_eilvt_offset()
    5224ea575196 regulator: core: Avoid lockdep reports when resolving supplies
    73b262115f5f regulator: core: Consistently set mutex_owner when using ww_mutex_lock_slow()
    9b53238b3be2 drm/lima/lima_drv: Add missing unwind goto in lima_pdev_probe()
    0a6d476d9c9d mmc: sdhci-of-esdhc: fix quirk to ignore command inhibit for data
    f79421c36070 drm/msm/adreno: drop bogus pm_runtime_set_active()
    438d00b18d55 drm/msm/adreno: Defer enabling runpm until hw_init()
    594726c93841 drm/msm: fix unbalanced pm_runtime_enable in adreno_gpu_{init, cleanup}
    37c8085cf9c0 firmware: qcom_scm: Clear download bit during reboot
    620b983589e0 media: av7110: prevent underflow in write_ts_to_decoder()
    1205c52cf270 media: uapi: add MEDIA_BUS_FMT_METADATA_FIXED media bus format.
    c6a315f0b140 media: bdisp: Add missing check for create_workqueue
    1a057b68952d ARM: dts: qcom: ipq8064: Fix the PCI I/O port range
    699bf5a793ca ARM: dts: qcom: ipq8064: reduce pci IO size to 64K
    1d207fcdf670 ARM: dts: qcom: ipq4019: Fix the PCI I/O port range
    e0162c92973b EDAC/skx: Fix overflows on the DRAM row address mapping arrays
    acb6f45775bb arm64: dts: renesas: r8a774c0: Remove bogus voltages from OPP table
    0524eb688297 arm64: dts: renesas: r8a77990: Remove bogus voltages from OPP table
    a535b5d4a2c3 drm/probe-helper: Cancel previous job before starting new one
    4223f98d4d45 drm/vgem: add missing mutex_destroy
    8747cd580b59 drm/rockchip: Drop unbalanced obj unref
    9773c58594ff erofs: fix potential overflow calculating xattr_isize
    880c79bdb002 erofs: stop parsing non-compact HEAD index if clusterofs is invalid
    e998107daad2 tpm, tpm_tis: Do not skip reset of original interrupt vector
    1c131a32a9b5 selinux: ensure av_permissions.h is built when needed
    11458692ebd2 selinux: fix Makefile dependencies of flask.h
    823f554747f8 ubifs: Free memory for tmpfile name
    d3f1b113a503 ubi: Fix return value overwrite issue in try_write_vid_and_data()
    6f2eee5457bc ubifs: Fix memleak when insert_old_idx() failed
    2c2a76b7c4b5 Revert "ubifs: dirty_cow_znode: Fix memleak in error handling path"
    5d1f14beabab i2c: omap: Fix standard mode false ACK readings
    d482617fa662 KVM: nVMX: Emulate NOPs in L2, and PAUSE if it's not intercepted
    67d33b8c5696 reiserfs: Add security prefix to xattr name in reiserfs_security_write()
    2399b1fda025 ring-buffer: Sync IRQ works before buffer destruction
    a7fa8c9dc851 pwm: meson: Fix g12a ao clk81 name
    a3e0d3430f33 pwm: meson: Fix axg ao mux parents
    719459877d58 kheaders: Use array declaration instead of char
    4ec3be7003b6 ipmi: fix SSIF not responding under certain cond.
    bead854bcca2 ipmi:ssif: Add send_retries increment
    0f91290774c7 MIPS: fw: Allow firmware to pass a empty env
    3092933b2637 xhci: fix debugfs register accesses while suspended
    3c5a28658d12 debugfs: regset32: Add Runtime PM support
    2298b30010fd staging: iio: resolver: ads1210: fix config mode
    fbd11f086bf1 perf sched: Cast PTHREAD_STACK_MIN to int as it may turn into sysconf(__SC_THREAD_STACK_MIN_VALUE)
    6525d2fd6f83 USB: dwc3: fix runtime pm imbalance on unbind
    2d5844aa6e56 USB: dwc3: fix runtime pm imbalance on probe errors
    0804f3715c09 asm-generic/io.h: suppress endianness warnings for readq() and writeq()
    944ff47a19f2 ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750
    f00e4bfd7f08 iio: adc: palmas_gpadc: fix NULL dereference on rmmod
    85ed09c33021 USB: serial: option: add UNISOC vendor and TOZED LT70C product
    48cdcb40d589 bluetooth: Perform careful capability checks in hci_sock_ioctl()
    c8258fc827c8 drm/fb-helper: set x/yres_virtual in drm_fb_helper_check_var
    425eea395f1f wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies()
    3b7509b6f5e2 counter: 104-quad-8: Fix race condition between FLAG and CNTR reads

(From OE-Core rev: 1bef1a4cb24e49d23e4d84e05174e0ec1ec7cbe1)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-13 04:00:11 -10:00
Bruce Ashfield
19054d7f1b linux-yocto/5.4: update to v5.4.242
Updating  to the latest korg -stable release that comprises
the following commits:

    ea7862c507ec Linux 5.4.242
    d54a9f999ea7 ASN.1: Fix check for strdup() success
    2500d7edebfb iio: adc: at91-sama5d2_adc: fix an error code in at91_adc_allocate_trigger()
    760c2e6dee32 pwm: meson: Explicitly set .polarity in .get_state()
    7f2b8046da83 xfs: fix forkoff miscalculation related to XFS_LITINO(mp)
    c27a6bb1788f sctp: Call inet6_destroy_sock() via sk->sk_destruct().
    97ce6cde1f51 dccp: Call inet6_destroy_sock() via sk->sk_destruct().
    a01b75620e1a inet6: Remove inet6_destroy_sock() in sk->sk_prot->destroy().
    9374db5bd1e3 tcp/udp: Call inet6_destroy_sock() in IPv6 sk->sk_destruct().
    2ac4697b7779 udp: Call inet6_destroy_sock() in setsockopt(IPV6_ADDRFORM).
    5a62248c5855 ext4: fix use-after-free in ext4_xattr_set_entry
    3b0044cb28f7 ext4: remove duplicate definition of ext4_xattr_ibody_inline_set()
    3c4fdbf368ba Revert "ext4: fix use-after-free in ext4_xattr_set_entry"
    ef2aab86c34c x86/purgatory: Don't generate debug info for purgatory.ro
    c22aefaef8ae MIPS: Define RUNTIME_DISCARD_EXIT in LD script
    a5167e902b64 mmc: sdhci_am654: Set HIGH_SPEED_ENA for SDR12 and SDR25
    1b8b54fc55a4 memstick: fix memory leak if card device is never registered
    5ad61a5268de nilfs2: initialize unused bytes in segment summary blocks
    988766b9d124 iio: light: tsl2772: fix reading proximity-diodes from device tree
    5cb867f1ecb4 xen/netback: use same error messages for same errors
    903f82b1a6b2 nvme-tcp: fix a possible UAF when failing to allocate an io queue
    34b74c32ff4f s390/ptrace: fix PTRACE_GET_LAST_BREAK error handling
    64cd99da25c1 net: dsa: b53: mmap: add phy ops
    89dcf0dd7aae scsi: core: Improve scsi_vpd_inquiry() checks
    f729b74bb489 scsi: megaraid_sas: Fix fw_crash_buffer_show()
    4f4ef354f95d selftests: sigaltstack: fix -Wuninitialized
    a725dddf2139 Input: i8042 - add quirk for Fujitsu Lifebook A574/H
    9df3f502e33d f2fs: Fix f2fs_truncate_partial_nodes ftrace event
    2f3730f182fc e1000e: Disable TSO on i219-LM card to increase speed
    0f0a291cc520 bpf: Fix incorrect verifier pruning due to missing register precision taints
    ba610df83b04 mlxfw: fix null-ptr-deref in mlxfw_mfa2_tlv_next()
    d8e120057cee i40e: fix i40e_setup_misc_vector() error handling
    59fba01b6c72 i40e: fix accessing vsi->active_filters without holding lock
    01125379e2dc netfilter: nf_tables: fix ifdef to also consider nf_tables=m
    7c1019391bd6 virtio_net: bugfix overflow inside xdp_linearize_page()
    35dceaeab97c net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg
    d61f24a45410 regulator: fan53555: Explicitly include bits header
    36f098e1e4d1 netfilter: br_netfilter: fix recent physdev match breakage
    375e445b1022 arm64: dts: meson-g12-common: specify full DMC range
    cb1f89fe934b ARM: dts: rockchip: fix a typo error for rk3288 spdif node

(From OE-Core rev: 012c751c14ad5cdd2ac8c868bf6e9a6ea4011789)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-13 04:00:11 -10:00
Bruce Ashfield
6b21362c83 linux-yocto/5.4: update to v5.4.241
Updating  to the latest korg -stable release that comprises
the following commits:

    58f42ed1cd31 Linux 5.4.241
    879593643717 xfs: force log and push AIL to clear pinned inodes when aborting mount
    c76dd368759a xfs: don't reuse busy extents on extent trim
    4679b73a8ed4 xfs: consider shutdown in bmapbt cursor delete assert
    9355fd118b4e xfs: shut down the filesystem if we screw up quota reservation
    48f75df5b3bb xfs: report corruption only as a regular error
    3cce34ceb2ef xfs: set inode size after creating symlink
    e76bd6da5123 xfs: fix up non-directory creation in SGID directories
    ad6613c98463 xfs: remove the di_version field from struct icdinode
    ca4533c951e1 xfs: simplify a check in xfs_ioctl_setattr_check_cowextsize
    e078b3de3e41 xfs: simplify di_flags2 inheritance in xfs_ialloc
    0c553917b61a xfs: only check the superblock version for dinode size calculation
    90aab52d062c xfs: add a new xfs_sb_version_has_v3inode helper
    edd36a57b4a6 xfs: remove the kuid/kgid conversion wrappers
    3ef81874f71c xfs: remove the icdinode di_uid/di_gid members
    cc508a41ae48 xfs: ensure that the inode uid/gid match values match the icdinode ones
    7a9dc7977140 xfs: merge the projid fields in struct xfs_icdinode
    4f3252e7e132 xfs: show the proper user quota options
    799cafa4f304 coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug
    440bdc49f744 watchdog: sbsa_wdog: Make sure the timeout programming is within the limits
    70ca826d3ddb i2c: ocores: generate stop condition after timeout in polling mode
    5fb5bdcdcd5a ubi: Fix deadlock caused by recursively holding work_sem
    0b27716f2d44 mtd: ubi: wl: Fix a couple of kernel-doc issues
    e55588c44255 ubi: Fix failure attaching when vid_hdr offset equals to (sub)page size
    a652c30fa2ba asymmetric_keys: log on fatal failures in PE/pkcs7
    5809dbacc431 verify_pefile: relax wrapper length check
    0213f027d030 drm: panel-orientation-quirks: Add quirk for Lenovo Yoga Book X90F
    b3052e5d468b efi: sysfb_efi: Add quirk for Lenovo Yoga Book X91F/L
    02a78e653933 i2c: imx-lpi2c: clean rx/tx buffers upon new message
    1ef56397449e power: supply: cros_usbpd: reclassify "default case!" as debug
    7169d1638824 net: macb: fix a memory corruption in extended buffer descriptor mode
    c39fa0398a30 udp6: fix potential access to stale information
    9c46c49ad3ff RDMA/core: Fix GID entry ref leak when create_ah fails
    ad831a7079c9 sctp: fix a potential overflow in sctp_ifwdtsn_skip
    afffe0d1e6b9 qlcnic: check pci_reset_function result
    a841f6a0a39d niu: Fix missing unwind goto in niu_alloc_channels()
    fcd084e199b9 9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race condition
    1b77cb6f5e4a mtd: rawnand: stm32_fmc2: remove unsupported EDO mode
    4c1d882b53a3 mtd: rawnand: meson: fix bitmask for length in command word
    266746003439 mtdblock: tolerate corrected bit-flips
    50dbfd9dacda btrfs: fix fast csum implementation detection
    c6db5f2a31cd btrfs: print checksum type and implementation at mount time
    8a99e6200c38 Bluetooth: Fix race condition in hidp_session_thread
    c02421992505 Bluetooth: L2CAP: Fix use-after-free in l2cap_disconnect_{req,rsp}
    9025cea8e03b ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* motherboards
    4d419195d6b8 ALSA: firewire-tascam: add missing unwind goto in snd_tscm_stream_start_duplex()
    fe158eeccc38 ALSA: i2c/cs8427: fix iec958 mixer control deactivation
    aa23fa32e5ff ALSA: hda/sigmatel: add pin overrides for Intel DP45SG motherboard
    62ccf2e0b106 ALSA: emu10k1: fix capture interrupt handler unlinking
    9a3ba7b24d08 Revert "pinctrl: amd: Disable and mask interrupts on resume"
    2945f948aa84 irqdomain: Fix mapping-creation race
    e8f3aea716d2 irqdomain: Refactor __irq_domain_alloc_irqs()
    3804f265c1bf irqdomain: Look for existing mapping only once
    e7bba7ddb431 mm/swap: fix swap_info_struct race between swapoff and get_swap_pages()
    fd644712bccd ring-buffer: Fix race while reader and writer are on the same page
    c208b4321e8f drm/panfrost: Fix the panfrost_mmu_map_fault_addr() error path
    c381527918b1 net_sched: prevent NULL dereference if default qdisc setup failed
    987f599fc556 tracing: Free error logs of tracing instances
    d2136f05690c can: j1939: j1939_tp_tx_dat_new(): fix out-of-bounds memory access
    5a74a75fc3d3 ftrace: Mark get_lock_parent_ip() __always_inline
    95bbfeb4ff0e perf/core: Fix the same task check in perf_event_set_output
    666c25d35e5e ALSA: hda/realtek: Add quirk for Clevo X370SNW
    83b16a60e413 nilfs2: fix sysfs interface lifetime
    613bf23c070d nilfs2: fix potential UAF of struct nilfs_sc_info in nilfs_segctor_thread()
    aa8e50688d44 tty: serial: fsl_lpuart: avoid checking for transfer complete when UARTCTRL_SBK is asserted in lpuart32_tx_empty
    aabba4440409 tty: serial: sh-sci: Fix Rx on RZ/G2L SCI
    209ab5c234c5 tty: serial: sh-sci: Fix transmit end interrupt handler
    9a2a6443d655 iio: dac: cio-dac: Fix max DAC write value check for 12-bit
    e469ebb28dbe iio: adc: ti-ads7950: Set `can_sleep` flag for GPIO chip
    abc5b4f8cdff USB: serial: option: add Quectel RM500U-CN modem
    b9c11537efcf USB: serial: option: add Telit FE990 compositions
    38c00a22d67b usb: typec: altmodes/displayport: Fix configure initial pin assignment
    f417d3fea3de USB: serial: cp210x: add Silicon Labs IFS-USB-DATACABLE IDs
    47132be17d7b xhci: also avoid the XHCI_ZERO_64B_REGS quirk with a passthrough iommu
    5fccf2c546ed NFSD: callback request does not use correct credential for AUTH_SYS
    3686380d9d60 sunrpc: only free unix grouplist after RCU settles
    1627119153d9 gpio: davinci: Add irq chip flag to skip set wake
    0cf600ca1bdf ipv6: Fix an uninit variable access bug in __ip6_make_skb()
    0443fff49d63 sctp: check send stream number after wait_for_sndbuf
    93f3885211ae net: don't let netpoll invoke NAPI if in xmit context
    0d2fa30078af icmp: guard against too small mtu
    a3593082e0da wifi: mac80211: fix invalid drv_sta_pre_rcu_remove calls for non-uploaded sta
    4220f83b9f03 pwm: sprd: Explicitly set .polarity in .get_state()
    6e1f29397dea pwm: cros-ec: Explicitly set .polarity in .get_state()
    dbd764e9d422 pinctrl: amd: Disable and mask interrupts on resume
    dd7e19f97f71 pinctrl: amd: disable and mask interrupts on probe
    3f3e4bd3f0cc pinctrl: amd: Use irqchip template
    387236b9e002 smb3: fix problem with null cifs super block with previous patch
    2e64d7b182c6 treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD()
    199197660bdd Revert "treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD()"
    522af69af24f cgroup/cpuset: Wake up cpuset_attach_wq tasks in cpuset_cancel_attach()
    4311ae04b386 x86/PCI: Add quirk for AMD XHCI controller that loses MSI-X state in D3hot
    110d425cdfb1 scsi: ses: Handle enclosure with just a primary component gracefully

(From OE-Core rev: 41eacaf738d753632fb17031e58dc898f2290a61)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-13 04:00:11 -10:00
Bruce Ashfield
aa9597253b linux-yocto/5.4: update to v5.4.240
Updating  to the latest korg -stable release that comprises
the following commits:

    32bea3bac5ca Linux 5.4.240
    4d4cb7663613 gfs2: Always check inode size of inline inodes
    928240c36891 firmware: arm_scmi: Fix device node validation for mailbox transport
    0f5c0e0a4c0b net: sched: fix race condition in qdisc_graft()
    22d95b544924 net_sched: add __rcu annotation to netdev->qdisc
    14b6ad56df25 ext4: fix kernel BUG in 'ext4_write_inline_data_end()'
    9b189af3577e btrfs: scan device in non-exclusive mode
    45a9877d6cc3 s390/uaccess: add missing earlyclobber annotations to __clear_user()
    0c6df5364798 drm/etnaviv: fix reference leak when mmaping imported buffer
    37958ac31fe2 ALSA: usb-audio: Fix regression on detection of Roland VS-100
    6dabafd82968 ALSA: hda/conexant: Partial revert of a quirk for Lenovo
    f3a67268784c NFSv4: Fix hangs when recovering open state after a server reboot
    c81e2965a9e0 pinctrl: at91-pio4: fix domain name assignment
    82c25ac3a258 xen/netback: don't do grant copy across page boundary
    99c8ba920fc2 Input: goodix - add Lenovo Yoga Book X90F to nine_bytes_report DMI table
    657d7c215ca9 cifs: fix DFS traversal oops without CONFIG_CIFS_DFS_UPCALL
    03af69bd674d cifs: prevent infinite recursion in CIFSGetDFSRefer()
    51d657371106 Input: focaltech - use explicitly signed char type
    f0f85f5e402b Input: alps - fix compatibility with -funsigned-char
    7e71d4d190df pinctrl: ocelot: Fix alt mode for ocelot
    70728d639efb net: mvneta: make tx buffer array agnostic
    704e06b97920 net: dsa: mv88e6xxx: Enable IGMP snooping on user ports only
    fd7cff506614 bnxt_en: Fix typo in PCI id to device description string mapping
    58279cea0b10 i40e: fix registers dump after run ethtool adapter self test
    5195de1d5f66 s390/vfio-ap: fix memory leak in vfio_ap device driver
    78bc7f0ab994 can: bcm: bcm_tx_setup(): fix KMSAN uninit-value in vfs_write
    105cc2683282 net/net_failover: fix txq exceeding warning
    e633fd26abfd regulator: Handle deferred clk
    be7b622cd63f regulator: fix spelling mistake "Cant" -> "Can't"
    46c4993a1514 ptp_qoriq: fix memory leak in probe()
    c122daa0fa4c scsi: megaraid_sas: Fix crash after a double completion
    317c07d382b1 mtd: rawnand: meson: invalidate cache on polling ECC bit
    d65de5ee8b72 mips: bmips: BCM6358: disable RAC flush for TP1
    9690e34f2247 dma-mapping: drop the dev argument to arch_sync_dma_for_*
    f6e2d76aa362 ca8210: Fix unsigned mac_len comparison with zero in ca8210_skb_tx()
    856fb74f601a fbdev: au1200fb: Fix potential divide by zero
    deef33c08104 fbdev: lxfb: Fix potential divide by zero
    4f5cc5ffa8c5 fbdev: intelfb: Fix potential divide by zero
    868f247e47ef fbdev: nvidia: Fix potential divide by zero
    f3359f5fc9b7 sched_getaffinity: don't assume 'cpumask_size()' is fully initialized
    521877bf2651 fbdev: tgafb: Fix potential divide by zero
    7f12f99b8017 ALSA: hda/ca0132: fixup buffer overrun at tuning_ctl_set()
    9155a5958ed0 ALSA: asihpi: check pao in control_message()
    88a3c63a9635 md: avoid signed overflow in slot_store()
    9966fc59d3a0 bus: imx-weim: fix branch condition evaluates to a garbage value
    d121f7883a17 fsverity: don't drop pagecache at end of FS_IOC_ENABLE_VERITY
    4c24eb49ab44 ocfs2: fix data corruption after failed write
    0c0e566f0387 tun: avoid double free in tun_free_netdev
    d253120a580a sched/fair: Sanitize vruntime of entity being migrated
    c23928c70bc8 sched/fair: sanitize vruntime of entity being placed
    885c28ceae7d dm crypt: add cond_resched() to dmcrypt_write()
    4a32a9a818a8 dm stats: check for and propagate alloc_percpu failure
    f8cbad984b16 i2c: xgene-slimpro: Fix out-of-bounds bug in xgene_slimpro_i2c_xfer()
    8f5cbf6a8c0e nilfs2: fix kernel-infoleak in nilfs_ioctl_wrap_copy()
    4ae966a7f6a7 wifi: mac80211: fix qos on mesh interfaces
    f558789a886c usb: chipidea: core: fix possible concurrent when switch role
    6b3287b14739 usb: chipdea: core: fix return -EINVAL if request role is the same with current role
    0b2a56fe4659 usb: cdns3: Fix issue with using incorrect PCI device function
    e9e93fdfcefb dm thin: fix deadlock when swapping to thin device
    cd1e320ac095 igb: revert rtnl_lock() that causes deadlock
    123698a5c619 fsverity: Remove WQ_UNBOUND from fsverity read workqueue
    0eda2004f38d usb: gadget: u_audio: don't let userspace block driver unbind
    44f080d7d75a scsi: core: Add BLIST_SKIP_VPD_PAGES for SKhynix H28U74301AMR
    223274d5c310 cifs: empty interface list when server doesn't support query interfaces
    299a309b98df sh: sanitize the flags on sigreturn
    f4c610f6ca13 net: usb: qmi_wwan: add Telit 0x1080 composition
    e6b1fa6d0626 net: usb: cdc_mbim: avoid altsetting toggling for Telit FE990
    04f4a1aa9410 scsi: lpfc: Avoid usage of list iterator variable after loop
    11cdced6a03d scsi: ufs: core: Add soft dependency on governor_simpleondemand
    54ec697e3ca8 scsi: target: iscsi: Fix an error message in iscsi_check_key()
    97115221912c selftests/bpf: check that modifier resolves after pointer
    2100e374251a m68k: Only force 030 bus error if PC not in exception table
    d2b3bd0d4cad ca8210: fix mac_len negative array access
    9e7723b684c0 riscv: Bump COMMAND_LINE_SIZE value to 1024
    32518cd0fcc0 thunderbolt: Use const qualifier for `ring_interrupt_index`
    b40fe2e1f91b uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS583Gen 2
    9189f20b4c53 scsi: qla2xxx: Perform lockless command completion in abort path
    da0383f0e86c hwmon (it87): Fix voltage scaling for chips with 10.9mV ADCs
    13493ad6a220 platform/chrome: cros_ec_chardev: fix kernel data leak from ioctl
    a18fb433ceb5 Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work
    b517808795d3 Bluetooth: btqcomsmd: Fix command timeout after setting BD address
    dcd4d3646221 net: mdio: thunder: Add missing fwnode_handle_put()
    707335918f73 hvc/xen: prevent concurrent accesses to the shared ring
    83e442eba39b nvme-tcp: fix nvme_tcp_term_pdu to match spec
    d673ae18406e net/sonic: use dma_mapping_error() for error check
    b72f453e886a erspan: do not use skb_mac_header() in ndo_start_xmit()
    82e07cc5a6ca atm: idt77252: fix kmemleak when rmmod idt77252
    fd6f643dea07 net/mlx5: Read the TC mapping of all priorities on ETS query
    d69c2ded95b1 bpf: Adjust insufficient default bpf_jit_limit
    97674f4cd05e keys: Do not cache key in task struct if key is requested from kernel thread
    f8ee2c8b0d0c net/ps3_gelic_net: Use dma_mapping_error
    6d7e18b1d00a net/ps3_gelic_net: Fix RX sk_buff length
    0e5c7d00ec4f net: qcom/emac: Fix use after free bug in emac_remove due to race condition
    a07ec453e86a xirc2ps_cs: Fix use after free bug in xirc2ps_detach
    42d72c6d1edc qed/qed_sriov: guard against NULL derefs from qed_iov_get_vf_info
    f2111c791d88 net: usb: smsc95xx: Limit packet length to skb->len
    5c4d71424df3 scsi: scsi_dh_alua: Fix memleak for 'qdata' in alua_activate()
    283fdc5cfbeb i2c: imx-lpi2c: check only for enabled interrupt flags
    90116b8289fd igbvf: Regard vf reset nack as success
    584771762c3e intel/igbvf: free irq on the error path in igbvf_request_msix()
    6999f854184e iavf: fix non-tunneled IPv6 UDP packet type and hashing
    4e752d2baea3 iavf: fix inverted Rx hash condition leading to disabled hash
    6fe078c2864b power: supply: da9150: Fix use after free bug in da9150_charger_remove due to race condition
    754838aa0205 net: tls: fix possible race condition between do_tls_getsockopt_conf() and do_tls_setsockopt_conf()
    09b1a76e7879 Linux 5.4.239
    f0c95f229a67 selftests: Fix the executable permissions for fib_tests.sh

(From OE-Core rev: ff5d1f37b8a1bc7f51e95e5114890ee5185ff335)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-13 04:00:11 -10:00
Bruce Ashfield
c8d13f159e linux-yocto/5.4: update to v5.4.238
Updating  to the latest korg -stable release that comprises
the following commits:

    6849d8c4a61a Linux 5.4.238
    eb7716a054a6 HID: uhid: Over-ride the default maximum data buffer value with our own
    b687ac70e66a HID: core: Provide new max_buffer_size attribute to over-ride the default
    144019e81396 PCI: Unify delay handling for reset and resume
    d2130f37a4a0 s390/ipl: add missing intersection check to ipl_report handling
    3f5a833dca66 serial: 8250_em: Fix UART port type
    c5afb97d1b51 drm/i915: Don't use stolen memory for ring buffers with LLC
    8d26a4fecce5 x86/mm: Fix use of uninitialized buffer in sme_enable()
    a976ff743eb1 fbdev: stifb: Provide valid pixelclock and add fb_check_var() checks
    ac58b88ccbbb ftrace: Fix invalid address access in lookup_rec() when index is 0
    65e4c9a6d0c9 KVM: nVMX: add missing consistency checks for CR0 and CR4
    6fe55dce9dd6 tracing: Make tracepoint lockdep check actually test something
    780f69a2685b tracing: Check field value in hist_field_name()
    f1e3a20c6019 interconnect: fix mem leak when freeing nodes
    325608ab60fa tty: serial: fsl_lpuart: skip waiting for transmission complete when UARTCTRL_SBK is asserted
    c16cbd8233d6 ext4: fix possible double unlock when moving a directory
    6a1bd14d5e34 sh: intc: Avoid spurious sizeof-pointer-div warning
    bbf5eada4334 drm/amdkfd: Fix an illegal memory access
    2c96c52aeaa6 ext4: fix task hung in ext4_xattr_delete_inode
    20ba6f8a8073 ext4: fail ext4_iget if special inode unallocated
    ab519e29891d jffs2: correct logic when creating a hole in jffs2_write_begin
    00bfc67c65a1 mmc: atmel-mci: fix race between stop command and start of next command
    75f6faae2de6 media: m5mols: fix off-by-one loop termination error
    9eb394919c97 hwmon: (ina3221) return prober error code
    26c176ce9028 hwmon: (xgene) Fix use after free bug in xgene_hwmon_remove due to race condition
    13efd488d398 hwmon: (adt7475) Fix masking of hysteresis registers
    0d3095e958f0 hwmon: (adt7475) Display smoothing attributes in correct order
    674fce59d61d ethernet: sun: add check for the mdesc_grab()
    71da5991b643 net/iucv: Fix size of interrupt data
    e0d07a3203c3 net: usb: smsc75xx: Move packet length check to prevent kernel panic in skb_pull
    5c06bd3de134 ipv4: Fix incorrect table ID in IOCTL path
    c4fcfbf80c3c block: sunvdc: add check for mdesc_grab() returning NULL
    04c394208831 nvmet: avoid potential UAF in nvmet_req_complete()
    9fabdd79051a net: usb: smsc75xx: Limit packet length to skb->len
    b0c202a8dc63 nfc: st-nci: Fix use after free bug in ndlc_remove due to race condition
    668de67d4110 net: phy: smsc: bail out in lan87xx_read_status if genphy_read_status fails
    5aaab217c8f5 net: tunnels: annotate lockless accesses to dev->needed_headroom
    cba20ade78ef qed/qed_dev: guard against a possible division by zero
    6e18f66b704b i40e: Fix kernel crash during reboot when adapter is in recovery mode
    f0216046aeb8 ipvlan: Make skb->skb_iif track skb->dev for l3s mode
    0f9c1f26d434 nfc: pn533: initialize struct pn533_out_arg properly
    442aa78ed701 tcp: tcp_make_synack() can be called from process context
    88c3d3bb6469 scsi: core: Fix a procfs host directory removal regression
    4b4f5e34f08b scsi: core: Fix a comment in function scsi_host_dev_release()
    0d59732f2a5b netfilter: nft_redir: correct value of inet type `.maxattrs`
    90279211e96b ALSA: hda: Match only Intel devices with CONTROLLER_IN_GPU()
    0b7057c52377 ALSA: hda: Add Intel DG2 PCI ID and HDMI codec vid
    5bb9fcaadb8c ALSA: hda: Add Alderlake-S PCI ID and HDMI codec vid
    9efbdc743ded ALSA: hda - controller is in GPU on the DG1
    fc52e51c2c30 ALSA: hda - add Intel DG1 PCI and HDMI ids
    090305c36185 scsi: mpt3sas: Fix NULL pointer access in mpt3sas_transport_port_add()
    b8849e31a056 docs: Correct missing "d_" prefix for dentry_operations member d_weak_revalidate
    9e45e4571576 clk: HI655X: select REGMAP instead of depending on it
    dac08e46f0ad drm/meson: fix 1px pink line on GXM when scaling video overlay
    d7e48aa17a81 cifs: Move the in_send statistic to __smb_send_rqst()
    06c208002d0d drm/panfrost: Don't sync rpm suspension after mmu flushing
    c9900d1d86f0 xfrm: Allow transport-mode states with AF_UNSPEC selector
    4008fb9ad474 ext4: fix cgroup writeback accounting with fs-layer encryption

(From OE-Core rev: 175d05d717b972d9b6bf36f170bc6cfa69b57dce)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-13 04:00:11 -10:00
Vijay Anusuri
311a1d5935 go: Security fix CVE-2023-24540
Upstream-Status: Backport [ce7bd33345]

(From OE-Core rev: e569586ac9095d344967c5b9c4bfb07f70948936)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-13 04:00:11 -10:00
Ashish Sharma
7a5aa92590 golang: Fix CVE-2023-24539
Improper sanitization of CSS values in html/template

(From OE-Core rev: 737333d41d245154eb4b26ec8db79a2f9823c873)

Signed-off-by: Ashish Sharma <asharma@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-13 04:00:11 -10:00
Vijay Anusuri
09a8d85815 xserver-xorg: Security fix CVE-2023-0494 and CVE-2023-1393
Upstream-Status: Backport
[0ba6d8c370
&
26ef545b35]

(From OE-Core rev: 0a29894da0b41f8494f72ded25916887b4a5c729)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-13 04:00:11 -10:00
Vijay Anusuri
34d7cb536a ghostscript: Fix CVE-2023-28879
Upstream-Status: Backport [https://git.ghostscript.com/?p=ghostpdl.git;h=37ed5022cecd584de868933b5b60da2e995b3179]

(From OE-Core rev: ec0c6f941826903b763be76c450f1d4e0e67908e)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-13 04:00:11 -10:00
Nikhil R
f51b7f407d ffmpeg: Fix CVE-2022-48434
Add a patch to fix CVE-2022-48434 which allows attackers to trigger a
use-after-free and execute arbitrary code in some circumstances

Link: https://ubuntu.com/security/CVE-2022-48434
Link: https://nvd.nist.gov/vuln/detail/CVE-2022-48434

(From OE-Core rev: 51c8ffc49d03b231ce76fa00f923e5f3f833f6fc)

Signed-off-by: Nikhil R <nikhilar2410@gmail.com>
Signed-off-by: Ranjitsinh Rathod ranjitsinh.rathod@kpit.com
Signed-off-by: Nikhil R <nikhilar2410@gmail.com>
Signed-off-by: Nikhil R <nikhilar2410@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-13 04:00:10 -10:00
Steve Sakoman
cd4656d9b2 selftest: skip virgl test on ubuntu 22.10, fedora 37, and all rocky
This test will fail any time the host has libdrm > 2.4.107

(From OE-Core rev: e4b98a42970574296e0da06842691b9fc1ffc9a1)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-25 05:49:26 -10:00
Thomas Roos
602a3ebec7 oeqa/utils/metadata.py: Fix running oe-selftest running with no distro set
This will use default values when no distribution is set.

[YOCTO #15086]

(From OE-Core rev: 1a28c6cfe0e6c4b44d01778f8034231040c6d4ad)

Signed-off-by: Thomas Roos <throos@amazon.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
(cherry picked from commit 888fe63b46efceeff08dbe8c4f66fec33d06cb7a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-25 05:49:26 -10:00
Martin Jansa
7edbc14f1a populate_sdk_ext.bbclass: set METADATA_REVISION with an DISTRO override
* otherwise it ends '<unknown>' inside esdk, because of parsing order:
  # $METADATA_REVISION [3 operations]
  #   set /OE/build/test-D/conf/local.conf:43
  #     "f2da54ef432eac89b0f18eaad68e602b6990b5de"
  #   immediate /OE/build/test-D/layers/poky/meta/classes/metadata_scm.bbclass:9
  #     "${@oe.buildcfg.detect_revision(d)}"
  #   set /OE/build/test-D/layers/poky/meta/classes/metadata_scm.bbclass:10
  #     [vardepvalue] "${METADATA_REVISION}"
  # pre-expansion value:
  #   "<unknown>"
  METADATA_REVISION="<unknown>"

* This causes base-files.do_install and following tasks to have different
  signatures between esdk and the build directory where this esdk was created:

  bitbake-diffsigs {test-D,poky/build-uninative-disabled}/tmp/stamps/qemux86_64-poky-linux/base-files/*do_install*sigdata*
  NOTE: Starting bitbake server...
  basehash changed from 5b6981cf58bfd57d416b0e31611b73a26baae635dd1ac31c08d46f95064c3ffc to dbdce042da4d7813d632b6d1cc87a16f728ad20e55fecbc392830e6acf72babd
  Variable METADATA_REVISION value changed from '<unknown>' to 'f2da54ef432eac89b0f18eaad68e602b6990b5de'

  and an warning from "python3 /OE/build/test-D/ext-sdk-prepare.py" when eSDK is being prepared for use:
  WARNING: The base-files:do_install sig is computed to be 83b9c9a6ef1145baac5a1e0d08814b9156af239c58fc42df95c25a9cd8a7f201,
    but the sig is locked to 3dc22233059075978e5503691e98e79e7cc60db94259dfcd886bca2291c0add7 in SIGGEN_LOCKEDSIGS_t-qemux86-64

[RP: Add commit about why we need the override for future reference]
(From OE-Core rev: 8f0e2e505d11697d0a1280b0a77a3fe8d72a4d49)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
(cherry picked from commit 675ea7281c17f77bf5dea17cfd4d9da0928382a0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-25 05:49:26 -10:00
Randolph Sapp
b2cec0246c wic/bootimg-efi: if fixed-size is set then use that for mkdosfs
This is a bit of a compatibility issue more than anything. Some devices
get upset if the FAT file system contains less blocks than the
partition.

The fixed-size argument is currently respected by the partition creation
step but not by the file system creation step. Let's make it so the file
system respects this value as well.

(From OE-Core rev: 2126242c19b0c3dea12c605da8b24b08a9cb803f)

Signed-off-by: Randolph Sapp <rs@ti.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit d16301ccdfb97bf126738262eec594008c282df1)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-25 05:49:26 -10:00
Khem Raj
2aeb276dd5 perf: Depend on native setuptools3
perf has need for python setuptools when scripting is enabled
from 6.0.0 onwards it seems to throw an explicit error

(From OE-Core rev: cfdaa6afaca28dd91c9738a97bb21eab5dae2817)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit da3d00178809bbf7cc453401e0c5937796ebc2c1)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-25 05:49:26 -10:00
Marek Vasut
37a03beb6d cpio: Fix wrong CRC with ASCII CRC for large files
Due to signedness, the checksum is not computed when filesize is bigger
a 2GB. Pick a fix for this problem from CPIO ML, where the fix has been
posted for 5 years. Since CPIO upstream is effectively unresponsive and
any and all attempts to communicate with the maintainer and get the fix
applied upstream failed, add the fix here instead.

(From OE-Core rev: bfff138af4bdd356ac66571e6ad91c1a5599b935)

(From OE-Core rev: 0a8fb1c00e75e8434e0ef433d9074d54f038fba1)

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-25 05:49:26 -10:00
Dmitry Baryshkov
f8902083fd linux-firmware: upgrade 20230210 -> 20230404
The LICENCE.qat_firmware license file was updated to reflect Intel
licensing (it removed a term regarding patent licenses).

License-Update: additional files

(From OE-Core rev: 0a6a31e24414e156e005ef1d6a72ff668d83796a)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
(cherry picked from commit fd43b59ab32e2115fcda7ad63d3a5ccc2683c7d5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-25 05:49:26 -10:00
Alex Kiernan
6828c2c8db pypi.bbclass: Set CVE_PRODUCT to PYPI_PACKAGE
The CVE product name for PyPI packages is (usually) the same as the PyPI
package name (and not our recipe name), so use that as the default.

(From OE-Core rev: 1c37b96cd4fdfad21bf24b8b883e371c3bca56de)

Signed-off-by: Alex Kiernan <alexk@zuma.ai>
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 61f6b0ad09bf87cdc2d3f08770b7c44cad1d0e58)
Signed-off-by: Sanjay Chitroda <schitrod@cisco.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-25 05:49:26 -10:00
Siddharth
ed5cd048ae curl: ammend fix for CVE-2023-27534 to fix error when ssh is enabled
The upstream patch for CVE-2023-27534 does three things:
1) creates new path with dynbuf(dynamic buffer)
2) solves the tilde error which causes CVE-2023-27534
3) modifies the below added functionality to not add a trailing "/" to the user home dir if it already ends with one with dynbuf.

dynbuf functionalities are added in curl in later versions and are not essential to fix the vulnerability but does add extra feature in later versions.
This patch completes the 3rd task of the patch which was implemented without using dynbuf

Upstream-Status: Backport from [6c51adeb71]

(From OE-Core rev: df489f644e41108cf0e2ff55af7ce5e9bca40471)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-25 05:49:26 -10:00
Hitendra Prajapati
1824a583fa git: fix CVE-2023-25652
Git is a revision control system. Prior to versions 2.30.9, 2.31.8, 2.32.7,
2.33.8, 2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3, and 2.40.1, by feeding
specially crafted input to `git apply --reject`, a path outside the working
tree can be overwritten with partially controlled contents (corresponding to
the rejected hunk(s) from the given patch). A fix is available in versions
2.30.9, 2.31.8, 2.32.7, 2.33.8, 2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3,
and 2.40.1. As a workaround, avoid using `git apply` with `--reject` when applying
patches from an untrusted source. Use `git apply --stat` to inspect a patch before
applying; avoid applying one that create a conflict where a link corresponding to
the `*.rej` file exists.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-25652

Upstream-Status: Backport from 9db05711c9

(From OE-Core rev: 6747482316b8f7839a09bf041d8c11b559f84b44)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-25 05:49:26 -10:00
Hitendra Prajapati
967c2d4145 git: fix CVE-2023-29007
Git is a revision control system. Prior to versions 2.30.9, 2.31.8, 2.32.7, 2.33.8,
2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3, and 2.40.1, a specially crafted
`.gitmodules` file with submodule URLs that are longer than 1024 characters can used
to exploit a bug in `config.c::git_config_copy_or_rename_section_in_file()`. This bug
can be used to inject arbitrary configuration into a user's `$GIT_DIR/config` when
attempting to remove the configuration section associated with that submodule. When the
attacker injects configuration values which specify executables to run (such as
`core.pager`, `core.editor`, `core.sshCommand`, etc.) this can lead to a remote code
execution. A fix A fix is available in versions 2.30.9, 2.31.8, 2.32.7, 2.33.8, 2.34.8,
2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3, and 2.40.1. As a workaround, avoid running
`git submodule deinit` on untrusted repositories or without prior inspection of any
submodule sections in `$GIT_DIR/config`.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-29007

Upstream patches:
528290f8c6
29198213c9
a5bb10fd5e
e91cfe6085
3bb3d6bac5

(From OE-Core rev: db4c152441aebe4c04a7bb7aceb88d8941a6576b)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-25 05:49:25 -10:00
Arturo Buzarra
a540df3791 run-postinsts: Set dependency for ldconfig to avoid boot issues
If a package with a postsints script requires ldconfig, the package class adds
a ldconfig postinst fragment to initialize it before. Systemd has its own
ldconfig.service to initialize it and sometimes if both services are running
at the same time in the first boot, the first one will work, but the second
one will fail with the following error:

    ldconfig[141]: /sbin/ldconfig: Renaming of /etc/ld.so.cache~ to /etc/ld.so.cache failed: No such file or directory

This commit adds a ordering dependency between them to make sure that only one
service is running at the same time.

(From OE-Core rev: 1bc254e7969f3d5470bacf9ad9f065d38b7b7fde)

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4e9d812e127dc6743f52f4881e509e8e2e833afe)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-16 06:18:21 -10:00
Ranjitsinh Rathod
eda8a27490 libbsd: Add correct license for all packages
BSD-4-Clause is only applicable to the {PN}-doc package as when I
check for the source code I find below files which only uses the
license BSD-4-Clause

~/sources/libbsd$ grep -rl "All advertising materials mentioning features or use of this software" *|grep -v \.1|grep -v \.5|grep -v \.8 | sort
COPYING
man/arc4random.3bsd
man/getprogname.3bsd
man/tree.3bsd

~/sources/libbsd$ grep -rnB6 "BSD-4"
COPYING-9-Files:
COPYING-10- man/arc4random.3bsd
COPYING-11- man/tree.3bsd
COPYING-12-Copyright:
COPYING-13- Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de>
COPYING-14- All rights reserved.
COPYING:15:License: BSD-4-clause-Niels-Provos

(From OE-Core rev: 187f1588240a0eb5cc753c2114fd6c0cef66e14f)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-16 06:18:21 -10:00
Yoann Congal
397d3430bf linux-yocto: Exclude 294 CVEs already fixed upstream
Exclude CVEs that are fixed in current linux-yocto version v5.4.237.

To get the commit fixing a CVE, I used the Debian kernel-sec repo [1].

[1]: 86d5040aee

(From OE-Core rev: ec0f3e5869c596a308a164f93cb031e04034a8ed)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-16 06:18:21 -10:00
Ashish Sharma
f5051dae9f connman: Fix CVE-2023-28488 DoS in client.c
Avoid overwriting the read packet length after the initial test. Thus
move all the length checks which depends on the total length first
and do not use the total lenght from the IP packet afterwards.

Fixes CVE-2023-28488

Reported by Polina Smirnova <moe.hwr@gmail.com>

(From OE-Core rev: 47a9ae5592392bd10740e4571b06c8c739705058)

Signed-off-by: Ashish Sharma <asharma@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-16 06:18:21 -10:00
Peter Marko
97ffdc1519 libxml2: patch CVE-2023-28484 and CVE-2023-29469
Backports from:
* e4f85f1bd2
* 547edbf1cb

(From OE-Core rev: c0cfcd3945257efd40745e0ebb84495441acb590)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-16 06:18:21 -10:00
Vivek Kumbhar
f668b3ab56 freetype: fix CVE-2023-2004 integer overflowin in tt_hvadvance_adjust() in src/truetype/ttgxvar.c
Fix An integer overflow vulnerability was discovered in Freetype in tt_hvadvance_adjust() function in src/truetype/ttgxvar.c

(From OE-Core rev: 24c87e674db9c1d4a8922c3af78a0004c061e70f)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-16 06:18:21 -10:00
Shubham Kulkarni
79dcce4413 go: Security fix for CVE-2023-24538
html/template: disallow actions in JS template literals

Backport from b1e3ecfa06

(From OE-Core rev: c8a597b76505dab7649f4c9b18e1e14b0e3d57af)

Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-16 06:18:21 -10:00
Steve Sakoman
a631bfc3a3 build-appliance-image: Update to dunfell head revision
(From OE-Core rev: fd4cc8d7b5156c43d162a1a5a809fae507457ef4)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 12:31:05 -10:00
Steve Sakoman
ee461b4235 poky.conf: bump version for 3.1.25
(From meta-yocto rev: 0faaa6c13564565a5fe7f7ff00000c146c511cc4)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:12:38 -10:00
Steve Sakoman
68801aaf80 documentation: update for 3.1.25
(From yocto-docs rev: 19b7932e6af89943b899687c1f5cb91181cd3580)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:09:42 -10:00
Christoph Lauer
38f85fe6dd populate_sdk_base: add zip options
Add SDK_ZIP_OPTIONS to remove symbolic link creation in zip archive or add options, e.g. for encryption of the zip archive.

(From OE-Core rev: 04b62f9459b401c276255f166d0738b6f902a576)

(From OE-Core rev: b9e0c3ced645cab74b2488a26b8f656a94b2a6f5)

Signed-off-by: Christoph Lauer <christoph.lauer@xtronic.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:09:42 -10:00
Vivek Kumbhar
62034cd625 go: fix CVE-2023-24534 denial of service from excessive memory allocation
A parsed MIME header is a map[string][]string. In the common case,
a header contains many one-element []string slices. To avoid
allocating a separate slice for each key, ReadMIMEHeader looks
ahead in the input to predict the number of keys that will be
parsed, and allocates a single []string of that length.
The individual slices are then allocated out of the larger one.

The prediction of the number of header keys was done by counting
newlines in the input buffer, which does not take into account
header continuation lines (where a header key/value spans multiple
lines) or the end of the header block and the start of the body.
This could lead to a substantial amount of overallocation, for
example when the body consists of nothing but a large block of
newlines.

Fix header key count prediction to take into account the end of
the headers (indicated by a blank line) and continuation lines
(starting with whitespace).

Thanks to Jakob Ackermann (@das7pad) for reporting this issue.

Fixes CVE-2023-24534
For #58975
Fixes #59267

(From OE-Core rev: daa6aa9c7198a07322f1828a9db457fec86191cf)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:09:42 -10:00
Vijay Anusuri
87a450e222 curl: Security fix CVE-2023-27533, CVE-2023-27535 and CVE-2023-27536
Upstream-Status: Backport [https://git.launchpad.net/ubuntu/+source/curl/tree/debian/patches?h=ubuntu/focal-security & 538b1e79a6 & ed5095ed94 & f18af4f874 & 8f4608468b & cb49e67303]

(From OE-Core rev: 08ffa2437967a642a4c8e35e2158bb369454764a)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:09:42 -10:00
Virendra Thakur
d58a0c3239 qemu: Whitelist CVE-2023-0664
This CVE is related to Windows.

Link: https://nvd.nist.gov/vuln/detail/CVE-2023-0664

(From OE-Core rev: 8efb0fc7e7db4bad3dbc40d8f890a6c2e7be38fa)

Signed-off-by: Virendra Thakur <virendrak@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:09:42 -10:00
Omkar Patil
667eb766ab openssl: Fix CVE-2023-0466
Add patch to fix CVE-2023-0466

Link: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=0d16b7e99aafc0b4a6d729eec65a411a7e025f0a

(From OE-Core rev: a80d772593b3a38c062e546557d5f8d76eb71fe4)

Signed-off-by: Omkar Patil <omkar.patil@kpit.com>
Signed-off-by: Omkar Patil <omkarpatil10.93@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:09:42 -10:00
Omkar Patil
56c03791cd openssl: Fix CVE-2023-0465
Add patch to fix CVE-2023-0465

Link: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=b013765abfa80036dc779dd0e50602c57bb3bf95

(From OE-Core rev: cbca55301bb065a6506e65cf64cc90b598e39789)

Signed-off-by: Omkar Patil <omkar.patil@kpit.com>
Signed-off-by: Omkar Patil <omkarpatil10.93@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:09:42 -10:00
Nikhil R
acd638685c openssl: Fix CVE-2023-0464
Fix CVE-2023-0464 for openssl

A security vulnerability has been identified in all supported versions
of OpenSSL related to the verification of X.509 certificate chains
that include policy constraints.  Attackers may be able to exploit
this vulnerability by creating a malicious certificate chain that
triggers exponential use of computational resources, leading
to a denial-of-service(DoS) attack on affected systems.

Link: https://git.openssl.org/gitweb/?p=openssl.git;a=patch;h=879f7080d7e141f415c79eaa3a8ac4a3dad0348b

(From OE-Core rev: 0c50550e2c8fca3263776c2bb985a8c58b920b99)

Signed-off-by: Nikhil R <nikhil.r@kpit.com>
Signed-off-by: Omkar Patil <omkarpatil10.93@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:09:42 -10:00
Shubham Kulkarni
a4f1c6baa3 go: Ignore CVE-2022-1705
The vulnerability was introduced in go1.15beta1 with commit d5734d4.
Dunfell uses go1.14 version which does not contain the affected code.

Ref: https://security-tracker.debian.org/tracker/CVE-2022-1705

(From OE-Core rev: 6e4a952efc94a3bb94216db1cbd738f4fb70217f)

Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:09:42 -10:00
Vijay Anusuri
799673e3f4 sudo: Security fix for CVE-2023-28486 and CVE-2023-28487
import patches from ubuntu to fix
 CVE-2023-28486
 CVE-2023-28487

Upstream-Status: Backport [import from ubuntu https://git.launchpad.net/ubuntu/+source/sudo/tree/debian/patches?h=ubuntu/focal-security
Upstream commit 334daf92b3 & 12648b4e0a]

(From OE-Core rev: 4870543273bef9831c075ee0bce108c54355a92f)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-03 04:09:42 -10:00
Steve Sakoman
6fd646cdb1 bitbake: tests/fetch.py: fix link to project documentation
(Bitbake rev: e16a9ca7e9286790ac37a067fdc8fde3a35a1c44)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-02 11:18:39 +01:00
Vivek Kumbhar
538185bd1c go: fix CVE-2023-24537 Infinite loop in parsing
Setting a large line or column number using a //line directive can cause
integer overflow even in small source files.

Limit line and column numbers in //line directives to 2^30-1, which
is small enough to avoid int32 overflow on all reasonbly-sized files.

(From OE-Core rev: d1943e6a0ec00653c81cd4c0bb0d6b7e0909094c)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:19:07 -10:00
Shubham Kulkarni
6dd6670429 go: Security fix for CVE-2020-29510
encoding/xml: replace comments inside directives with a space

Backport from a9cfd55e2b

(From OE-Core rev: 76d855f3d2c250ac85ca6f24bf0e178fb32607f9)

Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:19:07 -10:00
Hitendra Prajapati
51a1d78e2a screen: CVE-2023-24626 allows sending SIGHUP to arbitrary PIDs
Upstream-Status: Backport from https://git.savannah.gnu.org/cgit/screen.git/commit/?id=e9ad41bfedb4537a6f0de20f00b27c7739f168f7

(From OE-Core rev: d1f99b928b0a57bec879dde1b1b94c3c09286ea0)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:19:06 -10:00
Peter Marko
e610a24db7 go: ignore CVE-2022-41716
This CVE is specific to Microsoft Windows, ignore it.

Patch fixing it (https://go-review.googlesource.com/c/go/+/446916)
also adds a redundant check to generic os/exec which
could be backported but it should not be necessary as
backport always takes a small risk to break old code.

(From OE-Core rev: 4263f3fda59aacb4f159d2dffb52e5f66249b5e4)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:19:06 -10:00
rajmohan r
afb4425be9 systemd: Fix CVE-2023-26604
Below patch files to fix CVE-2023-26604
CVE-2023-26604-1.patch, CVE-2023-26604-2.patch and
CVE-2023-26604-3.patch and CVE-2023-26604-4.patch

make pager secure when under euid is changed or explicitly
requested

Reference:
CVE-2023-26604-1.patch:
612ebf6c91
CVE-2023-26604-2.patch:
1b5b507cd2
CVE-2023-26604-3.patch:
0a42426d79
CVE-2023-26604-4.patch:
b8f736b30e

(From OE-Core rev: 7880eb801dcee44a9e8920d249057492d1de6b12)

Signed-off-by: rajmohan r <rajmohan.r@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:19:06 -10:00
Shubham Kulkarni
20c932eb01 go-runtime: Security fix for CVE-2022-41722
path/filepath: do not Clean("a/../c:/b") into c:\b on Windows

Backport from bdf07c2e16

(From OE-Core rev: 70135bf04eb7173434a7240ddf11639d13aab003)

Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:19:06 -10:00
Hitendra Prajapati
e0d5b78c92 curl: CVE-2023-27538 fix SSH connection too eager reuse
Upstream-Status: Backport from af369db4d3

(From OE-Core rev: b2740d1ff74b2c55011b5d4230c7b06b5109376d)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:19:06 -10:00
Hitendra Prajapati
00af542d30 curl: CVE-2023-27534 SFTP path ~ resolving discrepancy
Upstream-Status: Backport from 4e2b52b5f7

(From OE-Core rev: 9aefb4e46cf4fbf14b46f9adaf3771854553e7f3)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-19 04:32:59 -10:00
Hitendra Prajapati
bcb3c107d3 ruby: CVE-2023-28756 ReDoS vulnerability in Time
Upstream-Status: Backport from 957bb7cb81

(From OE-Core rev: 52d26edffdd0444588ecad56b40a65e225889a01)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-19 04:32:59 -10:00
Gaurav Gupta
a526ef88ee qemu: fix build error introduced by CVE-2021-3929 fix
The patch for CVE-2021-3929 applied on dunfell returns a value for a
void function. This results in the following compiler warning/error:

hw/block/nvme.c:77:6: error: void function
'nvme_addr_read' should not return a value [-Wreturn-type]

return NVME_DATA_TRAS_ERROR;
^      ~~~~~~~~~~~~~~~~~~~~

In newer versions of qemu, the functions is changed to have a return
value, but that is not present in the version of qemu used in “dunfell”.

Backport some of the patches to correct this.

(From OE-Core rev: 4ad98f0b27615ad59ae61110657cf69004c61ef4)

Signed-off-by: Gaurav Gupta <gauragup@cisco.com>
Signed-off-by: Gaurav Gupta <gauragup@cisco.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-19 04:32:59 -10:00
Bhabu Bindu
0c1e54eee1 ffmpeg: fix for CVE-2022-3341
avformat/nutdec: Add check for avformat_new_stream
Check for failure of avformat_new_stream() and propagate
the error code.

Upstream-Status: Backport [https://git.yoctoproject.org/poky/commit/?h=kirkstone&id=bba70ce34115151362bfdc49a545ee708eb297ca]

(From OE-Core rev: e17ddd0fafb562ed7ebe7708dac9bcef2d6cecc1)

(From OE-Core rev: 0c68435a7c0ff1c417119dbd408e75443c09afcb)

Signed-off-by: Narpat Mali <narpat.mali@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bba70ce341)
Signed-off-by: Bhabu Bindu <bhabu.bindu@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-19 04:32:59 -10:00
Martin Jansa
fcb3d9a63e bmap-tools: switch to main branch
* master branch was removed upstream:
  downloads/git2/github.com.intel.bmap-tools $ git remote prune origin
  Pruning origin
  URL: https://github.com/intel/bmap-tools
   * [pruned] refs/heads/master
   * [pruned] refs/pull/73/merge

* downloads/git2/github.com.intel.bmap-tools $ git branch -a --contains c0673962a8ec1624b5189dc1d24f33fe4f06785a
  main
  release-3.0

(From OE-Core rev: 4045bf02bbc6e87a05ba689a63c675e49c940772)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 369fee186d6916322b9be9d936b654d0c5910cb3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-14 05:44:12 -10:00
Randy MacLeod
79b0cf9cfa vim: upgrade 9.0.1403 -> 9.0.1429
Fixes: CVE-2023-1127, CVE-2023-1170, CVE-2023-1175,
       CVE-2023-1264, CVE-2023-1355

(From OE-Core rev: 821229f48f5b31aeb646f08c7e4656dc4ce8b0f4)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 2415072c3800feb164dd4d1fa0b56bd141a5cbd8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-14 05:44:12 -10:00
Geoffrey GIRY
d8057ae9aa cve-check: Fix false negative version issue
NVD DB store version and update in the same value, separated by '_'.
The proposed patch check if the version from NVD DB contains a "_",
ie 9.2.0_p1 is convert to 9.2.0p1 before version comparison.

[YOCTO #14127]

Reviewed-by: Yoann CONGAL <yoann.congal@smile.fr>
(From OE-Core rev: eb439b1283b60e6665694ff28c89fbd633eda6b0)

Signed-off-by: Geoffrey GIRY <geoffrey.giry@smile.fr>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 7d00f6ec578084a0a0e5caf36241d53036d996c4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-14 05:44:12 -10:00
Hitendra Prajapati
5150ad7fcb qemu: fix compile error which imported by CVE-2022-4144
Upstream-Status: Backport from https://github.com/qemu/qemu/commit/61c34fc && 8efec0ef8b

(From OE-Core rev: d17f4c741c66268ce54ff89be2be9b0402c98df2)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-14 05:44:12 -10:00
Vijay Anusuri
8064d53745 git: Security fix for CVE-2023-22490 and CVE-2023-23946
Upstream-Status: Backport from
58325b93c5
&
cf8f6ce02a
& bffc762f87

(From OE-Core rev: 071fb3b177bcbdd02ae2c28aad97af681c091e42)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-14 05:44:12 -10:00
Shubham Kulkarni
8ed92cf2b3 go-runtime: Security fix for CVE-2022-41723
Disable cmd/internal/moddeps test, since this update includes PRIVATE
track fixes.

Backport from 5c3e11bd0b

(From OE-Core rev: 53a303fb5908edaf29e35abb08fff93e7c0ff92c)

Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-14 05:44:12 -10:00
Hitendra Prajapati
ba7aa15473 curl: CVE-2023-23916 HTTP multi-header compression denial of service
Upstream-Status: Backport from 119fb18719

(From OE-Core rev: b121b59cf6f642f46c97c96f3c4cf4cd84ff2af5)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-14 05:44:12 -10:00
Joshua Watt
a307ef21c1 classes/package: Use gzip for extended package data
The master version of extended package data uses zstd for efficient
compression, but it relies on the zstd tool to be present on the host
system. Since dunfell supports older distros, we don't want to add this
tool as an additional requirement so switch to using gzip instead.

(From OE-Core rev: 1c7d555379c4b0962bccd018870989050d87675f)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-01 20:23:23 +01:00
Joshua Watt
006f140687 create-spdx: Use gzip for compression
The master version of the SPDX classes uses zstd for efficient
compression, but it relies on the zstd tool to be present on the host
system. Since dunfell supports older distros, we don't want to add this
tool as an additional requirement so switch to using gzip instead.

(From OE-Core rev: 55b08fd641767a3d2e080727828ca37d9e610109)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-01 20:23:23 +01:00
Joshua Watt
77e8b40bae licenses: Add GPL+ licenses to map
Adds some missing licenses mappings related to the "+" versions of the
GPL licenses

(From OE-Core rev: 5f9a8809acf1ab4e73c3085b8fd100f4568ebd86)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-01 20:23:23 +01:00
Joshua Watt
3cf950b245 classes/package: Add extended packaged data
Adds extended package data which is encoded as JSON which allows it to
encode more structure than the "flat" package data files. The extended
data might be much larger than the standard package data, so it is not
read by default and instead requires
oe.packagedata.read_subpkgdata_extended() to be called

Currently, the file sizes and ELF debug sources are saved off into the
extended package data

(cherry picked from commit db9cf430e54ae68da80fbc3fba80ce88d8df164d)

(From OE-Core rev: 2318cb79ef1652fb19d696a8d43826e39c22834e)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Reviewed-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-01 20:23:23 +01:00
Joshua Watt
7e24067f78 classes/create-spdx: Backport
Backports the create-spdx classes from the latest versions on master.
This backport is a simple copy with no modifications, as its too
complex to cherry-pick all the corresponding changes. This will give an
appropriate base commit for subsequent changes and if necessary
additional backport cherry-picks from master in the future.

(From OE-Core rev: 48fbddf32ffa3ec44a788f42895c1730a84b5a91)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-01 20:23:23 +01:00
Piotr Łobacz
0ce97636c9 systemd: fix wrong nobody-group assignment
The generated /etc/group file had a wrong group name for nobody-group
which was nobody with same id as nogroup groupd. This was leading to
duplcate groups, with same ids and different names.

More can be read on this link:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=11766

(From OE-Core rev: 0928857e4aaa524f36e028d4fe0cc48cc4d40148)

Signed-off-by: Piotr Łobacz <p.lobacz@welotec.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d69fccf2e5d108dd7c6059310924588d36a45865)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-01 20:23:23 +01:00
Richard Purdie
90adc17feb pybootchartui: Fix python syntax issue
Fix:

scripts/pybootchartgui/pybootchartgui/parsing.py:134: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if pid is 0:

(From OE-Core rev: 413523515dbb064680841fffa2cfdba8b2bac6f6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c9a6511ae618035b8efad01646e37ba28ce1e3f8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-01 20:23:23 +01:00
Ross Burton
2ace3a0b1e lib/resulttool: fix typo breaking resulttool log --ptest
ptestresult_get_log() looked for a key called 'ptestresuls.sections',
which should be 'ptestresult.sections'

(From OE-Core rev: 288609a3bb2760b5bb9d86e9c130b227f9bd5039)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7c8c9f7283e54bf8b1521fbaad7dceb66a8fcdbb)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-01 20:23:23 +01:00
Mikko Rapeli
1f1d3d2647 oeqa rtc.py: skip if read-only-rootfs
hwclock command fails on read-only-rootfs:

AssertionError: 1 != 0 : Failed to reset RTC time, output: hwclock: cannot open /etc/adjtime: Read-only file system

(From OE-Core rev: 5b85a6fa84b02e7ebae011979456d33b8774dd21)

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 017bf8c160f6ab67d9f8e8d9e30b15bf84f73807)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-01 20:23:23 +01:00
Bruce Ashfield
07f99e3dea linux-yocto/5.4: update to v5.4.237
Updating  to the latest korg -stable release that comprises
the following commits:

    e4b5c766f505 Linux 5.4.237
    6a16810068e7 s390/dasd: add missing discipline function
    7a934a77f11a UML: define RUNTIME_DISCARD_EXIT
    87fcce7a6f86 sh: define RUNTIME_DISCARD_EXIT
    eb9dbb70cdd5 s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36
    219cc98501ff powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds
    4eede1173fb5 powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT
    d0fcf59038c5 arch: fix broken BuildID for arm64 and riscv
    a4bd6d4df382 x86, vmlinux.lds: Add RUNTIME_DISCARD_EXIT to generic DISCARDS
    1aed78cfda7f drm/i915: Don't use BAR mappings for ring buffers with LLC
    52fc917855ce ipmi:watchdog: Set panic count to proper value on a panic
    dbfae25b0196 ipmi/watchdog: replace atomic_add() and atomic_sub()
    f266cdd6796f media: ov5640: Fix analogue gain control
    fc9bc831509f PCI: Add SolidRun vendor ID
    094a073605b1 macintosh: windfarm: Use unsigned type for 1-bit bitfields
    737985dbcb67 alpha: fix R_ALPHA_LITERAL reloc for large modules
    2fea235ef07f MIPS: Fix a compilation issue
    6b06c4ae64e3 ext4: Fix deadlock during directory rename
    a99a61d9e1bf riscv: Use READ_ONCE_NOCHECK in imprecise unwinding stack mode
    1a517302dbe0 net/smc: fix fallback failed while sendmsg with fastopen
    3a747490f9c3 scsi: megaraid_sas: Update max supported LD IDs to 240
    d800996fcf60 btf: fix resolving BTF_KIND_VAR after ARRAY, STRUCT, UNION, PTR
    9f2e063dcbe2 netfilter: tproxy: fix deadlock due to missing BH disable
    16f3aae1aa2d bnxt_en: Avoid order-5 memory allocation for TPA data
    9dc16be373b3 net: caif: Fix use-after-free in cfusbl_device_notify()
    8018aa0863d6 net: lan78xx: fix accessing the LAN7800's internal phy specific registers from the MAC driver
    1c618f150c82 net: usb: lan78xx: Remove lots of set but unused 'ret' variables
    e4e5006c13f3 selftests: nft_nat: ensuring the listening side is up before starting the client
    783f218940b3 ila: do not generate empty messages in ila_xlat_nl_cmd_get_mapping()
    0a3664a1058d nfc: fdp: add null check of devm_kmalloc_array in fdp_nci_i2c_read_device_properties
    43f33642f260 drm/msm/a5xx: fix setting of the CP_PREEMPT_ENABLE_LOCAL register
    8dac5a63cf79 ext4: Fix possible corruption when moving a directory
    891a3cba425c scsi: core: Remove the /proc/scsi/${proc_name} directory earlier
    57f78226b127 cifs: Fix uninitialized memory read in smb3_qfs_tcon()
    a6e44cb21534 SMB3: Backup intent flag missing from some more ops
    1b48c70feefc iommu/vt-d: Fix PASID directory pointer coherency
    985d9fa06b4b irqdomain: Fix domain registration race
    01ed8ff22a5b irqdomain: Change the type of 'size' in __irq_domain_add() to be consistent
    36c5682cbb46 ipmi:ssif: Add a timer between request retries
    e8ba1b693a8b ipmi:ssif: Increase the message retry time
    89fb3fa84883 ipmi:ssif: Remove rtc_us_timer
    d1a7f56b20da ipmi:ssif: resend_msg() cannot fail
    59349bfcffb1 ipmi:ssif: make ssif_i2c_send() void
    5e97dc748d13 iommu/amd: Add a length limitation for the ivrs_acpihid command-line parameter
    774c63f53688 iommu/amd: Fix ill-formed ivrs_ioapic, ivrs_hpet and ivrs_acpihid options
    11852cc78f67 iommu/amd: Add PCI segment support for ivrs_[ioapic/hpet/acpihid] commands
    3cdf19a29cc1 nfc: change order inside nfc_se_io error path
    0d8a6c9a6415 ext4: zero i_disksize when initializing the bootloader inode
    74d775083e9f ext4: fix WARNING in ext4_update_inline_data
    b36093c6f772 ext4: move where set the MAY_INLINE_DATA flag is set
    c24f83849379 ext4: fix another off-by-one fsmap error on 1k block filesystems
    aee90b0278e3 ext4: fix RENAME_WHITEOUT handling for inline directories
    1277ba3db6dc drm/connector: print max_requested_bpc in state debugfs
    e40c1e9da1ec x86/CPU/AMD: Disable XSAVES on AMD family 0x17
    6631c8da02cf fs: prevent out-of-bounds array speculation when closing a file descriptor
    b829e8b6e1a7 Linux 5.4.236
    6e55d8422373 staging: rtl8192e: Remove call_usermodehelper starting RadioPower.sh
    9498448b9ede staging: rtl8192e: Remove function ..dm_check_ac_dc_power calling a script
    6ee84b8b7904 wifi: cfg80211: Partial revert "wifi: cfg80211: Fix use after free for wext"
    126ee8982bfc Linux 5.4.235
    d03bc164f32f dt-bindings: rtc: sun6i-a31-rtc: Loosen the requirements on the clocks
    6ab670546319 media: uvcvideo: Fix race condition with usb_kill_urb
    0b8962c64bd6 media: uvcvideo: Provide sync and async uvc_ctrl_status_event
    2b1c5145b07d tcp: Fix listen() regression in 5.4.229.
    800a1c4c8a7f Bluetooth: hci_sock: purge socket queues in the destruct() callback
    27c64d90d944 x86/resctl: fix scheduler confusion with 'current'
    81da72aaf57a x86/resctrl: Apply READ_ONCE/WRITE_ONCE to task_struct.{rmid,closid}
    bde541a57b42 net: tls: avoid hanging tasks on the tx_lock
    d94fbfcd9a26 phy: rockchip-typec: Fix unsigned comparison with less than zero
    f0ee43d61d8d PCI: Add ACS quirk for Wangxun NICs
    f6d3aee1c663 kernel/fail_function: fix memory leak with using debugfs_lookup()
    195c1e9f454e usb: uvc: Enumerate valid values for color matching
    da4e715a466c USB: ene_usb6250: Allocate enough memory for full object
    117097966866 usb: host: xhci: mvebu: Iterate over array indexes instead of using pointer math
    f5b76a81665e iio: accel: mma9551_core: Prevent uninitialized variable in mma9551_read_config_word()
    11b4b3b76988 iio: accel: mma9551_core: Prevent uninitialized variable in mma9551_read_status_word()
    b854c66dd7a8 tools/iio/iio_utils:fix memory leak
    ea9b58789687 mei: bus-fixup:upon error print return values of send and receive
    c7ca2ca12a9f tty: serial: fsl_lpuart: disable the CTS when send break signal
    953a4a352a0c tty: fix out-of-bounds access in tty_driver_lookup_tty()
    70369a11170d staging: emxx_udc: Add checks for dma_alloc_coherent()
    2072ed7c1a4a media: uvcvideo: Silence memcpy() run-time false positive warnings
    e2cc773f1fc3 media: uvcvideo: Quirk for autosuspend in Logitech B910 and C910
    e4c535eccefb media: uvcvideo: Handle errors from calls to usb_string
    4e4e6ca62e77 media: uvcvideo: Handle cameras with invalid descriptors
    7195e642b49a mfd: arizona: Use pm_runtime_resume_and_get() to prevent refcnt leak
    fde59e273b03 firmware/efi sysfb_efi: Add quirk for Lenovo IdeaPad Duet 3
    2cc6a3e98f05 tracing: Add NULL checks for buffer in ring_buffer_free_read_page()
    4cfeb55a10b6 thermal: intel: BXT_PMIC: select REGMAP instead of depending on it
    e23f1d9e6e03 thermal: intel: quark_dts: fix error pointer dereference
    584f664c572f scsi: ipr: Work around fortify-string warning
    e93bda4ebb27 rtc: sun6i: Always export the internal oscillator
    728b047f4ca3 rtc: sun6i: Make external 32k oscillator optional
    9c7c1cf29fc3 vc_screen: modify vcs_size() handling in vcs_read()
    821362a2dfaf tcp: tcp_check_req() can be called from process context
    77606e383ecb ARM: dts: spear320-hmi: correct STMPE GPIO compatible
    dda4f0a424c2 net/sched: act_sample: fix action bind logic
    271eed173642 nfc: fix memory leak of se_io context in nfc_genl_se_io
    f81af781f98c net/mlx5: Geneve, Fix handling of Geneve object id as error code
    4b71f2b54332 9p/rdma: unmap receive dma buffer in rdma_request()/post_recv()
    7cc9dbae8a5f 9p/xen: fix connection sequence
    9d1c625c99c5 9p/xen: fix version parsing
    edfba7b3228a net: fix __dev_kfree_skb_any() vs drop monitor
    cec326443f01 sctp: add a refcnt in sctp_stream_priorities to avoid a nested loop
    aba298b35619 ipv6: Add lwtunnel encap size of all siblings in nexthop calculation
    5d0d38805d32 netfilter: ctnetlink: fix possible refcount leak in ctnetlink_create_conntrack()
    fe65d6f26ba9 watchdog: pcwd_usb: Fix attempting to access uninitialized memory
    59e391b3fc50 watchdog: Fix kmemleak in watchdog_cdev_register
    7c428fc97499 watchdog: at91sam9_wdt: use devm_request_irq to avoid missing free_irq() in error path
    a8816afcaf1d x86: um: vdso: Add '%rcx' and '%r11' to the syscall clobber list
    b5be23f6ae61 ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed
    1cb14c06d603 ubi: Fix UAF wear-leveling entry in eraseblk_count_seq_show()
    7fcbc41d762a ubifs: ubifs_writepage: Mark page dirty after writing inode failed
    510b80abe8d2 ubifs: dirty_cow_znode: Fix memleak in error handling path
    0875edcad42f ubifs: Re-statistic cleaned znode count if commit failed
    234c53e57424 ubi: Fix possible null-ptr-deref in ubi_free_volume()
    1f206002c6bc ubifs: Fix memory leak in alloc_wbufs()
    07b60f7452d2 ubi: Fix unreferenced object reported by kmemleak in ubi_resize_volume()
    9c8be1f165ba ubi: Fix use-after-free when volume resizing failed
    e86d1b2bb716 ubifs: Reserve one leb for each journal head while doing budget
    82c096d0c99a ubifs: do_rename: Fix wrong space budget when target inode's nlink > 1
    bf8f5495849d ubifs: Fix wrong dirty space budget for dirty inode
    f29168fb527c ubifs: Rectify space budget for ubifs_xrename()
    86660306273a ubifs: Rectify space budget for ubifs_symlink() if symlink is encrypted
    4ca0d746226f ubifs: Fix build errors as symbol undefined
    f7adb740f97b ubi: ensure that VID header offset + VID header size <= alloc, size
    6480c3a12755 um: vector: Fix memory leak in vector_config
    01c92f033b27 fs: f2fs: initialize fsdata in pagecache_write()
    c4a89ebe9205 f2fs: use memcpy_{to,from}_page() where possible
    b915fac02098 pwm: stm32-lp: fix the check on arr and cmp registers update
    1abd3858023a pwm: sifive: Always let the first pwm_apply_state succeed
    30a3636fe6e2 pwm: sifive: Reduce time the controller lock is held
    62462a5b4f4d fs/jfs: fix shift exponent db_agl2size negative
    7a6fb69bbcb2 net/sched: Retire tcindex classifier
    b3d346ece979 kbuild: Port silent mode detection to future gnu make.
    68b0cdcfa135 wifi: ath9k: use proper statements in conditionals
    96a8424a27ed drm/radeon: Fix eDP for single-display iMac11,2
    6e6173886f58 drm/i915/quirks: Add inverted backlight quirk for HP 14-r206nv
    efc72cceb761 PCI: Avoid FLR for AMD FCH AHCI adapters
    bcc1bafb067d PCI: hotplug: Allow marking devices as disconnected during bind/unbind
    2a50583117b2 PCI/PM: Observe reset delay irrespective of bridge_d3
    40af9a6deed7 scsi: ses: Fix slab-out-of-bounds in ses_intf_remove()
    79ec5dd5fb07 scsi: ses: Fix possible desc_ptr out-of-bounds accesses
    8e454aba7280 scsi: ses: Fix possible addl_desc_ptr out-of-bounds accesses
    467afb1dd630 scsi: ses: Fix slab-out-of-bounds in ses_enclosure_data_process()
    6069e04a922a scsi: ses: Don't attach if enclosure has no components
    70e9a93f0945 scsi: qla2xxx: Fix erroneous link down
    3a564de3a299 scsi: qla2xxx: Fix DMA-API call trace on NVMe LS requests
    05a0f6fa52a8 scsi: qla2xxx: Fix link failure in NPIV environment
    18d347d1b08e ktest.pl: Add RUN_TIMEOUT option with default unlimited
    150ee1fc9080 ktest.pl: Fix missing "end_monitor" when machine check fails
    2f42bfc54d3a ktest.pl: Give back console on Ctrt^C on monitor
    b53d209d717b mm/thp: check and bail out if page in deferred queue already
    24900f35962b mm: memcontrol: deprecate charge moving
    964e9e1288fd media: ipu3-cio2: Fix PM runtime usage_count in driver unbind
    58c0d0b2d474 mips: fix syscall_get_nr
    229edf8d7b76 alpha: fix FEN fault handling
    9787b328c42c rbd: avoid use-after-free in do_rbd_add() when rbd_dev_create() fails
    7055754dd07c ARM: dts: exynos: correct TMU phandle in Odroid XU
    7b6707d66e28 ARM: dts: exynos: correct TMU phandle in Exynos4
    3c4a56ef7c53 dm flakey: don't corrupt the zero page
    a2be4225c31d dm flakey: fix logic when corrupting a bio
    64fbe39232ed thermal: intel: powerclamp: Fix cur_state for multi package system
    6f1959c17d4c wifi: cfg80211: Fix use after free for wext
    342cb34c5285 wifi: rtl8xxxu: Use a longer retry limit of 48
    a92b67e768bd ext4: refuse to create ea block when umounted
    3b28c799a133 ext4: optimize ea_inode block expansion
    87005d0ab5c4 ALSA: hda/realtek: Add quirk for HP EliteDesk 800 G6 Tower PC
    84ed1ade54b8 ALSA: ice1712: Do not left ice->gpio_mutex locked in aureon_add_controls()
    df129eaa2b88 irqdomain: Drop bogus fwspec-mapping error handling
    72232dbe14f9 irqdomain: Fix disassociation race
    2101663687e6 irqdomain: Fix association race
    f9d93201893d ima: Align ima_file_mmap() parameters with mmap_file LSM hook
    4d47cba0741c Documentation/hw-vuln: Document the interaction between IBRS and STIBP
    34c1b60e7a80 x86/speculation: Allow enabling STIBP with legacy IBRS
    979e197968a1 x86/microcode/AMD: Fix mixed steppings support
    727bc2c2856b x86/microcode/AMD: Add a @cpu parameter to the reloading functions
    4c26edf2ea23 x86/microcode/amd: Remove load_microcode_amd()'s bsp parameter
    a0415b79dd3f x86/kprobes: Fix arch_check_optimized_kprobe check within optimized_kprobe range
    ec206a38d3d2 x86/kprobes: Fix __recover_optprobed_insn check optimizing logic
    e4ce333cc66e x86/reboot: Disable SVM, not just VMX, when stopping CPUs
    37459195d971 x86/reboot: Disable virtualization in an emergency if SVM is supported
    87459b9fce2d x86/crash: Disable virt in core NMI crash handler to avoid double shootdown
    ee80fb1dca07 x86/virt: Force GIF=1 prior to disabling SVM (for reboot flows)
    4c9812d9890d KVM: s390: disable migration mode when dirty tracking is disabled
    10c2a20d73e9 KVM: Destroy target device if coalesced MMIO unregistration fails
    38a1f5e9fc56 udf: Fix file corruption when appending just after end of preallocated extent
    d747b31e2925 udf: Detect system inodes linked into directory hierarchy
    ce17ef97de84 udf: Preserve link count of system files
    7bd8d9e1cf56 udf: Do not update file length for failed writes to inline files
    3d20e3b768af udf: Do not bother merging very long extents
    4e41b1c5a272 udf: Truncate added extents on failed expansion
    dee96928d8f4 ocfs2: fix non-auto defrag path not working issue
    669134a66d37 ocfs2: fix defrag path triggering jbd2 ASSERT
    68a47ca95805 f2fs: fix cgroup writeback accounting with fs-layer encryption
    2bef8314fcf9 f2fs: fix information leak in f2fs_move_inline_dirents()
    3776ef785e10 fs: hfsplus: fix UAF issue in hfsplus_put_super
    eda6879272e4 hfs: fix missing hfs_bnode_get() in __hfs_bnode_create
    8ecde537edc3 ARM: dts: exynos: correct HDMI phy compatible in Exynos4
    e71e6fa07fe4 s390/kprobes: fix current_kprobe never cleared after kprobes reenter
    18075c0dc331 s390/kprobes: fix irq mask clobbering on kprobe reenter from post_handler
    c5db76fcddc1 s390: discard .interp section
    a9391f8bc98f ipmi_ssif: Rename idle state and check
    0ff4c222bd05 rtc: pm8xxx: fix set-alarm race
    69b8af77ef6b firmware: coreboot: framebuffer: Ignore reserved pixel color bits
    791402dd0514 wifi: rtl8xxxu: fixing transmisison failure for rtl8192eu
    3132aa35cfc2 nfsd: zero out pointers after putting nfsd_files on COPY setup error
    38b4d3eacb88 dm cache: add cond_resched() to various workqueue loops
    3b46b2cb917e dm thin: add cond_resched() to various workqueue loops
    2c055b6a07af drm: panel-orientation-quirks: Add quirk for Lenovo IdeaPad Duet 3 10IGL5
    718ce68b3a7f pinctrl: at91: use devm_kasprintf() to avoid potential leaks
    4000384684f6 hwmon: (coretemp) Simplify platform device handling
    5026260ac2b2 regulator: s5m8767: Bounds check id indexing into arrays
    12527ae49d0c regulator: max77802: Bounds check regulator id against opmode
    7fae534a304b ASoC: kirkwood: Iterate over array indexes instead of using pointer math
    90c278c6d099 docs/scripts/gdb: add necessary make scripts_gdb step
    3a9a4a9725c6 drm/msm/dsi: Add missing check for alloc_ordered_workqueue
    f9f55fc64928 drm/radeon: free iio for atombios when driver shutdown
    5ccd8d09fee5 HID: Add Mapping for System Microphone Mute
    341a4c04ed48 drm/omap: dsi: Fix excessive stack usage
    d236103782de drm/amd/display: Fix potential null-deref in dm_resume
    5bc391944d9e uaccess: Add minimum bounds check on kernel buffer size
    0467681f0947 coda: Avoid partial allocation of sig_inputArgs
    1a98c4d9263d net/mlx5: fw_tracer: Fix debug print
    21856d5615a7 ACPI: video: Fix Lenovo Ideapad Z570 DMI match
    c727c1eb58e0 wifi: mt76: dma: free rx_head in mt76_dma_rx_cleanup
    51c0dca573c0 m68k: Check syscall_trace_enter() return code
    87363d1ab55e net: bcmgenet: Add a check for oversized packets
    fe00ab1eb3bc ACPI: Don't build ACPICA with '-Os'
    8ec82cfe4e74 ice: add missing checks for PF vsi type
    f81c0d484a0c inet: fix fast path in __inet_hash_connect()
    67e4519afba2 wifi: mt7601u: fix an integer underflow
    423a1297ea72 wifi: brcmfmac: ensure CLM version is null-terminated to prevent stack-out-of-bounds
    f3a324362b5e x86/bugs: Reset speculation control settings on init
    c8157f67b003 timers: Prevent union confusion from unexpected restart_syscall()
    f570968d0154 thermal: intel: Fix unsigned comparison with less than zero
    596d1fea0519 rcu: Suppress smp_processor_id() complaint in synchronize_rcu_expedited_wait()
    17dbe90e13f5 wifi: brcmfmac: Fix potential stack-out-of-bounds in brcmf_c_preinit_dcmds()
    9e8bf9f95f7a blk-iocost: fix divide by 0 error in calc_lcoefs()
    f10001af0f72 ARM: dts: exynos: Use Exynos5420 compatible for the MIPI video phy
    dae4d5ae6b87 udf: Define EFSCORRUPTED error code
    824b167fa8dd rpmsg: glink: Avoid infinite loop on intent for missing channel
    a41bb59eff7a media: usb: siano: Fix use after free bugs caused by do_submit_urb
    2a72e3b6bb08 media: i2c: ov7670: 0 instead of -EINVAL was returned
    d120334278b3 media: rc: Fix use-after-free bugs caused by ene_tx_irqsim()
    448ce1cd5038 media: i2c: ov772x: Fix memleak in ov772x_probe()
    086a80b842bc media: ov5675: Fix memleak in ov5675_init_controls()
    ec6bd0dccd9c powerpc: Remove linker flag from KBUILD_AFLAGS
    44aef56083aa media: platform: ti: Add missing check for devm_regulator_get
    fc85fb57631a remoteproc: qcom_q6v5_mss: Use a carveout to authenticate modem headers
    3acbec356d7e MIPS: vpe-mt: drop physical_memsize
    a3c920040517 MIPS: SMP-CPS: fix build error when HOTPLUG_CPU not set
    1abc7be57c1c powerpc/eeh: Set channel state after notifying the drivers
    7719aba7a39c powerpc/eeh: Small refactor of eeh_handle_normal_event()
    a39becb905b9 powerpc/rtas: ensure 4KB alignment for rtas_data_buf
    0616586eefd0 powerpc/rtas: make all exports GPL
    d8ca49859179 powerpc/pseries/lparcfg: add missing RTAS retry status handling
    421c59c23aba powerpc/pseries/lpar: add missing RTAS retry status handling
    2c5ad2d642a3 clk: Honor CLK_OPS_PARENT_ENABLE in clk_core_is_enabled()
    4d178dc25fb6 powerpc/powernv/ioda: Skip unallocated resources when mapping to PE
    b1c1b6da5ab0 clk: qcom: gpucc-sdm845: fix clk_dis_wait being programmed for CX GDSC
    e3617778eb1b Input: ads7846 - don't check penirq immediately for 7845
    ea9c4fbfda69 Input: ads7846 - don't report pressure for ads7845
    17761a1c7fcd clk: renesas: cpg-mssr: Remove superfluous check in resume code
    8ff19db90352 clk: renesas: cpg-mssr: Use enum clk_reg_layout instead of a boolean flag
    330b70949cb4 clk: renesas: cpg-mssr: Fix use after free if cpg_mssr_common_init() failed
    f34eb1e4336e mtd: rawnand: sunxi: Fix the size of the last OOB region
    cdfdd882fae9 clk: qcom: gcc-qcs404: fix names of the DSI clocks used as parents
    b419e91378ed clk: qcom: gcc-qcs404: disable gpll[04]_out_aux parents
    588edb4fb1f1 mfd: pcf50633-adc: Fix potential memleak in pcf50633_adc_async_read()
    6e0a0eb18e04 selftests/ftrace: Fix bash specific "==" operator
    16a35042ff8a sparc: allow PM configs for sparc32 COMPILE_TEST
    090a22f5999d perf tools: Fix auto-complete on aarch64
    5d32f3e9227a perf llvm: Fix inadvertent file creation
    ce43565a6cd1 gfs2: jdata writepage fix
    3524d6da0fe8 cifs: Fix warning and UAF when destroy the MR list
    324c0c34fff1 cifs: Fix lost destroy smbd connection when MR allocate failed
    a22f1ecab6d4 nfsd: fix race to check ls_layouts
    5a195fa41d01 hid: bigben_probe(): validate report count
    9f525559ea39 HID: asus: Fix mute and touchpad-toggle keys on Medion Akoya E1239T
    bc786dfeb792 HID: asus: Add support for multi-touch touchpad on Medion Akoya E1239T
    bad4a822a118 HID: asus: Add report_size to struct asus_touchpad_info
    63792d0ae94e HID: asus: Only set EV_REP if we are adding a mapping
    25e14bf0c894 HID: bigben: use spinlock to safely schedule workers
    715edb0109ca HID: bigben_worker() remove unneeded check on report_field
    12533ad8545c HID: bigben: use spinlock to protect concurrent accesses
    05cb432c0909 ASoC: soc-dapm.h: fixup warning struct snd_pcm_substream not declared
    84beaa3e2eec ASoC: dapm: declare missing structure prototypes
    d6250e00bf42 spi: synquacer: Fix timeout handling in synquacer_spi_transfer_one()
    b89d2ed56406 dm: remove flush_scheduled_work() during local_exit()
    e6d9a876d914 hwmon: (mlxreg-fan) Return zero speed for broken fan
    870a0f519ac2 spi: bcm63xx-hsspi: Fix multi-bit mode setting
    dd271f179806 spi: bcm63xx-hsspi: fix pm_runtime
    904b717bb527 scsi: aic94xx: Add missing check for dma_map_single()
    3414be1c8cd1 hwmon: (ltc2945) Handle error case in ltc2945_value_store
    75a1c3f82232 gpio: vf610: connect GPIO label to dev name
    584cb84e2c6d ASoC: soc-compress.c: fixup private_data on snd_soc_new_compress()
    a161f1d92aab drm/mediatek: Clean dangling pointer on bind error path
    b8b166db7885 drm/mediatek: Drop unbalanced obj unref
    367c80fb343f drm/mediatek: Use NULL instead of 0 for NULL pointer
    a0555f90d823 drm/mediatek: remove cast to pointers passed to kfree
    2b59e87c92f0 gpu: host1x: Don't skip assigning syncpoints to channels
    3975ea6eaffe drm/msm/mdp5: Add check for kzalloc
    2a8bb9dce7fd drm: Initialize struct drm_crtc_state.no_vblank from device settings
    9b2f5844903a drm/bridge: Introduce drm_bridge_get_next_bridge()
    bb08be7232ef drm/bridge: Rename bridge helpers targeting a bridge chain
    2c33a6141de2 drm/exynos: Don't reset bridge->next
    dadd30fcc7e3 drm/msm/dpu: Add check for pstates
    a6afb8293ec0 drm/msm/dpu: Add check for cstate
    8f9fdc830d6d drm/msm: use strscpy instead of strncpy
    d7ea84cddf81 drm/mipi-dsi: Fix byte order of 16-bit DCS set/get brightness
    a9eafb0448ab ALSA: hda/ca0132: minor fix for allocation size
    a80767caeddc ASoC: fsl_sai: initialize is_dsp_mode flag
    95ab6d7905eb pinctrl: stm32: Fix refcount leak in stm32_pctrl_get_irq_domain
    fc34608fa275 drm/msm/hdmi: Add missing check for alloc_ordered_workqueue
    62430b3210c8 gpu: ipu-v3: common: Add of_node_put() for reference returned by of_graph_get_port_by_id()
    31701e54d318 drm/vc4: dpi: Fix format mapping for RGB565
    d66f26b93c13 drm/vc4: dpi: Add option for inverting pixel clock and output enable
    7ddd8a5ecf6f drm/bridge: megachips: Fix error handling in i2c_register_driver()
    d56e589f8b6f drm: mxsfb: DRM_MXSFB should depend on ARCH_MXS || ARCH_MXC
    c879003a6f5e drm/fourcc: Add missing big-endian XRGB1555 and RGB565 formats
    c82ca67ca01b selftest: fib_tests: Always cleanup before exit
    c31985922ec9 selftests/net: Interpret UDP_GRO cmsg data as an int value
    616574788880 irqchip/irq-bcm7120-l2: Set IRQ_LEVEL for level triggered interrupts
    3947b16613ef irqchip/irq-brcmstb-l2: Set IRQ_LEVEL for level triggered interrupts
    d77209007869 can: esd_usb: Move mislocated storage of SJA1000_ECC_SEG bits in case of a bus error
    3cf2181e438f thermal/drivers/hisi: Drop second sensor hi3660
    21c701cbc84e wifi: mac80211: make rate u32 in sta_set_rate_info_rx()
    b70d56e728ff crypto: crypto4xx - Call dma_unmap_page when done
    a3b75b1e767a wifi: mwifiex: fix loop iterator in mwifiex_update_ampdu_txwinsize()
    c002d2741400 wifi: iwl4965: Add missing check for create_singlethread_workqueue()
    7e594abc0424 wifi: iwl3945: Add missing check for create_singlethread_workqueue
    5de7a4254eb2 treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD()
    9198eefd1053 usb: gadget: udc: Avoid tasklet passing a global
    cf04507f425b RISC-V: time: initialize hrtimer based broadcast clock event device
    142bcf724056 m68k: /proc/hardware should depend on PROC_FS
    c4d8c23efed6 crypto: rsa-pkcs1pad - Use akcipher_request_complete
    8c1447495f05 rds: rds_rm_zerocopy_callback() correct order for list_add_tail()
    291e6a682008 libbpf: Fix alen calculation in libbpf_nla_dump_errormsg()
    60aaccf16d1e Bluetooth: L2CAP: Fix potential user-after-free
    d19bd48535fc OPP: fix error checking in opp_migrate_dentry()
    522d319cda95 tap: tap_open(): correctly initialize socket uid
    d92d87000eda tun: tun_chr_open(): correctly initialize socket uid
    11c9c7227273 net: add sock_init_data_uid()
    276ccbc15feb mptcp: add sk_stop_timer_sync helper
    07fceab32096 irqchip/ti-sci: Fix refcount leak in ti_sci_intr_irq_domain_probe
    c7d78d36e19e irqchip/irq-mvebu-gicp: Fix refcount leak in mvebu_gicp_probe
    9e79ac4f70fd irqchip/alpine-msi: Fix refcount leak in alpine_msix_init_domains
    7cce0c9fdd3f net/mlx5: Enhance debug print in page allocation failure
    dbd6ae095674 powercap: fix possible name leak in powercap_register_zone()
    63551e4b7cbc crypto: seqiv - Handle EBUSY correctly
    c61e7d182ee3 crypto: essiv - Handle EBUSY correctly
    bfef5e3e7375 crypto: essiv - remove redundant null pointer check before kfree
    2d1ac2f2e2be crypto: ccp - Failure on re-initialization due to duplicate sysfs filename
    40627e6e291c ACPI: battery: Fix missing NUL-termination with large strings
    bf6dc175a2b5 wifi: ath9k: Fix potential stack-out-of-bounds write in ath9k_wmi_rsp_callback()
    cd8316767099 wifi: ath9k: hif_usb: clean up skbs if ath9k_hif_usb_rx_stream() fails
    c3ff385b948d ath9k: htc: clean up statistics macros
    a49c13eccea4 ath9k: hif_usb: simplify if-if to if-else
    564bc2222bf5 wifi: ath9k: htc_hst: free skb in ath9k_htc_rx_msg() if there is no callback function
    17a0e61cd982 wifi: orinoco: check return value of hermes_write_wordrec()
    573dfeba2d4e ACPICA: nsrepair: handle cases without a return value correctly
    987b0ff1b9d9 lib/mpi: Fix buffer overrun when SG is too long
    b55ada30b5cd genirq: Fix the return type of kstat_cpu_irqs_sum()
    6b9f61c8b821 ACPICA: Drop port I/O validation for some regions
    c300697690e2 crypto: x86/ghash - fix unaligned access in ghash_setkey()
    0c4f20c8fc7d wifi: wl3501_cs: don't call kfree_skb() under spin_lock_irqsave()
    14ba31bb1b66 wifi: libertas: cmdresp: don't call kfree_skb() under spin_lock_irqsave()
    38ef77720371 wifi: libertas: main: don't call kfree_skb() under spin_lock_irqsave()
    1879fe9e4016 wifi: libertas: if_usb: don't call kfree_skb() under spin_lock_irqsave()
    0b7b7347449f wifi: libertas_tf: don't call kfree_skb() under spin_lock_irqsave()
    318005127c80 wifi: brcmfmac: unmap dma buffer in brcmf_msgbuf_alloc_pktid()
    d869a1895052 wifi: brcmfmac: fix potential memory leak in brcmf_netdev_start_xmit()
    a12610e83789 wifi: wilc1000: fix potential memory leak in wilc_mac_xmit()
    a6059cf02a0d wilc1000: let wilc_mac_xmit() return NETDEV_TX_OK
    112c1af02b8f wifi: ipw2200: fix memory leak in ipw_wdev_init()
    ba1d3623fea5 wifi: ipw2x00: don't call dev_kfree_skb() under spin_lock_irqsave()
    0d438ae7bac9 ipw2x00: switch from 'pci_' to 'dma_' API
    28ea268d95e5 wifi: rtlwifi: Fix global-out-of-bounds bug in _rtl8812ae_phy_set_txpower_limit()
    5d171ab48b42 rtlwifi: fix -Wpointer-sign warning
    5dd30d1acc70 wifi: rtl8xxxu: don't call dev_kfree_skb() under spin_lock_irqsave()
    23b34e08de5c wifi: libertas: fix memory leak in lbs_init_adapter()
    1864b22e238c wifi: iwlegacy: common: don't call dev_kfree_skb() under spin_lock_irqsave()
    9004aa391a1a net/wireless: Delete unnecessary checks before the macro call “dev_kfree_skb”
    fe4d7280cf4d wifi: rsi: Fix memory leak in rsi_coex_attach()
    82d68c324497 block: bio-integrity: Copy flags when bio_integrity_payload is cloned
    084cd75643b6 sched/rt: pick_next_rt_entity(): check list_entry
    0ff7ba5e8bbd sched/deadline,rt: Remove unused parameter from pick_next_[rt|dl]_entity()
    ee986d80acde s390/dasd: Fix potential memleak in dasd_eckd_init()
    8bc5a76268fb s390/dasd: Prepare for additional path event handling
    946515fad41a blk-mq: correct stale comment of .get_budget
    2dc5f68fe664 blk-mq: wait on correct sbitmap_queue in blk_mq_mark_tag_wait
    8c225150ea27 blk-mq: remove stale comment for blk_mq_sched_mark_restart_hctx
    260dcf1ccdc6 block: Limit number of items taken from the I/O scheduler in one go
    578c8f09c04b Revert "scsi: core: run queue if SCSI device queue isn't ready and queue is idle"
    2d3c3aa4123a arm64: dts: mediatek: mt7622: Add missing pwm-cells to pwm node
    38af86810d48 ARM: dts: imx7s: correct iomuxc gpr mux controller cells
    7fe5dc2fee91 arm64: dts: amlogic: meson-gxl-s905d-phicomm-n1: fix led node name
    8b7aa62f4a3a arm64: dts: amlogic: meson-gxl: add missing unit address to eth-phy-mux node name
    d5fbeae6d608 arm64: dts: amlogic: meson-gx: add missing unit address to rng node name
    c5cd41bd10e2 arm64: dts: amlogic: meson-gx: add missing SCPI sensors compatible
    1e3ec4d1d7f3 arm64: dts: amlogic: meson-axg: fix SCPI clock dvfs node name
    e515d4118583 arm64: dts: amlogic: meson-gx: fix SCPI clock dvfs node name
    1e1b84b0220b ARM: imx: Call ida_simple_remove() for ida_simple_get
    b0a1b2f3ef90 ARM: dts: exynos: correct wr-active property in Exynos3250 Rinato
    91ac4bf35ad6 ARM: OMAP1: call platform_device_put() in error case in omap1_dm_timer_init()
    af3352c16efd arm64: dts: meson: remove CPU opps below 1GHz for G12A boards
    9dd61d95429b arm64: dts: meson-gx: Fix the SCPI DVFS node name and unit address
    cba890c4bd9d arm64: dts: meson-g12a: Fix internal Ethernet PHY unit name
    69bdc5d01406 arm64: dts: meson-gx: Fix Ethernet MAC address unit name
    ede0334bf4df ARM: zynq: Fix refcount leak in zynq_early_slcr_init
    45b44ba5dfc9 arm64: dts: qcom: qcs404: use symbol names for PCIe resets
    8041f9a2a958 ARM: OMAP2+: Fix memory leak in realtime_counter_init()
    dd08e68d04d0 HID: asus: use spinlock to safely schedule workers
    136a9bcc0ed2 HID: asus: use spinlock to protect concurrent accesses
    9a25b22fd577 HID: asus: Remove check for same LED brightness on set

(From OE-Core rev: 4279a46f94a535a0b389f27c5c3b1e16aa9eb63d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-01 20:23:23 +01:00
Bruce Ashfield
2b2f5660b9 linux-yocto/5.4: update to v5.4.234
Updating  to the latest korg -stable release that comprises
the following commits:

    a103859aaa71 Linux 5.4.234
    a1e89c8b29d0 USB: core: Don't hold device lock while reading the "descriptors" sysfs file
    96d380d2ae98 USB: serial: option: add support for VW/Skoda "Carstick LTE"
    91c877d4311f dmaengine: sh: rcar-dmac: Check for error num after dma_set_max_seg_size
    465ce31a2bcc vc_screen: don't clobber return value in vcs_read
    ee8cd3abe722 net: Remove WARN_ON_ONCE(sk->sk_forward_alloc) from sk_stream_kill_queues().
    db25b41eb531 bpf: bpf_fib_lookup should not return neigh in NUD_FAILED state
    23affaed760b HID: core: Fix deadloop in hid_apply_multiplier.
    93b17c7e1e1c neigh: make sure used and confirmed times are valid
    bc4601ad979a IB/hfi1: Assign npages earlier
    98e626c115f8 btrfs: send: limit number of clones and allocated memory size
    ae03fa7ad343 ACPI: NFIT: fix a potential deadlock during NFIT teardown
    785bde845991 ARM: dts: rockchip: add power-domains property to dp node on rk3288
    da2bba879eca arm64: dts: rockchip: drop unused LED mode property from rk3328-roc-cc

(From OE-Core rev: 75c94d4da6cc2efba436bcb3b5cec5ebc9a76151)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-01 20:23:23 +01:00
Bruce Ashfield
8c4a94a6de linux-yocto/5.4: update to v5.4.233
Updating  to the latest korg -stable release that comprises
the following commits:

    69f65d442efe Linux 5.4.233
    c6cc0121d44d bpf: add missing header file include
    5d873a6c658f Revert "net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo child qdiscs"
    99e3fd21f8fc ext4: Fix function prototype mismatch for ext4_feat_ktype
    6f86bb6f853f wifi: mwifiex: Add missing compatible string for SD8787
    6c750ed0367f uaccess: Add speculation barrier to copy_from_user()
    4d2e5de071fd mac80211: mesh: embedd mesh_paths and mpp_paths into ieee80211_if_mesh
    787ef0db0140 drm/i915/gvt: fix double free bug in split_2MB_gtt_entry
    100cf2af1b39 alarmtimer: Prevent starvation by small intervals and SIG_IGN
    dab2066c5fff powerpc: dts: t208x: Disable 10G on MAC1 and MAC2
    113e0cde39bb can: kvaser_usb: hydra: help gcc-13 to figure out cmd_len
    f93a1a5bdcdd KVM: VMX: Execute IBPB on emulated VM-exit when guest has IBRS
    db209f39f1d1 KVM: x86: Fail emulation during EMULTYPE_SKIP on any exception
    dc399695dfe9 random: always mix cycle counter in add_latent_entropy()
    eff0e02f7d3f powerpc: dts: t208x: Mark MAC1 and MAC2 as 10G
    ead0689bd6fd wifi: rtl8xxxu: gen2: Turn on the rate control
    0a77a966aa4a drm/etnaviv: don't truncate physical page address
    fa2845b21671 drm: etnaviv: fix common struct sg_table related issues
    4626550b09ea scatterlist: add generic wrappers for iterating over sgtable objects
    fe3e217272a8 dma-mapping: add generic helpers for mapping sgtable objects
    64121e2adf7d Linux 5.4.232
    8b47e324af71 iommu/amd: Pass gfp flags to iommu_map_page() in amd_iommu_map()
    7519069f1fb8 net: sched: sch: Fix off by one in htb_activate_prios()
    5660a6ffa7a4 ASoC: SOF: Intel: hda-dai: fix possible stream_tag leak
    52844d8382cd nilfs2: fix underflow in second superblock position calculations
    9f95a161a7de kvm: initialize all of the kvm_debugregs structure before sending it to userspace
    9f4abf204827 i40e: Add checking for null for nlmsg_find_attr()
    e71554a09edf ipv6: Fix tcp socket connection with DSCP.
    388886f9708e ipv6: Fix datagram socket connection with DSCP.
    905199dac226 ixgbe: add double of VLAN header when computing the max MTU
    df099e65564a net: mpls: fix stale pointer if allocation fails during device rename
    736f8f66d7a9 net: stmmac: Restrict warning on disabling DMA store and fwd mode
    1a2c7951424c bnxt_en: Fix mqprio and XDP ring checking logic
    de44bdebcfe4 net: stmmac: fix order of dwmac5 FlexPPS parametrization sequence
    a753352622b4 net/usb: kalmia: Don't pass act_len in usb_bulk_msg error path
    0c2651c76369 dccp/tcp: Avoid negative sk_forward_alloc by ipv6_pinfo.pktoptions.
    a4e9411769a7 sctp: sctp_sock_filter(): avoid list_entry() on possibly empty list
    e1b54b561250 net: bgmac: fix BCM5358 support by setting correct flags
    8a4d05b0ffc8 i40e: add double of VLAN header when computing the max MTU
    fdeb4c258bc6 ixgbe: allow to increase MTU to 3K with XDP enabled
    32d81fd54e4e revert "squashfs: harden sanity check in squashfs_read_xattr_id_table"
    4c8011e77c27 net: Fix unwanted sign extension in netdev_stats_to_stats64()
    6b08c9fc72c6 Revert "mm: Always release pages to the buddy allocator in memblock_free_late()."
    8c07792e79cf hugetlb: check for undefined shift on 32 bit architectures
    7caeb5457bd0 sched/psi: Fix use-after-free in ep_remove_wait_queue()
    6c38aa4020b6 ALSA: hda/realtek - fixed wrong gpio assigned
    6e0ef3fc6560 ALSA: hda/conexant: add a new hda codec SN6180
    e9b488d60f51 mmc: mmc_spi: fix error handling in mmc_spi_probe()
    761db46b29b4 mmc: sdio: fix possible resource leaks in some error paths
    98895c225e28 ipv4: Fix incorrect route flushing when source address is deleted
    04a331c9dd66 Revert "ipv4: Fix incorrect route flushing when source address is deleted"
    85eda8088334 xfs: sync lazy sb accounting on quiesce of read-only mounts
    fb8ee907c145 xfs: prevent UAF in xfs_log_item_in_current_chkpt
    7c07806ab05c xfs: fix the forward progress assertion in xfs_iwalk_run_callbacks
    313699d5053c xfs: ensure inobt record walks always make forward progress
    7f9309a9f580 xfs: fix missing CoW blocks writeback conversion retry
    6246b3a18f7e xfs: only relog deferred intent items if free space in the log gets low
    09d61814476c xfs: expose the log push threshold
    5d711e41361c xfs: periodically relog deferred intent items
    870e7d710843 xfs: change the order in which child and parent defer ops are finished
    f5af1d5c2dfe xfs: fix an incore inode UAF in xfs_bui_recover
    efcdc2e70e01 xfs: clean up xfs_bui_item_recover iget/trans_alloc/ilock ordering
    abad319deef5 xfs: clean up bmap intent item recovery checking
    6601531db861 xfs: xfs_defer_capture should absorb remaining transaction reservation
    411b14e68c68 xfs: xfs_defer_capture should absorb remaining block reservations
    3324249e6ecd xfs: proper replay of deferred ops queued during log recovery
    1c89c0430561 xfs: fix finobt btree block recovery ordering
    6678b2787bb4 xfs: log new intent items created as part of finishing recovered intent items
    562da8e70463 xfs: refactor xfs_defer_finish_noroll
    42a2406f9015 xfs: turn dfp_intent into a xfs_log_item
    e11f1516fc9f xfs: merge the ->diff_items defer op into ->create_intent
    e84096edf886 xfs: merge the ->log_item defer op into ->create_intent
    64b21eaa33f5 xfs: factor out a xfs_defer_create_intent helper
    d24633f3c258 xfs: remove the xfs_inode_log_item_t typedef
    e0373eeaaaa3 xfs: remove the xfs_efd_log_item_t typedef
    94e0639992dd xfs: remove the xfs_efi_log_item_t typedef
    83ef55c4281f netfilter: nft_tproxy: restrict to prerouting hook
    b6ac5e6be513 btrfs: free device in btrfs_close_devices for a single device filesystem
    4326d0080f7e aio: fix mremap after fork null-deref
    62b19b9f3a0d nvme-fc: fix a missing queue put in nvmet_fc_ls_create_association
    16409f7d9ca5 s390/decompressor: specify __decompress() buf len to avoid overflow
    fbe71c5dacaa net: sched: sch: Bounds check priority
    09561d5e6ab0 net: stmmac: do not stop RX_CLK in Rx LPI state for qcs404 SoC
    a74d3b0ea984 net/rose: Fix to not accept on connected socket
    ec54c946b412 tools/virtio: fix the vringh test for virtio ring changes
    6644685f7971 ASoC: cs42l56: fix DT probe
    d23b66b16e30 selftests/bpf: Verify copy_register_state() preserves parent/live fields
    a94695e0f9c6 migrate: hugetlb: check for hugetlb shared PMD in node migration
    bcd34f1eea88 bpf: Always return target ifindex in bpf_fib_lookup
    776f2ccfdcef nvme-pci: Move enumeration by class to be last in the table
    5c8680988279 arm64: dts: meson-axg: Make mmc host controller interrupts level-sensitive
    4b97dab7cd98 arm64: dts: meson-g12-common: Make mmc host controller interrupts level-sensitive
    f0302e98edc8 arm64: dts: meson-gx: Make mmc host controller interrupts level-sensitive
    1509e9391616 riscv: Fixup race condition on PG_dcache_clean in flush_icache_pte
    bb3187311ec2 ceph: flush cap releases when the session is flushed
    9b5d37d3288d usb: typec: altmodes/displayport: Fix probe pin assign check
    d9758f7deb5a usb: core: add quirk for Alcor Link AK9563 smartcard reader
    43379fcacea2 net: USB: Fix wrong-direction WARNING in plusb.c
    1bcb431237f1 pinctrl: intel: Restore the pins that used to be in Direct IRQ mode
    2b763f7de108 pinctrl: single: fix potential NULL dereference
    cc1affa23403 pinctrl: aspeed: Fix confusing types in return value
    f209431be199 ALSA: pci: lx6464es: fix a debug loop
    1aab663ecb78 selftests: forwarding: lib: quote the sysctl values
    ba38eacade35 rds: rds_rm_zerocopy_callback() use list_first_entry()
    87a5e3fc8416 ice: Do not use WQ_MEM_RECLAIM flag for workqueue
    f312958f588a ionic: clean interrupt before enabling queue to avoid credit race
    a532f7ebf9fd net: phy: meson-gxl: use MMD access dummy stubs for GXL, internal PHY
    73b8e217fe6f bonding: fix error checking in bond_debug_reregister()
    c89ddf134c53 xfrm: fix bug with DSCP copy to v6 from v4 tunnel
    80282a3d103f RDMA/usnic: use iommu_map_atomic() under spin_lock()
    fe4d70866839 iommu: Add gfp parameter to iommu_ops::map
    4a779187db39 IB/IPoIB: Fix legacy IPoIB due to wrong number of queues
    7896accedf5b IB/hfi1: Restore allocated resources on failed copyout
    ae774f480da3 can: j1939: do not wait 250 ms if the same addr was already claimed
    56ee31167ce5 tracing: Fix poll() and select() do not work on per_cpu trace_pipe and trace_pipe_raw
    039f935ae009 ALSA: emux: Avoid potential array out-of-bound in snd_emux_xg_control()
    7e43bb69bc6f btrfs: zlib: zero-initialize zlib workspace
    ed29d8b309b5 btrfs: limit device extents to the device size
    9f296c615ec4 iio:adc:twl6030: Enable measurement of VAC
    9cf5e99c1ae1 wifi: brcmfmac: Check the count value of channel spec to prevent out-of-bounds reads
    e5142a4935c1 f2fs: fix to do sanity check on i_extra_isize in is_alive()
    3b3d3127f5b4 fbdev: smscufx: fix error handling code in ufx_usb_probe
    8edda487f085 powerpc/imc-pmu: Revert nest_init_lock to being a mutex
    fc8548c75c03 serial: 8250_dma: Fix DMA Rx rearm race
    71d6b277c4e5 serial: 8250_dma: Fix DMA Rx completion race
    ec5b4ca3d30b xprtrdma: Fix regbuf data not freed in rpcrdma_req_create()
    5af2f74f9074 mm: swap: properly update readahead statistics in unuse_pte_range()
    ce62df33fcff nvmem: core: fix cell removal on error
    1369322c1de5 Squashfs: fix handling and sanity checking of xattr_ids count
    d49c85a19133 mm/swapfile: add cond_resched() in get_swap_pages()
    c127bf9a952a fpga: stratix10-soc: Fix return value check in s10_ops_write_init()
    6d86b4ceb09b mm: hugetlb: proc: check for hugetlb shared PMD in /proc/PID/smaps
    845a3708f04f riscv: disable generation of unwind tables
    c89af52d91ca parisc: Wire up PTRACE_GETREGS/PTRACE_SETREGS for compat case
    8e6cc45ba8ab parisc: Fix return code of pdc_iodc_print()
    7f5df45fcb26 iio:adc:twl6030: Enable measurements of VUSB, VBAT and others
    4b82cc9f7f05 iio: adc: berlin2-adc: Add missing of_node_put() in error path
    a300e358c6fc iio: hid: fix the retval in accel_3d_capture_sample
    2035cfb9586f efi: Accept version 2 of memory attributes table
    f6ea834e8dce watchdog: diag288_wdt: fix __diag288() inline assembly
    78e55b52b205 watchdog: diag288_wdt: do not use stack buffers for hardware data
    4abcd352a022 fbcon: Check font dimension limits
    e00d6a74c3c4 Input: i8042 - add Clevo PCX0DX to i8042 quirk table
    faed5af8a9c3 Input: i8042 - add TUXEDO devices to i8042 quirk tables
    ee77a19ee5b3 Input: i8042 - merge quirk tables
    a789c05516a4 Input: i8042 - move __initconst to fix code styling warning
    d0332cbf53da vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF
    5bf0010b87be usb: gadget: f_fs: Fix unbalanced spinlock in __ffs_ep0_queue_wait
    db3798943ab7 usb: dwc3: qcom: enable vbus override when in OTG dr-mode
    fefffc782500 usb: dwc3: dwc3-qcom: Fix typo in the dwc3 vbus override API
    e4650c04de90 iio: adc: stm32-dfsdm: fill module aliases
    165511b99ebc net/x25: Fix to not accept on connected socket
    b05664e036e1 i2c: rk3x: fix a bunch of kernel-doc warnings
    d4d765f4761f scsi: iscsi_tcp: Fix UAF during login when accessing the shost ipaddress
    6122ce1de1b2 scsi: target: core: Fix warning on RT kernels
    d92a25627bcd efi: fix potential NULL deref in efi_mem_reserve_persistent
    ed6c5e8caf55 net: openvswitch: fix flow memory leak in ovs_flow_cmd_new
    743f7b51fe7c virtio-net: Keep stop() to follow mirror sequence of open()
    aed972fbf6fa selftests: net: udpgso_bench_tx: Cater for pending datagrams zerocopy benchmarking
    df1213a26704 selftests: net: udpgso_bench: Fix racing bug between the rx/tx programs
    6c70ece3d374 selftests: net: udpgso_bench_rx/tx: Stop when wrong CLI args are provided
    d47f886d0c38 selftests: net: udpgso_bench_rx: Fix 'used uninitialized' compiler warning
    db3f016ad500 ata: libata: Fix sata_down_spd_limit() when no link speed is reported
    6950df42a03c can: j1939: fix errant WARN_ON_ONCE in j1939_session_deactivate
    cb079b077026 net: phy: meson-gxl: Add generic dummy stubs for MMD register access
    db76fc535fbd squashfs: harden sanity check in squashfs_read_xattr_id_table
    dffe83a198a6 netfilter: br_netfilter: disable sabotage_in hook after first suppression
    20355b9569bd netrom: Fix use-after-free caused by accept on already connected socket
    03eb2a1b03f3 fix "direction" argument of iov_iter_kvec()
    34b0fab797f0 fix iov_iter_bvec() "direction" argument
    50b70599c00b WRITE is "data source", not destination...
    21081886de0c scsi: Revert "scsi: core: map PQ=1, PDT=other values to SCSI_SCAN_TARGET_PRESENT"
    14be8b0c4eed arm64: dts: imx8mm: Fix pad control for UART1_DTE_RX
    d6870f3800db ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path()
    412fddc09612 ASoC: Intel: bytcr_rt5651: Drop reference count of ACPI device after use
    79dfde344e0f bus: sunxi-rsb: Fix error handling in sunxi_rsb_init()
    53785fd9b315 firewire: fix memory leak for payload of request subaction to IEC 61883-1 FCP region

(From OE-Core rev: ad0877d917c2213fd7129ad9571f259d836cc75a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-01 20:23:23 +01:00
Bruce Ashfield
fd5bb826ea linux-yocto/5.4: update to v5.4.231
Updating  to the latest korg -stable release that comprises
the following commits:

    59342376e8f0 Linux 5.4.231
    268d595d4da3 Revert "xprtrdma: Fix regbuf data not freed in rpcrdma_req_create()"
    6c24a20223db usb: host: xhci-plat: add wakeup entry at sysfs
    1c1291a84e94 Bluetooth: fix null ptr deref on hci_sync_conn_complete_evt
    af51fc23a03f ipv6: ensure sane device mtu in tunnels
    a7cc1b5d76a2 exit: Use READ_ONCE() for all oops/warn limit reads
    eb768617dafa docs: Fix path paste-o for /sys/kernel/warn_count
    6f18d28c2634 panic: Expose "warn_count" to sysfs
    7c1273646f7e panic: Introduce warn_limit
    51538bdde3c2 panic: Consolidate open-coded panic_on_warn checks
    7020a9234e86 exit: Allow oops_limit to be disabled
    5a3482f2c1cc exit: Expose "oops_count" to sysfs
    28facdf7b097 exit: Put an upper limit on how often we can oops
    3fa431bac23c ia64: make IA64_MCA_RECOVERY bool instead of tristate
    86926761ca80 csky: Fix function name in csky_alignment() and die()
    3bf1fa2c7b0f h8300: Fix build errors from do_exit() to make_task_dead() transition
    fcae924b945e hexagon: Fix function name in die()
    49a128ae2823 objtool: Add a missing comma to avoid string concatenation
    9a18c9c8336f exit: Add and use make_task_dead.
    2f87e255123f mm: kasan: do not panic if both panic_on_warn and kasan_multishot set
    119f6bcef753 panic: unset panic_on_warn inside panic()
    f6c20ed17ef0 sysctl: add a new register_sysctl_init() interface
    dbe634ce8243 dmaengine: imx-sdma: Fix a possible memory leak in sdma_transfer_init
    1986cd616b63 blk-cgroup: fix missing pd_online_fn() while activating policy
    4923160393b0 bpf: Skip task with pid=1 in send_signal_common()
    bd393f0ad5b5 ARM: dts: imx: Fix pca9547 i2c-mux node name
    8667280a673a x86/asm: Fix an assembler warning with current binutils
    1a5119369a50 clk: Fix pointer casting to prevent oops in devm_clk_release()
    fbf7b0e4cef3 perf/x86/amd: fix potential integer overflow on shift of a int
    f571e340050d netfilter: conntrack: unify established states for SCTP paths
    8770cd9d7c14 x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL
    4d1757f9fe57 block: fix and cleanup bio_check_ro
    3a10a4d5d08a nfsd: Ensure knfsd shuts down when the "nfsd" pseudofs is unmounted
    52462669581f Revert "Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI mode"
    f7a564412931 net: mdio-mux-meson-g12a: force internal PHY off on mux switch
    2635c4fd91ca net: xgene: Move shared header file into include/linux
    a70b966c6c1e net/phy/mdio-i2c: Move header file to include/linux/mdio
    a9a022a0db1a net/tg3: resolve deadlock in tg3_reset_task() during EEH
    92a65b0f207b thermal: intel: int340x: Add locking to int340x_thermal_get_trip_type()
    e249cea3abd5 net: ravb: Fix possible hang if RIS2_QFF1 happen
    a7585028ac0a sctp: fail if no bound addresses can be used for a given scope
    dae05cd3716f net/sched: sch_taprio: do not schedule in taprio_reset()
    fe9b9e621ceb netrom: Fix use-after-free of a listening socket.
    67ac3b4cd551 netfilter: conntrack: fix vtag checks for ABORT/SHUTDOWN_COMPLETE
    8f0eb24f1a7a ipv4: prevent potential spectre v1 gadget in fib_metrics_match()
    746db9ec1e67 ipv4: prevent potential spectre v1 gadget in ip_metrics_convert()
    4cde1d2f16b6 netlink: annotate data races around sk_state
    c64bb8547160 netlink: annotate data races around dst_portid and dst_group
    ea11a52f55c9 netlink: annotate data races around nlk->portid
    cfdd81ae4752 netfilter: nft_set_rbtree: skip elements in transaction from garbage collection
    ddd49cbbd4c1 net: fix UaF in netns ops registration error path
    3e5082b1c66c netlink: prevent potential spectre v1 gadgets
    66e10d5f3996 EDAC/qcom: Do not pass llcc_driv_data as edac_device_ctl_info's pvt_info
    594618c701ac EDAC/device: Respect any driver-supplied workqueue polling value
    a536d87ec73f ARM: 9280/1: mm: fix warning on phys_addr_t to void pointer assignment
    768e8cdf93e7 thermal: intel: int340x: Protect trip temperature from concurrent updates
    aa33d334bd7e KVM: x86/vmx: Do not skip segment attributes if unusable bit is set
    91be54849d53 cifs: Fix oops due to uncleared server->smbd_conn in reconnect
    bcb65adaa9a1 ftrace/scripts: Update the instructions for ftrace-bisect.sh
    31b2414abeaa trace_events_hist: add check for return value of 'create_hist_field'
    76b2390fdc80 tracing: Make sure trace_printk() can output as soon as it can be used
    4a4a22dda0a3 module: Don't wait for GOING modules
    1cd70d842731 scsi: hpsa: Fix allocation size for scsi_host_alloc()
    4d55f918e1cd Bluetooth: hci_sync: cancel cmd_timer if hci_open failed
    e588a5872d41 Revert "Revert "xhci: Set HCD flag to defer primary roothub registration""
    8eb5a68064a5 fs: reiserfs: remove useless new_opts in reiserfs_remount
    a61bc9197d90 netfilter: conntrack: do not renew entry stuck in tcp SYN_SENT state
    d39117d7797f Revert "selftests/bpf: check null propagation only neither reg is PTR_TO_BTF_ID"
    b4253b47bf5e mmc: sdhci-esdhc-imx: correct the tuning start tap and step setting
    14b70b4b4a1c mmc: sdhci-esdhc-imx: disable the CMD CRC check for standard tuning
    7e66f28ce510 mmc: sdhci-esdhc-imx: clear pending interrupt and halt cqhci
    a58c144b9e69 lockref: stop doing cpu_relax in the cmpxchg loop
    d6ff82a4d712 platform/x86: asus-nb-wmi: Add alternate mapping for KEY_SCREENLOCK
    295690bb0596 platform/x86: touchscreen_dmi: Add info for the CSL Panther Tab HD
    890d850cb25b scsi: hisi_sas: Set a port invalid only if there are no devices attached when refreshing port id
    45b3fc9cc64b KVM: s390: interrupt: use READ_ONCE() before cmpxchg()
    dc0867c44722 spi: spidev: remove debug messages that access spidev->spi without locking
    0dfd34fb4506 ASoC: fsl-asoc-card: Fix naming of AC'97 CODEC widgets
    9e02118045f8 ASoC: fsl_ssi: Rename AC'97 streams to avoid collisions with AC'97 CODEC
    3163f4ed49bd cpufreq: armada-37xx: stop using 0 as NULL pointer
    1ec79234c20a s390/debug: add _ASM_S390_ prefix to header guard
    18699224059c drm: Add orientation quirk for Lenovo ideapad D330-10IGL
    aff2bc578482 ASoC: fsl_micfil: Correct the number of steps on SX controls
    1c587aa6cd23 cpufreq: Add Tegra234 to cpufreq-dt-platdev blocklist
    8cca0afccefd tcp: fix rate_app_limited to default to 1
    11a4d51a4f18 net: dsa: microchip: ksz9477: port map correction in ALU table entry register
    02a4a7dc90c2 driver core: Fix test_async_probe_init saves device in wrong array
    276052159ba9 w1: fix WARNING after calling w1_process()
    82867190ce30 w1: fix deadloop in __w1_remove_master_device()
    c9ada353403d tcp: avoid the lookup process failing to get sk in ehash table
    e963b33723f7 dmaengine: xilinx_dma: call of_node_put() when breaking out of for_each_child_of_node()
    9b4482267eee dmaengine: xilinx_dma: Fix devm_platform_ioremap_resource error handling
    fe39e74a6435 dmaengine: xilinx_dma: use devm_platform_ioremap_resource()
    d3065cc56221 HID: betop: check shape of output reports
    d16b83c804ad net: macb: fix PTP TX timestamp failure due to packet padding
    18dd3b30d4c7 dmaengine: Fix double increment of client_count in dma_chan_get()
    cbed756bd198 drm/panfrost: fix GENERIC_ATOMIC64 dependency
    914c58fec1a6 net: mlx5: eliminate anonymous module_init & module_exit
    7335ba0c0345 usb: gadget: f_fs: Ensure ep0req is dequeued before free_request
    a8d40942df07 usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait
    edec50677b41 HID: revert CHERRY_MOUSE_000C quirk
    efa29f4ba01e net: stmmac: fix invalid call to mdiobus_get_phy()
    8c3653c4e71f HID: check empty report_list in bigben_probe()
    89e7fe3999e0 HID: check empty report_list in hid_validate_values()
    8a7b9560a3a8 net: mdio: validate parameter addr in mdiobus_get_phy()
    ce1e79bf31aa net: usb: sr9700: Handle negative len
    4fd6a6b1019e l2tp: Don't sleep and disable BH under writer-side sk_callback_lock
    7188c37f3c25 l2tp: Serialize access to sk_user_data with sk_callback_lock
    24c7614d31c8 net: fix a concurrency bug in l2tp_tunnel_register()
    1200388a0b1c net/sched: sch_taprio: fix possible use-after-free
    9042a9a3f29c wifi: rndis_wlan: Prevent buffer overflow in rndis_query_oid
    de0e084f85ff gpio: mxc: Always set GPIOs used as interrupt source to INPUT mode
    8df414fce41c net: wan: Add checks for NULL for utdm in undo_uhdlc_init and unmap_si_regs
    a59cdbda3714 net: nfc: Fix use-after-free in local_cleanup()
    2a05d513d2b9 phy: rockchip-inno-usb2: Fix missing clk_disable_unprepare() in rockchip_usb2phy_power_on()
    81b3374944d2 bpf: Fix pointer-leak due to insufficient speculative store bypass mitigation
    8b35c7f6920d amd-xgbe: Delay AN timeout during KR training
    b85e0bb478fd amd-xgbe: TX Flow Ctrl Registers are h/w ver dependent
    3d41f4eeabd0 affs: initialize fsdata in affs_truncate()
    03965f8ad2cd IB/hfi1: Fix expected receive setup error exit issues
    f5c918dc4ed9 IB/hfi1: Reserve user expected TIDs
    d307c75f4328 IB/hfi1: Reject a zero-length user expected buffer
    902063a9fea5 RDMA/core: Fix ib block iterator counter overflow
    048c17b619b4 tomoyo: fix broken dependency on *.conf.default
    8d23f5d25264 EDAC/highbank: Fix memory leak in highbank_mc_probe()
    97445814efcd HID: intel_ish-hid: Add check for ishtp_dma_tx_map
    4be51ea91a8b ARM: imx: add missing of_node_put()
    12a763015b83 ARM: imx35: Retrieve the IIM base address from devicetree
    3b76bc159878 ARM: imx31: Retrieve the IIM base address from devicetree
    61669e6dec15 ARM: imx27: Retrieve the SYSCTRL base address from devicetree
    d4e913bad2b5 ARM: dts: imx6qdl-gw560x: Remove incorrect 'uart-has-rtscts'
    6d7f38426895 memory: mvebu-devbus: Fix missing clk_disable_unprepare in mvebu_devbus_probe()
    8959188b2f31 memory: atmel-sdramc: Fix missing clk_disable_unprepare in atmel_ramc_probe()
    310268050d58 clk: Provide new devm_clk helpers for prepared and enabled clocks
    c7ef7185a15f clk: generalize devm_clk_get() a bit

(From OE-Core rev: 13e4ca633d1f0897b5bbe1b40d399faa95bac24c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-01 20:23:23 +01:00
Chee Yang Lee
342bf915dc git: ignore CVE-2023-22743
(From OE-Core rev: 3f106ad3ebafbf850e42bcb46661cc0b6e40e4cc)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 70adf86b515934168a6185dcff4a8edb39a40017)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-01 20:23:23 +01:00
Chee Yang Lee
72707c04e1 qemu: fix multple CVEs
import patches from ubuntu to fix
 CVE-2020-15469
 CVE-2020-15859
 CVE-2020-17380
 CVE-2020-35504
 CVE-2020-35505
 CVE-2021-3409
 CVE-2022-26354
https://git.launchpad.net/ubuntu/+source/qemu/tree/debian/patches?h=ubuntu/focal-security

Combine patches for both CVE-2020-25085 and CVE-2021-3409 also fix CVE-2020-17380.
so mark CVE-2020-17380 fixed by CVE-2021-3409 patches. CVE-2020-17380 patch backported since
oecore rev 6b4c58a31ec11e557d40c31f2532985dd53e61eb.

(From OE-Core rev: 3ee2e9027d57dd5ae9f8795436c1acd18a9f1e24)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-01 20:23:23 +01:00
Richard Purdie
f76c7b8e63 base-files: Drop localhost.localdomain from hosts file
This was likely something we took inspiration from elsewhere with.
It was added in:

https://git.openembedded.org/openembedded/commit/packages/netbase/netbase/hosts?id=c8e5702127e507e82e6f68a4b8c546803accea9d

in 2005. Debian added this entry around 2004 and discussed and dropped
it in 2005:

https://lists.debian.org/debian-devel/2005/10/msg00559.html

resulting in:

3c15ee521b

We should drop this for some of the reasons in those threads,
it doesn't seem to be doing anything too helpful and isn't what most
applications expect.

(From OE-Core rev: a04b207c4ffa900313a0b5e3079ad2eec7d31f27)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e730d005fa8aec07f9ae25c58d4566eaa92a6997)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-25 23:00:59 +00:00
Kenfe-Mickael Laventure
1c69728f31 populate_sdk_ext: Handle spaces within user $PATH
The script generated by the sdk_ext_postinst function was not quoting
the user existing PATH when updating it causing the export command to
fail.

Add necessary double quotes around $PATH.

(From OE-Core rev: b8298401c710146ae35f282048b66d5773a513ed)

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 00e96bf250eaaded839caf465dbc0af5b604aed7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-25 23:00:59 +00:00
Kenfe-Mickael Laventure
048d8b8c71 toolchain-scripts: Handle spaces within user $PATH
The environment-setup script generated by the recipe was not quoting the
user existing PATH when updating it causing the export command to fail.

Add necessary double quotes around $PATH.

(From OE-Core rev: ad6aaa77f1d08b4ca66f46e318f1a09b645d9e23)

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 42177ff2d45ee70ad00917bb6fbabca49dae4f59)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-25 23:00:59 +00:00
Kenfe-Mickael Laventure
afaadab7e9 buildtools-tarball: Handle spaces within user $PATH
The environment-setup script generated by the recipe was not quoting the
user existing PATH when updating it causing the export command to fail.

Add necessary double quotes around $PATH.

(From OE-Core rev: 9ececa2c36eff7c954d92e9d13a2fe8c1fae9bd2)

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 2d4c032bf3187aaa953a0c33a999074e695f54bb)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-25 23:00:59 +00:00
Richard Purdie
f160d63cb5 glibc: Add missing binutils dependency
glibc has it's dependencies handled more manually due to it's place
in the toolchain bootstrap. It depends upon the compiler and indirectly
through that to binutils. This did mean that if binutils changes and the
compiler does not, sstate and hash equivalence could mean that glibc
wouldn't rebuild.

Add a direct dependency on binutils that if it changes, it forces glibc
to rebuild, as it should.

(From OE-Core rev: ea6d768d0910e2076a971bdba57605dd9d68763a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c4a7b3decff636292f5e76e95406a22b6fe4a994)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-25 23:00:59 +00:00
Richard Purdie
9cfc1a05ba staging/multilib: Fix manifest corruption
The previous fix wasn't enough to address all the possible ways the
manifests might be ordered. Rework the previous fix so it is tied
to the multilib cross-canadian code which is causing the problem.

RECIPE_SYSROOT_MANIFEST_SUBDIR is not documented as I'd hope nobody
ever needs to use this outside the core multilib code.

(From OE-Core rev: 271ac31e15d00d636e888a1f3b7d4e22e0b8267a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit beab42e00713880cd95a04729c892f8662fbcbed)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-25 23:00:59 +00:00
Richard Purdie
1daa0b9922 staging: Separate out different multiconfig manifests
"""
require conf/multilib.conf
MACHINE = "qemuarm64"
MULTILIBS = "multilib:lib32"
DEFAULTTUNE:virtclass-multilib-lib32 = "armv7athf-neon"

bitbake gcc-cross-canadian-arm
"""

and then inspecting the lib32* manifest files under recipe-sysroot-native shows
them referencing lib32-recipe-sysroot instead of recipe-sysroot as used by
gcc-cross-canadian recipes.

To fix this separate out the manifest by multilib. It is caching mechanism to
optimise disk usage so this doesn't break anything, just separated out some files.

(From OE-Core rev: eb9c6f7ac91431a6296789c23900f2a3016ef619)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 891d3faa3ed3d1cc231da58e5fa1325f05d5ade5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-25 23:00:59 +00:00
Alban Bedel
97b1bdd293 systemd: Fix systemd when used with busybox less
Per default systemd use a pager for the output of most of its tools
and it expect this pager to be color capable. But that is not the case
when the busybox `less` is used, which lead to output garbled by color
escape sequences.

To fix this issue add a profile frament that disable the systemd pager
when busybox `less` is detected.

(From OE-Core rev: 06271fd8d26bc34448524157077c23eb1ea29c52)

Signed-off-by: Alban Bedel <alban.bedel@aerq.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit de7e36a7858ebca4615975967fcad1c399eacdb0)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-25 23:00:59 +00:00
Ross Burton
be80f805d4 vim: set modified-by to the recipe MAINTAINER
Clause II.3 of the Vim license states that any distribution of Vim that
has been extended or modified must _at least_ indicate in the :version
output that this is the case.

Handily, Vim has a --with-modified-by argument to add a line in that
text, so use MAINTAINER.  This is the distribution maintainer contact,
by default it is OE-Core Developers
<openembedded-core@lists.openembedded.org>.

(From OE-Core rev: e630b404b1d1797be5e915592a6ef71e34aaf680)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit acc007e23445aa53182e13902dd9509c39dd5645)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-25 23:00:59 +00:00
Ross Burton
0f0b0b0a9b vim: upgrade to 9.0.1403
This incorporates fixes for CVE-2023-1127, CVE-2023-1170, CVE-2023-1175.

Also remove runtime/doc/uganda.txt from the license checksum: the Vim
license is also in the top-level LICENSE file so this is redundant.

(From OE-Core rev: 9351cd3bf259260c17e7c99612b3c28d58a89bf3)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 71111e6b62d37c5e6853d7940dec2993df127a35)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-25 23:00:59 +00:00
Chee Yang Lee
7b2e3ff618 libksba: fix CVE-2022-3515
(From OE-Core rev: 16d8176218230007dac98cd0d941da03a354e90c)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-25 23:00:59 +00:00
Chee Yang Lee
1351d0261b ghostscript: add CVE tag for check-stack-limits-after-function-evalution.patch
This patch fix CVE-2021-45944.
https://nvd.nist.gov/vuln/detail/CVE-2021-45944

(From OE-Core rev: d966b565d39bf50f058b388235ccea5ab0c2e60b)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-25 23:00:59 +00:00
Hitendra Prajapati
e88f47da0e QEMU: CVE-2022-4144 QXL: qxl_phys2virt unsafe address translation can lead to out-of-bounds read
Upstream-Status: Backport from 6dbbf05514

(From OE-Core rev: 754cce68614c7985d5848134635a6b318f4505ab)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>

Replace the tabs with spaces to correct the indent.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-25 23:00:59 +00:00
Andrej Valek
51a742eab1 libarchive: fix CVE-2022-26280
Backport fix from https://github.com/libarchive/libarchive/issues/1672

(From OE-Core rev: b23482f9ea1cc930a3d5ecfe5fc465e2f720a949)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-25 23:00:58 +00:00
Richard Purdie
11f05ffddd build-appliance-image: Update to dunfell head revision
(From OE-Core rev: efb1a73a13907bed3acac8e06053aef3e2ef57f5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-15 23:09:43 +00:00
Ming Liu
9fbfbf002e linux: inherit pkgconfig in kernel.bbclass
pkgconfig is being required to find dependencies for building kernel
native tools, move "inherit pkgconfig" to kernel.bbclass so BSP kernel
recipes can also benefit from it.

(From OE-Core rev: a5e62888768be641d5da00fd847e0cac96820c75)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 8a84bd98e3fbc16c782f83064801e469d086911e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-15 23:09:24 +00:00
Ross Burton
6b2a22bc7b vim: add missing pkgconfig inherit
Vim uses pkgconfig to find dependencies but it wasn't present, so it
silently doesn't enable features like GTK+ UI.

[ YOCTO #15044 ]

(From OE-Core rev: c84f0822e7cffc62e2f042bf9d2e424f85f74ecd)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 70900616298f5e70732a34e7406e585e323479ed)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-15 23:09:24 +00:00
Richard Purdie
10108d0ebf oeqa/selftest/prservice: Improve debug output for failure
We keep seeing this failure on the autobuilder but the output amounts
to "False is not True". Improve the debug message on the chance it may
make the issue clearer.

(From OE-Core rev: 68d3766c37e4b3a1b49dc27226b2513e3b0db9a9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d03f4cf19c2cc96e9d942252a451521dfec42ebc)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-15 23:09:23 +00:00
Ross Burton
ba90fb0f3d shadow: ignore CVE-2016-15024
This recently got an updated CPE which matches this recipe, but the issue
is related to an entirely different shadow project so ignore it.

(From OE-Core rev: 9d5a05c27a01b3859eae70590ba7dd836abe2719)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 2331e98abb09cbcd56625d65c4e5d258dc29dd04)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-15 23:09:23 +00:00
Siddharth Doshi
1982d0cc7c harfbuzz: Security fix for CVE-2023-25193
Upstream-Status: Backport from [8708b9e081]
(From OE-Core rev: c22bbe9b45e38601b89138999dd157fad8513262)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-15 23:09:23 +00:00
Vivek Kumbhar
3acc83f91a gnutls: fix CVE-2023-0361 timing side-channel in the TLS RSA key exchange code
Remove branching that depends on secret data.

since the `ok` variable isn't used any more, we can remove all code
used to calculate it

(From OE-Core rev: 5b8a3601ebff7a0cdfaa50d7a0b5e384a7e2514c)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-15 23:09:23 +00:00
Peter Kjellerstedt
2a1cf26ba4 devshell: Do not add scripts/git-intercept to PATH
The use of scripts/git-intercept was introduced in commit 3266c327df
(install/devshell: Introduce git intercept script due to fakeroot
issues) and later reverted in commit af27c81eaf (scripts: Make git
intercept global).

(From OE-Core rev: 51424b9955374196307aaf73cf4b6c184ce4fb6d)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
(cherry picked from commit f6c260c8e2a33e282a35afc99de4ef8cc1791b08)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Mauro Queiros
9ab9e48d36 image.bbclass: print all QA functions exceptions
For the QA checks in `image.bbclass`, all exceptions
other than `oe.utils.ImageQAFailed` always print the
following generic message:
"Image QA function func_name failed"

This can be very misleading, as it may hide
python syntax errors and other kind of issues that are
hard to detect without more explicit error messages.

This change makes sure that the error message of all
exceptions are displayed.

Before this change:
 "Image QA function func_name failed"

After this change:
 "Image QA function func_name failed: f-string: empty expression not allowed (<string>, line 13)"

(From OE-Core rev: c4e3b86f2bcb2b445efc72bd8e06b1b89d88daa2)

Signed-off-by: Mauro Queiros <maurofrqueiros@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3d85b30d8704d38b86f5b006748cebc74bd2a4fa)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Ulrich Ölmann
a2147d6d27 kernel-yocto: fix kernel-meta data detection
Fixes: 7ef7af5c03ba ("kernel-yocto: restore kernel-meta data detection for SRC_URI elements")
(From OE-Core rev: 4533e8363549f87a0484d7c0a43a162c918f33bc)

Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c77754f23e3fb49a62602a6c6a04d5525d1cf457)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Virendra Thakur
e2b5de2c77 gcc: Fix inconsistent noexcept specifier for valarray in libstdc++
Backport of gcc upstream commit 2b2d97fc545635a0f6aa9c9ee3b017394bc494bf
to gcc release 9.5.0. This fix is available to all release-branches
except releases/gcc-9 because upstream do not support gcc-9 now.

(From OE-Core rev: 9779b66162a014f26594bdde43afdc4332617240)

Signed-off-by: Virendra Thakur <virendrak@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Hugo SIMELIERE
144748fed8 openssl: upgrade 1.1.1s to 1.1.1t
Major changes between OpenSSL 1.1.1s and OpenSSL 1.1.1t [7 Feb 2023]
* Fixed X.400 address type confusion in X.509 GeneralName (CVE-2023-0286)
* Fixed Use-after-free following BIO_new_NDEF (CVE-2023-0215)
* Fixed Double free after calling PEM_read_bio_ex (CVE-2022-4450)
* Fixed Timing Oracle in RSA Decryption (CVE-2022-4304)

(From OE-Core rev: 22de5ecae3ebb04a4bab05010c04b205c52ee888)

Signed-off-by: Hugo SIMELIERE <hsimeliere.opensource@witekio.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Alexander Kanavin
507f16e1bc apr-util: update 1.6.1 -> 1.6.3
Changes with APR-util 1.6.3

  *) Correct a packaging issue in 1.6.2. The contents of the release were
     correct, but the top level directory was misnamed.

Changes with APR-util 1.6.2

  *) SECURITY: CVE-2022-25147 (cve.mitre.org)
     Integer Overflow or Wraparound vulnerability in apr_base64 functions
     of Apache Portable Runtime Utility (APR-util) allows an attacker to
     write beyond bounds of a buffer.

  *) Teach configure how to find and build against MariaDB 10.2. PR 61517
     [Kris Karas <bugs-a17 moonlit-rail.com>]

  *) apr_crypto_commoncrypto: Remove stray reference to -lcrypto that
     prevented commoncrypto being enabled. [Graham Leggett]

  *) Add --tag=CC to libtool invocations. PR 62640. [Michael Osipov]

  *) apr_dbm_gdbm: Fix handling of error codes. This makes gdbm 1.14 work.
     apr_dbm_gdbm will now also return error codes starting with
     APR_OS_START_USEERR, as apr_dbm_berkleydb does, instead of always
     returning APR_EGENERAL. [Stefan Fritsch]

Drop backport.

(From OE-Core rev: 9eb027bebb19bfb0fb136169e865ca269890fa6f)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit dca707f9fecc805503e17f6db3e4c88069ac0125)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 43cd36b178ebb602edd5919c26f8b8642736a3a8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit e24b38a14b3520648ec418783fb74fcf61df7ff2)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Richard Purdie
e0059335fb apr-util: Fix CFLAGS used in build
We need to use CFLAGS with the correct WORKDIR in them, replace those
in the sysroot file with the ones appropriate to the current recipe.

(From OE-Core rev: 92fb7261a1c7ebe6330832a9a71d1bed82c85a6a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 45edf189961aff1858be9bb7b63116073c0a0c10)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Alexander Kanavin
75022804d8 apr: update 1.7.0 -> 1.7.2
Changes for APR 1.7.2

  *) Correct a packaging issue in 1.7.1. The contents of the release were
     correct, but the top level directory was misnamed.

Changes for APR 1.7.1

  *) SECURITY: CVE-2022-24963 (cve.mitre.org)
     Integer Overflow or Wraparound vulnerability in apr_encode functions of
     Apache Portable Runtime (APR) allows an attacker to write beyond bounds
     of a buffer.

  *) SECURITY: CVE-2022-28331 (cve.mitre.org)
     On Windows, Apache Portable Runtime 1.7.0 and earlier may write beyond
     the end of a stack based buffer in apr_socket_sendv(). This is a result
     of integer overflow.

  *) SECURITY: CVE-2021-35940 (cve.mitre.org)
     Restore fix for out-of-bounds array dereference in apr_time_exp*() functions.
     (This issue was addressed as CVE-2017-12613 in APR 1.6.3 and
     later 1.6.x releases, but was missing in 1.7.0.)  [Stefan Sperling]

  *) configure: Fix various build issues for compilers enforcing
     strict C99 compliance.  PR 66396, 66408, 66426.
     [Florian Weimer <fweimer redhat.com>, Sam James <sam gentoo.org>]

  *) apr_atomic_read64(): Fix non-atomic read on 32-bit Windows [Ivan Zhakov]

  *) configure: Prefer posix name-based shared memory over SysV IPC.
     [Jim Jagielski]

  *) configure: Add --disable-sctp argument to forcibly disable SCTP
     support, or --enable-sctp which fails if SCTP support is not
     detected.  [Lubos Uhliarik <luhliari redhat.com>, Joe Orton]

  *) Fix handle leak in the Win32 apr_uid_current implementation.
     PR 61165. [Ivan Zhakov]

  *) Add error handling for lseek() failures in apr_file_write() and
     apr_file_writev().  [Joe Orton]

  *) Don't silently set APR_FOPEN_NOCLEANUP for apr_file_mktemp() created file
     to avoid a fd and inode leak when/if later passed to apr_file_setaside().
     [Yann Ylavic]

  *) APR's configure script uses AC_TRY_RUN to detect whether the return type
     of strerror_r is int. When cross-compiling this defaults to no.

     This commit adds an AC_CACHE_CHECK so users who cross-compile APR may
     influence the outcome with a configure variable. [Sebastian Kemper
     <sebastian_ml gmx net>]

  *) Add a cache check with which users who cross-compile APR
     can influence the outcome of the /dev/zero test by setting the variable
     ac_cv_mmap__dev_zero=yes [Sebastian Kemper <sebastian_ml gmx net>]

  *) Trick autoconf into printing the correct default prefix in the help.
     [Stefan Fritsch]

  *) Don't try to use PROC_PTHREAD by default when cross compiling.
     [Yann Ylavic]

  *) Add the ability to cross compile APR. [Graham Leggett]

  *) While cross-compiling, the tools/gen_test_char could not
     be executed at build time, use AX_PROG_CC_FOR_BUILD to
     build native tools/gen_test_char

     Support explicit libtool by variable assigning before buildcheck.sh,
     it is helpful for cross-compiling (such as libtool=aarch64-linux-libtool)
     [Hongxu Jia <hongxu.jia windriver.com>]

  *) Avoid an overflow on 32 bit platforms. [René Hjortskov Nielsen
     <r... hjortskov.dk>]

  *) Use AC_CHECK_SIZEOF, so as to support cross compiling. PR 56053.
     [Mike Frysinger <vapier gentoo.org>]

  *) Add --tag=CC to libtool invocations. PR 62640. [Michael Osipov]

  *) apr_pools: Fix pool debugging output so that creation events are
     always emitted before allocation events and subpool destruction
     events are emitted on pool clear/destroy for proper accounting.
     [Brane Čibej]

  *) apr_socket_listen: Allow larger listen backlog values on Windows 8+.
     [Evgeny Kotkov <evgeny.kotkov visualsvn.com>]

  *) Fixed: apr_get_oslevel() was returning APR_WIN_XP on Windows 10

  *) Fix attempt to free invalid memory on exit when apr_app is used
     on Windows. [Ivan Zhakov]

  *) Fix double free on exit when apr_app is used on Windows. [Ivan Zhakov]

  *) Fix a regression in apr_stat() for root path on Windows. [Ivan Zhakov]

Dropped patches have all been merged, addressed separately or are backports.

(From OE-Core rev: 013633b9f4b7dff2616c6d2e59e4d8118e3ce51f)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3ffae93f24bb1e3954b232099153fd059cfd7daf)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit a308e10ef4ad9e097b025f009866eae178259781)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Khem Raj
818ad186ae apr: Cache configure tests which use AC_TRY_RUN
AC_TRY_RUN macro means the test needs to run to find the result and we
are cross compiling so this will always get wrong results, this results
in miscompiling apache2 on musl because it disables rlimit
(ac_cv_struct_rlimit) wrongly.

All these variables are determined with AC_TRY_RUN checks

(From OE-Core rev: 104c9ddf7a5323e5193c611b98b3e7465157aecd)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
(cherry picked from commit 504eb0ff1cae200ee85ec18ebae564cae9bf9c8c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Khem Raj
1904daa987 apr: Use correct strerror_r implementation based on libc type
musl does not implement GNU extention of strerror_r but XSI compliant
version, therefore add it via a packageconfig to set right variables
during configure to cache the value.

configure detection logic depends on runtime test which will always be
wrong on cross compiles therefore backport a patch to make it possible
to cache the needed configure variable.

(From OE-Core rev: 993cfeaefa73e3b82cf15db78584e5f9b9f86ddf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ded3d76a844dd1aef9ac610fbe506bf76285369b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Richard Purdie
c86b92df02 apr: Fix to work with autoconf 2.70
Fix an issue with autoconf 2.70 where duplicate macro includes
caused configure failures.

(From OE-Core rev: 41121149212b3684991a62261c17a45afd50bb83)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@arm.com>
(cherry picked from commit 4e5d7c86a8a5e752df451d988861a86236e8c8ff)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Alexander Kanavin
76b5620df7 wireless-regdb: upgrade 2022.08.12 -> 2023.02.13
(From OE-Core rev: a9a7c73b2b2b584b80f3a70029d1c5ce5fd6784f)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit a8e8ea1b4b100b6f0ba5ca9441a8f3f1ac31fbfd)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Alexander Kanavin
d47b9fe7c8 linux-firmware: upgrade 20230117 -> 20230210
License-Update: additional firmwares

(From OE-Core rev: f19ceec135e6afd2a31367a28744eb413b3d2e42)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 8e6134d39b840d96e1c37d3df21a522afea8bc76)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Dmitry Baryshkov
4c78aab891 linux-firmware: add yamato fw files to qcom-adreno-a2xx package
Newest linux-firmware release got firmware for Adreno A200. Add these
two files to the ${PN}-qcom-adreno-a2xx package. As these files are
licensed under a separate BSD-3-Clause license, add separate license
package too.

(From OE-Core rev: 420c41b9560574b10aa56fbe073509c56adda93e)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 56e1b2b06ef7f22d4ac5899046f650ae8ec0d547)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Dmitry Baryshkov
d20a4df83b linux-firmware: properly set license for all Qualcomm firmware
It is not enough to depend on the ${PN}-qcom-license package. Set
LICENSE variable for all the qcom packages to point to the proper
license.

(From OE-Core rev: 2cb8f5efb99df37c8e2103ecdc7f482ee129650a)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9dc41e18dc138a7cce920f8e4c85eb3130c0d553)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Alexander Kanavin
139406c025 linux-firmware: upgrade 20221214 -> 20230117
License-Update: additional firmwares, copyright years

(From OE-Core rev: 4cfe4c03904cb313d5cfbb6739cd9964a61c5fa0)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit fdb8c12fc71b4a985372f5d02ce59a1402c14c4a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Alexander Kanavin
1231009682 vim: update 9.0.1211 -> 9.0.1293 to resolve open CVEs
(From OE-Core rev: ea88ec38aa0e42b8c45e300e69dae7c2f7a13299)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6d77dbe499ee362b6e28902f1efcf52b961037a5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Rodolfo Quesada Zumbado
aa673e1427 tar: CVE-2022-48303
Fixes CVE-2022-48303 by checking Base-256 encoding is at least
2 bytes long. GNU Tar through 1.34 has a one-byte out-of-bounds
read that results in use of uninitialized memory for a conditional
jump. Exploitation to change the flow of control has not been
demonstrated. The issue occurs in from_header in list.c via a
V7 archive in which mtime has approximately 11 whitespace characters.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2022-48303

Upstream patch:
https://savannah.gnu.org/bugs/?62387
https://git.savannah.gnu.org/cgit/tar.git/patch/src/list.c?id=3da78400eafcccb97e2f2fd4b227ea40d794ede8

(From OE-Core rev: 231360a55bf1b96d6bb1cf94820b08788677c58b)

(From OE-Core rev: af77a413db59863a898c32dc7536b680473ae9c5)

Signed-off-by: Rodolfo Quesada Zumbado <rodolfo.zumbado@windriver.com>
Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2a00f15354)

Signed-off-by: Riyaz Khan <Riyaz.Khan@kpit.com>
Signed-off-by: Riyaz Khan <rak3033@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Shubham Kulkarni
770bb4a64a glibc: Security fix for CVE-2023-0687
Backport from https://sourceware.org/git/?p=glibc.git;a=patch;h=801af9fafd4689337ebf27260aa115335a0cb2bc

(From OE-Core rev: d7c7e9acd5b5699e4a0c2c7f2664cce7a5a08641)

Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Hugo SIMELIERE
d7fa5a35aa bluez5: Exclude CVE-2022-39177 from cve-check
CVE already fixed in CVE-2022-39176.patch

(From OE-Core rev: 27c59788ce8b97666429981104d9e5d38634230e)

Signed-off-by: Hugo SIMELIERE <hsimeliere.opensource@witekio.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Vijay Anusuri
7b9f7437ed git: Security fix for CVE-2022-41903
Upstream-Status: Backport from https://github.com/git/git/commit/a244dc5b & https://github.com/git/git/commit/81dc898d &
			       https://github.com/git/git/commit/b49f309a & https://github.com/git/git/commit/f6e0b9f3 &
			       https://github.com/git/git/commit/1de69c0c & https://github.com/git/git/commit/48050c42 &
			       https://github.com/git/git/commit/522cc87f & https://github.com/git/git/commit/17d23e8a &
			       https://github.com/git/git/commit/937b71cc & https://github.com/git/git/commit/81c2d4c3 &
			       https://github.com/git/git/commit/f930a239 & https://github.com/git/git/commit/304a50ad

(From OE-Core rev: d591ac4dfeff7b69086a47c7e88a8127f1d31299)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Chee Yang Lee
c35692c6eb tiff: fix multiple CVEs
import patches from debian
http://security.debian.org/debian-security/pool/updates/main/t/tiff/tiff_4.1.0+git191117-2~deb10u7.debian.tar.xz

fix multiple CVEs:
CVE-2022-3570
CVE-2022-3597
CVE-2022-3598
CVE-2022-3599
CVE-2022-3626
CVE-2022-3627
CVE-2022-3970
CVE-2022-48281
CVE-2023-0795
CVE-2023-0796
CVE-2023-0797
CVE-2023-0798
CVE-2023-0799
CVE-2023-0800
CVE-2023-0801
CVE-2023-0802
CVE-2023-0803
CVE-2023-0804

(From OE-Core rev: a6859c967e6e0079dd197fc36844b862938f4eed)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Hitendra Prajapati
9fa2eba749 curl: fix CVE-2022-43552 Use-after-free triggered by an HTTP proxy deny response
Upstream-Status: Backport from 4f20188ac6

(From OE-Core rev: e172a9d7dc92561e26b8ec7ff11d4c598dcaf5c8)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:59:10 +00:00
Steve Sakoman
f1dbb005c8 poky.conf: bump version for 3.1.24
(From meta-yocto rev: 8485f6da8c49c7a8cd1d768facf3ff3b746f3b49)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 14:58:11 +00:00
Steve Sakoman
1a96c7537f documentation: update for 3.1.24
(From yocto-docs rev: f4ef0e9c695207bde309434191b5d6d82149683c)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 07:29:20 +00:00
Antonin Godard
7618011039 busybox: rm temporary files if do_compile was interrupted
To avoid working with undeterministic config files, remove all the
temporary files to start from scratch.

(From OE-Core rev: a3f31997c633e8476bad68c81fac0dcd0750c7d4)

Signed-off-by: Antonin Godard <antoningodard@pm.me>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Antonin Godard
b4802e2fdb busybox: always start do_compile with orig config files
When compiling busybox a second time (e.g. with `compile -f`), busybox
can use an altered autoconf.h file for compiling, which can ultimately
produces different and unwanted binaries.

This can produce errors like this one:

ERROR: busybox-1.35.0-r0 do_package: Error executing a python function in exec_func_python() autogenerated:
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_func_python() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:ptest_update_alternatives(d)
     0003:
File: '…/poky/meta/classes/ptest.bbclass', lineno: 100, function: ptest_update_alternatives
     0096:        for alt_name, alt_link, alt_target, _ in alternatives:
     0097:            # Some alternatives are for man pages,
     0098:            # check if the alternative is in PATH
     0099:            if os.path.dirname(alt_link) in bin_paths:
 *** 0100:                os.symlink(alt_target, os.path.join(ptest_bindir, alt_name))
     0101:}
     0102:
     0103:do_configure_ptest_base[dirs] = "${B}"
     0104:do_compile_ptest_base[dirs] = "${B}"
Exception: FileExistsError: [Errno 17] File exists: '/bin/busybox.suid' -> '…/busybox/1.35.0-r0/package/usr/lib/busybox/ptest/bin/login'

This happens because ALTERNATIVE:busybox contains `/bin/login` twice,
initially that's because `/bin/login` is present in both
busybox.links.suid and busybox.links.nosuid. The reason for that is
because of the altered autoconf.h.

Steps to reproduce above error:

<add ptest to distro configs>
bitbake busybox -c clean
bitbake busybox -c package -f
bitbake busybox -c compile -f
bitbake busybox -c package -f

This patch guards against potential bugs by:

- making a backup of .config and autoconf.h that have matching
  timestamps.
- make sure do_compile always starts with these files.
- restore .config and autoconf.h at the end of do_compile.

(From OE-Core rev: 7ef76eaf5b68d52afdc4292bbe20309e29bb464a)

Signed-off-by: Antonin Godard <antoningodard@pm.me>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Mikko Rapeli
0d3339a23a oeqa context.py: fix --target-ip comment to include ssh port number
Providing ssh port number is supported too with
"--target-ip 192.168.0.10:22".

(From OE-Core rev: 4a9bf2d4693fd9e6eb2186a39e50c7e1630fb823)

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 637919b9df0abc06da5b2f9b389cf25376bd6b7c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Richard Purdie
3d32267b52 libc-locale: Fix on target locale generation
If on target locale generation is used, it fails at first boot showing
errors about a missing directory. Ensure the directory exists.

(From OE-Core rev: 63141bd8c19285bbef33f3d32a89ca127da0c658)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f2844c9f1bbb729562063d96a3d1cc9d44dafa0a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Martin Jansa
9d8cb501f7 meta: remove True option to getVar and getVarFlag calls (again)
* True is default since 2016 and most layers were already updated
  not to pass this parameter where not necessary, e.g. oe-core was
  updated couple times, first in:
  https://git.openembedded.org/openembedded-core/commit/?id=7c552996597faaee2fbee185b250c0ee30ea3b5f

  Updated with the same regexp as later oe-core update:
  https://git.openembedded.org/openembedded-core/commit/?id=9f551d588693328e4d99d33be94f26684eafcaba

  with small modification to replace not only d.getVar, but also data.getVar as in e.g.:
  e.data.getVar('ERR_REPORT_USERNAME', True)

  and for getVarFlag:
  sed -e 's|\(d\.getVarFlag \?\)( \?\([^,()]*, \?[^,()]*\), \?True)|\1(\2)|g' \
      -i $(git grep -E 'getVarFlag ?\( ?([^,()]*), ?([^,()]*), ?True\)' \
          | cut -d':' -f1 \
          | sort -u)

(From OE-Core rev: 4ec04d14899cb7725ce908e3ef6302838275f0a8)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 26c74fd10614582e177437608908eb43688ab510)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 24a86d0c55ee89ae0dc77975e1d0ee02898d2289)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit de7bf6689a19dc614ce4b39c84ffd825bee1b962)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Alexander Kanavin
59bfcd7299 oeqa/qemurunner: do not use Popen.poll() when terminating runqemu with a signal
This does not actually guarantee that the child runqemu process has completely exited:
poll() may return prematurely while the SIGTERM handler in runqemu is still running.
This thwarts the rest of the processing, and may terminate the handler before
it completes.

Use Popen.communicate() instead: this is what python documentation recommends as well:
https://docs.python.org/3/library/subprocess.html#subprocess.Popen.communicate

(From OE-Core rev: 3793662bcfdab230d7b98bde2bc6757949b0aca0)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cd3e55606c427287f37585c5d7cde936471e52f4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Richard Purdie
c3fb76fc72 make-mod-scripts: Ensure kernel build output is deterministic
The definitions in linux-kernel-base are needed to ensure the generated headers
are consistent. This was a small step that was missing from the previous
changes to linux-kernel-base as both kernel-devsrc and make-mod-scripts
need this information defined consistently.

(From OE-Core rev: 85cb9212a85e32715209705a29c6928b368d87c7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0d79d4883f924cef0d0ba361506ad75d441b9721)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Pawel Zalewski
b4675ad33f classes/fs-uuid: Fix command output decoding issue
The default return value from subprocess.check_output is an encoded byte.
The applied fix will decode the value to a string.

(From OE-Core rev: 622fea338a0c43f95185469b54cc72c545b73100)

Signed-off-by: Pawel Zalewski <pzalewski@thegoodpenguin.co.uk>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 046769fa952a511865c416b80d10af6287147fb7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Ross Burton
3f4da8c618 git: ignore CVE-2022-41953
This is specific to Git-for-Windows.

(From OE-Core rev: dfb042a6159d128aa4ee8d899c447cf33a2be7ae)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c8849af809e0213d43e18e5d01067eeeb61b330d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Ross Burton
358c909fc7 quilt: use upstreamed faildiff.test fix
(From OE-Core rev: 444494290c349d481a164b865ef97db7f84ffd44)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 50b81a263187af4452d3b99967bffd01c6ddb476)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Ross Burton
1d3f2be1e6 quilt: fix intermittent failure in faildiff.test
This test assumes that if a child process writes one line to stderr and
then another line to stdout, and stderr is redirected to stdout, that
the order the lines will be read is stable.

This isn't the case and occasionally the lines will be read in a
different order.  Change the test to ignore line ordering.

[ YOCTO #14469 ]

(From OE-Core rev: 2c9fe8c3bb1cc1883c7bd445d019b2107e85ab2b)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1ddbe4d2bd8d8da10dac8a054f130fcd1d242219)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Richard Purdie
e22da98e79 nativesdk: Handle chown/chgrp calls in nativesdk do_install tasks
We disable the useradd code for nativesdk targets since we don't support
postinstalls or multiple users in those cases. This means any usage
of chown/chgrp inside do_install tasks won't work and would have to be
conditional. Rather than require all recipes to do that, add intercepts
of the calls and map those to root/root user/groups. We can't just ignore
them as some calls are used to remove host contamination from the host
user ID so they need to be made, just as root.

(From OE-Core rev: a05c116c517e0700837c335d0691c3fcc4462dda)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e1f40670c438e33cae87678425de72ca03566888)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Hitendra Prajapati
580df9b4c4 git: CVE-2022-23521 gitattributes parsing integer overflow
Backport from:

eb22e7dfa2
8d0d48cf21
2455720950
34ace8bad0
447ac906e1
e1e12e97ac
a60a66e409
d74b1fd54f
dfa6b32b5e
3c50032ff5

(From OE-Core rev: 4f4baa56656291b259b9474a3637cf31f6569ff3)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Omkar Patil
50108e2180 sudo: Fix CVE-2023-22809
Add CVE-2023-22809.patch to fix CVE-2023-22809.

(From OE-Core rev: 186a5ab41927e6be0920e03e743f32ae4477c58e)

Signed-off-by: Omkar Patil <omkar.patil@kpit.com>
Signed-off-by: pawan <badganchipv@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:42 +00:00
Vivek Kumbhar
3c3039aac4 qemu: fix CVE-2021-3929 nvme DMA reentrancy issue leads to use-after-free
(From OE-Core rev: 18056190f72eef9a44397cd87d79022dd2a9d4e3)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:41 +00:00
Steve Sakoman
4853705635 qemu: Fix slirp determinism issue
Add a PACKAGECONFIG option for slirp, defaulting to internal. This avoids
the presence of libslirp on the host causing qemu to link against that
instead breaking reproducibility and usability of the binary on hosts
where the library isn't present.

We need to add it to PACKAGECONFIG by default since users do expect slirp
to be enabled in the wider community.

Note: qemu version 4.2.0 doesn't support an "internal" option for
enable-slirp, so use "git" instead which uses the same configure
code path, avoids host libslirp contamination and forces use of the
qemu internal slirp implementation.

(From OE-Core rev: e5dc03e4a3b71ff144896a8ce56a34b8677e8e27)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5a9a64132bf5ecac9d611d29751226a466c4a2c1)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 16:41:41 +00:00
Steve Sakoman
c58bdcd15c ref-system-requirements.rst: add AlmaLinux 8.7 to list of supported distros
(From yocto-docs rev: 777db2fff5170b20b8d163c90a427bce208cbeb0)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-23 08:16:59 +00:00
Steve Sakoman
ba201fc313 ref-system-requirements.rst: add Fedora 35, Fedora 36, and Ubuntu 22.04 to list of supported distros
(From yocto-docs rev: b397ad83b63d3c6f4133227c5f338d7be93b6c4e)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-23 08:16:59 +00:00
Steve Sakoman
d160225d21 poky.conf: Update SANITY_TESTED_DISTROS to match autobuilder
The autobuilder workers change over time, update the sanity testing list
to match the current autobuilder workers OS list.

(From meta-yocto rev: ddce0c8b95d89b6a380b01299f118f7c5a47dc47)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-22 11:22:28 +00:00
Richard Purdie
86e2430d3f bitbake: cooker: Drop sre_constants usage
As reported by Martin Jansa <Martin.Jansa@gmail.com>:

bitbake/lib/bb/cooker.py:16: DeprecationWarning: module 'sre_constants' is deprecated
  import sre_constants

it's deprecated since 3.11 with:

  https://github.com/python/cpython/issues/91308

The correct replacement for our usage is re.error so use that instead.

(Bitbake rev: a4cd5b0b4b355b7b75fb48c61289700e3e908b2a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-22 10:12:33 +00:00
Richard Purdie
bf604a8fa8 bitbake: runqueue: Ensure deferred tasks are sorted by multiconfig
We have to prefer one multiconfig over another when deferring tasks, else
we'll have cross-linked build trees and nothing will be able to build.

In the original population code, we sort like this but we don't after
rehashing. Ensure we have the same sorting after rehashing toa void
deadlocks.

(Bitbake rev: 657940c7c2a9dea4963a5063e4bf900d6b454903)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 27228c7f026acb8ae9e1211d0486ffb7338123a2)
Signed-off-by: Fabio Berton <fabio.berton@criticaltechworks.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-22 10:12:33 +00:00
Richard Purdie
f6899f9b94 bitbake: runqueue: Fix issues with multiconfig deferred task deadlock messages
In multiconfig builds with large numbers of identical tasks, builds were
deadlocking after recent runqueue changes upon rebuilds where there was
heavy sstate usage (i.e. on second builds after a first completed).

The issue was that deferred tasks were being left indefinitely on
the deferred list. The deadlock handler was then "breaking" things
by failing tasks that had already succeeded, leading to the task
being on both covered and not covered lists, giving a further error.

The fix is to clean up the deferred task list when each setscene task
completes. I'd previously been hoping to avoid iterating that list
but it appears unavoidable.

[YOCTO #14342]

(Bitbake rev: 03cf0d9fedfef1ae43b3c3cac07710487857af36)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ae24a0f2d2d8b4b5ec10efabd0e9362e560832ea)
Signed-off-by: Fabio Berton <fabio.berton@criticaltechworks.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-22 10:12:33 +00:00
Richard Purdie
3c76d0ad71 bitbake: runqueue: Avoid deadlock avoidance task graph corruption
If the deferred task deadlock avoidance code triggers, it could mark an executed
task as failed which leads to "covered and not covered" error messages. Improve
the logic so if the deadlock code is triggered, it doesn't cause the errors.

(Bitbake rev: 2e1354525217505ce34fe775ee6ec8af46ff5324)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 51bdd6cb3bd9e2c02e261fb578bb945b86b82c75)
Signed-off-by: Fabio Berton <fabio.berton@criticaltechworks.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-22 10:12:33 +00:00
Richard Purdie
826011d497 bitbake: runqueue: Improve multiconfig deferred task issues
The previous patches have exposed new issues with this code path,
the issues being around what should happen when the hash of a task
changes and the task is or is not on the deferred task list.

Rather than rebuilding the deferred task list during each rehash
event, build it once at the start of a build. This avoids the problem
of tasks being added back after they have run and also avoids problems
of always ensuring the same task is deferred. It also allows the
'outrightfail' codepath to be handled separately as the conditions
are subtly differnt.

One significant win for the new approch is the build is not continually
printing out lists of deferred tasks, that list remains fairly static
from the start of the build. Logic is added in to ensure a rehashed
task with a hash matching other deferred tasks is deferred along with
them as a small optimization.

An interesting test case for this code was reported by Mark Hatle
with four multiconfigs, each the same apart from TMPDIR and running a
build of:

bitbake buildtools-tarball mc:{one,two,three,four}:core-image-minimal

which is interesting in that the build of buildtools partially overlaps
core-image-minimal and the build has a rehash event for qemuwrapper-cross
even without any external hash equivalence server or preexisting data.

(Bitbake rev: 4316e9f60ce5fd250a16586a1772dcc0adfeb932)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bb424e0a6d274d398f434f7df63951da9ce305b3)
Signed-off-by: Fabio Berton <fabio.berton@criticaltechworks.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-22 10:12:33 +00:00
Richard Purdie
0922cef2f4 bitbake: runqueue: Handle deferred task rehashing in multiconfig builds
If the hash of a task changes and that hash is a deferred task (e.g. a multiconfig
build), we need to ensure that the hash change propagates through to all the tasks
else the build will run multiple copies of the task, sometimes with oddly differing
results as the outhashes of native tasks built in differing locations can confuse
things.

(Bitbake rev: 01936b4dd8e680f1f8035ff2d6231673f61efeab)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2db571324f755edc4981deecbcfdf0aaa5a97627)
Signed-off-by: Fabio Berton <fabio.berton@criticaltechworks.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-22 10:12:32 +00:00
Richard Purdie
e5414e5962 bitbake: runqueue: Fix multiconfig deferred task sstate validity caching issue
We were testing the validity of deferred tasks setscene status "up front" which
is very unlikely to succeed and leads to cache invalidation issues. With the
change to rebuild the deferred task list, this status becomes out of sync. The
result was tasks being executed when they should not have been leading to extra
work for the build unnecessarily.

Instead, don't process validity status for deferred tasks and assume their
data will become available. If it doesn't, this will now result in a build
error as the setscene task will fail and the main task will run instead.

In theory we could try and track the state changes in the deferred list and
re-test validity then but I'm not sure it is worth the effort when the other
code path and errors in setscene tasks will give a pretty good idea of what
is happening anyway.

(Bitbake rev: f95ed69e6c91ca6aa18d6fa9a6ac6319035c4661)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit edcafac13b3b241b6687419e59018d21811507a1)
Signed-off-by: Fabio Berton <fabio.berton@criticaltechworks.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-22 10:12:32 +00:00
Michael Opdenacker
17aad7feac overview-manual: update patchwork instance URL
Better to mention https://patchwork.yoctoproject.org/
than the patchwork home page.

(From yocto-docs rev: d39950cdaecf0f5c9699fd5155d989bf0d6e6cbd)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-15 10:26:44 +00:00
Michael Opdenacker
b200c2d16e profile-manual: update WireShark hyperlinks
(From yocto-docs rev: 69f38a9e3495e7ca54b5c98420429dd788b6f487)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-15 10:26:44 +00:00
Michael Opdenacker
eb79d76099 ref-manual: document SSTATE_EXCLUDEDEPS_SYSROOT
Backport from master:
https://git.yoctoproject.org/yocto-docs/commit/?id=b6690011c14ce4bf30571f045152a9d324ad5039

(From yocto-docs rev: 733cbdc608d87b36e115689e97467117aee40442)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-15 10:26:44 +00:00
271 changed files with 25224 additions and 841 deletions

View File

@@ -13,7 +13,6 @@ import sys, os, glob, os.path, re, time
import itertools
import logging
import multiprocessing
import sre_constants
import threading
from io import StringIO, UnsupportedOperation
from contextlib import closing
@@ -1795,7 +1794,7 @@ class CookerCollectFiles(object):
try:
re.compile(mask)
bbmasks.append(mask)
except sre_constants.error:
except re.error:
collectlog.critical("BBMASK contains an invalid regular expression, ignoring: %s" % mask)
# Then validate the combined regular expressions. This should never
@@ -1803,7 +1802,7 @@ class CookerCollectFiles(object):
bbmask = "|".join(bbmasks)
try:
bbmask_compiled = re.compile(bbmask)
except sre_constants.error:
except re.error:
collectlog.critical("BBMASK is not a valid regular expression, ignoring: %s" % bbmask)
bbmask = None

View File

@@ -1975,6 +1975,20 @@ class RunQueueExecute:
self.setbuildable(revdep)
logger.debug(1, "Marking task %s as buildable", revdep)
found = None
for t in sorted(self.sq_deferred.copy()):
if self.sq_deferred[t] == task:
# Allow the next deferred task to run. Any other deferred tasks should be deferred after that task.
# We shouldn't allow all to run at once as it is prone to races.
if not found:
bb.note("Deferred task %s now buildable" % t)
del self.sq_deferred[t]
update_scenequeue_data([t], self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self, summary=False)
found = t
else:
bb.note("Deferring %s after %s" % (t, found))
self.sq_deferred[t] = found
def task_complete(self, task):
self.stats.taskCompleted()
bb.event.fire(runQueueTaskCompleted(task, self.stats, self.rq), self.cfgData)
@@ -2084,8 +2098,6 @@ class RunQueueExecute:
logger.debug(1, "%s didn't become valid, skipping setscene" % nexttask)
self.sq_task_failoutright(nexttask)
return True
else:
self.sqdata.outrightfail.remove(nexttask)
if nexttask in self.sqdata.outrightfail:
logger.debug(2, 'No package found, so skipping setscene task %s', nexttask)
self.sq_task_failoutright(nexttask)
@@ -2236,7 +2248,8 @@ class RunQueueExecute:
if self.sq_deferred:
tid = self.sq_deferred.pop(list(self.sq_deferred.keys())[0])
logger.warning("Runqeueue deadlocked on deferred tasks, forcing task %s" % tid)
self.sq_task_failoutright(tid)
if tid not in self.runq_complete:
self.sq_task_failoutright(tid)
return True
if len(self.failed_tids) != 0:
@@ -2350,10 +2363,16 @@ class RunQueueExecute:
self.updated_taskhash_queue.remove((tid, unihash))
if unihash != self.rqdata.runtaskentries[tid].unihash:
hashequiv_logger.verbose("Task %s unihash changed to %s" % (tid, unihash))
self.rqdata.runtaskentries[tid].unihash = unihash
bb.parse.siggen.set_unihash(tid, unihash)
toprocess.add(tid)
# Make sure we rehash any other tasks with the same task hash that we're deferred against.
torehash = [tid]
for deftid in self.sq_deferred:
if self.sq_deferred[deftid] == tid:
torehash.append(deftid)
for hashtid in torehash:
hashequiv_logger.verbose("Task %s unihash changed to %s" % (hashtid, unihash))
self.rqdata.runtaskentries[hashtid].unihash = unihash
bb.parse.siggen.set_unihash(hashtid, unihash)
toprocess.add(hashtid)
# Work out all tasks which depend upon these
total = set()
@@ -2492,6 +2511,14 @@ class RunQueueExecute:
if update_tasks:
self.sqdone = False
for mc in sorted(self.sqdata.multiconfigs):
for tid in sorted([t[0] for t in update_tasks]):
if mc_from_tid(tid) != mc:
continue
h = pending_hash_index(tid, self.rqdata)
if h in self.sqdata.hashes and tid != self.sqdata.hashes[h]:
self.sq_deferred[tid] = self.sqdata.hashes[h]
bb.note("Deferring %s after %s" % (tid, self.sqdata.hashes[h]))
update_scenequeue_data([t[0] for t in update_tasks], self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self, summary=False)
for (tid, harddepfail, origvalid) in update_tasks:
@@ -2832,6 +2859,19 @@ def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq):
sqdata.stamppresent = set()
sqdata.valid = set()
sqdata.hashes = {}
sqrq.sq_deferred = {}
for mc in sorted(sqdata.multiconfigs):
for tid in sorted(sqdata.sq_revdeps):
if mc_from_tid(tid) != mc:
continue
h = pending_hash_index(tid, rqdata)
if h not in sqdata.hashes:
sqdata.hashes[h] = tid
else:
sqrq.sq_deferred[tid] = sqdata.hashes[h]
bb.note("Deferring %s after %s" % (tid, sqdata.hashes[h]))
update_scenequeue_data(sqdata.sq_revdeps, sqdata, rqdata, rq, cooker, stampcache, sqrq, summary=True)
def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq, summary=True):
@@ -2843,6 +2883,8 @@ def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq, s
sqdata.stamppresent.remove(tid)
if tid in sqdata.valid:
sqdata.valid.remove(tid)
if tid in sqdata.outrightfail:
sqdata.outrightfail.remove(tid)
(mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
@@ -2870,32 +2912,20 @@ def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq, s
sqdata.valid |= rq.validate_hashes(tocheck, cooker.data, len(sqdata.stamppresent), False, summary=summary)
sqdata.hashes = {}
sqrq.sq_deferred = {}
for mc in sorted(sqdata.multiconfigs):
for tid in sorted(sqdata.sq_revdeps):
if mc_from_tid(tid) != mc:
continue
if tid in sqdata.stamppresent:
continue
if tid in sqdata.valid:
continue
if tid in sqdata.noexec:
continue
if tid in sqrq.scenequeue_notcovered:
continue
if tid in sqrq.scenequeue_covered:
continue
sqdata.outrightfail.add(tid)
h = pending_hash_index(tid, rqdata)
if h not in sqdata.hashes:
sqdata.hashes[h] = tid
else:
sqrq.sq_deferred[tid] = sqdata.hashes[h]
bb.note("Deferring %s after %s" % (tid, sqdata.hashes[h]))
for tid in tids:
if tid in sqdata.stamppresent:
continue
if tid in sqdata.valid:
continue
if tid in sqdata.noexec:
continue
if tid in sqrq.scenequeue_covered:
continue
if tid in sqrq.scenequeue_notcovered:
continue
if tid in sqrq.sq_deferred:
continue
sqdata.outrightfail.add(tid)
class TaskFailure(Exception):
"""

View File

@@ -1338,7 +1338,7 @@ class FetchCheckStatusTest(FetcherTest):
"http://downloads.yoctoproject.org/releases/sato/sato-engine-0.2.tar.gz",
"http://downloads.yoctoproject.org/releases/sato/sato-engine-0.3.tar.gz",
"https://yoctoproject.org/",
"https://yoctoproject.org/documentation",
"https://docs.yoctoproject.org/",
"http://downloads.yoctoproject.org/releases/opkg/opkg-0.1.7.tar.gz",
"http://downloads.yoctoproject.org/releases/opkg/opkg-0.3.0.tar.gz",
"ftp://sourceware.org/pub/libffi/libffi-1.20.tar.gz",

View File

@@ -97,6 +97,7 @@ extlinks = {
'yocto_git': ('https://git.yoctoproject.org%s', None),
'oe_home': ('https://www.openembedded.org%s', None),
'oe_lists': ('https://lists.openembedded.org%s', None),
'oe_git': ('https://git.openembedded.org%s', None),
}
# Intersphinx config to use cross reference with Bitbake user manual

View File

@@ -377,7 +377,7 @@ activities using the Yocto Project:
Index <http://layers.openembedded.org/layerindex/layers/>`__, which
is a website that indexes OpenEmbedded-Core layers.
- *Patchwork:* `Patchwork <http://jk.ozlabs.org/projects/patchwork/>`__
- *Patchwork:* `Patchwork <https://patchwork.yoctoproject.org/>`__
is a fork of a project originally started by
`OzLabs <http://ozlabs.org/>`__. The project is a web-based tracking
system designed to streamline the process of bringing contributions

View File

@@ -1,13 +1,13 @@
DISTRO : "3.1.23"
DISTRO : "3.1.27"
DISTRO_NAME_NO_CAP : "dunfell"
DISTRO_NAME : "Dunfell"
DISTRO_NAME_NO_CAP_MINUS_ONE : "zeus"
YOCTO_DOC_VERSION : "3.1.23"
YOCTO_DOC_VERSION : "3.1.27"
YOCTO_DOC_VERSION_MINUS_ONE : "3.0.4"
DISTRO_REL_TAG : "yocto-3.1.23"
DOCCONF_VERSION : "3.1.23"
DISTRO_REL_TAG : "yocto-3.1.27"
DOCCONF_VERSION : "3.1.27"
BITBAKE_SERIES : "1.46"
POKYVERSION : "23.0.23"
POKYVERSION : "23.0.27"
YOCTO_POKY : "poky-&DISTRO_NAME_NO_CAP;-&POKYVERSION;"
YOCTO_DL_URL : "https://downloads.yoctoproject.org"
YOCTO_AB_URL : "https://autobuilder.yoctoproject.org"

View File

@@ -1734,7 +1734,7 @@ events':
The tool is pretty self-explanatory, but for more detailed information
on navigating through the data, see the `kernelshark
website <http://rostedt.homelinux.com/kernelshark/>`__.
website <https://kernelshark.org/Documentation.html>`__.
.. _ftrace-documentation:
@@ -1765,8 +1765,8 @@ There is a nice series of articles on using ftrace and trace-cmd at LWN:
- `trace-cmd: A front-end for
Ftrace <https://lwn.net/Articles/410200/>`__
There's more detailed documentation kernelshark usage here:
`KernelShark <http://rostedt.homelinux.com/kernelshark/>`__
See also `KernelShark's documentation <https://kernelshark.org/Documentation.html>`__
for further usage details.
An amusing yet useful README (a tracing mini-HOWTO) can be found in
``/sys/kernel/debug/tracing/README``.

View File

@@ -14,16 +14,17 @@ image you want.
Building an image without GNU General Public License Version 3
(GPLv3), GNU Lesser General Public License Version 3 (LGPLv3), and
the GNU Affero General Public License Version 3 (AGPL-3.0) components
is only supported for minimal and base images. Furthermore, if you
are going to build an image using non-GPLv3 and similarly licensed
components, you must make the following changes in the ``local.conf``
file before using the BitBake command to build the minimal or base
image:
::
is only tested for core-image-minimal image. Furthermore, if you would like to
build an image and verify that it does not include GPLv3 and similarly licensed
components, you must make the following changes in the image recipe
file before using the BitBake command to build the image:
1. Comment out the EXTRA_IMAGE_FEATURES line
2. Set INCOMPATIBLE_LICENSE = "GPL-3.0 LGPL-3.0 AGPL-3.0"
INCOMPATIBLE_LICENSE = "GPL-3.0* LGPL-3.0*"
Alternatively, you can adjust ``local.conf`` file, repeating and adjusting the line
for all images where the license restriction must apply:
INCOMPATIBLE_LICENSE_pn-your-image-name = "GPL-3.0* LGPL-3.0*"
From within the ``poky`` Git repository, you can use the following
command to display the list of directories within the :term:`Source Directory`

View File

@@ -45,6 +45,8 @@ distributions:
- Ubuntu 20.04
- Ubuntu 22.04
- Fedora 28
- Fedora 29
@@ -61,6 +63,8 @@ distributions:
- Fedora 35
- Fedora 36
- CentOS 7.x
- Debian GNU/Linux 8.x (Jessie)
@@ -79,6 +83,8 @@ distributions:
- AlmaLinux 8.5
- AlmaLinux 8.7
.. note::
- While the Yocto Project Team attempts to ensure all Yocto Project

View File

@@ -3337,9 +3337,18 @@ system and gives an overview of their function and contents.
:term:`INCOMPATIBLE_LICENSE`
Specifies a space-separated list of license names (as they would
appear in :term:`LICENSE`) that should be excluded
from the build. Recipes that provide no alternatives to listed
from the build (if set globally), or from an image (if set locally
in an image recipe).
When the variable is set globally, recipes that provide no alternatives to listed
incompatible licenses are not built. Packages that are individually
licensed with the specified incompatible licenses will be deleted.
Most of the time this does not allow a feasible build (because it becomes impossible
to satisfy build time dependencies), so the recommended way to
implement license restrictions is to set the variable in specific
image recipes where the restrictions must apply. That way there
are no build time restrictions, but the license check is still
performed when the image's filesystem is assembled from packages.
.. note::
@@ -7147,6 +7156,32 @@ system and gives an overview of their function and contents.
:term:`SSTATE_DIR`
The directory for the shared state cache.
:term:`SSTATE_EXCLUDEDEPS_SYSROOT`
This variable allows to specify indirect dependencies to exclude
from sysroots, for example to avoid the situations when a dependency on
any ``-native`` recipe will pull in all dependencies of that recipe
in the recipe sysroot. This behaviour might not always be wanted,
for example when that ``-native`` recipe depends on build tools
that are not relevant for the current recipe.
This way, irrelevant dependencies are ignored, which could have
prevented the reuse of prebuilt artifacts stored in the Shared
State Cache.
:term:`SSTATE_EXCLUDEDEPS_SYSROOT` is evaluated as two regular
expressions of recipe and dependency to ignore. An example
is the rule in :oe_git:`meta/conf/layer.conf </openembedded-core/tree/meta/conf/layer.conf>`::
# Nothing needs to depend on libc-initial
# base-passwd/shadow-sysroot don't need their dependencies
SSTATE_EXCLUDEDEPS_SYSROOT += "\
.*->.*-initial.* \
.*(base-passwd|shadow-sysroot)->.* \
"
The ``->`` substring represents the dependency between
the two regular expressions.
:term:`SSTATE_MIRROR_ALLOW_NETWORK`
If set to "1", allows fetches from mirrors that are specified in
:term:`SSTATE_MIRRORS` to work even when

View File

@@ -1,6 +1,6 @@
DISTRO = "poky"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
DISTRO_VERSION = "3.1.23"
DISTRO_VERSION = "3.1.27"
DISTRO_CODENAME = "dunfell"
SDK_VENDOR = "-pokysdk"
SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${DATE}', 'snapshot')}"
@@ -47,12 +47,14 @@ SANITY_TESTED_DISTROS ?= " \
ubuntu-18.04 \n \
ubuntu-19.04 \n \
ubuntu-20.04 \n \
ubuntu-22.04 \n \
fedora-30 \n \
fedora-31 \n \
fedora-32 \n \
fedora-33 \n \
fedora-34 \n \
fedora-35 \n \
fedora-36 \n \
centos-7 \n \
centos-8 \n \
debian-8 \n \
@@ -63,6 +65,7 @@ SANITY_TESTED_DISTROS ?= " \
opensuseleap-15.2 \n \
opensuseleap-15.3 \n \
almalinux-8.5 \n \
almalinux-8.7 \n \
"
# add poky sanity bbclass
INHERIT += "poky-sanity"

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
#
# Copyright OpenEmbedded Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
# Include this class when you don't care what version of SPDX you get; it will
# be updated to the latest stable version that is supported
inherit create-spdx-2.2

View File

@@ -26,7 +26,7 @@ CVE_PRODUCT ??= "${BPN}"
CVE_VERSION ??= "${PV}"
CVE_CHECK_DB_DIR ?= "${DL_DIR}/CVE_CHECK"
CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvdcve_1.1.db"
CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvdcve_2.db"
CVE_CHECK_DB_FILE_LOCK ?= "${CVE_CHECK_DB_FILE}.lock"
CVE_CHECK_LOG ?= "${T}/cve.log"
@@ -154,7 +154,7 @@ python do_cve_check () {
}
addtask cve_check before do_build
do_cve_check[depends] = "cve-update-db-native:do_fetch"
do_cve_check[depends] = "cve-update-nvd2-native:do_fetch"
do_cve_check[nostamp] = "1"
python cve_check_cleanup () {
@@ -253,7 +253,7 @@ def check_cves(d, patched_cves):
"""
Connect to the NVD database and find unpatched cves.
"""
from oe.cve_check import Version
from oe.cve_check import Version, convert_cve_version
pn = d.getVar("PN")
real_pv = d.getVar("PV")
@@ -317,6 +317,9 @@ def check_cves(d, patched_cves):
if cve in cve_whitelist:
ignored = True
version_start = convert_cve_version(version_start)
version_end = convert_cve_version(version_end)
if (operator_start == '=' and pv == version_start) or version_start == '-':
vulnerable = True
else:

View File

@@ -2,8 +2,6 @@ inherit terminal
DEVSHELL = "${SHELL}"
PATH:prepend:task-devshell = "${COREBASE}/scripts/git-intercept:"
python do_devshell () {
if d.getVarFlag("do_devshell", "manualfakeroot"):
d.prependVar("DEVSHELL", "pseudo ")

View File

@@ -4,7 +4,7 @@
def get_rootfs_uuid(d):
import subprocess
rootfs = d.getVar('ROOTFS')
output = subprocess.check_output(['tune2fs', '-l', rootfs])
output = subprocess.check_output(['tune2fs', '-l', rootfs], text=True)
for line in output.split('\n'):
if line.startswith('Filesystem UUID:'):
uuid = line.split()[-1]

View File

@@ -118,7 +118,7 @@ go_do_install() {
tar -C ${B} -cf - --exclude-vcs --exclude '*.test' --exclude 'testdata' pkg | \
tar -C ${D}${libdir}/go --no-same-owner -xf -
if [ -n "`ls ${B}/${GO_BUILD_BINDIR}/`" ]; then
if ls ${B}/${GO_BUILD_BINDIR}/* >/dev/null 2>/dev/null ; then
install -d ${D}${bindir}
install -m 0755 ${B}/${GO_BUILD_BINDIR}/* ${D}${bindir}/
fi

View File

@@ -311,7 +311,7 @@ fakeroot python do_image_qa () {
except oe.utils.ImageQAFailed as e:
qamsg = qamsg + '\tImage QA function %s failed: %s\n' % (e.name, e.description)
except Exception as e:
qamsg = qamsg + '\tImage QA function %s failed\n' % cmd
qamsg = qamsg + '\tImage QA function %s failed: %s\n' % (cmd, e)
if qamsg:
imgname = d.getVar('IMAGE_NAME')
@@ -437,7 +437,7 @@ python () {
localdata.delVar('DATETIME')
localdata.delVar('DATE')
localdata.delVar('TMPDIR')
vardepsexclude = (d.getVarFlag('IMAGE_CMD_' + realt, 'vardepsexclude', True) or '').split()
vardepsexclude = (d.getVarFlag('IMAGE_CMD_' + realt, 'vardepsexclude') or '').split()
for dep in vardepsexclude:
localdata.delVar(dep)

View File

@@ -1,5 +1,7 @@
inherit kernel-uboot kernel-artifact-names uboot-sign
KERNEL_IMAGETYPE_REPLACEMENT = ""
python __anonymous () {
kerneltypes = d.getVar('KERNEL_IMAGETYPES') or ""
if 'fitImage' in kerneltypes.split():
@@ -21,6 +23,8 @@ python __anonymous () {
else:
replacementtype = "zImage"
d.setVar("KERNEL_IMAGETYPE_REPLACEMENT", replacementtype)
# Override KERNEL_IMAGETYPE_FOR_MAKE variable, which is internal
# to kernel.bbclass . We have to override it, since we pack zImage
# (at least for now) into the fitImage .
@@ -45,6 +49,8 @@ python __anonymous () {
if d.getVar('UBOOT_SIGN_ENABLE') == "1" and d.getVar('UBOOT_DTB_BINARY'):
uboot_pn = d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot'
d.appendVarFlag('do_assemble_fitimage', 'depends', ' %s:do_populate_sysroot' % uboot_pn)
if d.getVar('INITRAMFS_IMAGE_BUNDLE') == "1":
d.appendVarFlag('do_assemble_fitimage_initramfs', 'depends', ' %s:do_populate_sysroot' % uboot_pn)
}
# Options for the device tree compiler passed to mkimage '-D' feature:
@@ -180,6 +186,43 @@ fitimage_emit_section_dtb() {
EOF
}
#
# Emit the fitImage ITS u-boot script section
#
# $1 ... .its filename
# $2 ... Image counter
# $3 ... Path to boot script image
fitimage_emit_section_boot_script() {
bootscr_csum="${FIT_HASH_ALG}"
bootscr_sign_algo="${FIT_SIGN_ALG}"
bootscr_sign_keyname="${UBOOT_SIGN_IMG_KEYNAME}"
cat << EOF >> $1
bootscr-$2 {
description = "U-boot script";
data = /incbin/("$3");
type = "script";
arch = "${UBOOT_ARCH}";
compression = "none";
hash-1 {
algo = "$bootscr_csum";
};
};
EOF
if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${FIT_SIGN_INDIVIDUAL}" = "1" -a -n "$bootscr_sign_keyname" ] ; then
sed -i '$ d' $1
cat << EOF >> $1
signature-1 {
algo = "$bootscr_csum,$bootscr_sign_algo";
key-name-hint = "$bootscr_sign_keyname";
};
};
EOF
fi
}
#
# Emit the fitImage ITS setup section
#
@@ -250,8 +293,9 @@ EOF
# $2 ... Linux kernel ID
# $3 ... DTB image name
# $4 ... ramdisk ID
# $5 ... config ID
# $6 ... default flag
# $5 ... u-boot script ID
# $6 ... config ID
# $7 ... default flag
fitimage_emit_section_config() {
conf_csum="${FIT_HASH_ALG}"
@@ -267,6 +311,7 @@ fitimage_emit_section_config() {
kernel_line=""
fdt_line=""
ramdisk_line=""
bootscr_line=""
setup_line=""
default_line=""
@@ -289,21 +334,28 @@ fitimage_emit_section_config() {
fi
if [ -n "${5}" ]; then
conf_desc="${conf_desc}${sep}setup"
setup_line="setup = \"setup-${5}\";"
conf_desc="${conf_desc}${sep}u-boot script"
sep=", "
bootscr_line="bootscr = \"bootscr-${5}\";"
fi
if [ "${6}" = "1" ]; then
if [ -n "${6}" ]; then
conf_desc="${conf_desc}${sep}setup"
setup_line="setup = \"setup-${6}\";"
fi
if [ "${7}" = "1" ]; then
default_line="default = \"conf-${3}\";"
fi
cat << EOF >> ${1}
${default_line}
conf-${3} {
description = "${6} ${conf_desc}";
description = "${7} ${conf_desc}";
${kernel_line}
${fdt_line}
${ramdisk_line}
${bootscr_line}
${setup_line}
hash-1 {
algo = "${conf_csum}";
@@ -331,6 +383,11 @@ EOF
fi
if [ -n "${5}" ]; then
sign_line="${sign_line}${sep}\"bootscr\""
sep=", "
fi
if [ -n "${6}" ]; then
sign_line="${sign_line}${sep}\"setup\""
fi
@@ -363,6 +420,7 @@ fitimage_assemble() {
DTBS=""
ramdiskcount=${3}
setupcount=""
bootscr_id=""
rm -f ${1} arch/${ARCH}/boot/${2}
fitimage_emit_fit_header ${1}
@@ -373,7 +431,7 @@ fitimage_assemble() {
fitimage_emit_section_maint ${1} imagestart
uboot_prep_kimage
fitimage_emit_section_kernel ${1} "${kernelcount}" linux.bin "${linux_comp}"
fitimage_emit_section_kernel $1 $kernelcount linux.bin "$linux_comp"
#
# Step 2: Prepare a DTB image section
@@ -407,7 +465,21 @@ fitimage_assemble() {
fi
#
# Step 3: Prepare a setup section. (For x86)
# Step 3: Prepare a u-boot script section
#
if [ -n "${UBOOT_ENV}" ] && [ -d "${STAGING_DIR_HOST}/boot" ]; then
if [ -e "${STAGING_DIR_HOST}/boot/${UBOOT_ENV_BINARY}" ]; then
cp ${STAGING_DIR_HOST}/boot/${UBOOT_ENV_BINARY} ${B}
bootscr_id="${UBOOT_ENV_BINARY}"
fitimage_emit_section_boot_script ${1} "${bootscr_id}" ${UBOOT_ENV_BINARY}
else
bbwarn "${STAGING_DIR_HOST}/boot/${UBOOT_ENV_BINARY} not found."
fi
fi
#
# Step 4: Prepare a setup section. (For x86)
#
if [ -e arch/${ARCH}/boot/setup.bin ]; then
setupcount=1
@@ -415,9 +487,9 @@ fitimage_assemble() {
fi
#
# Step 4: Prepare a ramdisk section.
# Step 5: Prepare a ramdisk section.
#
if [ "x${ramdiskcount}" = "x1" ] ; then
if [ "x${ramdiskcount}" = "x1" ] && [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ]; then
# Find and use the first initramfs image archive type we find
for img in cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.gz ext2.gz cpio; do
initramfs_path="${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.${img}"
@@ -438,7 +510,7 @@ fitimage_assemble() {
fi
#
# Step 5: Prepare a configurations section
# Step 6: Prepare a configurations section
#
fitimage_emit_section_maint ${1} confstart
@@ -447,9 +519,9 @@ fitimage_assemble() {
for DTB in ${DTBS}; do
dtb_ext=${DTB##*.}
if [ "${dtb_ext}" = "dtbo" ]; then
fitimage_emit_section_config ${1} "" "${DTB}" "" "" "`expr ${i} = ${dtbcount}`"
fitimage_emit_section_config ${1} "" "${DTB}" "" "${bootscr_id}" "" "`expr ${i} = ${dtbcount}`"
else
fitimage_emit_section_config ${1} "${kernelcount}" "${DTB}" "${ramdiskcount}" "${setupcount}" "`expr ${i} = ${dtbcount}`"
fitimage_emit_section_config ${1} "${kernelcount}" "${DTB}" "${ramdiskcount}" "${bootscr_id}" "${setupcount}" "`expr ${i} = ${dtbcount}`"
fi
i=`expr ${i} + 1`
done
@@ -460,7 +532,7 @@ fitimage_assemble() {
fitimage_emit_section_maint ${1} fitend
#
# Step 6: Assemble the image
# Step 7: Assemble the image
#
uboot-mkimage \
${@'-D "${UBOOT_MKIMAGE_DTCOPTS}"' if len('${UBOOT_MKIMAGE_DTCOPTS}') else ''} \
@@ -468,7 +540,7 @@ fitimage_assemble() {
arch/${ARCH}/boot/${2}
#
# Step 7: Sign the image and add public key to U-Boot dtb
# Step 8: Sign the image and add public key to U-Boot dtb
#
if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ] ; then
add_key_to_u_boot=""
@@ -500,7 +572,11 @@ do_assemble_fitimage_initramfs() {
if echo ${KERNEL_IMAGETYPES} | grep -wq "fitImage" && \
test -n "${INITRAMFS_IMAGE}" ; then
cd ${B}
fitimage_assemble fit-image-${INITRAMFS_IMAGE}.its fitImage-${INITRAMFS_IMAGE} 1
if [ "${INITRAMFS_IMAGE_BUNDLE}" = "1" ]; then
fitimage_assemble fit-image-${INITRAMFS_IMAGE}.its fitImage ""
else
fitimage_assemble fit-image-${INITRAMFS_IMAGE}.its fitImage-${INITRAMFS_IMAGE} 1
fi
fi
}
@@ -511,22 +587,32 @@ kernel_do_deploy[vardepsexclude] = "DATETIME"
kernel_do_deploy_append() {
# Update deploy directory
if echo ${KERNEL_IMAGETYPES} | grep -wq "fitImage"; then
echo "Copying fit-image.its source file..."
install -m 0644 ${B}/fit-image.its "$deployDir/fitImage-its-${KERNEL_FIT_NAME}.its"
ln -snf fitImage-its-${KERNEL_FIT_NAME}.its "$deployDir/fitImage-its-${KERNEL_FIT_LINK_NAME}"
if [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ]; then
echo "Copying fit-image.its source file..."
install -m 0644 ${B}/fit-image.its "$deployDir/fitImage-its-${KERNEL_FIT_NAME}.its"
if [ -n "${KERNEL_FIT_LINK_NAME}" ] ; then
ln -snf fitImage-its-${KERNEL_FIT_NAME}.its "$deployDir/fitImage-its-${KERNEL_FIT_LINK_NAME}"
fi
echo "Copying linux.bin file..."
install -m 0644 ${B}/linux.bin $deployDir/fitImage-linux.bin-${KERNEL_FIT_NAME}.bin
ln -snf fitImage-linux.bin-${KERNEL_FIT_NAME}.bin "$deployDir/fitImage-linux.bin-${KERNEL_FIT_LINK_NAME}"
echo "Copying linux.bin file..."
install -m 0644 ${B}/linux.bin $deployDir/fitImage-linux.bin-${KERNEL_FIT_NAME}.bin
if [ -n "${KERNEL_FIT_LINK_NAME}" ] ; then
ln -snf fitImage-linux.bin-${KERNEL_FIT_NAME}.bin "$deployDir/fitImage-linux.bin-${KERNEL_FIT_LINK_NAME}"
fi
fi
if [ -n "${INITRAMFS_IMAGE}" ]; then
echo "Copying fit-image-${INITRAMFS_IMAGE}.its source file..."
install -m 0644 ${B}/fit-image-${INITRAMFS_IMAGE}.its "$deployDir/fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.its"
ln -snf fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.its "$deployDir/fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}"
echo "Copying fitImage-${INITRAMFS_IMAGE} file..."
install -m 0644 ${B}/arch/${ARCH}/boot/fitImage-${INITRAMFS_IMAGE} "$deployDir/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.bin"
ln -snf fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.bin "$deployDir/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}"
if [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ]; then
echo "Copying fitImage-${INITRAMFS_IMAGE} file..."
install -m 0644 ${B}/arch/${ARCH}/boot/fitImage-${INITRAMFS_IMAGE} "$deployDir/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.bin"
if [ -n "${KERNEL_FIT_LINK_NAME}" ] ; then
ln -snf fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.bin "$deployDir/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}"
fi
fi
fi
if [ "${UBOOT_SIGN_ENABLE}" = "1" -a -n "${UBOOT_DTB_BINARY}" ] ; then
# UBOOT_DTB_IMAGE is a realfile, but we can't use
@@ -536,3 +622,13 @@ kernel_do_deploy_append() {
fi
fi
}
# The function below performs the following in case of initramfs bundles:
# - Removes do_assemble_fitimage. FIT generation is done through
# do_assemble_fitimage_initramfs. do_assemble_fitimage is not needed
# and should not be part of the tasks to be executed.
python () {
d.appendVarFlag('do_compile', 'vardeps', ' INITRAMFS_IMAGE_BUNDLE')
if d.getVar('INITRAMFS_IMAGE_BUNDLE') == "1":
bb.build.deltask('do_assemble_fitimage', d)
}

View File

@@ -194,7 +194,7 @@ do_kernel_metadata() {
# SRC_URI. If they were supplied, we convert them into include directives
# for the update part of the process
for f in ${feat_dirs}; do
if [ -d "${WORKDIR}/$f/meta" ]; then
if [ -d "${WORKDIR}/$f/kernel-meta" ]; then
includes="$includes -I${WORKDIR}/$f/kernel-meta"
elif [ -d "${WORKDIR}/../oe-local-files/$f" ]; then
includes="$includes -I${WORKDIR}/../oe-local-files/$f"

View File

@@ -595,7 +595,7 @@ do_savedefconfig() {
do_savedefconfig[nostamp] = "1"
addtask savedefconfig after do_configure
inherit cml1
inherit cml1 pkgconfig
KCONFIG_CONFIG_COMMAND_append = " LD='${KERNEL_LD}' HOSTLDFLAGS='${BUILD_LDFLAGS}'"

View File

@@ -45,6 +45,7 @@ PACKAGE_NO_GCONV ?= "0"
OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}"
locale_base_postinst_ontarget() {
mkdir ${libdir}/locale
localedef --inputfile=${datadir}/i18n/locales/%s --charmap=%s %s
}

View File

@@ -211,7 +211,7 @@ def get_deployed_dependencies(d):
deploy = {}
# Get all the dependencies for the current task (rootfs).
taskdata = d.getVar("BB_TASKDEPDATA", False)
pn = d.getVar("PN", True)
pn = d.getVar("PN")
depends = list(set([dep[0] for dep
in list(taskdata.values())
if not dep[0].endswith("-native") and not dep[0] == pn]))

View File

@@ -45,6 +45,7 @@ python multilib_virtclass_handler () {
e.data.setVar("RECIPE_SYSROOT", "${WORKDIR}/recipe-sysroot")
e.data.setVar("STAGING_DIR_TARGET", "${WORKDIR}/recipe-sysroot")
e.data.setVar("STAGING_DIR_HOST", "${WORKDIR}/recipe-sysroot")
e.data.setVar("RECIPE_SYSROOT_MANIFEST_SUBDIR", "nativesdk-" + variant)
e.data.setVar("MLPREFIX", variant + "-")
override = ":virtclass-multilib-" + variant
e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override)

View File

@@ -113,3 +113,5 @@ do_packagedata[stamp-extra-info] = ""
USE_NLS = "${SDKUSE_NLS}"
OLDEST_KERNEL = "${SDK_OLDEST_KERNEL}"
PATH_prepend = "${COREBASE}/scripts/nativesdk-intercept:"

View File

@@ -1140,6 +1140,14 @@ python split_and_strip_files () {
# Modified the file so clear the cache
cpath.updatecache(file)
def strip_pkgd_prefix(f):
nonlocal dvar
if f.startswith(dvar):
return f[len(dvar):]
return f
#
# First lets process debug splitting
#
@@ -1153,6 +1161,8 @@ python split_and_strip_files () {
for file in staticlibs:
results.append( (file,source_info(file, d)) )
d.setVar("PKGDEBUGSOURCES", {strip_pkgd_prefix(f): sorted(s) for f, s in results})
sources = set()
for r in results:
sources.update(r[1])
@@ -1460,6 +1470,7 @@ PKGDATA_VARS = "PN PE PV PR PKGE PKGV PKGR LICENSE DESCRIPTION SUMMARY RDEPENDS
python emit_pkgdata() {
from glob import glob
import json
import gzip
def process_postinst_on_target(pkg, mlprefix):
pkgval = d.getVar('PKG_%s' % pkg)
@@ -1532,6 +1543,8 @@ fi
with open(data_file, 'w') as fd:
fd.write("PACKAGES: %s\n" % packages)
pkgdebugsource = d.getVar("PKGDEBUGSOURCES") or []
pn = d.getVar('PN')
global_variants = (d.getVar('MULTILIB_GLOBAL_VARIANTS') or "").split()
variants = (d.getVar('MULTILIB_VARIANTS') or "").split()
@@ -1551,17 +1564,32 @@ fi
pkgval = pkg
d.setVar('PKG_%s' % pkg, pkg)
extended_data = {
"files_info": {}
}
pkgdestpkg = os.path.join(pkgdest, pkg)
files = {}
files_extra = {}
total_size = 0
seen = set()
for f in pkgfiles[pkg]:
relpth = os.path.relpath(f, pkgdestpkg)
fpath = os.sep + os.path.relpath(f, pkgdestpkg)
fstat = os.lstat(f)
files[os.sep + relpth] = fstat.st_size
files[fpath] = fstat.st_size
extended_data["files_info"].setdefault(fpath, {})
extended_data["files_info"][fpath]['size'] = fstat.st_size
if fstat.st_ino not in seen:
seen.add(fstat.st_ino)
total_size += fstat.st_size
if fpath in pkgdebugsource:
extended_data["files_info"][fpath]['debugsrc'] = pkgdebugsource[fpath]
del pkgdebugsource[fpath]
d.setVar('FILES_INFO', json.dumps(files, sort_keys=True))
process_postinst_on_target(pkg, d.getVar("MLPREFIX"))
@@ -1582,6 +1610,10 @@ fi
sf.write('%s_%s: %d\n' % ('PKGSIZE', pkg, total_size))
subdata_extended_file = pkgdatadir + "/extended/%s.json.gz" % pkg
with gzip.open(subdata_extended_file, "wt", encoding="utf-8") as f:
json.dump(extended_data, f, sort_keys=True, separators=(",", ":"))
# Symlinks needed for rprovides lookup
rprov = d.getVar('RPROVIDES_%s' % pkg) or d.getVar('RPROVIDES')
if rprov:
@@ -1612,7 +1644,8 @@ fi
write_extra_runtime_pkgs(global_variants, packages, pkgdatadir)
}
emit_pkgdata[dirs] = "${PKGDESTWORK}/runtime ${PKGDESTWORK}/runtime-reverse ${PKGDESTWORK}/runtime-rprovides"
emit_pkgdata[dirs] = "${PKGDESTWORK}/runtime ${PKGDESTWORK}/runtime-reverse ${PKGDESTWORK}/runtime-rprovides ${PKGDESTWORK}/extended"
emit_pkgdata[vardepsexclude] = "BB_NUMBER_THREADS"
ldconfig_postinst_fragment() {
if [ x"$D" = "x" ]; then

View File

@@ -51,6 +51,8 @@ TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}"
SDK_ARCHIVE_TYPE ?= "tar.xz"
SDK_XZ_COMPRESSION_LEVEL ?= "-9"
SDK_XZ_OPTIONS ?= "${XZ_DEFAULTS} ${SDK_XZ_COMPRESSION_LEVEL}"
SDK_ZIP_OPTIONS ?= "-y"
# To support different sdk type according to SDK_ARCHIVE_TYPE, now support zip and tar.xz
python () {
@@ -58,7 +60,7 @@ python () {
d.setVar('SDK_ARCHIVE_DEPENDS', 'zip-native')
# SDK_ARCHIVE_CMD used to generate archived sdk ${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} from input dir ${SDK_OUTPUT}/${SDKPATH} to output dir ${SDKDEPLOYDIR}
# recommand to cd into input dir first to avoid archive with buildpath
d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r -y ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .')
d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r ${SDK_ZIP_OPTIONS} ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .')
else:
d.setVar('SDK_ARCHIVE_DEPENDS', 'xz-native')
d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz ${SDK_XZ_OPTIONS} > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}')

View File

@@ -363,7 +363,8 @@ python copy_buildsystem () {
f.write('BUILDCFG_HEADER = ""\n\n')
# Write METADATA_REVISION
f.write('METADATA_REVISION = "%s"\n\n' % d.getVar('METADATA_REVISION'))
# Needs distro override so it can override the value set in the bbclass code (later than local.conf)
f.write('METADATA_REVISION:%s = "%s"\n\n' % (d.getVar('DISTRO'), d.getVar('METADATA_REVISION')))
f.write('# Provide a flag to indicate we are in the EXT_SDK Context\n')
f.write('WITHIN_EXT_SDK = "1"\n\n')
@@ -669,7 +670,7 @@ sdk_ext_postinst() {
# A bit of another hack, but we need this in the path only for devtool
# so put it at the end of $PATH.
echo "export PATH=$target_sdk_dir/sysroots/${SDK_SYS}${bindir_nativesdk}:\$PATH" >> $env_setup_script
echo "export PATH=\"$target_sdk_dir/sysroots/${SDK_SYS}${bindir_nativesdk}:\$PATH\"" >> $env_setup_script
echo "printf 'SDK environment now set up; additionally you may now run devtool to perform development tasks.\nRun devtool --help for further details.\n'" >> $env_setup_script

View File

@@ -24,3 +24,5 @@ S = "${WORKDIR}/${PYPI_PACKAGE}-${PV}"
UPSTREAM_CHECK_URI ?= "https://pypi.org/project/${PYPI_PACKAGE}/"
UPSTREAM_CHECK_REGEX ?= "/${PYPI_PACKAGE}/(?P<pver>(\d+[\.\-_]*)+)/"
CVE_PRODUCT ?= "python:${PYPI_PACKAGE}"

View File

@@ -267,6 +267,10 @@ python extend_recipe_sysroot() {
pn = d.getVar("PN")
stagingdir = d.getVar("STAGING_DIR")
sharedmanifests = d.getVar("COMPONENTS_DIR") + "/manifests"
# only needed by multilib cross-canadian since it redefines RECIPE_SYSROOT
manifestprefix = d.getVar("RECIPE_SYSROOT_MANIFEST_SUBDIR")
if manifestprefix:
sharedmanifests = sharedmanifests + "/" + manifestprefix
recipesysroot = d.getVar("RECIPE_SYSROOT")
recipesysrootnative = d.getVar("RECIPE_SYSROOT_NATIVE")

View File

@@ -44,7 +44,7 @@ toolchain_create_sdk_env_script () {
for i in ${CANADIANEXTRAOS}; do
EXTRAPATH="$EXTRAPATH:$sdkpathnative$bindir/${TARGET_ARCH}${TARGET_VENDOR}-$i"
done
echo "export PATH=$sdkpathnative$bindir:$sdkpathnative$sbindir:$sdkpathnative$base_bindir:$sdkpathnative$base_sbindir:$sdkpathnative$bindir/../${HOST_SYS}/bin:$sdkpathnative$bindir/${TARGET_SYS}"$EXTRAPATH':$PATH' >> $script
echo "export PATH=$sdkpathnative$bindir:$sdkpathnative$sbindir:$sdkpathnative$base_bindir:$sdkpathnative$base_sbindir:$sdkpathnative$bindir/../${HOST_SYS}/bin:$sdkpathnative$bindir/${TARGET_SYS}"$EXTRAPATH':"$PATH"' >> $script
echo 'export PKG_CONFIG_SYSROOT_DIR=$SDKTARGETSYSROOT' >> $script
echo 'export PKG_CONFIG_PATH=$SDKTARGETSYSROOT'"$libdir"'/pkgconfig:$SDKTARGETSYSROOT'"$prefix"'/share/pkgconfig' >> $script
echo 'export CONFIG_SITE=${SDKPATH}/site-config-'"${multimach_target_sys}" >> $script

View File

@@ -34,6 +34,8 @@ python uninative_event_fetchloader() {
with open(loaderchksum, "r") as f:
readchksum = f.read().strip()
if readchksum == chksum:
if "uninative" not in d.getVar("SSTATEPOSTUNPACKFUNCS"):
enable_uninative(d)
return
import subprocess
@@ -167,5 +169,7 @@ python uninative_changeinterp () {
if not elf.isDynamic():
continue
os.chmod(f, s[stat.ST_MODE] | stat.S_IWUSR)
subprocess.check_output(("patchelf-uninative", "--set-interpreter", d.getVar("UNINATIVE_LOADER"), f), stderr=subprocess.STDOUT)
os.chmod(f, s[stat.ST_MODE])
}

View File

@@ -41,7 +41,7 @@ def update_useradd_static_config(d):
def handle_missing_id(id, type, pkg, files, var, value):
# For backwards compatibility we accept "1" in addition to "error"
error_dynamic = d.getVar('USERADD_ERROR_DYNAMIC')
msg = "%s - %s: %sname %s does not have a static ID defined." % (d.getVar('PN'), pkg, type, id)
msg = 'Recipe %s, package %s: %sname "%s" does not have a static ID defined.' % (d.getVar('PN'), pkg, type, id)
if files:
msg += " Add %s to one of these files: %s" % (id, files)
else:

View File

@@ -897,7 +897,7 @@ BB_HASHCONFIG_WHITELIST ?= "${BB_HASHEXCLUDE_COMMON} DATE TIME SSH_AGENT_PID \
PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV BB_INVALIDCONF BBINCLUDED \
GIT_PROXY_COMMAND ALL_PROXY all_proxy NO_PROXY no_proxy FTP_PROXY ftp_proxy \
HTTP_PROXY http_proxy HTTPS_PROXY https_proxy SOCKS5_USER SOCKS5_PASSWD \
BB_SETSCENE_ENFORCE BB_CMDLINE BB_SERVER_TIMEOUT"
BB_SETSCENE_ENFORCE BB_CMDLINE BB_SERVER_TIMEOUT BB_NICE_LEVEL"
BB_SIGNATURE_EXCLUDE_FLAGS ?= "doc deps depends \
lockfiles type vardepsexclude vardeps vardepvalue vardepvalueexclude \
file-checksums python func task export unexport noexec nostamp dirs cleandirs \

View File

@@ -26,6 +26,7 @@ PTESTS_FAST = "\
liberror-perl-ptest \
libmodule-build-perl-ptest \
libpcre-ptest \
libpng-ptest \
libtimedate-perl-ptest \
libtest-needs-perl-ptest \
liburi-perl-ptest \

View File

@@ -6,10 +6,10 @@
# to the distro running on the build machine.
#
UNINATIVE_MAXGLIBCVERSION = "2.36"
UNINATIVE_VERSION = "3.7"
UNINATIVE_MAXGLIBCVERSION = "2.37"
UNINATIVE_VERSION = "4.0"
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/"
UNINATIVE_CHECKSUM[aarch64] ?= "6a29bcae4b5b716d2d520e18800b33943b65f8a835eac1ff8793fc5ee65b4be6"
UNINATIVE_CHECKSUM[i686] ?= "3f6d52e64996570c716108d49f8108baccf499a283bbefae438c7266b7a93305"
UNINATIVE_CHECKSUM[x86_64] ?= "b110bf2e10fe420f5ca2f3ec55f048ee5f0a54c7e34856a3594e51eb2aea0570"
UNINATIVE_CHECKSUM[aarch64] ?= "7baa8418a302df52e00916193b0a04f318356d9d2670c9a2bce3e966efefd738"
UNINATIVE_CHECKSUM[i686] ?= "83114d36883d43a521e280742b9849bf85d039b2f83d8e21d480659babe75ee8"
UNINATIVE_CHECKSUM[x86_64] ?= "fd75b2a1a67a10f6b7d65afb7d0f3e71a63b0038e428f34dfe420bb37716558a"

View File

@@ -22,21 +22,28 @@ SPDXLICENSEMAP[GPLv1.0] = "GPL-1.0"
SPDXLICENSEMAP[GPL-1.0-only] = "GPL-1.0"
SPDXLICENSEMAP[GPL-2] = "GPL-2.0"
SPDXLICENSEMAP[GPLv2] = "GPL-2.0"
SPDXLICENSEMAP[GPLv2+] = "GPL-2.0+"
SPDXLICENSEMAP[GPLv2.0] = "GPL-2.0"
SPDXLICENSEMAP[GPLv2.0+] = "GPL-2.0+"
SPDXLICENSEMAP[GPL-2.0-only] = "GPL-2.0"
SPDXLICENSEMAP[GPL-3] = "GPL-3.0"
SPDXLICENSEMAP[GPLv3] = "GPL-3.0"
SPDXLICENSEMAP[GPLv3+] = "GPL-3.0+"
SPDXLICENSEMAP[GPLv3.0] = "GPL-3.0"
SPDXLICENSEMAP[GPLv3.0+] = "GPL-3.0+"
SPDXLICENSEMAP[GPL-3.0-only] = "GPL-3.0"
#LGPL variations
SPDXLICENSEMAP[LGPLv2] = "LGPL-2.0"
SPDXLICENSEMAP[LGPLv2+] = "LGPL-2.0+"
SPDXLICENSEMAP[LGPLv2.0] = "LGPL-2.0"
SPDXLICENSEMAP[LGPL-2.0-only] = "LGPL-2.0"
SPDXLICENSEMAP[LGPL2.1] = "LGPL-2.1"
SPDXLICENSEMAP[LGPLv2.1] = "LGPL-2.1"
SPDXLICENSEMAP[LGPLv2.1+] = "LGPL-2.1+"
SPDXLICENSEMAP[LGPL-2.1-only] = "LGPL-2.1"
SPDXLICENSEMAP[LGPLv3] = "LGPL-3.0"
SPDXLICENSEMAP[LGPLv3+] = "LGPL-3.0+"
SPDXLICENSEMAP[LGPL-3.0-only] = "LGPL-3.0"
#MPL variations

File diff suppressed because it is too large Load Diff

View File

@@ -172,3 +172,40 @@ def get_cpe_ids(cve_product, version):
cpe_ids.append(cpe_id)
return cpe_ids
def convert_cve_version(version):
"""
This function converts from CVE format to Yocto version format.
eg 8.3_p1 -> 8.3p1, 6.2_rc1 -> 6.2-rc1
Unless it is redefined using CVE_VERSION in the recipe,
cve_check uses the version in the name of the recipe (${PV})
to check vulnerabilities against a CVE in the database downloaded from NVD.
When the version has an update, i.e.
"p1" in OpenSSH 8.3p1,
"-rc1" in linux kernel 6.2-rc1,
the database stores the version as version_update (8.3_p1, 6.2_rc1).
Therefore, we must transform this version before comparing to the
recipe version.
In this case, the parameter of the function is 8.3_p1.
If the version uses the Release Candidate format, "rc",
this function replaces the '_' by '-'.
If the version uses the Update format, "p",
this function removes the '_' completely.
"""
import re
matches = re.match('^([0-9.]+)_((p|rc)[0-9]+)$', version)
if not matches:
return version
version = matches.group(1)
update = matches.group(2)
if matches.group(3) == "rc":
return version + '-' + update
return version + update

View File

@@ -57,6 +57,17 @@ def read_subpkgdata_dict(pkg, d):
ret[newvar] = subd[var]
return ret
def read_subpkgdata_extended(pkg, d):
import json
import gzip
fn = d.expand("${PKGDATA_DIR}/extended/%s.json.gz" % pkg)
try:
with gzip.open(fn, "rt", encoding="utf-8") as f:
return json.load(f)
except FileNotFoundError:
return None
def _pkgmap(d):
"""Return a dictionary mapping package to recipe name."""

84
meta/lib/oe/sbom.py Normal file
View File

@@ -0,0 +1,84 @@
#
# Copyright OpenEmbedded Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
import collections
DepRecipe = collections.namedtuple("DepRecipe", ("doc", "doc_sha1", "recipe"))
DepSource = collections.namedtuple("DepSource", ("doc", "doc_sha1", "recipe", "file"))
def get_recipe_spdxid(d):
return "SPDXRef-%s-%s" % ("Recipe", d.getVar("PN"))
def get_download_spdxid(d, idx):
return "SPDXRef-Download-%s-%d" % (d.getVar("PN"), idx)
def get_package_spdxid(pkg):
return "SPDXRef-Package-%s" % pkg
def get_source_file_spdxid(d, idx):
return "SPDXRef-SourceFile-%s-%d" % (d.getVar("PN"), idx)
def get_packaged_file_spdxid(pkg, idx):
return "SPDXRef-PackagedFile-%s-%d" % (pkg, idx)
def get_image_spdxid(img):
return "SPDXRef-Image-%s" % img
def get_sdk_spdxid(sdk):
return "SPDXRef-SDK-%s" % sdk
def write_doc(d, spdx_doc, subdir, spdx_deploy=None, indent=None):
from pathlib import Path
if spdx_deploy is None:
spdx_deploy = Path(d.getVar("SPDXDEPLOY"))
dest = spdx_deploy / subdir / (spdx_doc.name + ".spdx.json")
dest.parent.mkdir(exist_ok=True, parents=True)
with dest.open("wb") as f:
doc_sha1 = spdx_doc.to_json(f, sort_keys=True, indent=indent)
l = spdx_deploy / "by-namespace" / spdx_doc.documentNamespace.replace("/", "_")
l.parent.mkdir(exist_ok=True, parents=True)
l.symlink_to(os.path.relpath(dest, l.parent))
return doc_sha1
def read_doc(fn):
import hashlib
import oe.spdx
import io
import contextlib
@contextlib.contextmanager
def get_file():
if isinstance(fn, io.IOBase):
yield fn
else:
with fn.open("rb") as f:
yield f
with get_file() as f:
sha1 = hashlib.sha1()
while True:
chunk = f.read(4096)
if not chunk:
break
sha1.update(chunk)
f.seek(0)
doc = oe.spdx.SPDXDocument.from_json(f)
return (doc, sha1.hexdigest())

357
meta/lib/oe/spdx.py Normal file
View File

@@ -0,0 +1,357 @@
#
# Copyright OpenEmbedded Contributors
#
# SPDX-License-Identifier: GPL-2.0-only
#
#
# This library is intended to capture the JSON SPDX specification in a type
# safe manner. It is not intended to encode any particular OE specific
# behaviors, see the sbom.py for that.
#
# The documented SPDX spec document doesn't cover the JSON syntax for
# particular configuration, which can make it hard to determine what the JSON
# syntax should be. I've found it is actually much simpler to read the official
# SPDX JSON schema which can be found here: https://github.com/spdx/spdx-spec
# in schemas/spdx-schema.json
#
import hashlib
import itertools
import json
SPDX_VERSION = "2.2"
#
# The following are the support classes that are used to implement SPDX object
#
class _Property(object):
"""
A generic SPDX object property. The different types will derive from this
class
"""
def __init__(self, *, default=None):
self.default = default
def setdefault(self, dest, name):
if self.default is not None:
dest.setdefault(name, self.default)
class _String(_Property):
"""
A scalar string property for an SPDX object
"""
def __init__(self, **kwargs):
super().__init__(**kwargs)
def set_property(self, attrs, name):
def get_helper(obj):
return obj._spdx[name]
def set_helper(obj, value):
obj._spdx[name] = value
def del_helper(obj):
del obj._spdx[name]
attrs[name] = property(get_helper, set_helper, del_helper)
def init(self, source):
return source
class _Object(_Property):
"""
A scalar SPDX object property of a SPDX object
"""
def __init__(self, cls, **kwargs):
super().__init__(**kwargs)
self.cls = cls
def set_property(self, attrs, name):
def get_helper(obj):
if not name in obj._spdx:
obj._spdx[name] = self.cls()
return obj._spdx[name]
def set_helper(obj, value):
obj._spdx[name] = value
def del_helper(obj):
del obj._spdx[name]
attrs[name] = property(get_helper, set_helper)
def init(self, source):
return self.cls(**source)
class _ListProperty(_Property):
"""
A list of SPDX properties
"""
def __init__(self, prop, **kwargs):
super().__init__(**kwargs)
self.prop = prop
def set_property(self, attrs, name):
def get_helper(obj):
if not name in obj._spdx:
obj._spdx[name] = []
return obj._spdx[name]
def set_helper(obj, value):
obj._spdx[name] = list(value)
def del_helper(obj):
del obj._spdx[name]
attrs[name] = property(get_helper, set_helper, del_helper)
def init(self, source):
return [self.prop.init(o) for o in source]
class _StringList(_ListProperty):
"""
A list of strings as a property for an SPDX object
"""
def __init__(self, **kwargs):
super().__init__(_String(), **kwargs)
class _ObjectList(_ListProperty):
"""
A list of SPDX objects as a property for an SPDX object
"""
def __init__(self, cls, **kwargs):
super().__init__(_Object(cls), **kwargs)
class MetaSPDXObject(type):
"""
A metaclass that allows properties (anything derived from a _Property
class) to be defined for a SPDX object
"""
def __new__(mcls, name, bases, attrs):
attrs["_properties"] = {}
for key in attrs.keys():
if isinstance(attrs[key], _Property):
prop = attrs[key]
attrs["_properties"][key] = prop
prop.set_property(attrs, key)
return super().__new__(mcls, name, bases, attrs)
class SPDXObject(metaclass=MetaSPDXObject):
"""
The base SPDX object; all SPDX spec classes must derive from this class
"""
def __init__(self, **d):
self._spdx = {}
for name, prop in self._properties.items():
prop.setdefault(self._spdx, name)
if name in d:
self._spdx[name] = prop.init(d[name])
def serializer(self):
return self._spdx
def __setattr__(self, name, value):
if name in self._properties or name == "_spdx":
super().__setattr__(name, value)
return
raise KeyError("%r is not a valid SPDX property" % name)
#
# These are the SPDX objects implemented from the spec. The *only* properties
# that can be added to these objects are ones directly specified in the SPDX
# spec, however you may add helper functions to make operations easier.
#
# Defaults should *only* be specified if the SPDX spec says there is a certain
# required value for a field (e.g. dataLicense), or if the field is mandatory
# and has some sane "this field is unknown" (e.g. "NOASSERTION")
#
class SPDXAnnotation(SPDXObject):
annotationDate = _String()
annotationType = _String()
annotator = _String()
comment = _String()
class SPDXChecksum(SPDXObject):
algorithm = _String()
checksumValue = _String()
class SPDXRelationship(SPDXObject):
spdxElementId = _String()
relatedSpdxElement = _String()
relationshipType = _String()
comment = _String()
annotations = _ObjectList(SPDXAnnotation)
class SPDXExternalReference(SPDXObject):
referenceCategory = _String()
referenceType = _String()
referenceLocator = _String()
class SPDXPackageVerificationCode(SPDXObject):
packageVerificationCodeValue = _String()
packageVerificationCodeExcludedFiles = _StringList()
class SPDXPackage(SPDXObject):
ALLOWED_CHECKSUMS = [
"SHA1",
"SHA224",
"SHA256",
"SHA384",
"SHA512",
"MD2",
"MD4",
"MD5",
"MD6",
]
name = _String()
SPDXID = _String()
versionInfo = _String()
downloadLocation = _String(default="NOASSERTION")
supplier = _String(default="NOASSERTION")
homepage = _String()
licenseConcluded = _String(default="NOASSERTION")
licenseDeclared = _String(default="NOASSERTION")
summary = _String()
description = _String()
sourceInfo = _String()
copyrightText = _String(default="NOASSERTION")
licenseInfoFromFiles = _StringList(default=["NOASSERTION"])
externalRefs = _ObjectList(SPDXExternalReference)
packageVerificationCode = _Object(SPDXPackageVerificationCode)
hasFiles = _StringList()
packageFileName = _String()
annotations = _ObjectList(SPDXAnnotation)
checksums = _ObjectList(SPDXChecksum)
class SPDXFile(SPDXObject):
SPDXID = _String()
fileName = _String()
licenseConcluded = _String(default="NOASSERTION")
copyrightText = _String(default="NOASSERTION")
licenseInfoInFiles = _StringList(default=["NOASSERTION"])
checksums = _ObjectList(SPDXChecksum)
fileTypes = _StringList()
class SPDXCreationInfo(SPDXObject):
created = _String()
licenseListVersion = _String()
comment = _String()
creators = _StringList()
class SPDXExternalDocumentRef(SPDXObject):
externalDocumentId = _String()
spdxDocument = _String()
checksum = _Object(SPDXChecksum)
class SPDXExtractedLicensingInfo(SPDXObject):
name = _String()
comment = _String()
licenseId = _String()
extractedText = _String()
class SPDXDocument(SPDXObject):
spdxVersion = _String(default="SPDX-" + SPDX_VERSION)
dataLicense = _String(default="CC0-1.0")
SPDXID = _String(default="SPDXRef-DOCUMENT")
name = _String()
documentNamespace = _String()
creationInfo = _Object(SPDXCreationInfo)
packages = _ObjectList(SPDXPackage)
files = _ObjectList(SPDXFile)
relationships = _ObjectList(SPDXRelationship)
externalDocumentRefs = _ObjectList(SPDXExternalDocumentRef)
hasExtractedLicensingInfos = _ObjectList(SPDXExtractedLicensingInfo)
def __init__(self, **d):
super().__init__(**d)
def to_json(self, f, *, sort_keys=False, indent=None, separators=None):
class Encoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, SPDXObject):
return o.serializer()
return super().default(o)
sha1 = hashlib.sha1()
for chunk in Encoder(
sort_keys=sort_keys,
indent=indent,
separators=separators,
).iterencode(self):
chunk = chunk.encode("utf-8")
f.write(chunk)
sha1.update(chunk)
return sha1.hexdigest()
@classmethod
def from_json(cls, f):
return cls(**json.load(f))
def add_relationship(self, _from, relationship, _to, *, comment=None, annotation=None):
if isinstance(_from, SPDXObject):
from_spdxid = _from.SPDXID
else:
from_spdxid = _from
if isinstance(_to, SPDXObject):
to_spdxid = _to.SPDXID
else:
to_spdxid = _to
r = SPDXRelationship(
spdxElementId=from_spdxid,
relatedSpdxElement=to_spdxid,
relationshipType=relationship,
)
if comment is not None:
r.comment = comment
if annotation is not None:
r.annotations.append(annotation)
self.relationships.append(r)
def find_by_spdxid(self, spdxid):
for o in itertools.chain(self.packages, self.files):
if o.SPDXID == spdxid:
return o
return None
def find_external_document_ref(self, namespace):
for r in self.externalDocumentRefs:
if r.spdxDocument == namespace:
return r
return None

View File

@@ -102,6 +102,10 @@ class Rxvt(XTerminal):
command = 'rxvt -T "{title}" -e {command}'
priority = 1
class URxvt(XTerminal):
command = 'urxvt -T "{title}" -e {command}'
priority = 1
class Screen(Terminal):
command = 'screen -D -m -t "{title}" -S devshell {command}'

View File

@@ -1,5 +1,6 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.data import skipIfFeature
from oeqa.runtime.decorator.package import OEHasPackage
import re
@@ -16,12 +17,14 @@ class RTCTest(OERuntimeTestCase):
self.logger.debug('Starting systemd-timesyncd daemon')
self.target.run('systemctl enable --now --runtime systemd-timesyncd')
@skipIfFeature('read-only-rootfs',
'Test does not work with read-only-rootfs in IMAGE_FEATURES')
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['coreutils', 'busybox'])
def test_rtc(self):
(status, output) = self.target.run('hwclock -r')
self.assertEqual(status, 0, msg='Failed to get RTC time, output: %s' % output)
(status, current_datetime) = self.target.run('date +"%m%d%H%M%Y"')
self.assertEqual(status, 0, msg='Failed to get system current date & time, output: %s' % current_datetime)
@@ -32,7 +35,6 @@ class RTCTest(OERuntimeTestCase):
(status, output) = self.target.run('date %s' % current_datetime)
self.assertEqual(status, 0, msg='Failed to reset system date & time, output: %s' % output)
(status, output) = self.target.run('hwclock -w')
self.assertEqual(status, 0, msg='Failed to reset RTC time, output: %s' % output)

View File

@@ -67,11 +67,11 @@ class OERuntimeTestContextExecutor(OETestContextExecutor):
% self.default_target_type)
runtime_group.add_argument('--target-ip', action='store',
default=self.default_target_ip,
help="IP address of device under test, default: %s" \
help="IP address and optionally ssh port (default 22) of device under test, for example '192.168.0.7:22'. Default: %s" \
% self.default_target_ip)
runtime_group.add_argument('--server-ip', action='store',
default=self.default_target_ip,
help="IP address of device under test, default: %s" \
help="IP address of the test host from test target machine, default: %s" \
% self.default_server_ip)
runtime_group.add_argument('--host-dumper-dir', action='store',

View File

@@ -185,6 +185,10 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\"
self.assertTrue(find, "No version returned for searched recipe. bitbake output: %s" % result.output)
def test_prefile(self):
# Test when the prefile does not exist
result = runCmd('bitbake -r conf/prefile.conf', ignore_status=True)
self.assertEqual(1, result.status, "bitbake didn't error and should have when a specified prefile didn't exist: %s" % result.output)
# Test when the prefile exists
preconf = os.path.join(self.builddir, 'conf/prefile.conf')
self.track_for_cleanup(preconf)
ftools.write_file(preconf ,"TEST_PREFILE=\"prefile\"")
@@ -195,6 +199,10 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\"
self.assertIn('localconf', result.output)
def test_postfile(self):
# Test when the postfile does not exist
result = runCmd('bitbake -R conf/postfile.conf', ignore_status=True)
self.assertEqual(1, result.status, "bitbake didn't error and should have when a specified postfile didn't exist: %s" % result.output)
# Test when the postfile exists
postconf = os.path.join(self.builddir, 'conf/postfile.conf')
self.track_for_cleanup(postconf)
ftools.write_file(postconf , "TEST_POSTFILE=\"postfile\"")

View File

@@ -48,6 +48,25 @@ class CVECheck(OESelftestTestCase):
self.assertTrue( result ,msg="Failed to compare version with suffix '1.0_patch2' < '1.0_patch3'")
def test_convert_cve_version(self):
from oe.cve_check import convert_cve_version
# Default format
self.assertEqual(convert_cve_version("8.3"), "8.3")
self.assertEqual(convert_cve_version(""), "")
# OpenSSL format version
self.assertEqual(convert_cve_version("1.1.1t"), "1.1.1t")
# OpenSSH format
self.assertEqual(convert_cve_version("8.3_p1"), "8.3p1")
self.assertEqual(convert_cve_version("8.3_p22"), "8.3p22")
# Linux kernel format
self.assertEqual(convert_cve_version("6.2_rc8"), "6.2-rc8")
self.assertEqual(convert_cve_version("6.2_rc31"), "6.2-rc31")
def test_recipe_report_json(self):
config = """
INHERIT += "cve-check"

View File

@@ -8,6 +8,7 @@ import shutil
import tempfile
import glob
import fnmatch
import unittest
import oeqa.utils.ftools as ftools
from oeqa.selftest.case import OESelftestTestCase
@@ -38,6 +39,13 @@ def setUpModule():
canonical_layerpath = os.path.realpath(canonical_layerpath) + '/'
edited_layers.append(layerpath)
oldmetapath = os.path.realpath(layerpath)
# when downloading poky from tar.gz some tests will be skipped (BUG 12389)
try:
runCmd('git rev-parse --is-inside-work-tree', cwd=canonical_layerpath)
except:
raise unittest.SkipTest("devtool tests require folder to be a git repo")
result = runCmd('git rev-parse --show-toplevel', cwd=canonical_layerpath)
oldreporoot = result.output.rstrip()
newmetapath = os.path.join(corecopydir, os.path.relpath(oldmetapath, oldreporoot))

View File

@@ -75,7 +75,7 @@ class BitbakePrTests(OESelftestTestCase):
exported_db_path = os.path.join(self.builddir, 'export.inc')
export_result = runCmd("bitbake-prserv-tool export %s" % exported_db_path, ignore_status=True)
self.assertEqual(export_result.status, 0, msg="PR Service database export failed: %s" % export_result.output)
self.assertTrue(os.path.exists(exported_db_path))
self.assertTrue(os.path.exists(exported_db_path), msg="%s didn't exist, tool output %s" % (exported_db_path, export_result.output))
if replace_current_db:
current_db_path = os.path.join(get_bb_var('PERSISTENT_DIR'), 'prserv.sqlite3')

View File

@@ -39,7 +39,6 @@ exclude_packages = [
'gstreamer1.0-python',
'hwlatdetect',
'kernel-devsrc',
'libaprutil',
'libcap-ng',
'libjson',
'libproxy',
@@ -189,7 +188,7 @@ class ReproducibleTests(OESelftestTestCase):
def setUpLocal(self):
super().setUpLocal()
needed_vars = ['TOPDIR', 'TARGET_PREFIX', 'BB_NUMBER_THREADS']
needed_vars = ['TOPDIR', 'TARGET_PREFIX', 'BB_NUMBER_THREADS', 'BB_HASHSERVE']
bb_vars = get_bb_vars(needed_vars)
for v in needed_vars:
setattr(self, v.lower(), bb_vars[v])
@@ -260,7 +259,7 @@ class ReproducibleTests(OESelftestTestCase):
# mirror, forcing a complete build from scratch
config += textwrap.dedent('''\
SSTATE_DIR = "${TMPDIR}/sstate"
SSTATE_MIRRORS = ""
SSTATE_MIRRORS = "file://.*/.*-native.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH file://.*/.*-cross.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
''')
self.logger.info("Building %s (sstate%s allowed)..." % (name, '' if use_sstate else ' NOT'))

View File

@@ -177,6 +177,8 @@ class TestImage(OESelftestTestCase):
distro = oe.lsb.distro_identifier()
if distro and distro.startswith('almalinux'):
self.skipTest('virgl isn\'t working with Alma Linux')
if distro and distro.startswith('rocky'):
self.skipTest('virgl isn\'t working with Rocky Linux')
if distro and distro == 'debian-8':
self.skipTest('virgl isn\'t working with Debian 8')
if distro and distro == 'centos-7':
@@ -189,10 +191,14 @@ class TestImage(OESelftestTestCase):
self.skipTest('virgl isn\'t working with Fedora 35')
if distro and distro == 'fedora-36':
self.skipTest('virgl isn\'t working with Fedora 36')
if distro and distro == 'fedora-37':
self.skipTest('virgl isn\'t working with Fedora 37')
if distro and distro == 'opensuseleap-15.0':
self.skipTest('virgl isn\'t working with Opensuse 15.0')
if distro and distro == 'ubuntu-22.04':
self.skipTest('virgl isn\'t working with Ubuntu 22.04')
if distro and distro == 'ubuntu-22.10':
self.skipTest('virgl isn\'t working with Ubuntu 22.10')
qemu_packageconfig = get_bb_var('PACKAGECONFIG', 'qemu-system-native')
sdl_packageconfig = get_bb_var('PACKAGECONFIG', 'libsdl2-native')

View File

@@ -27,9 +27,9 @@ def metadata_from_bb():
data_dict = get_bb_vars()
# Distro information
info_dict['distro'] = {'id': data_dict['DISTRO'],
'version_id': data_dict['DISTRO_VERSION'],
'pretty_name': '%s %s' % (data_dict['DISTRO'], data_dict['DISTRO_VERSION'])}
info_dict['distro'] = {'id': data_dict.get('DISTRO', 'NODISTRO'),
'version_id': data_dict.get('DISTRO_VERSION', 'NO_DISTRO_VERSION'),
'pretty_name': '%s %s' % (data_dict.get('DISTRO', 'NODISTRO'), data_dict.get('DISTRO_VERSION', 'NO_DISTRO_VERSION'))}
# Host distro information
os_release = get_os_release()

View File

@@ -432,10 +432,13 @@ class QemuRunner:
except OSError as e:
if e.errno != errno.ESRCH:
raise
endtime = time.time() + self.runqemutime
while self.runqemu.poll() is None and time.time() < endtime:
time.sleep(1)
if self.runqemu.poll() is None:
try:
outs, errs = self.runqemu.communicate(timeout = self.runqemutime)
if outs:
self.logger.info("Output from runqemu:\n%s", outs.decode("utf-8"))
if errs:
self.logger.info("Stderr from runqemu:\n%s", errs.decode("utf-8"))
except TimeoutExpired:
self.logger.debug("Sending SIGKILL to runqemu")
os.killpg(os.getpgid(self.runqemu.pid), signal.SIGKILL)
if not self.runqemu.stdout.closed:

View File

@@ -0,0 +1,609 @@
From 4ea7bae51f97e49c84dc67ea30b466ca8633b9f6 Mon Sep 17 00:00:00 2001
From: Chris Coulson <chris.coulson@canonical.com>
Date: Thu, 7 Jan 2021 19:21:03 +0000
Subject: kern/parser: Fix a stack buffer overflow
grub_parser_split_cmdline() expands variable names present in the supplied
command line in to their corresponding variable contents and uses a 1 kiB
stack buffer for temporary storage without sufficient bounds checking. If
the function is called with a command line that references a variable with
a sufficiently large payload, it is possible to overflow the stack
buffer via tab completion, corrupt the stack frame and potentially
control execution.
Fixes: CVE-2020-27749
Reported-by: Chris Coulson <chris.coulson@canonical.com>
Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=c6c426e5ab6ea715153b72584de6bd8c82f698ec && https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=b1c9e9e889e4273fb15712051c887e6078511448 && https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=3d157bbd06506b170fde5ec23980c4bf9f7660e2 && https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=8bc817014ce3d7a498db44eae33c8b90e2430926 && https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=030fb6c4fa354cdbd6a8d6903dfed5d36eaf3cb2 && https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=4ea7bae51f97e49c84dc67ea30b466ca8633b9f6]
CVE: CVE-2020-27749
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
grub-core/Makefile.core.def | 1 +
grub-core/kern/buffer.c | 117 +++++++++++++++++++++
grub-core/kern/parser.c | 204 +++++++++++++++++++++++-------------
include/grub/buffer.h | 144 +++++++++++++++++++++++++
4 files changed, 395 insertions(+), 71 deletions(-)
create mode 100644 grub-core/kern/buffer.c
create mode 100644 include/grub/buffer.h
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 651ea2a..823cd57 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -123,6 +123,7 @@ kernel = {
riscv32_efi_startup = kern/riscv/efi/startup.S;
riscv64_efi_startup = kern/riscv/efi/startup.S;
+ common = kern/buffer.c;
common = kern/command.c;
common = kern/corecmd.c;
common = kern/device.c;
diff --git a/grub-core/kern/buffer.c b/grub-core/kern/buffer.c
new file mode 100644
index 0000000..9f5f8b8
--- /dev/null
+++ b/grub-core/kern/buffer.c
@@ -0,0 +1,117 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2021 Free Software Foundation, Inc.
+ *
+ * GRUB 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.
+ *
+ * GRUB 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 GRUB. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <grub/buffer.h>
+#include <grub/err.h>
+#include <grub/misc.h>
+#include <grub/mm.h>
+#include <grub/safemath.h>
+#include <grub/types.h>
+
+grub_buffer_t
+grub_buffer_new (grub_size_t sz)
+{
+ struct grub_buffer *ret;
+
+ ret = (struct grub_buffer *) grub_malloc (sizeof (*ret));
+ if (ret == NULL)
+ return NULL;
+
+ ret->data = (grub_uint8_t *) grub_malloc (sz);
+ if (ret->data == NULL)
+ {
+ grub_free (ret);
+ return NULL;
+ }
+
+ ret->sz = sz;
+ ret->pos = 0;
+ ret->used = 0;
+
+ return ret;
+}
+
+void
+grub_buffer_free (grub_buffer_t buf)
+{
+ grub_free (buf->data);
+ grub_free (buf);
+}
+
+grub_err_t
+grub_buffer_ensure_space (grub_buffer_t buf, grub_size_t req)
+{
+ grub_uint8_t *d;
+ grub_size_t newsz = 1;
+
+ /* Is the current buffer size adequate? */
+ if (buf->sz >= req)
+ return GRUB_ERR_NONE;
+
+ /* Find the smallest power-of-2 size that satisfies the request. */
+ while (newsz < req)
+ {
+ if (newsz == 0)
+ return grub_error (GRUB_ERR_OUT_OF_RANGE,
+ N_("requested buffer size is too large"));
+ newsz <<= 1;
+ }
+
+ d = (grub_uint8_t *) grub_realloc (buf->data, newsz);
+ if (d == NULL)
+ return grub_errno;
+
+ buf->data = d;
+ buf->sz = newsz;
+
+ return GRUB_ERR_NONE;
+}
+
+void *
+grub_buffer_take_data (grub_buffer_t buf)
+{
+ void *data = buf->data;
+
+ buf->data = NULL;
+ buf->sz = buf->pos = buf->used = 0;
+
+ return data;
+}
+
+void
+grub_buffer_reset (grub_buffer_t buf)
+{
+ buf->pos = buf->used = 0;
+}
+
+grub_err_t
+grub_buffer_advance_read_pos (grub_buffer_t buf, grub_size_t n)
+{
+ grub_size_t newpos;
+
+ if (grub_add (buf->pos, n, &newpos))
+ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
+
+ if (newpos > buf->used)
+ return grub_error (GRUB_ERR_OUT_OF_RANGE,
+ N_("new read is position beyond the end of the written data"));
+
+ buf->pos = newpos;
+
+ return GRUB_ERR_NONE;
+}
diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c
index d1cf061..6ab7aa4 100644
--- a/grub-core/kern/parser.c
+++ b/grub-core/kern/parser.c
@@ -1,7 +1,7 @@
/* parser.c - the part of the parser that can return partial tokens */
/*
* GRUB -- GRand Unified Bootloader
- * Copyright (C) 2005,2007,2009 Free Software Foundation, Inc.
+ * Copyright (C) 2005,2007,2009,2021 Free Software Foundation, Inc.
*
* GRUB is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -18,6 +18,7 @@
*/
#include <grub/parser.h>
+#include <grub/buffer.h>
#include <grub/env.h>
#include <grub/misc.h>
#include <grub/mm.h>
@@ -107,8 +108,8 @@ check_varstate (grub_parser_state_t s)
}
-static void
-add_var (char *varname, char **bp, char **vp,
+static grub_err_t
+add_var (grub_buffer_t varname, grub_buffer_t buf,
grub_parser_state_t state, grub_parser_state_t newstate)
{
const char *val;
@@ -116,17 +117,74 @@ add_var (char *varname, char **bp, char **vp,
/* Check if a variable was being read in and the end of the name
was reached. */
if (!(check_varstate (state) && !check_varstate (newstate)))
- return;
+ return GRUB_ERR_NONE;
+
+ if (grub_buffer_append_char (varname, '\0') != GRUB_ERR_NONE)
+ return grub_errno;
- *((*vp)++) = '\0';
- val = grub_env_get (varname);
- *vp = varname;
+ val = grub_env_get ((const char *) grub_buffer_peek_data (varname));
+ grub_buffer_reset (varname);
if (!val)
- return;
+ return GRUB_ERR_NONE;
/* Insert the contents of the variable in the buffer. */
- for (; *val; val++)
- *((*bp)++) = *val;
+ return grub_buffer_append_data (buf, val, grub_strlen (val));
+}
+
+static grub_err_t
+terminate_arg (grub_buffer_t buffer, int *argc)
+{
+ grub_size_t unread = grub_buffer_get_unread_bytes (buffer);
+
+ if (unread == 0)
+ return GRUB_ERR_NONE;
+
+ if (*(const char *) grub_buffer_peek_data_at (buffer, unread - 1) == '\0')
+ return GRUB_ERR_NONE;
+
+ if (grub_buffer_append_char (buffer, '\0') != GRUB_ERR_NONE)
+ return grub_errno;
+
+ (*argc)++;
+
+ return GRUB_ERR_NONE;
+}
+
+static grub_err_t
+process_char (char c, grub_buffer_t buffer, grub_buffer_t varname,
+ grub_parser_state_t state, int *argc,
+ grub_parser_state_t *newstate)
+{
+ char use;
+
+ *newstate = grub_parser_cmdline_state (state, c, &use);
+
+ /*
+ * If a variable was being processed and this character does
+ * not describe the variable anymore, write the variable to
+ * the buffer.
+ */
+ if (add_var (varname, buffer, state, *newstate) != GRUB_ERR_NONE)
+ return grub_errno;
+
+ if (check_varstate (*newstate))
+ {
+ if (use)
+ return grub_buffer_append_char (varname, use);
+ }
+ else if (*newstate == GRUB_PARSER_STATE_TEXT &&
+ state != GRUB_PARSER_STATE_ESC && grub_isspace (use))
+ {
+ /*
+ * Don't add more than one argument if multiple
+ * spaces are used.
+ */
+ return terminate_arg (buffer, argc);
+ }
+ else if (use)
+ return grub_buffer_append_char (buffer, use);
+
+ return GRUB_ERR_NONE;
}
grub_err_t
@@ -135,24 +193,36 @@ grub_parser_split_cmdline (const char *cmdline,
int *argc, char ***argv)
{
grub_parser_state_t state = GRUB_PARSER_STATE_TEXT;
- /* XXX: Fixed size buffer, perhaps this buffer should be dynamically
- allocated. */
- char buffer[1024];
- char *bp = buffer;
+ grub_buffer_t buffer, varname;
char *rd = (char *) cmdline;
- char varname[200];
- char *vp = varname;
- char *args;
+ char *rp = rd;
int i;
*argc = 0;
*argv = NULL;
+
+ buffer = grub_buffer_new (1024);
+ if (buffer == NULL)
+ return grub_errno;
+
+ varname = grub_buffer_new (200);
+ if (varname == NULL)
+ goto fail;
+
do
{
- if (!rd || !*rd)
+ if (rp == NULL || *rp == '\0')
{
+ if (rd != cmdline)
+ {
+ grub_free (rd);
+ rd = rp = NULL;
+ }
if (getline)
- getline (&rd, 1, getline_data);
+ {
+ getline (&rd, 1, getline_data);
+ rp = rd;
+ }
else
break;
}
@@ -160,39 +230,14 @@ grub_parser_split_cmdline (const char *cmdline,
if (!rd)
break;
- for (; *rd; rd++)
+ for (; *rp != '\0'; rp++)
{
grub_parser_state_t newstate;
- char use;
- newstate = grub_parser_cmdline_state (state, *rd, &use);
+ if (process_char (*rp, buffer, varname, state, argc,
+ &newstate) != GRUB_ERR_NONE)
+ goto fail;
- /* If a variable was being processed and this character does
- not describe the variable anymore, write the variable to
- the buffer. */
- add_var (varname, &bp, &vp, state, newstate);
-
- if (check_varstate (newstate))
- {
- if (use)
- *(vp++) = use;
- }
- else
- {
- if (newstate == GRUB_PARSER_STATE_TEXT
- && state != GRUB_PARSER_STATE_ESC && grub_isspace (use))
- {
- /* Don't add more than one argument if multiple
- spaces are used. */
- if (bp != buffer && *(bp - 1))
- {
- *(bp++) = '\0';
- (*argc)++;
- }
- }
- else if (use)
- *(bp++) = use;
- }
state = newstate;
}
}
@@ -200,43 +245,60 @@ grub_parser_split_cmdline (const char *cmdline,
/* A special case for when the last character was part of a
variable. */
- add_var (varname, &bp, &vp, state, GRUB_PARSER_STATE_TEXT);
+ if (add_var (varname, buffer, state, GRUB_PARSER_STATE_TEXT) != GRUB_ERR_NONE)
+ goto fail;
- if (bp != buffer && *(bp - 1))
- {
- *(bp++) = '\0';
- (*argc)++;
- }
+ /* Ensure that the last argument is terminated. */
+ if (terminate_arg (buffer, argc) != GRUB_ERR_NONE)
+ goto fail;
/* If there are no args, then we're done. */
if (!*argc)
- return 0;
-
- /* Reserve memory for the return values. */
- args = grub_malloc (bp - buffer);
- if (!args)
- return grub_errno;
- grub_memcpy (args, buffer, bp - buffer);
+ {
+ grub_errno = GRUB_ERR_NONE;
+ goto out;
+ }
*argv = grub_calloc (*argc + 1, sizeof (char *));
if (!*argv)
- {
- grub_free (args);
- return grub_errno;
- }
+ goto fail;
/* The arguments are separated with 0's, setup argv so it points to
the right values. */
- bp = args;
for (i = 0; i < *argc; i++)
{
- (*argv)[i] = bp;
- while (*bp)
- bp++;
- bp++;
+ char *arg;
+
+ if (i > 0)
+ {
+ if (grub_buffer_advance_read_pos (buffer, 1) != GRUB_ERR_NONE)
+ goto fail;
+ }
+
+ arg = (char *) grub_buffer_peek_data (buffer);
+ if (arg == NULL ||
+ grub_buffer_advance_read_pos (buffer, grub_strlen (arg)) != GRUB_ERR_NONE)
+ goto fail;
+
+ (*argv)[i] = arg;
}
- return 0;
+ /* Keep memory for the return values. */
+ grub_buffer_take_data (buffer);
+
+ grub_errno = GRUB_ERR_NONE;
+
+ out:
+ if (rd != cmdline)
+ grub_free (rd);
+ grub_buffer_free (buffer);
+ grub_buffer_free (varname);
+
+ return grub_errno;
+
+ fail:
+ grub_free (*argv);
+ goto out;
}
/* Helper for grub_parser_execute. */
diff --git a/include/grub/buffer.h b/include/grub/buffer.h
new file mode 100644
index 0000000..f4b10cf
--- /dev/null
+++ b/include/grub/buffer.h
@@ -0,0 +1,144 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2021 Free Software Foundation, Inc.
+ *
+ * GRUB 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.
+ *
+ * GRUB 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 GRUB. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GRUB_BUFFER_H
+#define GRUB_BUFFER_H 1
+
+#include <grub/err.h>
+#include <grub/misc.h>
+#include <grub/mm.h>
+#include <grub/safemath.h>
+#include <grub/types.h>
+
+struct grub_buffer
+{
+ grub_uint8_t *data;
+ grub_size_t sz;
+ grub_size_t pos;
+ grub_size_t used;
+};
+
+/*
+ * grub_buffer_t represents a simple variable sized byte buffer with
+ * read and write cursors. It currently only implements
+ * functionality required by the only user in GRUB (append byte[s],
+ * peeking data at a specified position and updating the read cursor.
+ * Some things that this doesn't do yet are:
+ * - Reading a portion of the buffer by copying data from the current
+ * read position in to a caller supplied destination buffer and then
+ * automatically updating the read cursor.
+ * - Dropping the read part at the start of the buffer when an append
+ * requires more space.
+ */
+typedef struct grub_buffer *grub_buffer_t;
+
+/* Allocate a new buffer with the specified initial size. */
+extern grub_buffer_t grub_buffer_new (grub_size_t sz);
+
+/* Free the buffer and its resources. */
+extern void grub_buffer_free (grub_buffer_t buf);
+
+/* Return the number of unread bytes in this buffer. */
+static inline grub_size_t
+grub_buffer_get_unread_bytes (grub_buffer_t buf)
+{
+ return buf->used - buf->pos;
+}
+
+/*
+ * Ensure that the buffer size is at least the requested
+ * number of bytes.
+ */
+extern grub_err_t grub_buffer_ensure_space (grub_buffer_t buf, grub_size_t req);
+
+/*
+ * Append the specified number of bytes from the supplied
+ * data to the buffer.
+ */
+static inline grub_err_t
+grub_buffer_append_data (grub_buffer_t buf, const void *data, grub_size_t len)
+{
+ grub_size_t req;
+
+ if (grub_add (buf->used, len, &req))
+ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
+
+ if (grub_buffer_ensure_space (buf, req) != GRUB_ERR_NONE)
+ return grub_errno;
+
+ grub_memcpy (&buf->data[buf->used], data, len);
+ buf->used = req;
+
+ return GRUB_ERR_NONE;
+}
+
+/* Append the supplied character to the buffer. */
+static inline grub_err_t
+grub_buffer_append_char (grub_buffer_t buf, char c)
+{
+ return grub_buffer_append_data (buf, &c, 1);
+}
+
+/*
+ * Forget and return the underlying data buffer. The caller
+ * becomes the owner of this buffer, and must free it when it
+ * is no longer required.
+ */
+extern void *grub_buffer_take_data (grub_buffer_t buf);
+
+/* Reset this buffer. Note that this does not deallocate any resources. */
+void grub_buffer_reset (grub_buffer_t buf);
+
+/*
+ * Return a pointer to the underlying data buffer at the specified
+ * offset from the current read position. Note that this pointer may
+ * become invalid if the buffer is mutated further.
+ */
+static inline void *
+grub_buffer_peek_data_at (grub_buffer_t buf, grub_size_t off)
+{
+ if (grub_add (buf->pos, off, &off))
+ {
+ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected."));
+ return NULL;
+ }
+
+ if (off >= buf->used)
+ {
+ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("peek out of range"));
+ return NULL;
+ }
+
+ return &buf->data[off];
+}
+
+/*
+ * Return a pointer to the underlying data buffer at the current
+ * read position. Note that this pointer may become invalid if the
+ * buffer is mutated further.
+ */
+static inline void *
+grub_buffer_peek_data (grub_buffer_t buf)
+{
+ return grub_buffer_peek_data_at (buf, 0);
+}
+
+/* Advance the read position by the specified number of bytes. */
+extern grub_err_t grub_buffer_advance_read_pos (grub_buffer_t buf, grub_size_t n);
+
+#endif /* GRUB_BUFFER_H */
--
2.25.1

View File

@@ -0,0 +1,58 @@
From 2a330dba93ff11bc00eda76e9419bc52b0c7ead6 Mon Sep 17 00:00:00 2001
From: Daniel Axtens <dja@axtens.net>
Date: Fri, 22 Jan 2021 16:07:29 +1100
Subject: lib/arg: Block repeated short options that require an argument
Fuzzing found the following crash:
search -hhhhhhhhhhhhhf
We didn't allocate enough option space for 13 hints because the
allocation code counts the number of discrete arguments (i.e. argc).
However, the shortopt parsing code will happily keep processing
a combination of short options without checking if those short
options require an argument. This means you can easily end writing
past the allocated option space.
This fixes a OOB write which can cause heap corruption.
Fixes: CVE-2021-20225
Reported-by: Daniel Axtens <dja@axtens.net>
Signed-off-by: Daniel Axtens <dja@axtens.net>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=2a330dba93ff11bc00eda76e9419bc52b0c7ead6]
CVE: CVE-2021-20225
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
grub-core/lib/arg.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/grub-core/lib/arg.c b/grub-core/lib/arg.c
index 3288609..537c5e9 100644
--- a/grub-core/lib/arg.c
+++ b/grub-core/lib/arg.c
@@ -299,6 +299,19 @@ grub_arg_parse (grub_extcmd_t cmd, int argc, char **argv,
it can have an argument value. */
if (*curshort)
{
+ /*
+ * Only permit further short opts if this one doesn't
+ * require a value.
+ */
+ if (opt->type != ARG_TYPE_NONE &&
+ !(opt->flags & GRUB_ARG_OPTION_OPTIONAL))
+ {
+ grub_error (GRUB_ERR_BAD_ARGUMENT,
+ N_("missing mandatory option for `%s'"),
+ opt->longarg);
+ goto fail;
+ }
+
if (parse_option (cmd, opt, 0, usr) || grub_errno)
goto fail;
}
--
2.25.1

View File

@@ -0,0 +1,50 @@
From 2f533a89a8dfcacbf2c9dbc77d910f111f24bf33 Mon Sep 17 00:00:00 2001
From: Daniel Axtens <dja@axtens.net>
Date: Fri, 22 Jan 2021 17:10:48 +1100
Subject: commands/menuentry: Fix quoting in setparams_prefix()
Commit 9acdcbf32542 (use single quotes in menuentry setparams command)
says that expressing a quoted single quote will require 3 characters. It
actually requires (and always did require!) 4 characters:
str: a'b => a'\''b
len: 3 => 6 (2 for the letters + 4 for the quote)
This leads to not allocating enough memory and thus out of bounds writes
that have been observed to cause heap corruption.
Allocate 4 bytes for each single quote.
Commit 22e7dbb2bb81 (Fix quoting in legacy parser.) does the same
quoting, but it adds 3 as extra overhead on top of the single byte that
the quote already needs. So it's correct.
Fixes: 9acdcbf32542 (use single quotes in menuentry setparams command)
Fixes: CVE-2021-20233
Reported-by: Daniel Axtens <dja@axtens.net>
Signed-off-by: Daniel Axtens <dja@axtens.net>
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?h=grub-2.06&id=2f533a89a8dfcacbf2c9dbc77d910f111f24bf33]
CVE: CVE-2021-20233
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
grub-core/commands/menuentry.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/commands/menuentry.c b/grub-core/commands/menuentry.c
index 9164df7..720e6d8 100644
--- a/grub-core/commands/menuentry.c
+++ b/grub-core/commands/menuentry.c
@@ -230,7 +230,7 @@ setparams_prefix (int argc, char **args)
len += 3; /* 3 = 1 space + 2 quotes */
p = args[i];
while (*p)
- len += (*p++ == '\'' ? 3 : 1);
+ len += (*p++ == '\'' ? 4 : 1);
}
result = grub_malloc (len + 2);
--
2.25.1

View File

@@ -11,7 +11,7 @@ missing sorting of the list used to generate it. Add such a sort.
Also ensure the generated unidata.c file is deterministic by sorting the
keys of the dict.
Upstream-Status: Pending
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/grub-devel/2023-06/index.html]
Richard Purdie <richard.purdie@linuxfoundation.org>
Index: grub-2.04/grub-core/genmoddep.awk

View File

@@ -106,6 +106,9 @@ SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \
file://font-Fix-size-overflow-in-grub_font_get_glyph_intern.patch \
file://CVE-2022-2601.patch \
file://CVE-2022-3775.patch \
file://CVE-2020-27749.patch \
file://CVE-2021-20225.patch \
file://CVE-2021-20233.patch \
"
SRC_URI[md5sum] = "5ce674ca6b2612d8939b9e6abed32934"
SRC_URI[sha256sum] = "f10c85ae3e204dbaec39ae22fa3c5e99f0665417e91c2cb49b7e5031658ba6ea"

View File

@@ -19,9 +19,12 @@ PACKAGECONFIG[manpages] = "--enable-doc, --disable-doc, libxslt-native xmlto-nat
RDEPENDS_${PN} = "grep bash"
EXTRA_OECONF = "--libdir=${nonarch_libdir}"
do_configure_prepend () {
( cd ${S}; autoreconf -f -i -s )
}
FILES_${PN} += "${libdir}/${BPN}/*"
FILES_${PN} += "${nonarch_libdir}/${BPN}/*"
FILES_${PN}-dbg += "${datadir}/doc/pm-utils/README.debugging"
FILES_${PN}-dev += "${nonarch_libdir}/pkgconfig/pm-utils.pc"

View File

@@ -6,6 +6,13 @@ SRC_URI[sha256sum] = "8863717113c4897e2ad3271fc808ea245319e6fd95eed2e934fae8e089
# These issues have kernel fixes rather than bluez fixes so exclude here
CVE_CHECK_WHITELIST += "CVE-2020-12352 CVE-2020-24490"
# Commit 7a80d2096f1b7125085e21448112aa02f49f5e9a, e2b0f0d8d63e1223bb714a9efb37e2257818268b
# and 0388794dc5fdb73a4ea88bcf148de0a12b4364d4 to fix CVE-2022-39177
# already backport in CVE-2022-39176.patch
# https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/1977968
CVE_CHECK_WHITELIST += "CVE-2022-39177"
# noinst programs in Makefile.tools that are conditional on READLINE
# support
NOINST_TOOLS_READLINE ?= " \

View File

@@ -0,0 +1,54 @@
From 99e2c16ea1cced34a5dc450d76287a1c3e762138 Mon Sep 17 00:00:00 2001
From: Daniel Wagner <wagi@monom.org>
Date: Tue, 11 Apr 2023 08:12:56 +0200
Subject: gdhcp: Verify and sanitize packet length first
Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/patch/?id=99e2c16ea1cced34a5dc450d76287a1c3e762138]
CVE: CVE-2023-28488
Signed-off-by: Ashish Sharma <asharma@mvista.com>
gdhcp/client.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/gdhcp/client.c b/gdhcp/client.c
index 7efa7e45..82017692 100644
--- a/gdhcp/client.c
+++ b/gdhcp/client.c
@@ -1319,9 +1319,9 @@ static bool sanity_check(struct ip_udp_dhcp_packet *packet, int bytes)
static int dhcp_recv_l2_packet(struct dhcp_packet *dhcp_pkt, int fd,
struct sockaddr_in *dst_addr)
{
- int bytes;
struct ip_udp_dhcp_packet packet;
uint16_t check;
+ int bytes, tot_len;
memset(&packet, 0, sizeof(packet));
@@ -1329,15 +1329,17 @@ static int dhcp_recv_l2_packet(struct dhcp_packet *dhcp_pkt, int fd,
if (bytes < 0)
return -1;
- if (bytes < (int) (sizeof(packet.ip) + sizeof(packet.udp)))
- return -1;
-
- if (bytes < ntohs(packet.ip.tot_len))
+ tot_len = ntohs(packet.ip.tot_len);
+ if (bytes > tot_len) {
+ /* ignore any extra garbage bytes */
+ bytes = tot_len;
+ } else if (bytes < tot_len) {
/* packet is bigger than sizeof(packet), we did partial read */
return -1;
+ }
- /* ignore any extra garbage bytes */
- bytes = ntohs(packet.ip.tot_len);
+ if (bytes < (int) (sizeof(packet.ip) + sizeof(packet.udp)))
+ return -1;
if (!sanity_check(&packet, bytes))
return -1;
--
cgit

View File

@@ -14,6 +14,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
file://CVE-2022-23098.patch \
file://CVE-2022-32292.patch \
file://CVE-2022-32293.patch \
file://CVE-2023-28488.patch \
"
SRC_URI_append_libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch"

View File

@@ -5,8 +5,8 @@ SECTION = "network"
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=87964579b2a8ece4bc6744d2dc9a8b04"
SRCREV = "22a5de3ef637990ce03141f786fbdb327e9c5a3f"
PV = "20221107"
SRCREV = "aae7c68671d225e6d35224613d5b98192b9b2ffe"
PV = "20230416"
PE = "1"
SRC_URI = "git://gitlab.gnome.org/GNOME/mobile-broadband-provider-info.git;protocol=https;branch=main"

View File

@@ -1,5 +1,6 @@
[Unit]
Conflicts=sshd.service
Wants=sshdgenkeys.service
[Socket]
ExecStartPre=@BASE_BINDIR@/mkdir -p /var/run/sshd

View File

@@ -1,13 +1,11 @@
[Unit]
Description=OpenSSH Per-Connection Daemon
Wants=sshdgenkeys.service
After=sshdgenkeys.service
[Service]
Environment="SSHD_OPTS="
EnvironmentFile=-/etc/default/ssh
ExecStart=-@SBINDIR@/sshd -i $SSHD_OPTS
ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
StandardInput=socket
StandardError=syslog
KillMode=process

View File

@@ -0,0 +1,38 @@
From 679ae2f72ef8cf37609cb0eff5de3b98aa85e395 Mon Sep 17 00:00:00 2001
From: Steve Sakoman <steve@sakoman.com>
Date: Thu, 20 Jul 2023 04:14:42 -1000
Subject: [PATCH] Configure: add 2 missing key sorts in generation of unified_info
Otherwise generation of this section in configdata.pm is not reproducible
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Upstream-Status: Backport [adapted from 3.x commit https://github.com/openssl/openssl/commit/764cf5b26306a8712e8b3d41599c44dc5ed07a25]
---
Configure | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Configure b/Configure
index 2a01746..8fc5a2c 100755
--- a/Configure
+++ b/Configure
@@ -2326,7 +2326,7 @@ EOF
"dso" => [ @{$unified_info{engines}} ],
"bin" => [ @{$unified_info{programs}} ],
"script" => [ @{$unified_info{scripts}} ] );
- foreach my $type (keys %loopinfo) {
+ foreach my $type (sort keys %loopinfo) {
foreach my $product (@{$loopinfo{$type}}) {
my %dirs = ();
my $pd = dirname($product);
@@ -2347,7 +2347,7 @@ EOF
push @{$unified_info{dirinfo}->{$d}->{deps}}, $_
if $d ne $pd;
}
- foreach (keys %dirs) {
+ foreach (sort keys %dirs) {
push @{$unified_info{dirinfo}->{$_}->{products}->{$type}},
$product;
}
--
2.34.1

View File

@@ -0,0 +1,226 @@
From 879f7080d7e141f415c79eaa3a8ac4a3dad0348b Mon Sep 17 00:00:00 2001
From: Pauli <pauli@openssl.org>
Date: Wed, 8 Mar 2023 15:28:20 +1100
Subject: [PATCH] x509: excessive resource use verifying policy constraints
A security vulnerability has been identified in all supported versions
of OpenSSL related to the verification of X.509 certificate chains
that include policy constraints. Attackers may be able to exploit this
vulnerability by creating a malicious certificate chain that triggers
exponential use of computational resources, leading to a denial-of-service
(DoS) attack on affected systems.
Fixes CVE-2023-0464
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/20569)
CVE: CVE-2023-0464
Upstream-Status: Backport [https://git.openssl.org/gitweb/?p=openssl.git;a=patch;h=879f7080d7e141f415c79eaa3a8ac4a3dad0348b]
Signed-off-by: Nikhil R <nikhil.r@kpit.com>
---
crypto/x509v3/pcy_local.h | 8 +++++++-
crypto/x509v3/pcy_node.c | 12 +++++++++---
crypto/x509v3/pcy_tree.c | 37 +++++++++++++++++++++++++++----------
3 files changed, 43 insertions(+), 14 deletions(-)
diff --git a/crypto/x509v3/pcy_local.h b/crypto/x509v3/pcy_local.h
index 5daf78de45..344aa06765 100644
--- a/crypto/x509v3/pcy_local.h
+++ b/crypto/x509v3/pcy_local.h
@@ -111,6 +111,11 @@ struct X509_POLICY_LEVEL_st {
};
struct X509_POLICY_TREE_st {
+ /* The number of nodes in the tree */
+ size_t node_count;
+ /* The maximum number of nodes in the tree */
+ size_t node_maximum;
+
/* This is the tree 'level' data */
X509_POLICY_LEVEL *levels;
int nlevel;
@@ -159,7 +164,8 @@ X509_POLICY_NODE *tree_find_sk(STACK_OF(X509_POLICY_NODE) *sk,
X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level,
X509_POLICY_DATA *data,
X509_POLICY_NODE *parent,
- X509_POLICY_TREE *tree);
+ X509_POLICY_TREE *tree,
+ int extra_data);
void policy_node_free(X509_POLICY_NODE *node);
int policy_node_match(const X509_POLICY_LEVEL *lvl,
const X509_POLICY_NODE *node, const ASN1_OBJECT *oid);
diff --git a/crypto/x509v3/pcy_node.c b/crypto/x509v3/pcy_node.c
index e2d7b15322..d574fb9d66 100644
--- a/crypto/x509v3/pcy_node.c
+++ b/crypto/x509v3/pcy_node.c
@@ -59,10 +59,15 @@ X509_POLICY_NODE *level_find_node(const X509_POLICY_LEVEL *level,
X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level,
X509_POLICY_DATA *data,
X509_POLICY_NODE *parent,
- X509_POLICY_TREE *tree)
+ X509_POLICY_TREE *tree,
+ int extra_data)
{
X509_POLICY_NODE *node;
+ /* Verify that the tree isn't too large. This mitigates CVE-2023-0464 */
+ if (tree->node_maximum > 0 && tree->node_count >= tree->node_maximum)
+ return NULL;
+
node = OPENSSL_zalloc(sizeof(*node));
if (node == NULL) {
X509V3err(X509V3_F_LEVEL_ADD_NODE, ERR_R_MALLOC_FAILURE);
@@ -70,7 +75,7 @@ X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level,
}
node->data = data;
node->parent = parent;
- if (level) {
+ if (level != NULL) {
if (OBJ_obj2nid(data->valid_policy) == NID_any_policy) {
if (level->anyPolicy)
goto node_error;
@@ -90,7 +95,7 @@ X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level,
}
}
- if (tree) {
+ if (extra_data) {
if (tree->extra_data == NULL)
tree->extra_data = sk_X509_POLICY_DATA_new_null();
if (tree->extra_data == NULL){
@@ -103,6 +108,7 @@ X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level,
}
}
+ tree->node_count++;
if (parent)
parent->nchild++;
diff --git a/crypto/x509v3/pcy_tree.c b/crypto/x509v3/pcy_tree.c
index 6e8322cbc5..6c7fd35405 100644
--- a/crypto/x509v3/pcy_tree.c
+++ b/crypto/x509v3/pcy_tree.c
@@ -13,6 +13,18 @@
#include "pcy_local.h"
+/*
+ * If the maximum number of nodes in the policy tree isn't defined, set it to
+ * a generous default of 1000 nodes.
+ *
+ * Defining this to be zero means unlimited policy tree growth which opens the
+ * door on CVE-2023-0464.
+ */
+
+#ifndef OPENSSL_POLICY_TREE_NODES_MAX
+# define OPENSSL_POLICY_TREE_NODES_MAX 1000
+#endif
+
/*
* Enable this to print out the complete policy tree at various point during
* evaluation.
@@ -168,6 +180,9 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
return X509_PCY_TREE_INTERNAL;
}
+ /* Limit the growth of the tree to mitigate CVE-2023-0464 */
+ tree->node_maximum = OPENSSL_POLICY_TREE_NODES_MAX;
+
/*
* http://tools.ietf.org/html/rfc5280#section-6.1.2, figure 3.
*
@@ -184,7 +199,7 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
level = tree->levels;
if ((data = policy_data_new(NULL, OBJ_nid2obj(NID_any_policy), 0)) == NULL)
goto bad_tree;
- if (level_add_node(level, data, NULL, tree) == NULL) {
+ if (level_add_node(level, data, NULL, tree, 1) == NULL) {
policy_data_free(data);
goto bad_tree;
}
@@ -243,7 +258,8 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
* Return value: 1 on success, 0 otherwise
*/
static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,
- X509_POLICY_DATA *data)
+ X509_POLICY_DATA *data,
+ X509_POLICY_TREE *tree)
{
X509_POLICY_LEVEL *last = curr - 1;
int i, matched = 0;
@@ -253,13 +269,13 @@ static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,
X509_POLICY_NODE *node = sk_X509_POLICY_NODE_value(last->nodes, i);
if (policy_node_match(last, node, data->valid_policy)) {
- if (level_add_node(curr, data, node, NULL) == NULL)
+ if (level_add_node(curr, data, node, tree, 0) == NULL)
return 0;
matched = 1;
}
}
if (!matched && last->anyPolicy) {
- if (level_add_node(curr, data, last->anyPolicy, NULL) == NULL)
+ if (level_add_node(curr, data, last->anyPolicy, tree, 0) == NULL)
return 0;
}
return 1;
@@ -272,7 +288,8 @@ static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,
* Return value: 1 on success, 0 otherwise.
*/
static int tree_link_nodes(X509_POLICY_LEVEL *curr,
- const X509_POLICY_CACHE *cache)
+ const X509_POLICY_CACHE *cache,
+ X509_POLICY_TREE *tree)
{
int i;
@@ -280,7 +297,7 @@ static int tree_link_nodes(X509_POLICY_LEVEL *curr,
X509_POLICY_DATA *data = sk_X509_POLICY_DATA_value(cache->data, i);
/* Look for matching nodes in previous level */
- if (!tree_link_matching_nodes(curr, data))
+ if (!tree_link_matching_nodes(curr, data, tree))
return 0;
}
return 1;
@@ -311,7 +328,7 @@ static int tree_add_unmatched(X509_POLICY_LEVEL *curr,
/* Curr may not have anyPolicy */
data->qualifier_set = cache->anyPolicy->qualifier_set;
data->flags |= POLICY_DATA_FLAG_SHARED_QUALIFIERS;
- if (level_add_node(curr, data, node, tree) == NULL) {
+ if (level_add_node(curr, data, node, tree, 1) == NULL) {
policy_data_free(data);
return 0;
}
@@ -373,7 +390,7 @@ static int tree_link_any(X509_POLICY_LEVEL *curr,
}
/* Finally add link to anyPolicy */
if (last->anyPolicy &&
- level_add_node(curr, cache->anyPolicy, last->anyPolicy, NULL) == NULL)
+ level_add_node(curr, cache->anyPolicy, last->anyPolicy, tree, 0) == NULL)
return 0;
return 1;
}
@@ -555,7 +572,7 @@ static int tree_calculate_user_set(X509_POLICY_TREE *tree,
extra->qualifier_set = anyPolicy->data->qualifier_set;
extra->flags = POLICY_DATA_FLAG_SHARED_QUALIFIERS
| POLICY_DATA_FLAG_EXTRA_NODE;
- node = level_add_node(NULL, extra, anyPolicy->parent, tree);
+ node = level_add_node(NULL, extra, anyPolicy->parent, tree, 1);
}
if (!tree->user_policies) {
tree->user_policies = sk_X509_POLICY_NODE_new_null();
@@ -582,7 +599,7 @@ static int tree_evaluate(X509_POLICY_TREE *tree)
for (i = 1; i < tree->nlevel; i++, curr++) {
cache = policy_cache_set(curr->cert);
- if (!tree_link_nodes(curr, cache))
+ if (!tree_link_nodes(curr, cache, tree))
return X509_PCY_TREE_INTERNAL;
if (!(curr->flags & X509_V_FLAG_INHIBIT_ANY)
--
2.34.1

View File

@@ -0,0 +1,60 @@
From b013765abfa80036dc779dd0e50602c57bb3bf95 Mon Sep 17 00:00:00 2001
From: Matt Caswell <matt@openssl.org>
Date: Tue, 7 Mar 2023 16:52:55 +0000
Subject: [PATCH] Ensure that EXFLAG_INVALID_POLICY is checked even in leaf
certs
Even though we check the leaf cert to confirm it is valid, we
later ignored the invalid flag and did not notice that the leaf
cert was bad.
Fixes: CVE-2023-0465
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20588)
CVE: CVE-2023-0465
Upstream-Status: Backport [https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=b013765abfa80036dc779dd0e50602c57bb3bf95]
Comment: Refreshed first hunk
Signed-off-by: Omkar Patil <omkar.patil@kpit.com>
---
crypto/x509/x509_vfy.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c
index 925fbb5412..1dfe4f9f31 100644
--- a/crypto/x509/x509_vfy.c
+++ b/crypto/x509/x509_vfy.c
@@ -1649,18 +1649,25 @@
}
/* Invalid or inconsistent extensions */
if (ret == X509_PCY_TREE_INVALID) {
- int i;
+ int i, cbcalled = 0;
/* Locate certificates with bad extensions and notify callback. */
- for (i = 1; i < sk_X509_num(ctx->chain); i++) {
+ for (i = 0; i < sk_X509_num(ctx->chain); i++) {
X509 *x = sk_X509_value(ctx->chain, i);
if (!(x->ex_flags & EXFLAG_INVALID_POLICY))
continue;
+ cbcalled = 1;
if (!verify_cb_cert(ctx, x, i,
X509_V_ERR_INVALID_POLICY_EXTENSION))
return 0;
}
+ if (!cbcalled) {
+ /* Should not be able to get here */
+ X509err(X509_F_CHECK_POLICY, ERR_R_INTERNAL_ERROR);
+ return 0;
+ }
+ /* The callback ignored the error so we return success */
return 1;
}
if (ret == X509_PCY_TREE_FAILURE) {
--
2.34.1

View File

@@ -0,0 +1,82 @@
From 0d16b7e99aafc0b4a6d729eec65a411a7e025f0a Mon Sep 17 00:00:00 2001
From: Tomas Mraz <tomas@openssl.org>
Date: Tue, 21 Mar 2023 16:15:47 +0100
Subject: [PATCH] Fix documentation of X509_VERIFY_PARAM_add0_policy()
The function was incorrectly documented as enabling policy checking.
Fixes: CVE-2023-0466
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20564)
CVE: CVE-2023-0466
Upstream-Status: Backport [https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=0d16b7e99aafc0b4a6d729eec65a411a7e025f0a]
Comment: Refreshed first hunk from CHANGE and NEWS
Signed-off-by: Omkar Patil <omkar.patil@kpit.com>
---
CHANGES | 5 +++++
NEWS | 1 +
doc/man3/X509_VERIFY_PARAM_set_flags.pod | 9 +++++++--
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/CHANGES b/CHANGES
index efccf7838e..b19f1429bb 100644
--- a/CHANGES
+++ b/CHANGES
@@ -9,6 +9,11 @@
Changes between 1.1.1s and 1.1.1t [7 Feb 2023]
+ *) Corrected documentation of X509_VERIFY_PARAM_add0_policy() to mention
+ that it does not enable policy checking. Thanks to
+ David Benjamin for discovering this issue. (CVE-2023-0466)
+ [Tomas Mraz]
+
*) Fixed X.400 address type confusion in X.509 GeneralName.
There is a type confusion vulnerability relating to X.400 address processing
diff --git a/NEWS b/NEWS
index 36a9bb6890..62615693fa 100644
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,7 @@
Major changes between OpenSSL 1.1.1s and OpenSSL 1.1.1t [7 Feb 2023]
+ o Fixed documentation of X509_VERIFY_PARAM_add0_policy() (CVE-2023-0466)
o Fixed X.400 address type confusion in X.509 GeneralName (CVE-2023-0286)
o Fixed Use-after-free following BIO_new_NDEF (CVE-2023-0215)
o Fixed Double free after calling PEM_read_bio_ex (CVE-2022-4450)
diff --git a/doc/man3/X509_VERIFY_PARAM_set_flags.pod b/doc/man3/X509_VERIFY_PARAM_set_flags.pod
index f6f304bf7b..aa292f9336 100644
--- a/doc/man3/X509_VERIFY_PARAM_set_flags.pod
+++ b/doc/man3/X509_VERIFY_PARAM_set_flags.pod
@@ -92,8 +92,9 @@ B<trust>.
X509_VERIFY_PARAM_set_time() sets the verification time in B<param> to
B<t>. Normally the current time is used.
-X509_VERIFY_PARAM_add0_policy() enables policy checking (it is disabled
-by default) and adds B<policy> to the acceptable policy set.
+X509_VERIFY_PARAM_add0_policy() adds B<policy> to the acceptable policy set.
+Contrary to preexisting documentation of this function it does not enable
+policy checking.
X509_VERIFY_PARAM_set1_policies() enables policy checking (it is disabled
by default) and sets the acceptable policy set to B<policies>. Any existing
@@ -377,6 +378,10 @@ and has no effect.
The X509_VERIFY_PARAM_get_hostflags() function was added in OpenSSL 1.1.0i.
+The function X509_VERIFY_PARAM_add0_policy() was historically documented as
+enabling policy checking however the implementation has never done this.
+The documentation was changed to align with the implementation.
+
=head1 COPYRIGHT
Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved.
--
2.34.1

View File

@@ -0,0 +1,122 @@
From 9e209944b35cf82368071f160a744b6178f9b098 Mon Sep 17 00:00:00 2001
From: Richard Levitte <levitte@openssl.org>
Date: Fri, 12 May 2023 10:00:13 +0200
Subject: [PATCH] Restrict the size of OBJECT IDENTIFIERs that OBJ_obj2txt will
translate
OBJ_obj2txt() would translate any size OBJECT IDENTIFIER to canonical
numeric text form. For gigantic sub-identifiers, this would take a very
long time, the time complexity being O(n^2) where n is the size of that
sub-identifier.
To mitigate this, a restriction on the size that OBJ_obj2txt() will
translate to canonical numeric text form is added, based on RFC 2578
(STD 58), which says this:
> 3.5. OBJECT IDENTIFIER values
>
> An OBJECT IDENTIFIER value is an ordered list of non-negative numbers.
> For the SMIv2, each number in the list is referred to as a sub-identifier,
> there are at most 128 sub-identifiers in a value, and each sub-identifier
> has a maximum value of 2^32-1 (4294967295 decimal).
Fixes otc/security#96
Fixes CVE-2023-2650
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Upstream-Status: Backport [https://github.com/openssl/openssl/commit/9e209944b35cf82368071f160a744b6178f9b098]
CVE: CVE-2023-2650
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
CHANGES | 28 +++++++++++++++++++++++++++-
NEWS | 2 ++
crypto/objects/obj_dat.c | 19 +++++++++++++++++++
3 files changed, 48 insertions(+), 1 deletion(-)
diff --git a/CHANGES b/CHANGES
index 1eaaf4e..f2cf38f 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,7 +7,33 @@
https://github.com/openssl/openssl/commits/ and pick the appropriate
release branch.
- Changes between 1.1.1s and 1.1.1t [7 Feb 2023]
+ Changes between 1.1.1t and 1.1.1u [xx XXX xxxx]
+
+ *) Mitigate for the time it takes for `OBJ_obj2txt` to translate gigantic
+ OBJECT IDENTIFIER sub-identifiers to canonical numeric text form.
+
+ OBJ_obj2txt() would translate any size OBJECT IDENTIFIER to canonical
+ numeric text form. For gigantic sub-identifiers, this would take a very
+ long time, the time complexity being O(n^2) where n is the size of that
+ sub-identifier. (CVE-2023-2650)
+
+ To mitigitate this, `OBJ_obj2txt()` will only translate an OBJECT
+ IDENTIFIER to canonical numeric text form if the size of that OBJECT
+ IDENTIFIER is 586 bytes or less, and fail otherwise.
+
+ The basis for this restriction is RFC 2578 (STD 58), section 3.5. OBJECT
+ IDENTIFIER values, which stipulates that OBJECT IDENTIFIERS may have at
+ most 128 sub-identifiers, and that the maximum value that each sub-
+ identifier may have is 2^32-1 (4294967295 decimal).
+
+ For each byte of every sub-identifier, only the 7 lower bits are part of
+ the value, so the maximum amount of bytes that an OBJECT IDENTIFIER with
+ these restrictions may occupy is 32 * 128 / 7, which is approximately 586
+ bytes.
+
+ Ref: https://datatracker.ietf.org/doc/html/rfc2578#section-3.5
+
+Changes between 1.1.1s and 1.1.1t [7 Feb 2023]
*) Corrected documentation of X509_VERIFY_PARAM_add0_policy() to mention
that it does not enable policy checking. Thanks to
diff --git a/NEWS b/NEWS
index a86220a..41922c4 100644
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,8 @@
Major changes between OpenSSL 1.1.1s and OpenSSL 1.1.1t [7 Feb 2023]
+ o Mitigate for very slow `OBJ_obj2txt()` performance with gigantic
+ OBJECT IDENTIFIER sub-identities. (CVE-2023-2650)
o Fixed documentation of X509_VERIFY_PARAM_add0_policy() (CVE-2023-0466)
o Fixed X.400 address type confusion in X.509 GeneralName (CVE-2023-0286)
o Fixed Use-after-free following BIO_new_NDEF (CVE-2023-0215)
diff --git a/crypto/objects/obj_dat.c b/crypto/objects/obj_dat.c
index 7e8de72..d699915 100644
--- a/crypto/objects/obj_dat.c
+++ b/crypto/objects/obj_dat.c
@@ -428,6 +428,25 @@ int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name)
first = 1;
bl = NULL;
+ /*
+ * RFC 2578 (STD 58) says this about OBJECT IDENTIFIERs:
+ *
+ * > 3.5. OBJECT IDENTIFIER values
+ * >
+ * > An OBJECT IDENTIFIER value is an ordered list of non-negative
+ * > numbers. For the SMIv2, each number in the list is referred to as a
+ * > sub-identifier, there are at most 128 sub-identifiers in a value,
+ * > and each sub-identifier has a maximum value of 2^32-1 (4294967295
+ * > decimal).
+ *
+ * So a legitimate OID according to this RFC is at most (32 * 128 / 7),
+ * i.e. 586 bytes long.
+ *
+ * Ref: https://datatracker.ietf.org/doc/html/rfc2578#section-3.5
+ */
+ if (len > 586)
+ goto err;
+
while (len > 0) {
l = 0;
use_bn = 0;
--
2.25.1

View File

@@ -18,13 +18,18 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
file://afalg.patch \
file://reproducible.patch \
file://reproducibility.patch \
file://0001-Configure-add-2-missing-key-sorts.patch \
file://CVE-2023-0464.patch \
file://CVE-2023-0465.patch \
file://CVE-2023-0466.patch \
file://CVE-2023-2650.patch \
"
SRC_URI_append_class-nativesdk = " \
file://environment.d-openssl.sh \
"
SRC_URI[sha256sum] = "c5ac01e760ee6ff0dab61d6b2bbd30146724d063eb322180c6f18a6f74e4b6aa"
SRC_URI[sha256sum] = "8dee9b24bdb1dcbf0c3d1e9b02fb8f6bf22165e807f45adeb7c9677536859d3b"
inherit lib_package multilib_header multilib_script ptest
MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"

View File

@@ -1,4 +1,4 @@
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback

View File

@@ -139,6 +139,10 @@ do_configure () {
do_prepare_config
merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
cml1_do_configure
# Save a copy of .config and autoconf.h.
cp .config .config.orig
cp include/autoconf.h include/autoconf.h.orig
}
do_compile() {
@@ -146,13 +150,17 @@ do_compile() {
if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
export KCONFIG_NOTIMESTAMP=1
fi
# Ensure we start do_compile with the original .config and autoconf.h.
# These files should always have matching timestamps.
cp .config.orig .config
cp include/autoconf.h.orig include/autoconf.h
if [ "${BUSYBOX_SPLIT_SUID}" = "1" -a x`grep "CONFIG_FEATURE_INDIVIDUAL=y" .config` = x ]; then
# Guard againt interrupted do_compile: clean temporary files.
rm -f .config.app.suid .config.app.nosuid .config.disable.apps .config.nonapps
# split the .config into two parts, and make two busybox binaries
if [ -e .config.orig ]; then
# Need to guard again an interrupted do_compile - restore any backup
cp .config.orig .config
fi
cp .config .config.orig
oe_runmake busybox.cfg.suid
oe_runmake busybox.cfg.nosuid
@@ -189,15 +197,18 @@ do_compile() {
bbfatal "busybox suid binary incorrectly provides /bin/sh"
fi
# copy .config.orig back to .config, because the install process may check this file
cp .config.orig .config
# cleanup
rm .config.orig .config.app.suid .config.app.nosuid .config.disable.apps .config.nonapps
rm .config.app.suid .config.app.nosuid .config.disable.apps .config.nonapps
else
oe_runmake busybox_unstripped
cp busybox_unstripped busybox
oe_runmake busybox.links
fi
# restore original .config and autoconf.h, because the install process
# may check these files
cp .config.orig .config
cp include/autoconf.h.orig include/autoconf.h
}
do_install () {

View File

@@ -1,6 +1,6 @@
SRCBRANCH ?= "release/2.31/master"
PV = "2.31+git${SRCPV}"
SRCREV_glibc ?= "d4b75594574ab8a9c2c41209cd8c62aac76b5a04"
SRCREV_glibc ?= "2d4f26e5cfda682f9ce61444b81533b83f6381af"
SRCREV_localedef ?= "cd9f958c4c94a638fa7b2b4e21627364f1a1a655"
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"

View File

@@ -1,7 +1,9 @@
require glibc-common.inc
require glibc-ld.inc
DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers"
DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}binutils${BUSUFFIX} libgcc-initial linux-libc-headers"
BUSUFFIX= ""
BUSUFFIX:class-nativesdk = "-crosssdk"
PROVIDES = "virtual/libc"
PROVIDES += "virtual/libintl virtual/libiconv"

View File

@@ -0,0 +1,82 @@
From 952aff5c00ad7c6b83c3f310f2643939538827f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=9B=D0=B5=D0=BE=D0=BD=D0=B8=D0=B4=20=D0=AE=D1=80=D1=8C?=
=?UTF-8?q?=D0=B5=D0=B2=20=28Leonid=20Yuriev=29?= <leo@yuriev.ru>
Date: Sat, 4 Feb 2023 14:41:38 +0300
Subject: [PATCH] gmon: Fix allocated buffer overflow (bug 29444)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The `__monstartup()` allocates a buffer used to store all the data
accumulated by the monitor.
The size of this buffer depends on the size of the internal structures
used and the address range for which the monitor is activated, as well
as on the maximum density of call instructions and/or callable functions
that could be potentially on a segment of executable code.
In particular a hash table of arcs is placed at the end of this buffer.
The size of this hash table is calculated in bytes as
p->fromssize = p->textsize / HASHFRACTION;
but actually should be
p->fromssize = ROUNDUP(p->textsize / HASHFRACTION, sizeof(*p->froms));
This results in writing beyond the end of the allocated buffer when an
added arc corresponds to a call near from the end of the monitored
address range, since `_mcount()` check the incoming caller address for
monitored range but not the intermediate result hash-like index that
uses to write into the table.
It should be noted that when the results are output to `gmon.out`, the
table is read to the last element calculated from the allocated size in
bytes, so the arcs stored outside the buffer boundary did not fall into
`gprof` for analysis. Thus this "feature" help me to found this bug
during working with https://sourceware.org/bugzilla/show_bug.cgi?id=29438
Just in case, I will explicitly note that the problem breaks the
`make test t=gmon/tst-gmon-dso` added for Bug 29438.
There, the arc of the `f3()` call disappears from the output, since in
the DSO case, the call to `f3` is located close to the end of the
monitored range.
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
Another minor error seems a related typo in the calculation of
`kcountsize`, but since kcounts are smaller than froms, this is
actually to align the p->froms data.
Co-authored-by: DJ Delorie <dj@redhat.com>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=801af9fafd4689337ebf27260aa115335a0cb2bc]
CVE: CVE-2023-0687
Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
---
gmon/gmon.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gmon/gmon.c b/gmon/gmon.c
index dee6480..bf76358 100644
--- a/gmon/gmon.c
+++ b/gmon/gmon.c
@@ -132,6 +132,8 @@ __monstartup (u_long lowpc, u_long highpc)
p->lowpc = ROUNDDOWN(lowpc, HISTFRACTION * sizeof(HISTCOUNTER));
p->highpc = ROUNDUP(highpc, HISTFRACTION * sizeof(HISTCOUNTER));
p->textsize = p->highpc - p->lowpc;
+ /* This looks like a typo, but it's here to align the p->froms
+ section. */
p->kcountsize = ROUNDUP(p->textsize / HISTFRACTION, sizeof(*p->froms));
p->hashfraction = HASHFRACTION;
p->log_hashfraction = -1;
@@ -142,7 +144,7 @@ __monstartup (u_long lowpc, u_long highpc)
instead of integer division. Precompute shift amount. */
p->log_hashfraction = ffs(p->hashfraction * sizeof(*p->froms)) - 1;
}
- p->fromssize = p->textsize / HASHFRACTION;
+ p->fromssize = ROUNDUP(p->textsize / HASHFRACTION, sizeof(*p->froms));
p->tolimit = p->textsize * ARCDENSITY / 100;
if (p->tolimit < MINARCS)
p->tolimit = MINARCS;
--
2.7.4

View File

@@ -79,6 +79,7 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
file://0035-x86_64-Avoid-lazy-relocation-of-tlsdesc-BZ-27137.patch \
file://0036-i386-Avoid-lazy-relocation-of-tlsdesc-BZ-27137.patch \
file://0037-Avoid-deadlock-between-pthread_create-and-ctors.patch \
file://CVE-2023-0687.patch \
"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build-${TARGET_SYS}"

View File

@@ -24,7 +24,7 @@ IMAGE_FSTYPES = "wic.vmdk"
inherit core-image setuptools3
SRCREV ?= "f5e8301b203715404d18215d7d914499555b3425"
SRCREV ?= "88bec50206d02fef3cdc3eaabb638963144eb63b"
SRC_URI = "git://git.yoctoproject.org/poky;branch=dunfell \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \

View File

@@ -0,0 +1,79 @@
From e4f85f1bd2eb34d9b49da9154a4cc3a1bc284f68 Mon Sep 17 00:00:00 2001
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Fri, 7 Apr 2023 11:46:35 +0200
Subject: [PATCH] [CVE-2023-28484] Fix null deref in xmlSchemaFixupComplexType
Fix a null pointer dereference when parsing (invalid) XML schemas.
Thanks to Robby Simpson for the report!
Fixes #491.
CVE: CVE-2023-28484
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/-/commit/e4f85f1bd2eb34d9b49da9154a4cc3a1bc284f68]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
result/schemas/issue491_0_0.err | 1 +
test/schemas/issue491_0.xml | 1 +
test/schemas/issue491_0.xsd | 18 ++++++++++++++++++
xmlschemas.c | 2 +-
4 files changed, 21 insertions(+), 1 deletion(-)
create mode 100644 result/schemas/issue491_0_0.err
create mode 100644 test/schemas/issue491_0.xml
create mode 100644 test/schemas/issue491_0.xsd
diff --git a/result/schemas/issue491_0_0.err b/result/schemas/issue491_0_0.err
new file mode 100644
index 00000000..9b2bb969
--- /dev/null
+++ b/result/schemas/issue491_0_0.err
@@ -0,0 +1 @@
+./test/schemas/issue491_0.xsd:8: element complexType: Schemas parser error : complex type 'ChildType': The content type of both, the type and its base type, must either 'mixed' or 'element-only'.
diff --git a/test/schemas/issue491_0.xml b/test/schemas/issue491_0.xml
new file mode 100644
index 00000000..e2b2fc2e
--- /dev/null
+++ b/test/schemas/issue491_0.xml
@@ -0,0 +1 @@
+<Child xmlns="http://www.test.com">5</Child>
diff --git a/test/schemas/issue491_0.xsd b/test/schemas/issue491_0.xsd
new file mode 100644
index 00000000..81702649
--- /dev/null
+++ b/test/schemas/issue491_0.xsd
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.test.com" targetNamespace="http://www.test.com" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:complexType name="BaseType">
+ <xs:simpleContent>
+ <xs:extension base="xs:int" />
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="ChildType">
+ <xs:complexContent>
+ <xs:extension base="BaseType">
+ <xs:sequence>
+ <xs:element name="bad" type="xs:int" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="Child" type="ChildType" />
+</xs:schema>
diff --git a/xmlschemas.c b/xmlschemas.c
index 6a353858..a4eaf591 100644
--- a/xmlschemas.c
+++ b/xmlschemas.c
@@ -18632,7 +18632,7 @@ xmlSchemaFixupComplexType(xmlSchemaParserCtxtPtr pctxt,
"allowed to appear inside other model groups",
NULL, NULL);
- } else if (! dummySequence) {
+ } else if ((!dummySequence) && (baseType->subtypes != NULL)) {
xmlSchemaTreeItemPtr effectiveContent =
(xmlSchemaTreeItemPtr) type->subtypes;
/*
--
GitLab

View File

@@ -0,0 +1,42 @@
From 547edbf1cbdccd46b2e8ff322a456eaa5931c5df Mon Sep 17 00:00:00 2001
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Fri, 7 Apr 2023 11:49:27 +0200
Subject: [PATCH] [CVE-2023-29469] Hashing of empty dict strings isn't
deterministic
When hashing empty strings which aren't null-terminated,
xmlDictComputeFastKey could produce inconsistent results. This could
lead to various logic or memory errors, including double frees.
For consistency the seed is also taken into account, but this shouldn't
have an impact on security.
Found by OSS-Fuzz.
Fixes #510.
CVE: CVE-2023-29469
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/-/commit/547edbf1cbdccd46b2e8ff322a456eaa5931c5df]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
dict.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dict.c b/dict.c
index 86c3f6d7..d7fd1a06 100644
--- a/dict.c
+++ b/dict.c
@@ -451,7 +451,8 @@ static unsigned long
xmlDictComputeFastKey(const xmlChar *name, int namelen, int seed) {
unsigned long value = seed;
- if (name == NULL) return(0);
+ if ((name == NULL) || (namelen <= 0))
+ return(value);
value = *name;
value <<= 5;
if (namelen > 10) {
--
GitLab

View File

@@ -36,6 +36,8 @@ SRC_URI += "http://www.w3.org/XML/Test/xmlts20080827.tar.gz;subdir=${BP};name=te
file://CVE-2016-3709.patch \
file://CVE-2022-40303.patch \
file://CVE-2022-40304.patch \
file://CVE-2023-28484.patch \
file://CVE-2023-29469.patch \
"
SRC_URI[archive.sha256sum] = "593b7b751dd18c2d6abcd0c4bcb29efc203d0b4373a6df98e3a455ea74ae2813"

View File

@@ -66,7 +66,7 @@ create_sdk_files_append () {
# Generate new (mini) sdk-environment-setup file
script=${1:-${SDK_OUTPUT}/${SDKPATH}/environment-setup-${SDK_SYS}}
touch $script
echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${sbindir_nativesdk}:${SDKPATHNATIVE}${base_bindir_nativesdk}:${SDKPATHNATIVE}${base_sbindir_nativesdk}:$PATH' >> $script
echo 'export PATH="${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${sbindir_nativesdk}:${SDKPATHNATIVE}${base_bindir_nativesdk}:${SDKPATHNATIVE}${base_sbindir_nativesdk}:$PATH"' >> $script
echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script
echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script
echo 'export SSL_CERT_FILE="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script

View File

@@ -0,0 +1,342 @@
SUMMARY = "Updates the NVD CVE database"
LICENSE = "MIT"
# Important note:
# This product uses the NVD API but is not endorsed or certified by the NVD.
INHIBIT_DEFAULT_DEPS = "1"
inherit native
deltask do_unpack
deltask do_patch
deltask do_configure
deltask do_compile
deltask do_install
deltask do_populate_sysroot
NVDCVE_URL ?= "https://services.nvd.nist.gov/rest/json/cves/2.0"
# If you have a NVD API key (https://nvd.nist.gov/developers/request-an-api-key)
# then setting this to get higher rate limits.
NVDCVE_API_KEY ?= ""
# CVE database update interval, in seconds. By default: once a day (24*60*60).
# Use 0 to force the update
# Use a negative value to skip the update
CVE_DB_UPDATE_INTERVAL ?= "86400"
# Timeout for blocking socket operations, such as the connection attempt.
CVE_SOCKET_TIMEOUT ?= "60"
CVE_DB_TEMP_FILE ?= "${CVE_CHECK_DB_DIR}/temp_nvdcve_2.db"
CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvdcve_2.db"
python () {
if not bb.data.inherits_class("cve-check", d):
raise bb.parse.SkipRecipe("Skip recipe when cve-check class is not loaded.")
}
python do_fetch() {
"""
Update NVD database with API 2.0
"""
import bb.utils
import bb.progress
import shutil
bb.utils.export_proxies(d)
db_file = d.getVar("CVE_CHECK_DB_FILE")
db_dir = os.path.dirname(db_file)
db_tmp_file = d.getVar("CVE_DB_TEMP_FILE")
cleanup_db_download(db_file, db_tmp_file)
# By default let's update the whole database (since time 0)
database_time = 0
# The NVD database changes once a day, so no need to update more frequently
# Allow the user to force-update
try:
import time
update_interval = int(d.getVar("CVE_DB_UPDATE_INTERVAL"))
if update_interval < 0:
bb.note("CVE database update skipped")
return
if time.time() - os.path.getmtime(db_file) < update_interval:
bb.note("CVE database recently updated, skipping")
return
database_time = os.path.getmtime(db_file)
except OSError:
pass
bb.utils.mkdirhier(db_dir)
if os.path.exists(db_file):
shutil.copy2(db_file, db_tmp_file)
if update_db_file(db_tmp_file, d, database_time) == True:
# Update downloaded correctly, can swap files
shutil.move(db_tmp_file, db_file)
else:
# Update failed, do not modify the database
bb.warn("CVE database update failed")
os.remove(db_tmp_file)
}
do_fetch[lockfiles] += "${CVE_CHECK_DB_FILE_LOCK}"
do_fetch[file-checksums] = ""
do_fetch[vardeps] = ""
def cleanup_db_download(db_file, db_tmp_file):
"""
Cleanup the download space from possible failed downloads
"""
# Clean up the updates done on the main file
# Remove it only if a journal file exists - it means a complete re-download
if os.path.exists("{0}-journal".format(db_file)):
# If a journal is present the last update might have been interrupted. In that case,
# just wipe any leftovers and force the DB to be recreated.
os.remove("{0}-journal".format(db_file))
if os.path.exists(db_file):
os.remove(db_file)
# Clean-up the temporary file downloads, we can remove both journal
# and the temporary database
if os.path.exists("{0}-journal".format(db_tmp_file)):
# If a journal is present the last update might have been interrupted. In that case,
# just wipe any leftovers and force the DB to be recreated.
os.remove("{0}-journal".format(db_tmp_file))
if os.path.exists(db_tmp_file):
os.remove(db_tmp_file)
def nvd_request_next(url, api_key, args):
"""
Request next part of the NVD dabase
"""
import urllib.request
import urllib.parse
import gzip
import http
import time
request = urllib.request.Request(url + "?" + urllib.parse.urlencode(args))
if api_key:
request.add_header("apiKey", api_key)
bb.note("Requesting %s" % request.full_url)
for attempt in range(5):
try:
r = urllib.request.urlopen(request)
if (r.headers['content-encoding'] == 'gzip'):
buf = r.read()
raw_data = gzip.decompress(buf)
else:
raw_data = r.read().decode("utf-8")
r.close()
except Exception as e:
bb.note("CVE database: received error (%s), retrying" % (e))
time.sleep(6)
pass
else:
return raw_data
else:
# We failed at all attempts
return None
def update_db_file(db_tmp_file, d, database_time):
"""
Update the given database file
"""
import bb.utils, bb.progress
import datetime
import sqlite3
import json
# Connect to database
conn = sqlite3.connect(db_tmp_file)
initialize_db(conn)
req_args = {'startIndex' : 0}
# The maximum range for time is 120 days
# Force a complete update if our range is longer
if (database_time != 0):
database_date = datetime.datetime.fromtimestamp(database_time, tz=datetime.timezone.utc)
today_date = datetime.datetime.now(tz=datetime.timezone.utc)
delta = today_date - database_date
if delta.days < 120:
bb.note("CVE database: performing partial update")
req_args['lastModStartDate'] = database_date.isoformat()
req_args['lastModEndDate'] = today_date.isoformat()
else:
bb.note("CVE database: file too old, forcing a full update")
with bb.progress.ProgressHandler(d) as ph, open(os.path.join(d.getVar("TMPDIR"), 'cve_check'), 'a') as cve_f:
bb.note("Updating entries")
index = 0
url = d.getVar("NVDCVE_URL")
api_key = d.getVar("NVDCVE_API_KEY") or None
while True:
req_args['startIndex'] = index
raw_data = nvd_request_next(url, api_key, req_args)
if raw_data is None:
# We haven't managed to download data
return False
data = json.loads(raw_data)
index = data["startIndex"]
total = data["totalResults"]
per_page = data["resultsPerPage"]
bb.note("Got %d entries" % per_page)
for cve in data["vulnerabilities"]:
update_db(conn, cve)
index += per_page
ph.update((float(index) / (total+1)) * 100)
if index >= total:
break
# Recommended by NVD
time.sleep(6)
# Update success, set the date to cve_check file.
cve_f.write('CVE database update : %s\n\n' % datetime.date.today())
conn.commit()
conn.close()
return True
def initialize_db(conn):
with conn:
c = conn.cursor()
c.execute("CREATE TABLE IF NOT EXISTS META (YEAR INTEGER UNIQUE, DATE TEXT)")
c.execute("CREATE TABLE IF NOT EXISTS NVD (ID TEXT UNIQUE, SUMMARY TEXT, \
SCOREV2 TEXT, SCOREV3 TEXT, MODIFIED INTEGER, VECTOR TEXT)")
c.execute("CREATE TABLE IF NOT EXISTS PRODUCTS (ID TEXT, \
VENDOR TEXT, PRODUCT TEXT, VERSION_START TEXT, OPERATOR_START TEXT, \
VERSION_END TEXT, OPERATOR_END TEXT)")
c.execute("CREATE INDEX IF NOT EXISTS PRODUCT_ID_IDX on PRODUCTS(ID);")
c.close()
def parse_node_and_insert(conn, node, cveId):
def cpe_generator():
for cpe in node.get('cpeMatch', ()):
if not cpe['vulnerable']:
return
cpe23 = cpe.get('criteria')
if not cpe23:
return
cpe23 = cpe23.split(':')
if len(cpe23) < 6:
return
vendor = cpe23[3]
product = cpe23[4]
version = cpe23[5]
if cpe23[6] == '*' or cpe23[6] == '-':
version_suffix = ""
else:
version_suffix = "_" + cpe23[6]
if version != '*' and version != '-':
# Version is defined, this is a '=' match
yield [cveId, vendor, product, version + version_suffix, '=', '', '']
elif version == '-':
# no version information is available
yield [cveId, vendor, product, version, '', '', '']
else:
# Parse start version, end version and operators
op_start = ''
op_end = ''
v_start = ''
v_end = ''
if 'versionStartIncluding' in cpe:
op_start = '>='
v_start = cpe['versionStartIncluding']
if 'versionStartExcluding' in cpe:
op_start = '>'
v_start = cpe['versionStartExcluding']
if 'versionEndIncluding' in cpe:
op_end = '<='
v_end = cpe['versionEndIncluding']
if 'versionEndExcluding' in cpe:
op_end = '<'
v_end = cpe['versionEndExcluding']
if op_start or op_end or v_start or v_end:
yield [cveId, vendor, product, v_start, op_start, v_end, op_end]
else:
# This is no version information, expressed differently.
# Save processing by representing as -.
yield [cveId, vendor, product, '-', '', '', '']
conn.executemany("insert into PRODUCTS values (?, ?, ?, ?, ?, ?, ?)", cpe_generator()).close()
def update_db(conn, elt):
"""
Update a single entry in the on-disk database
"""
accessVector = None
cveId = elt['cve']['id']
if elt['cve']['vulnStatus'] == "Rejected":
return
cveDesc = ""
for desc in elt['cve']['descriptions']:
if desc['lang'] == 'en':
cveDesc = desc['value']
date = elt['cve']['lastModified']
try:
accessVector = elt['cve']['metrics']['cvssMetricV2'][0]['cvssData']['accessVector']
cvssv2 = elt['cve']['metrics']['cvssMetricV2'][0]['cvssData']['baseScore']
except KeyError:
cvssv2 = 0.0
cvssv3 = None
try:
accessVector = accessVector or elt['cve']['metrics']['cvssMetricV30'][0]['cvssData']['attackVector']
cvssv3 = elt['cve']['metrics']['cvssMetricV30'][0]['cvssData']['baseScore']
except KeyError:
pass
try:
accessVector = accessVector or elt['cve']['metrics']['cvssMetricV31'][0]['cvssData']['attackVector']
cvssv3 = cvssv3 or elt['cve']['metrics']['cvssMetricV31'][0]['cvssData']['baseScore']
except KeyError:
pass
accessVector = accessVector or "UNKNOWN"
cvssv3 = cvssv3 or 0.0
conn.execute("insert or replace into NVD values (?, ?, ?, ?, ?, ?)",
[cveId, cveDesc, cvssv2, cvssv3, date, accessVector]).close()
try:
for config in elt['cve']['configurations']:
# This is suboptimal as it doesn't handle AND/OR and negate, but is better than nothing
for node in config["nodes"]:
parse_node_and_insert(conn, node, cveId)
except KeyError:
bb.note("CVE %s has no configurations" % cveId)
do_fetch[nostamp] = "1"
EXCLUDE_FROM_WORLD = "1"

View File

@@ -182,12 +182,14 @@ class SystemdUnit():
raise SystemdUnitNotFoundError(self.root, unit)
def _process_deps(self, config, service, location, prop, dirstem):
def _process_deps(self, config, service, location, prop, dirstem, instance):
systemdir = self.root / SYSCONFDIR / "systemd" / "system"
target = ROOT / location.relative_to(self.root)
try:
for dependent in config.get('Install', prop):
# expand any %i to instance (ignoring escape sequence %%)
dependent = re.sub("([^%](%%)*)%i", "\\1{}".format(instance), dependent)
wants = systemdir / "{}.{}".format(dependent, dirstem) / service
add_link(wants, target)
@@ -227,8 +229,8 @@ class SystemdUnit():
else:
service = self.unit
self._process_deps(config, service, path, 'WantedBy', 'wants')
self._process_deps(config, service, path, 'RequiredBy', 'requires')
self._process_deps(config, service, path, 'WantedBy', 'wants', instance)
self._process_deps(config, service, path, 'RequiredBy', 'requires', instance)
try:
for also in config.get('Install', 'Also'):

View File

@@ -0,0 +1,115 @@
From 612ebf6c913dd0e4197c44909cb3157f5c51a2f0 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Mon, 31 Aug 2020 19:37:13 +0200
Subject: [PATCH] pager: set $LESSSECURE whenver we invoke a pager
Some extra safety when invoked via "sudo". With this we address a
genuine design flaw of sudo, and we shouldn't need to deal with this.
But it's still a good idea to disable this surface given how exotic it
is.
Prompted by #5666
CVE: CVE-2023-26604
Upstream-Status: Backport [https://github.com/systemd/systemd/pull/17270/commits/612ebf6c913dd0e4197c44909cb3157f5c51a2f0]
Comments: Hunk not refreshed
Signed-off-by: rajmohan r <rajmohan.r@kpit.com>
---
man/less-variables.xml | 9 +++++++++
man/systemctl.xml | 1 +
man/systemd.xml | 1 +
src/shared/pager.c | 23 +++++++++++++++++++++--
4 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/man/less-variables.xml b/man/less-variables.xml
index 08e513c99f8e..c52511ca8e18 100644
--- a/man/less-variables.xml
+++ b/man/less-variables.xml
@@ -64,6 +64,15 @@
the invoking terminal is determined to be UTF-8 compatible).</para></listitem>
</varlistentry>
+ <varlistentry id='lesssecure'>
+ <term><varname>$SYSTEMD_LESSSECURE</varname></term>
+
+ <listitem><para>Takes a boolean argument. Overrides the <varname>$LESSSECURE</varname> environment
+ variable when invoking the pager, which controls the "secure" mode of less (which disables commands
+ such as <literal>|</literal> which allow to easily shell out to external command lines). By default
+ less secure mode is enabled, with this setting it may be disabled.</para></listitem>
+ </varlistentry>
+
<varlistentry id='colors'>
<term><varname>$SYSTEMD_COLORS</varname></term>
diff --git a/man/systemctl.xml b/man/systemctl.xml
index 1c5502883700..a3f0c3041a57 100644
--- a/man/systemctl.xml
+++ b/man/systemctl.xml
@@ -2240,6 +2240,7 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
<xi:include href="less-variables.xml" xpointer="pager"/>
<xi:include href="less-variables.xml" xpointer="less"/>
<xi:include href="less-variables.xml" xpointer="lesscharset"/>
+ <xi:include href="less-variables.xml" xpointer="lesssecure"/>
<xi:include href="less-variables.xml" xpointer="colors"/>
<xi:include href="less-variables.xml" xpointer="urlify"/>
</refsect1>
diff --git a/man/systemd.xml b/man/systemd.xml
index a9040545c2ab..c92cfef77689 100644
--- a/man/systemd.xml
+++ b/man/systemd.xml
@@ -692,6 +692,7 @@
<xi:include href="less-variables.xml" xpointer="pager"/>
<xi:include href="less-variables.xml" xpointer="less"/>
<xi:include href="less-variables.xml" xpointer="lesscharset"/>
+ <xi:include href="less-variables.xml" xpointer="lesssecure"/>
<xi:include href="less-variables.xml" xpointer="colors"/>
<xi:include href="less-variables.xml" xpointer="urlify"/>
diff --git a/src/shared/pager.c b/src/shared/pager.c
index e03be6d23b2d..9c21881241f5 100644
--- a/src/shared/pager.c
+++ b/src/shared/pager.c
@@ -9,6 +9,7 @@
#include <unistd.h>
#include "copy.h"
+#include "env-util.h"
#include "fd-util.h"
#include "fileio.h"
#include "io-util.h"
@@ -152,8 +153,7 @@ int pager_open(PagerFlags flags) {
_exit(EXIT_FAILURE);
}
- /* Initialize a good charset for less. This is
- * particularly important if we output UTF-8
+ /* Initialize a good charset for less. This is particularly important if we output UTF-8
* characters. */
less_charset = getenv("SYSTEMD_LESSCHARSET");
if (!less_charset && is_locale_utf8())
@@ -164,6 +164,25 @@ int pager_open(PagerFlags flags) {
_exit(EXIT_FAILURE);
}
+ /* People might invoke us from sudo, don't needlessly allow less to be a way to shell out
+ * privileged stuff. */
+ r = getenv_bool("SYSTEMD_LESSSECURE");
+ if (r == 0) { /* Remove env var if off */
+ if (unsetenv("LESSSECURE") < 0) {
+ log_error_errno(errno, "Failed to uset environment variable LESSSECURE: %m");
+ _exit(EXIT_FAILURE);
+ }
+ } else {
+ /* Set env var otherwise */
+ if (r < 0)
+ log_warning_errno(r, "Unable to parse $SYSTEMD_LESSSECURE, ignoring: %m");
+
+ if (setenv("LESSSECURE", "1", 1) < 0) {
+ log_error_errno(errno, "Failed to set environment variable LESSSECURE: %m");
+ _exit(EXIT_FAILURE);
+ }
+ }
+
if (pager_args) {
r = loop_write(exe_name_pipe[1], pager_args[0], strlen(pager_args[0]) + 1, false);
if (r < 0) {

View File

@@ -0,0 +1,264 @@
From 1b5b507cd2d1d7a2b053151abb548475ad9c5c3b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Mon, 12 Oct 2020 18:57:32 +0200
Subject: [PATCH] test-login: always test sd_pid_get_owner_uid(), modernize
A long time some function only worked when in a session, and the test
didn't execute them when sd_pid_get_session() failed. Let's always call
them to increase coverage.
While at it, let's test for ==0 not >=0 where we don't expect the function
to return anything except 0 or error.
CVE: CVE-2023-26604
Upstream-Status: Backport [https://github.com/systemd/systemd/pull/17270/commits/1b5b507cd2d1d7a2b053151abb548475ad9c5c3b.patch]
Comments: Hunk not refreshed
Signed-off-by: rajmohan r <rajmohan.r@kpit.com>
---
src/libsystemd/sd-login/test-login.c | 131 ++++++++++++++-------------
1 file changed, 70 insertions(+), 61 deletions(-)
diff --git a/src/libsystemd/sd-login/test-login.c b/src/libsystemd/sd-login/test-login.c
index c0c77e04714b..0494fc77ba18 100644
--- a/src/libsystemd/sd-login/test-login.c
+++ b/src/libsystemd/sd-login/test-login.c
@@ -5,21 +5,22 @@
#include "sd-login.h"
#include "alloc-util.h"
+#include "errno-list.h"
#include "fd-util.h"
#include "format-util.h"
#include "log.h"
#include "string-util.h"
#include "strv.h"
#include "time-util.h"
-#include "util.h"
+#include "user-util.h"
static char* format_uids(char **buf, uid_t* uids, int count) {
- int pos = 0, k, inc;
+ int pos = 0, inc;
size_t size = (DECIMAL_STR_MAX(uid_t) + 1) * count + 1;
assert_se(*buf = malloc(size));
- for (k = 0; k < count; k++) {
+ for (int k = 0; k < count; k++) {
sprintf(*buf + pos, "%s"UID_FMT"%n", k > 0 ? " " : "", uids[k], &inc);
pos += inc;
}
@@ -30,6 +31,10 @@ static char* format_uids(char **buf, uid_t* uids, int count) {
return *buf;
}
+static const char *e(int r) {
+ return r == 0 ? "OK" : errno_to_name(r);
+}
+
static void test_login(void) {
_cleanup_close_pair_ int pair[2] = { -1, -1 };
_cleanup_free_ char *pp = NULL, *qq = NULL,
@@ -39,65 +44,71 @@ static void test_login(void) {
*seat = NULL, *session = NULL,
*unit = NULL, *user_unit = NULL, *slice = NULL;
int r;
- uid_t u, u2;
- char *t, **seats, **sessions;
+ uid_t u, u2 = UID_INVALID;
+ char *t, **seats = NULL, **sessions = NULL;
r = sd_pid_get_unit(0, &unit);
- assert_se(r >= 0 || r == -ENODATA);
- log_info("sd_pid_get_unit(0, …) → \"%s\"", strna(unit));
+ log_info("sd_pid_get_unit(0, …) → %s / \"%s\"", e(r), strnull(unit));
+ assert_se(IN_SET(r, 0, -ENODATA));
r = sd_pid_get_user_unit(0, &user_unit);
- assert_se(r >= 0 || r == -ENODATA);
- log_info("sd_pid_get_user_unit(0, …) → \"%s\"", strna(user_unit));
+ log_info("sd_pid_get_user_unit(0, …) → %s / \"%s\"", e(r), strnull(user_unit));
+ assert_se(IN_SET(r, 0, -ENODATA));
r = sd_pid_get_slice(0, &slice);
- assert_se(r >= 0 || r == -ENODATA);
- log_info("sd_pid_get_slice(0, …) → \"%s\"", strna(slice));
+ log_info("sd_pid_get_slice(0, …) → %s / \"%s\"", e(r), strnull(slice));
+ assert_se(IN_SET(r, 0, -ENODATA));
+
+ r = sd_pid_get_owner_uid(0, &u2);
+ log_info("sd_pid_get_owner_uid(0, …) → %s / "UID_FMT, e(r), u2);
+ assert_se(IN_SET(r, 0, -ENODATA));
r = sd_pid_get_session(0, &session);
- if (r < 0) {
- log_warning_errno(r, "sd_pid_get_session(0, …): %m");
- if (r == -ENODATA)
- log_info("Seems we are not running in a session, skipping some tests.");
- } else {
- log_info("sd_pid_get_session(0, …) → \"%s\"", session);
-
- assert_se(sd_pid_get_owner_uid(0, &u2) == 0);
- log_info("sd_pid_get_owner_uid(0, …) → "UID_FMT, u2);
-
- assert_se(sd_pid_get_cgroup(0, &cgroup) == 0);
- log_info("sd_pid_get_cgroup(0, …) → \"%s\"", cgroup);
-
- r = sd_uid_get_display(u2, &display_session);
- assert_se(r >= 0 || r == -ENODATA);
- log_info("sd_uid_get_display("UID_FMT", …) → \"%s\"",
- u2, strnull(display_session));
-
- assert_se(socketpair(AF_UNIX, SOCK_STREAM, 0, pair) == 0);
- sd_peer_get_session(pair[0], &pp);
- sd_peer_get_session(pair[1], &qq);
- assert_se(streq_ptr(pp, qq));
-
- r = sd_uid_get_sessions(u2, false, &sessions);
+ log_info("sd_pid_get_session(0, …) → %s / \"%s\"", e(r), strnull(session));
+
+ r = sd_pid_get_cgroup(0, &cgroup);
+ log_info("sd_pid_get_cgroup(0, …) → %s / \"%s\"", e(r), strnull(cgroup));
+ assert_se(r == 0);
+
+ r = sd_uid_get_display(u2, &display_session);
+ log_info("sd_uid_get_display("UID_FMT", …) → %s / \"%s\"", u2, e(r), strnull(display_session));
+ if (u2 == UID_INVALID)
+ assert_se(r == -EINVAL);
+ else
+ assert_se(IN_SET(r, 0, -ENODATA));
+
+ assert_se(socketpair(AF_UNIX, SOCK_STREAM, 0, pair) == 0);
+ sd_peer_get_session(pair[0], &pp);
+ sd_peer_get_session(pair[1], &qq);
+ assert_se(streq_ptr(pp, qq));
+
+ r = sd_uid_get_sessions(u2, false, &sessions);
+ assert_se(t = strv_join(sessions, " "));
+ log_info("sd_uid_get_sessions("UID_FMT", …) → %s \"%s\"", u2, e(r), t);
+ if (u2 == UID_INVALID)
+ assert_se(r == -EINVAL);
+ else {
assert_se(r >= 0);
assert_se(r == (int) strv_length(sessions));
- assert_se(t = strv_join(sessions, " "));
- strv_free(sessions);
- log_info("sd_uid_get_sessions("UID_FMT", …) → [%i] \"%s\"", u2, r, t);
- free(t);
+ }
+ sessions = strv_free(sessions);
+ free(t);
- assert_se(r == sd_uid_get_sessions(u2, false, NULL));
+ assert_se(r == sd_uid_get_sessions(u2, false, NULL));
- r = sd_uid_get_seats(u2, false, &seats);
+ r = sd_uid_get_seats(u2, false, &seats);
+ assert_se(t = strv_join(seats, " "));
+ log_info("sd_uid_get_seats("UID_FMT", …) → %s \"%s\"", u2, e(r), t);
+ if (u2 == UID_INVALID)
+ assert_se(r == -EINVAL);
+ else {
assert_se(r >= 0);
assert_se(r == (int) strv_length(seats));
- assert_se(t = strv_join(seats, " "));
- strv_free(seats);
- log_info("sd_uid_get_seats("UID_FMT", …) → [%i] \"%s\"", u2, r, t);
- free(t);
-
- assert_se(r == sd_uid_get_seats(u2, false, NULL));
}
+ seats = strv_free(seats);
+ free(t);
+
+ assert_se(r == sd_uid_get_seats(u2, false, NULL));
if (session) {
r = sd_session_is_active(session);
@@ -109,7 +120,7 @@ static void test_login(void) {
log_info("sd_session_is_remote(\"%s\") → %s", session, yes_no(r));
r = sd_session_get_state(session, &state);
- assert_se(r >= 0);
+ assert_se(r == 0);
log_info("sd_session_get_state(\"%s\") → \"%s\"", session, state);
assert_se(sd_session_get_uid(session, &u) >= 0);
@@ -123,16 +134,16 @@ static void test_login(void) {
log_info("sd_session_get_class(\"%s\") → \"%s\"", session, class);
r = sd_session_get_display(session, &display);
- assert_se(r >= 0 || r == -ENODATA);
+ assert_se(IN_SET(r, 0, -ENODATA));
log_info("sd_session_get_display(\"%s\") → \"%s\"", session, strna(display));
r = sd_session_get_remote_user(session, &remote_user);
- assert_se(r >= 0 || r == -ENODATA);
+ assert_se(IN_SET(r, 0, -ENODATA));
log_info("sd_session_get_remote_user(\"%s\") → \"%s\"",
session, strna(remote_user));
r = sd_session_get_remote_host(session, &remote_host);
- assert_se(r >= 0 || r == -ENODATA);
+ assert_se(IN_SET(r, 0, -ENODATA));
log_info("sd_session_get_remote_host(\"%s\") → \"%s\"",
session, strna(remote_host));
@@ -161,7 +172,7 @@ static void test_login(void) {
assert_se(r == -ENODATA);
}
- assert_se(sd_uid_get_state(u, &state2) >= 0);
+ assert_se(sd_uid_get_state(u, &state2) == 0);
log_info("sd_uid_get_state("UID_FMT", …) → %s", u, state2);
}
@@ -173,11 +184,11 @@ static void test_login(void) {
assert_se(sd_uid_is_on_seat(u, 0, seat) > 0);
r = sd_seat_get_active(seat, &session2, &u2);
- assert_se(r >= 0);
+ assert_se(r == 0);
log_info("sd_seat_get_active(\"%s\", …) → \"%s\", "UID_FMT, seat, session2, u2);
r = sd_uid_is_on_seat(u, 1, seat);
- assert_se(r >= 0);
+ assert_se(IN_SET(r, 0, 1));
assert_se(!!r == streq(session, session2));
r = sd_seat_get_sessions(seat, &sessions, &uids, &n);
@@ -185,8 +196,8 @@ static void test_login(void) {
assert_se(r == (int) strv_length(sessions));
assert_se(t = strv_join(sessions, " "));
strv_free(sessions);
- log_info("sd_seat_get_sessions(\"%s\", …) → %i, \"%s\", [%i] {%s}",
- seat, r, t, n, format_uids(&buf, uids, n));
+ log_info("sd_seat_get_sessions(\"%s\", …) → %s, \"%s\", [%u] {%s}",
+ seat, e(r), t, n, format_uids(&buf, uids, n));
free(t);
assert_se(sd_seat_get_sessions(seat, NULL, NULL, NULL) == r);
@@ -204,7 +215,7 @@ static void test_login(void) {
r = sd_seat_get_active(NULL, &t, NULL);
assert_se(IN_SET(r, 0, -ENODATA));
- log_info("sd_seat_get_active(NULL, …) (active session on current seat) → %s", strnull(t));
+ log_info("sd_seat_get_active(NULL, …) (active session on current seat) → %s / \"%s\"", e(r), strnull(t));
free(t);
r = sd_get_sessions(&sessions);
@@ -244,13 +255,11 @@ static void test_login(void) {
static void test_monitor(void) {
sd_login_monitor *m = NULL;
- unsigned n;
int r;
- r = sd_login_monitor_new("session", &m);
- assert_se(r >= 0);
+ assert_se(sd_login_monitor_new("session", &m) == 0);
- for (n = 0; n < 5; n++) {
+ for (unsigned n = 0; n < 5; n++) {
struct pollfd pollfd = {};
usec_t timeout, nw;

View File

@@ -0,0 +1,182 @@
From 0a42426d797406b4b01a0d9c13bb759c2629d108 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Wed, 7 Oct 2020 11:15:05 +0200
Subject: [PATCH] pager: make pager secure when under euid is changed or
explicitly requested
The variable is renamed to SYSTEMD_PAGERSECURE (because it's not just about
less now), and we automatically enable secure mode in certain cases, but not
otherwise.
This approach is more nuanced, but should provide a better experience for
users:
- Previusly we would set LESSSECURE=1 and trust the pager to make use of
it. But this has an effect only on less. We need to not start pagers which
are insecure when in secure mode. In particular more is like that and is a
very popular pager.
- We don't enable secure mode always, which means that those other pagers can
reasonably used.
- We do the right thing by default, but the user has ultimate control by
setting SYSTEMD_PAGERSECURE.
Fixes #5666.
v2:
- also check $PKEXEC_UID
v3:
- use 'sd_pid_get_owner_uid() != geteuid()' as the condition
CVE: CVE-2023-26604
Upstream-Status: Backport [https://github.com/systemd/systemd/pull/17270/commits/0a42426d797406b4b01a0d9c13bb759c2629d108]
Comments: Hunk refreshed
Signed-off-by: rajmohan r <rajmohan.r@kpit.com>
---
man/less-variables.xml | 30 +++++++++++++++----
src/shared/pager.c | 63 ++++++++++++++++++++++++++-------------
2 files changed, 66 insertions(+), 27 deletions(-)
diff --git a/man/less-variables.xml b/man/less-variables.xml
index c52511c..049e9f7 100644
--- a/man/less-variables.xml
+++ b/man/less-variables.xml
@@ -65,12 +65,30 @@
</varlistentry>
<varlistentry id='lesssecure'>
- <term><varname>$SYSTEMD_LESSSECURE</varname></term>
-
- <listitem><para>Takes a boolean argument. Overrides the <varname>$LESSSECURE</varname> environment
- variable when invoking the pager, which controls the "secure" mode of less (which disables commands
- such as <literal>|</literal> which allow to easily shell out to external command lines). By default
- less secure mode is enabled, with this setting it may be disabled.</para></listitem>
+ <term><varname>$SYSTEMD_PAGERSECURE</varname></term>
+
+ <listitem><para>Takes a boolean argument. When true, the "secure" mode of the pager is enabled; if
+ false, disabled. If <varname>$SYSTEMD_PAGERSECURE</varname> is not set at all, secure mode is enabled
+ if the effective UID is not the same as the owner of the login session, see <citerefentry
+ project='man-pages'><refentrytitle>geteuid</refentrytitle><manvolnum>2</manvolnum></citerefentry> and
+ <citerefentry><refentrytitle>sd_pid_get_owner_uid</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
+ In secure mode, <option>LESSSECURE=1</option> will be set when invoking the pager, and the pager shall
+ disable commands that open or create new files or start new subprocesses. When
+ <varname>$SYSTEMD_PAGERSECURE</varname> is not set at all, pagers which are not known to implement
+ secure mode will not be used. (Currently only
+ <citerefentry><refentrytitle>less</refentrytitle><manvolnum>1</manvolnum></citerefentry> implements
+ secure mode.)</para>
+
+ <para>Note: when commands are invoked with elevated privileges, for example under <citerefentry
+ project='man-pages'><refentrytitle>sudo</refentrytitle><manvolnum>8</manvolnum></citerefentry> or
+ <citerefentry
+ project='die-net'><refentrytitle>pkexec</refentrytitle><manvolnum>1</manvolnum></citerefentry>, care
+ must be taken to ensure that unintended interactive features are not enabled. "Secure" mode for the
+ pager may be enabled automatically as describe above. Setting <varname>SYSTEMD_PAGERSECURE=0</varname>
+ or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note
+ that if the <varname>$SYSTEMD_PAGER</varname> or <varname>$PAGER</varname> variables are to be
+ honoured, <varname>$SYSTEMD_PAGERSECURE</varname> must be set too. It might be reasonable to completly
+ disable the pager using <option>--no-pager</option> instead.</para></listitem>
</varlistentry>
<varlistentry id='colors'>
diff --git a/src/shared/pager.c b/src/shared/pager.c
index a3b6576..a72d9ea 100644
--- a/src/shared/pager.c
+++ b/src/shared/pager.c
@@ -8,6 +8,8 @@
#include <sys/prctl.h>
#include <unistd.h>
+#include "sd-login.h"
+
#include "copy.h"
#include "env-util.h"
#include "fd-util.h"
@@ -164,25 +166,42 @@ int pager_open(PagerFlags flags) {
}
/* People might invoke us from sudo, don't needlessly allow less to be a way to shell out
- * privileged stuff. */
- r = getenv_bool("SYSTEMD_LESSSECURE");
- if (r == 0) { /* Remove env var if off */
- if (unsetenv("LESSSECURE") < 0) {
- log_error_errno(errno, "Failed to uset environment variable LESSSECURE: %m");
- _exit(EXIT_FAILURE);
- }
- } else {
- /* Set env var otherwise */
+ * privileged stuff. If the user set $SYSTEMD_PAGERSECURE, trust their configuration of the
+ * pager. If they didn't, use secure mode when under euid is changed. If $SYSTEMD_PAGERSECURE
+ * wasn't explicitly set, and we autodetect the need for secure mode, only use the pager we
+ * know to be good. */
+ int use_secure_mode = getenv_bool("SYSTEMD_PAGERSECURE");
+ bool trust_pager = use_secure_mode >= 0;
+ if (use_secure_mode == -ENXIO) {
+ uid_t uid;
+
+ r = sd_pid_get_owner_uid(0, &uid);
if (r < 0)
- log_warning_errno(r, "Unable to parse $SYSTEMD_LESSSECURE, ignoring: %m");
+ log_debug_errno(r, "sd_pid_get_owner_uid() failed, enabling pager secure mode: %m");
- if (setenv("LESSSECURE", "1", 1) < 0) {
- log_error_errno(errno, "Failed to set environment variable LESSSECURE: %m");
- _exit(EXIT_FAILURE);
- }
+ use_secure_mode = r < 0 || uid != geteuid();
+
+ } else if (use_secure_mode < 0) {
+ log_warning_errno(use_secure_mode, "Unable to parse $SYSTEMD_PAGERSECURE, assuming true: %m");
+ use_secure_mode = true;
}
- if (pager_args) {
+ /* We generally always set variables used by less, even if we end up using a different pager.
+ * They shouldn't hurt in any case, and ideally other pagers would look at them too. */
+ if (use_secure_mode)
+ r = setenv("LESSSECURE", "1", 1);
+ else
+ r = unsetenv("LESSSECURE");
+ if (r < 0) {
+ log_error_errno(errno, "Failed to adjust environment variable LESSSECURE: %m");
+ _exit(EXIT_FAILURE);
+ }
+
+ if (trust_pager && pager_args) { /* The pager config might be set globally, and we cannot
+ * know if the user adjusted it to be appropriate for the
+ * secure mode. Thus, start the pager specified through
+ * envvars only when $SYSTEMD_PAGERSECURE was explicitly set
+ * as well. */
r = loop_write(exe_name_pipe[1], pager_args[0], strlen(pager_args[0]) + 1, false);
if (r < 0) {
log_error_errno(r, "Failed to write pager name to socket: %m");
@@ -194,13 +213,14 @@ int pager_open(PagerFlags flags) {
"Failed to execute '%s', using fallback pagers: %m", pager_args[0]);
}
- /* Debian's alternatives command for pagers is
- * called 'pager'. Note that we do not call
- * sensible-pagers here, since that is just a
- * shell script that implements a logic that
- * is similar to this one anyway, but is
- * Debian-specific. */
+ /* Debian's alternatives command for pagers is called 'pager'. Note that we do not call
+ * sensible-pagers here, since that is just a shell script that implements a logic that is
+ * similar to this one anyway, but is Debian-specific. */
FOREACH_STRING(exe, "pager", "less", "more") {
+ /* Only less implements secure mode right now. */
+ if (use_secure_mode && !streq(exe, "less"))
+ continue;
+
r = loop_write(exe_name_pipe[1], exe, strlen(exe) + 1, false);
if (r < 0) {
log_error_errno(r, "Failed to write pager name to socket: %m");
@@ -211,6 +231,7 @@ int pager_open(PagerFlags flags) {
"Failed to execute '%s', using next fallback pager: %m", exe);
}
+ /* Our builtin is also very secure. */
r = loop_write(exe_name_pipe[1], "(built-in)", strlen("(built-in)") + 1, false);
if (r < 0) {
log_error_errno(r, "Failed to write pager name to socket: %m");

View File

@@ -0,0 +1,32 @@
From b8f736b30e20a2b44e7c34bb4e43b0d97ae77e3c Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Thu, 15 Oct 2020 10:54:48 +0200
Subject: [PATCH] pager: lets check SYSTEMD_PAGERSECURE with secure_getenv()
I can't think of any real vulnerability about this, but it still feels
better to check a variable with "secure" in its name with
secure_getenv() rather than plain getenv().
Paranoia FTW!
CVE: CVE-2023-26604
Upstream-Status: Backport [https://github.com/systemd/systemd/pull/17359/commits/b8f736b30e20a2b44e7c34bb4e43b0d97ae77e3c]
Comments: Hunk refreshed
Signed-off-by: rajmohan r <rajmohan.r@kpit.com>
---
src/shared/pager.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/shared/pager.c b/src/shared/pager.c
index a72d9ea..250519c 100644
--- a/src/shared/pager.c
+++ b/src/shared/pager.c
@@ -170,7 +170,7 @@ int pager_open(PagerFlags flags) {
* pager. If they didn't, use secure mode when under euid is changed. If $SYSTEMD_PAGERSECURE
* wasn't explicitly set, and we autodetect the need for secure mode, only use the pager we
* know to be good. */
- int use_secure_mode = getenv_bool("SYSTEMD_PAGERSECURE");
+ int use_secure_mode = getenv_bool_secure("SYSTEMD_PAGERSECURE");
bool trust_pager = use_secure_mode >= 0;
if (use_secure_mode == -ENXIO) {
uid_t uid;

View File

@@ -0,0 +1,7 @@
# Systemd expect a color capable pager, however the less provided
# by busybox is not. This make many interaction with systemd pretty
# annoying. As a workaround we disable the systemd pager if less
# is not the GNU version.
if ! less -V > /dev/null 2>&1 ; then
export SYSTEMD_PAGER=
fi

View File

@@ -18,6 +18,7 @@ SRC_URI += "file://touchscreen.rules \
file://00-create-volatile.conf \
file://init \
file://99-default.preset \
file://systemd-pager.sh \
file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
file://0003-implment-systemd-sysv-install-for-OE.patch \
file://CVE-2021-33910.patch \
@@ -34,6 +35,10 @@ SRC_URI += "file://touchscreen.rules \
file://CVE-2021-3997-2.patch \
file://CVE-2021-3997-3.patch \
file://CVE-2022-3821.patch \
file://CVE-2023-26604-1.patch \
file://CVE-2023-26604-2.patch \
file://CVE-2023-26604-3.patch \
file://CVE-2023-26604-4.patch \
"
# patches needed by musl
@@ -214,7 +219,7 @@ rootlibexecdir = "${rootprefix}/lib"
EXTRA_OEMESON += "-Dlink-udev-shared=false"
EXTRA_OEMESON += "-Dnobody-user=nobody \
-Dnobody-group=nobody \
-Dnobody-group=nogroup \
-Drootlibdir=${rootlibdir} \
-Drootprefix=${rootprefix} \
-Ddefault-locale=C \
@@ -317,6 +322,9 @@ do_install() {
# install default policy for presets
# https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto
install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset
# add a profile fragment to disable systemd pager with busybox less
install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh
}
python populate_packages_prepend (){
@@ -539,6 +547,7 @@ FILES_${PN} = " ${base_bindir}/* \
${sysconfdir}/dbus-1/ \
${sysconfdir}/modules-load.d/ \
${sysconfdir}/pam.d/ \
${sysconfdir}/profile.d/ \
${sysconfdir}/sysctl.d/ \
${sysconfdir}/systemd/ \
${sysconfdir}/tmpfiles.d/ \

View File

@@ -12,10 +12,7 @@ set( CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY )
set(CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX "$ENV{OE_CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX}")
# Set CMAKE_SYSTEM_PROCESSOR from the sysroot name (assuming processor-distro-os).
if ($ENV{SDKTARGETSYSROOT} MATCHES "/sysroots/([a-zA-Z0-9_-]+)-.+-.+")
set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_MATCH_1})
endif()
set( CMAKE_SYSTEM_PROCESSOR $ENV{OECORE_TARGET_ARCH} )
# Include the toolchain configuration subscripts
file( GLOB toolchain_config_files "${CMAKE_TOOLCHAIN_FILE}.d/*.cmake" )

View File

@@ -8,3 +8,4 @@ rm -f *.tmp
rm -f *.ok
rm -f *.failed
rm -f *.log
cp ../data/test_data.tmp ./

View File

@@ -144,4 +144,7 @@ do_install_ptest() {
install -d ${D}${PTEST_PATH}/lib
install -m 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/
install -d ${D}${PTEST_PATH}/data
install -m 0644 ${B}/tests/test_data.tmp ${D}${PTEST_PATH}/data/
}

View File

@@ -69,12 +69,13 @@ SRC_URI = "\
file://0037-CVE-2019-14250-Check-zero-value-in-simple_object_elf.patch \
file://0038-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \
file://0039-process_alt_operands-Don-t-match-user-defined-regs-o.patch \
file://0002-libstdc-Fix-inconsistent-noexcept-specific-for-valar.patch \
"
S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
SRC_URI[sha256sum] = "27769f64ef1d4cd5e2be8682c0c93f9887983e6cfd1a927ce5a0a2915a95cf8f"
# For dev release snapshotting
#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/official-gcc-${RELEASE}"
#B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
# Language Overrides
FORTRAN = ""

View File

@@ -0,0 +1,44 @@
From 60d966708d7cf105dccf128d2b7a38b0b2580a1a Mon Sep 17 00:00:00 2001
From: Jonathan Wakely <jwakely@redhat.com>
Date: Fri, 5 Nov 2021 21:42:20 +0000
Subject: [PATCH] libstdc++: Fix inconsistent noexcept-specific for valarray
begin/end
These declarations should be noexcept after I added it to the
definitions in <valarray>.
libstdc++-v3/ChangeLog:
* include/bits/range_access.h (begin(valarray), end(valarray)):
Add noexcept.
(cherry picked from commit 2b2d97fc545635a0f6aa9c9ee3b017394bc494bf)
Upstream-Status: Backport [https://github.com/hkaelber/gcc/commit/2b2d97fc545635a0f6aa9c9ee3b017394bc494bf]
Signed-off-by: Virendra Thakur <virendrak@kpit.com>
---
libstdc++-v3/include/bits/range_access.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libstdc++-v3/include/bits/range_access.h b/libstdc++-v3/include/bits/range_access.h
index 3d99ea92027..4736e75fda1 100644
--- a/libstdc++-v3/include/bits/range_access.h
+++ b/libstdc++-v3/include/bits/range_access.h
@@ -101,10 +101,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp> class valarray;
// These overloads must be declared for cbegin and cend to use them.
- template<typename _Tp> _Tp* begin(valarray<_Tp>&);
- template<typename _Tp> const _Tp* begin(const valarray<_Tp>&);
- template<typename _Tp> _Tp* end(valarray<_Tp>&);
- template<typename _Tp> const _Tp* end(const valarray<_Tp>&);
+ template<typename _Tp> _Tp* begin(valarray<_Tp>&) noexcept;
+ template<typename _Tp> const _Tp* begin(const valarray<_Tp>&) noexcept;
+ template<typename _Tp> _Tp* end(valarray<_Tp>&) noexcept;
+ template<typename _Tp> const _Tp* end(const valarray<_Tp>&) noexcept;
/**
* @brief Return an iterator pointing to the first element of
--
2.25.1

View File

@@ -0,0 +1,367 @@
From eb22e7dfa23da6bd9aed9bd1dad69e1e8e167d24 Mon Sep 17 00:00:00 2001
From: Patrick Steinhardt <ps@pks.im>
Date: Thu, 1 Dec 2022 15:45:15 +0100
Subject: [PATCH] CVE-2022-23521
attr: fix overflow when upserting attribute with overly long name
The function `git_attr_internal()` is called to upsert attributes into
the global map. And while all callers pass a `size_t`, the function
itself accepts an `int` as the attribute name's length. This can lead to
an integer overflow in case the attribute name is longer than `INT_MAX`.
Now this overflow seems harmless as the first thing we do is to call
`attr_name_valid()`, and that function only succeeds in case all chars
in the range of `namelen` match a certain small set of chars. We thus
can't do an out-of-bounds read as NUL is not part of that set and all
strings passed to this function are NUL-terminated. And furthermore, we
wouldn't ever read past the current attribute name anyway due to the
same reason. And if validation fails we will return early.
On the other hand it feels fragile to rely on this behaviour, even more
so given that we pass `namelen` to `FLEX_ALLOC_MEM()`. So let's instead
just do the correct thing here and accept a `size_t` as line length.
Upstream-Status: Backport [https://github.com/git/git/commit/eb22e7dfa23da6bd9aed9bd1dad69e1e8e167d24 &https://github.com/git/git/commit/8d0d48cf2157cfb914db1f53b3fe40785b86f3aa & https://github.com/git/git/commit/24557209500e6ed618f04a8795a111a0c491a29c & https://github.com/git/git/commit/34ace8bad02bb14ecc5b631f7e3daaa7a9bba7d9 & https://github.com/git/git/commit/447ac906e189535e77dcb1f4bbe3f1bc917d4c12 & https://github.com/git/git/commit/e1e12e97ac73ded85f7d000da1063a774b3cc14f & https://github.com/git/git/commit/a60a66e409c265b2944f18bf43581c146812586d & https://github.com/git/git/commit/d74b1fd54fdbc45966d12ea907dece11e072fb2b & https://github.com/git/git/commit/dfa6b32b5e599d97448337ed4fc18dd50c90758f & https://github.com/git/git/commit/3c50032ff5289cc45659f21949c8d09e52164579
CVE: CVE-2022-23521
Reviewed-by: Sylvain Beucler <beuc@debian.org>
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
attr.c | 97 +++++++++++++++++++++++++++----------------
attr.h | 12 ++++++
t/t0003-attributes.sh | 59 ++++++++++++++++++++++++++
3 files changed, 132 insertions(+), 36 deletions(-)
diff --git a/attr.c b/attr.c
index 11f19b5..63484ab 100644
--- a/attr.c
+++ b/attr.c
@@ -29,7 +29,7 @@ static const char git_attr__unknown[] = "(builtin)unknown";
#endif
struct git_attr {
- int attr_nr; /* unique attribute number */
+ unsigned int attr_nr; /* unique attribute number */
char name[FLEX_ARRAY]; /* attribute name */
};
@@ -221,7 +221,7 @@ static void report_invalid_attr(const char *name, size_t len,
* dictionary. If no entry is found, create a new attribute and store it in
* the dictionary.
*/
-static const struct git_attr *git_attr_internal(const char *name, int namelen)
+static const struct git_attr *git_attr_internal(const char *name, size_t namelen)
{
struct git_attr *a;
@@ -237,8 +237,8 @@ static const struct git_attr *git_attr_internal(const char *name, int namelen)
a->attr_nr = hashmap_get_size(&g_attr_hashmap.map);
attr_hashmap_add(&g_attr_hashmap, a->name, namelen, a);
- assert(a->attr_nr ==
- (hashmap_get_size(&g_attr_hashmap.map) - 1));
+ if (a->attr_nr != hashmap_get_size(&g_attr_hashmap.map) - 1)
+ die(_("unable to add additional attribute"));
}
hashmap_unlock(&g_attr_hashmap);
@@ -283,7 +283,7 @@ struct match_attr {
const struct git_attr *attr;
} u;
char is_macro;
- unsigned num_attr;
+ size_t num_attr;
struct attr_state state[FLEX_ARRAY];
};
@@ -300,7 +300,7 @@ static const char *parse_attr(const char *src, int lineno, const char *cp,
struct attr_state *e)
{
const char *ep, *equals;
- int len;
+ size_t len;
ep = cp + strcspn(cp, blank);
equals = strchr(cp, '=');
@@ -344,8 +344,7 @@ static const char *parse_attr(const char *src, int lineno, const char *cp,
static struct match_attr *parse_attr_line(const char *line, const char *src,
int lineno, int macro_ok)
{
- int namelen;
- int num_attr, i;
+ size_t namelen, num_attr, i;
const char *cp, *name, *states;
struct match_attr *res = NULL;
int is_macro;
@@ -356,6 +355,11 @@ static struct match_attr *parse_attr_line(const char *line, const char *src,
return NULL;
name = cp;
+ if (strlen(line) >= ATTR_MAX_LINE_LENGTH) {
+ warning(_("ignoring overly long attributes line %d"), lineno);
+ return NULL;
+ }
+
if (*cp == '"' && !unquote_c_style(&pattern, name, &states)) {
name = pattern.buf;
namelen = pattern.len;
@@ -392,10 +396,9 @@ static struct match_attr *parse_attr_line(const char *line, const char *src,
goto fail_return;
}
- res = xcalloc(1,
- sizeof(*res) +
- sizeof(struct attr_state) * num_attr +
- (is_macro ? 0 : namelen + 1));
+ res = xcalloc(1, st_add3(sizeof(*res),
+ st_mult(sizeof(struct attr_state), num_attr),
+ is_macro ? 0 : namelen + 1));
if (is_macro) {
res->u.attr = git_attr_internal(name, namelen);
} else {
@@ -458,11 +461,12 @@ struct attr_stack {
static void attr_stack_free(struct attr_stack *e)
{
- int i;
+ unsigned i;
free(e->origin);
for (i = 0; i < e->num_matches; i++) {
struct match_attr *a = e->attrs[i];
- int j;
+ size_t j;
+
for (j = 0; j < a->num_attr; j++) {
const char *setto = a->state[j].setto;
if (setto == ATTR__TRUE ||
@@ -671,8 +675,8 @@ static void handle_attr_line(struct attr_stack *res,
a = parse_attr_line(line, src, lineno, macro_ok);
if (!a)
return;
- ALLOC_GROW(res->attrs, res->num_matches + 1, res->alloc);
- res->attrs[res->num_matches++] = a;
+ ALLOC_GROW_BY(res->attrs, res->num_matches, 1, res->alloc);
+ res->attrs[res->num_matches - 1] = a;
}
static struct attr_stack *read_attr_from_array(const char **list)
@@ -711,21 +715,37 @@ void git_attr_set_direction(enum git_attr_direction new_direction)
static struct attr_stack *read_attr_from_file(const char *path, int macro_ok)
{
+ struct strbuf buf = STRBUF_INIT;
FILE *fp = fopen_or_warn(path, "r");
struct attr_stack *res;
- char buf[2048];
int lineno = 0;
+ int fd;
+ struct stat st;
if (!fp)
return NULL;
- res = xcalloc(1, sizeof(*res));
- while (fgets(buf, sizeof(buf), fp)) {
- char *bufp = buf;
- if (!lineno)
- skip_utf8_bom(&bufp, strlen(bufp));
- handle_attr_line(res, bufp, path, ++lineno, macro_ok);
+
+ fd = fileno(fp);
+ if (fstat(fd, &st)) {
+ warning_errno(_("cannot fstat gitattributes file '%s'"), path);
+ fclose(fp);
+ return NULL;
}
+ if (st.st_size >= ATTR_MAX_FILE_SIZE) {
+ warning(_("ignoring overly large gitattributes file '%s'"), path);
+ fclose(fp);
+ return NULL;
+ }
+
+ CALLOC_ARRAY(res, 1);
+ while (strbuf_getline(&buf, fp) != EOF) {
+ if (!lineno && starts_with(buf.buf, utf8_bom))
+ strbuf_remove(&buf, 0, strlen(utf8_bom));
+ handle_attr_line(res, buf.buf, path, ++lineno, macro_ok);
+ }
+
fclose(fp);
+ strbuf_release(&buf);
return res;
}
@@ -736,13 +756,18 @@ static struct attr_stack *read_attr_from_index(const struct index_state *istate,
struct attr_stack *res;
char *buf, *sp;
int lineno = 0;
+ size_t size;
if (!istate)
return NULL;
- buf = read_blob_data_from_index(istate, path, NULL);
+ buf = read_blob_data_from_index(istate, path, &size);
if (!buf)
return NULL;
+ if (size >= ATTR_MAX_FILE_SIZE) {
+ warning(_("ignoring overly large gitattributes blob '%s'"), path);
+ return NULL;
+ }
res = xcalloc(1, sizeof(*res));
for (sp = buf; *sp; ) {
@@ -1012,12 +1037,12 @@ static int macroexpand_one(struct all_attrs_item *all_attrs, int nr, int rem);
static int fill_one(const char *what, struct all_attrs_item *all_attrs,
const struct match_attr *a, int rem)
{
- int i;
+ size_t i;
- for (i = a->num_attr - 1; rem > 0 && i >= 0; i--) {
- const struct git_attr *attr = a->state[i].attr;
+ for (i = a->num_attr; rem > 0 && i > 0; i--) {
+ const struct git_attr *attr = a->state[i - 1].attr;
const char **n = &(all_attrs[attr->attr_nr].value);
- const char *v = a->state[i].setto;
+ const char *v = a->state[i - 1].setto;
if (*n == ATTR__UNKNOWN) {
debug_set(what,
@@ -1036,11 +1061,11 @@ static int fill(const char *path, int pathlen, int basename_offset,
struct all_attrs_item *all_attrs, int rem)
{
for (; rem > 0 && stack; stack = stack->prev) {
- int i;
+ unsigned i;
const char *base = stack->origin ? stack->origin : "";
- for (i = stack->num_matches - 1; 0 < rem && 0 <= i; i--) {
- const struct match_attr *a = stack->attrs[i];
+ for (i = stack->num_matches; 0 < rem && 0 < i; i--) {
+ const struct match_attr *a = stack->attrs[i - 1];
if (a->is_macro)
continue;
if (path_matches(path, pathlen, basename_offset,
@@ -1071,11 +1096,11 @@ static void determine_macros(struct all_attrs_item *all_attrs,
const struct attr_stack *stack)
{
for (; stack; stack = stack->prev) {
- int i;
- for (i = stack->num_matches - 1; i >= 0; i--) {
- const struct match_attr *ma = stack->attrs[i];
+ unsigned i;
+ for (i = stack->num_matches; i > 0; i--) {
+ const struct match_attr *ma = stack->attrs[i - 1];
if (ma->is_macro) {
- int n = ma->u.attr->attr_nr;
+ unsigned int n = ma->u.attr->attr_nr;
if (!all_attrs[n].macro) {
all_attrs[n].macro = ma;
}
@@ -1127,7 +1152,7 @@ void git_check_attr(const struct index_state *istate,
collect_some_attrs(istate, path, check);
for (i = 0; i < check->nr; i++) {
- size_t n = check->items[i].attr->attr_nr;
+ unsigned int n = check->items[i].attr->attr_nr;
const char *value = check->all_attrs[n].value;
if (value == ATTR__UNKNOWN)
value = ATTR__UNSET;
diff --git a/attr.h b/attr.h
index b0378bf..f424285 100644
--- a/attr.h
+++ b/attr.h
@@ -1,6 +1,18 @@
#ifndef ATTR_H
#define ATTR_H
+/**
+ * The maximum line length for a gitattributes file. If the line exceeds this
+ * length we will ignore it.
+ */
+#define ATTR_MAX_LINE_LENGTH 2048
+
+ /**
+ * The maximum size of the giattributes file. If the file exceeds this size we
+ * will ignore it.
+ */
+#define ATTR_MAX_FILE_SIZE (100 * 1024 * 1024)
+
struct index_state;
/* An attribute is a pointer to this opaque structure */
diff --git a/t/t0003-attributes.sh b/t/t0003-attributes.sh
index 71e63d8..556245b 100755
--- a/t/t0003-attributes.sh
+++ b/t/t0003-attributes.sh
@@ -342,4 +342,63 @@ test_expect_success 'query binary macro directly' '
test_cmp expect actual
'
+test_expect_success 'large attributes line ignored in tree' '
+ test_when_finished "rm .gitattributes" &&
+ printf "path %02043d" 1 >.gitattributes &&
+ git check-attr --all path >actual 2>err &&
+ echo "warning: ignoring overly long attributes line 1" >expect &&
+ test_cmp expect err &&
+ test_must_be_empty actual
+'
+
+test_expect_success 'large attributes line ignores trailing content in tree' '
+ test_when_finished "rm .gitattributes" &&
+ # older versions of Git broke lines at 2048 bytes; the 2045 bytes
+ # of 0-padding here is accounting for the three bytes of "a 1", which
+ # would knock "trailing" to the "next" line, where it would be
+ # erroneously parsed.
+ printf "a %02045dtrailing attribute\n" 1 >.gitattributes &&
+ git check-attr --all trailing >actual 2>err &&
+ echo "warning: ignoring overly long attributes line 1" >expect &&
+ test_cmp expect err &&
+ test_must_be_empty actual
+'
+
+test_expect_success EXPENSIVE 'large attributes file ignored in tree' '
+ test_when_finished "rm .gitattributes" &&
+ dd if=/dev/zero of=.gitattributes bs=101M count=1 2>/dev/null &&
+ git check-attr --all path >/dev/null 2>err &&
+ echo "warning: ignoring overly large gitattributes file ${SQ}.gitattributes${SQ}" >expect &&
+ test_cmp expect err
+'
+
+test_expect_success 'large attributes line ignored in index' '
+ test_when_finished "git update-index --remove .gitattributes" &&
+ blob=$(printf "path %02043d" 1 | git hash-object -w --stdin) &&
+ git update-index --add --cacheinfo 100644,$blob,.gitattributes &&
+ git check-attr --cached --all path >actual 2>err &&
+ echo "warning: ignoring overly long attributes line 1" >expect &&
+ test_cmp expect err &&
+ test_must_be_empty actual
+'
+
+test_expect_success 'large attributes line ignores trailing content in index' '
+ test_when_finished "git update-index --remove .gitattributes" &&
+ blob=$(printf "a %02045dtrailing attribute\n" 1 | git hash-object -w --stdin) &&
+ git update-index --add --cacheinfo 100644,$blob,.gitattributes &&
+ git check-attr --cached --all trailing >actual 2>err &&
+ echo "warning: ignoring overly long attributes line 1" >expect &&
+ test_cmp expect err &&
+ test_must_be_empty actual
+'
+
+test_expect_success EXPENSIVE 'large attributes file ignored in index' '
+ test_when_finished "git update-index --remove .gitattributes" &&
+ blob=$(dd if=/dev/zero bs=101M count=1 2>/dev/null | git hash-object -w --stdin) &&
+ git update-index --add --cacheinfo 100644,$blob,.gitattributes &&
+ git check-attr --cached --all path >/dev/null 2>err &&
+ echo "warning: ignoring overly large gitattributes blob ${SQ}.gitattributes${SQ}" >expect &&
+ test_cmp expect err
+'
+
test_done
--
2.25.1

View File

@@ -0,0 +1,39 @@
From a244dc5b0a629290881641467c7a545de7508ab2 Mon Sep 17 00:00:00 2001
From: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Date: Tue, 2 Nov 2021 15:46:06 +0000
Subject: [PATCH 01/12] test-lib: add prerequisite for 64-bit platforms
Allow tests that assume a 64-bit `size_t` to be skipped in 32-bit
platforms and regardless of the size of `long`.
This imitates the `LONG_IS_64BIT` prerequisite.
Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Upstream-Status: Backport [https://github.com/git/git/commit/a244dc5b0a629290881641467c7a545de7508ab2]
CVE: CVE-2022-41903
Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
---
t/test-lib.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/t/test-lib.sh b/t/test-lib.sh
index e06fa02..db5ec2f 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -1613,6 +1613,10 @@ build_option () {
sed -ne "s/^$1: //p"
}
+test_lazy_prereq SIZE_T_IS_64BIT '
+ test 8 -eq "$(build_option sizeof-size_t)"
+'
+
test_lazy_prereq LONG_IS_64BIT '
test 8 -le "$(build_option sizeof-long)"
'
--
2.25.1

View File

@@ -0,0 +1,187 @@
From 81dc898df9b4b4035534a927f3234a3839b698bf Mon Sep 17 00:00:00 2001
From: Patrick Steinhardt <ps@pks.im>
Date: Thu, 1 Dec 2022 15:46:25 +0100
Subject: [PATCH 02/12] pretty: fix out-of-bounds write caused by integer overflow
When using a padding specifier in the pretty format passed to git-log(1)
we need to calculate the string length in several places. These string
lengths are stored in `int`s though, which means that these can easily
overflow when the input lengths exceeds 2GB. This can ultimately lead to
an out-of-bounds write when these are used in a call to memcpy(3P):
==8340==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7f1ec62f97fe at pc 0x7f2127e5f427 bp 0x7ffd3bd63de0 sp 0x7ffd3bd63588
WRITE of size 1 at 0x7f1ec62f97fe thread T0
#0 0x7f2127e5f426 in __interceptor_memcpy /usr/src/debug/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:827
#1 0x5628e96aa605 in format_and_pad_commit pretty.c:1762
#2 0x5628e96aa7f4 in format_commit_item pretty.c:1801
#3 0x5628e97cdb24 in strbuf_expand strbuf.c:429
#4 0x5628e96ab060 in repo_format_commit_message pretty.c:1869
#5 0x5628e96acd0f in pretty_print_commit pretty.c:2161
#6 0x5628e95a44c8 in show_log log-tree.c:781
#7 0x5628e95a76ba in log_tree_commit log-tree.c:1117
#8 0x5628e922bed5 in cmd_log_walk_no_free builtin/log.c:508
#9 0x5628e922c35b in cmd_log_walk builtin/log.c:549
#10 0x5628e922f1a2 in cmd_log builtin/log.c:883
#11 0x5628e9106993 in run_builtin git.c:466
#12 0x5628e9107397 in handle_builtin git.c:721
#13 0x5628e9107b07 in run_argv git.c:788
#14 0x5628e91088a7 in cmd_main git.c:923
#15 0x5628e939d682 in main common-main.c:57
#16 0x7f2127c3c28f (/usr/lib/libc.so.6+0x2328f)
#17 0x7f2127c3c349 in __libc_start_main (/usr/lib/libc.so.6+0x23349)
#18 0x5628e91020e4 in _start ../sysdeps/x86_64/start.S:115
0x7f1ec62f97fe is located 2 bytes to the left of 4831838265-byte region [0x7f1ec62f9800,0x7f1fe62f9839)
allocated by thread T0 here:
#0 0x7f2127ebe7ea in __interceptor_realloc /usr/src/debug/gcc/libsanitizer/asan/asan_malloc_linux.cpp:85
#1 0x5628e98774d4 in xrealloc wrapper.c:136
#2 0x5628e97cb01c in strbuf_grow strbuf.c:99
#3 0x5628e97ccd42 in strbuf_addchars strbuf.c:327
#4 0x5628e96aa55c in format_and_pad_commit pretty.c:1761
#5 0x5628e96aa7f4 in format_commit_item pretty.c:1801
#6 0x5628e97cdb24 in strbuf_expand strbuf.c:429
#7 0x5628e96ab060 in repo_format_commit_message pretty.c:1869
#8 0x5628e96acd0f in pretty_print_commit pretty.c:2161
#9 0x5628e95a44c8 in show_log log-tree.c:781
#10 0x5628e95a76ba in log_tree_commit log-tree.c:1117
#11 0x5628e922bed5 in cmd_log_walk_no_free builtin/log.c:508
#12 0x5628e922c35b in cmd_log_walk builtin/log.c:549
#13 0x5628e922f1a2 in cmd_log builtin/log.c:883
#14 0x5628e9106993 in run_builtin git.c:466
#15 0x5628e9107397 in handle_builtin git.c:721
#16 0x5628e9107b07 in run_argv git.c:788
#17 0x5628e91088a7 in cmd_main git.c:923
#18 0x5628e939d682 in main common-main.c:57
#19 0x7f2127c3c28f (/usr/lib/libc.so.6+0x2328f)
#20 0x7f2127c3c349 in __libc_start_main (/usr/lib/libc.so.6+0x23349)
#21 0x5628e91020e4 in _start ../sysdeps/x86_64/start.S:115
SUMMARY: AddressSanitizer: heap-buffer-overflow /usr/src/debug/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:827 in __interceptor_memcpy
Shadow bytes around the buggy address:
0x0fe458c572a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0fe458c572b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0fe458c572c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0fe458c572d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0fe458c572e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0fe458c572f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa[fa]
0x0fe458c57300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0fe458c57310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0fe458c57320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0fe458c57330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0fe458c57340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==8340==ABORTING
The pretty format can also be used in `git archive` operations via the
`export-subst` attribute. So this is what in our opinion makes this a
critical issue in the context of Git forges which allow to download an
archive of user supplied Git repositories.
Fix this vulnerability by using `size_t` instead of `int` to track the
string lengths. Add tests which detect this vulnerability when Git is
compiled with the address sanitizer.
Reported-by: Joern Schneeweisz <jschneeweisz@gitlab.com>
Original-patch-by: Joern Schneeweisz <jschneeweisz@gitlab.com>
Modified-by: Taylor Blau <me@ttalorr.com>
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Upstream-Status: Backport [https://github.com/git/git/commit/81dc898df9b4b4035534a927f3234a3839b698bf]
CVE: CVE-2022-41903
Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
---
pretty.c | 11 ++++++-----
t/t4205-log-pretty-formats.sh | 17 +++++++++++++++++
2 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/pretty.c b/pretty.c
index b32f036..637e344 100644
--- a/pretty.c
+++ b/pretty.c
@@ -1427,7 +1427,9 @@ static size_t format_and_pad_commit(struct strbuf *sb, /* in UTF-8 */
struct format_commit_context *c)
{
struct strbuf local_sb = STRBUF_INIT;
- int total_consumed = 0, len, padding = c->padding;
+ size_t total_consumed = 0;
+ int len, padding = c->padding;
+
if (padding < 0) {
const char *start = strrchr(sb->buf, '\n');
int occupied;
@@ -1439,7 +1441,7 @@ static size_t format_and_pad_commit(struct strbuf *sb, /* in UTF-8 */
}
while (1) {
int modifier = *placeholder == 'C';
- int consumed = format_commit_one(&local_sb, placeholder, c);
+ size_t consumed = format_commit_one(&local_sb, placeholder, c);
total_consumed += consumed;
if (!modifier)
@@ -1505,7 +1507,7 @@ static size_t format_and_pad_commit(struct strbuf *sb, /* in UTF-8 */
}
strbuf_addbuf(sb, &local_sb);
} else {
- int sb_len = sb->len, offset = 0;
+ size_t sb_len = sb->len, offset = 0;
if (c->flush_type == flush_left)
offset = padding - len;
else if (c->flush_type == flush_both)
@@ -1528,8 +1530,7 @@ static size_t format_commit_item(struct strbuf *sb, /* in UTF-8 */
const char *placeholder,
void *context)
{
- int consumed;
- size_t orig_len;
+ size_t consumed, orig_len;
enum {
NO_MAGIC,
ADD_LF_BEFORE_NON_EMPTY,
diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh
index f42a69f..a2acee1 100755
--- a/t/t4205-log-pretty-formats.sh
+++ b/t/t4205-log-pretty-formats.sh
@@ -788,4 +788,21 @@ test_expect_success '%S in git log --format works with other placeholders (part
test_cmp expect actual
'
+test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'log --pretty with huge commit message' '
+ # We only assert that this command does not crash. This needs to be
+ # executed with the address sanitizer to demonstrate failure.
+ git log -1 --pretty="format:%>(2147483646)%x41%41%>(2147483646)%x41" >/dev/null
+'
+
+test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'set up huge commit' '
+ test-tool genzeros 2147483649 | tr "\000" "1" >expect &&
+ huge_commit=$(git commit-tree -F expect HEAD^{tree})
+'
+
+test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'log --pretty with huge commit message' '
+ git log -1 --format="%B%<(1)%x30" $huge_commit >actual &&
+ echo 0 >>expect &&
+ test_cmp expect actual
+'
+
test_done
--
2.25.1

View File

@@ -0,0 +1,146 @@
From b49f309aa16febeddb65e82526640a91bbba3be3 Mon Sep 17 00:00:00 2001
From: Patrick Steinhardt <ps@pks.im>
Date: Thu, 1 Dec 2022 15:46:30 +0100
Subject: [PATCH 03/12] pretty: fix out-of-bounds read when left-flushing with stealing
With the `%>>(<N>)` pretty formatter, you can ask git-log(1) et al to
steal spaces. To do so we need to look ahead of the next token to see
whether there are spaces there. This loop takes into account ANSI
sequences that end with an `m`, and if it finds any it will skip them
until it finds the first space. While doing so it does not take into
account the buffer's limits though and easily does an out-of-bounds
read.
Add a test that hits this behaviour. While we don't have an easy way to
verify this, the test causes the following failure when run with
`SANITIZE=address`:
==37941==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x603000000baf at pc 0x55ba6f88e0d0 bp 0x7ffc84c50d20 sp 0x7ffc84c50d10
READ of size 1 at 0x603000000baf thread T0
#0 0x55ba6f88e0cf in format_and_pad_commit pretty.c:1712
#1 0x55ba6f88e7b4 in format_commit_item pretty.c:1801
#2 0x55ba6f9b1ae4 in strbuf_expand strbuf.c:429
#3 0x55ba6f88f020 in repo_format_commit_message pretty.c:1869
#4 0x55ba6f890ccf in pretty_print_commit pretty.c:2161
#5 0x55ba6f7884c8 in show_log log-tree.c:781
#6 0x55ba6f78b6ba in log_tree_commit log-tree.c:1117
#7 0x55ba6f40fed5 in cmd_log_walk_no_free builtin/log.c:508
#8 0x55ba6f41035b in cmd_log_walk builtin/log.c:549
#9 0x55ba6f4131a2 in cmd_log builtin/log.c:883
#10 0x55ba6f2ea993 in run_builtin git.c:466
#11 0x55ba6f2eb397 in handle_builtin git.c:721
#12 0x55ba6f2ebb07 in run_argv git.c:788
#13 0x55ba6f2ec8a7 in cmd_main git.c:923
#14 0x55ba6f581682 in main common-main.c:57
#15 0x7f2d08c3c28f (/usr/lib/libc.so.6+0x2328f)
#16 0x7f2d08c3c349 in __libc_start_main (/usr/lib/libc.so.6+0x23349)
#17 0x55ba6f2e60e4 in _start ../sysdeps/x86_64/start.S:115
0x603000000baf is located 1 bytes to the left of 24-byte region [0x603000000bb0,0x603000000bc8)
allocated by thread T0 here:
#0 0x7f2d08ebe7ea in __interceptor_realloc /usr/src/debug/gcc/libsanitizer/asan/asan_malloc_linux.cpp:85
#1 0x55ba6fa5b494 in xrealloc wrapper.c:136
#2 0x55ba6f9aefdc in strbuf_grow strbuf.c:99
#3 0x55ba6f9b0a06 in strbuf_add strbuf.c:298
#4 0x55ba6f9b1a25 in strbuf_expand strbuf.c:418
#5 0x55ba6f88f020 in repo_format_commit_message pretty.c:1869
#6 0x55ba6f890ccf in pretty_print_commit pretty.c:2161
#7 0x55ba6f7884c8 in show_log log-tree.c:781
#8 0x55ba6f78b6ba in log_tree_commit log-tree.c:1117
#9 0x55ba6f40fed5 in cmd_log_walk_no_free builtin/log.c:508
#10 0x55ba6f41035b in cmd_log_walk builtin/log.c:549
#11 0x55ba6f4131a2 in cmd_log builtin/log.c:883
#12 0x55ba6f2ea993 in run_builtin git.c:466
#13 0x55ba6f2eb397 in handle_builtin git.c:721
#14 0x55ba6f2ebb07 in run_argv git.c:788
#15 0x55ba6f2ec8a7 in cmd_main git.c:923
#16 0x55ba6f581682 in main common-main.c:57
#17 0x7f2d08c3c28f (/usr/lib/libc.so.6+0x2328f)
#18 0x7f2d08c3c349 in __libc_start_main (/usr/lib/libc.so.6+0x23349)
#19 0x55ba6f2e60e4 in _start ../sysdeps/x86_64/start.S:115
SUMMARY: AddressSanitizer: heap-buffer-overflow pretty.c:1712 in format_and_pad_commit
Shadow bytes around the buggy address:
0x0c067fff8120: fa fa fd fd fd fa fa fa fd fd fd fa fa fa fd fd
0x0c067fff8130: fd fd fa fa fd fd fd fd fa fa fd fd fd fa fa fa
0x0c067fff8140: fd fd fd fa fa fa fd fd fd fa fa fa fd fd fd fa
0x0c067fff8150: fa fa fd fd fd fd fa fa 00 00 00 fa fa fa fd fd
0x0c067fff8160: fd fa fa fa fd fd fd fa fa fa fd fd fd fa fa fa
=>0x0c067fff8170: fd fd fd fa fa[fa]00 00 00 fa fa fa 00 00 00 fa
0x0c067fff8180: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c067fff8190: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c067fff81a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c067fff81b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c067fff81c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Luckily enough, this would only cause us to copy the out-of-bounds data
into the formatted commit in case we really had an ANSI sequence
preceding our buffer. So this bug likely has no security consequences.
Fix it regardless by not traversing past the buffer's start.
Reported-by: Patrick Steinhardt <ps@pks.im>
Reported-by: Eric Sesterhenn <eric.sesterhenn@x41-dsec.de>
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Upstream-Status: Backport [https://github.com/git/git/commit/b49f309aa16febeddb65e82526640a91bbba3be3]
CVE: CVE-2022-41903
Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
---
pretty.c | 2 +-
t/t4205-log-pretty-formats.sh | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/pretty.c b/pretty.c
index 637e344..4348a82 100644
--- a/pretty.c
+++ b/pretty.c
@@ -1468,7 +1468,7 @@ static size_t format_and_pad_commit(struct strbuf *sb, /* in UTF-8 */
if (*ch != 'm')
break;
p = ch - 1;
- while (ch - p < 10 && *p != '\033')
+ while (p > sb->buf && ch - p < 10 && *p != '\033')
p--;
if (*p != '\033' ||
ch + 1 - p != display_mode_esc_sequence_len(p))
diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh
index a2acee1..e69caba 100755
--- a/t/t4205-log-pretty-formats.sh
+++ b/t/t4205-log-pretty-formats.sh
@@ -788,6 +788,12 @@ test_expect_success '%S in git log --format works with other placeholders (part
test_cmp expect actual
'
+test_expect_success 'log --pretty with space stealing' '
+ printf mm0 >expect &&
+ git log -1 --pretty="format:mm%>>|(1)%x30" >actual &&
+ test_cmp expect actual
+'
+
test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'log --pretty with huge commit message' '
# We only assert that this command does not crash. This needs to be
# executed with the address sanitizer to demonstrate failure.
--
2.25.1

View File

@@ -0,0 +1,150 @@
From f6e0b9f38987ad5e47bab551f8760b70689a5905 Mon Sep 17 00:00:00 2001
From: Patrick Steinhardt <ps@pks.im>
Date: Thu, 1 Dec 2022 15:46:34 +0100
Subject: [PATCH 04/12] pretty: fix out-of-bounds read when parsing invalid padding format
An out-of-bounds read can be triggered when parsing an incomplete
padding format string passed via `--pretty=format` or in Git archives
when files are marked with the `export-subst` gitattribute.
This bug exists since we have introduced support for truncating output
via the `trunc` keyword a7f01c6 (pretty: support truncating in %>, %<
and %><, 2013-04-19). Before this commit, we used to find the end of the
formatting string by using strchr(3P). This function returns a `NULL`
pointer in case the character in question wasn't found. The subsequent
check whether any character was found thus simply checked the returned
pointer. After the commit we switched to strcspn(3P) though, which only
returns the offset to the first found character or to the trailing NUL
byte. As the end pointer is now computed by adding the offset to the
start pointer it won't be `NULL` anymore, and as a consequence the check
doesn't do anything anymore.
The out-of-bounds data that is being read can in fact end up in the
formatted string. As a consequence, it is possible to leak memory
contents either by calling git-log(1) or via git-archive(1) when any of
the archived files is marked with the `export-subst` gitattribute.
==10888==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000000398 at pc 0x7f0356047cb2 bp 0x7fff3ffb95d0 sp 0x7fff3ffb8d78
READ of size 1 at 0x602000000398 thread T0
#0 0x7f0356047cb1 in __interceptor_strchrnul /usr/src/debug/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:725
#1 0x563b7cec9a43 in strbuf_expand strbuf.c:417
#2 0x563b7cda7060 in repo_format_commit_message pretty.c:1869
#3 0x563b7cda8d0f in pretty_print_commit pretty.c:2161
#4 0x563b7cca04c8 in show_log log-tree.c:781
#5 0x563b7cca36ba in log_tree_commit log-tree.c:1117
#6 0x563b7c927ed5 in cmd_log_walk_no_free builtin/log.c:508
#7 0x563b7c92835b in cmd_log_walk builtin/log.c:549
#8 0x563b7c92b1a2 in cmd_log builtin/log.c:883
#9 0x563b7c802993 in run_builtin git.c:466
#10 0x563b7c803397 in handle_builtin git.c:721
#11 0x563b7c803b07 in run_argv git.c:788
#12 0x563b7c8048a7 in cmd_main git.c:923
#13 0x563b7ca99682 in main common-main.c:57
#14 0x7f0355e3c28f (/usr/lib/libc.so.6+0x2328f)
#15 0x7f0355e3c349 in __libc_start_main (/usr/lib/libc.so.6+0x23349)
#16 0x563b7c7fe0e4 in _start ../sysdeps/x86_64/start.S:115
0x602000000398 is located 0 bytes to the right of 8-byte region [0x602000000390,0x602000000398)
allocated by thread T0 here:
#0 0x7f0356072faa in __interceptor_strdup /usr/src/debug/gcc/libsanitizer/asan/asan_interceptors.cpp:439
#1 0x563b7cf7317c in xstrdup wrapper.c:39
#2 0x563b7cd9a06a in save_user_format pretty.c:40
#3 0x563b7cd9b3e5 in get_commit_format pretty.c:173
#4 0x563b7ce54ea0 in handle_revision_opt revision.c:2456
#5 0x563b7ce597c9 in setup_revisions revision.c:2850
#6 0x563b7c9269e0 in cmd_log_init_finish builtin/log.c:269
#7 0x563b7c927362 in cmd_log_init builtin/log.c:348
#8 0x563b7c92b193 in cmd_log builtin/log.c:882
#9 0x563b7c802993 in run_builtin git.c:466
#10 0x563b7c803397 in handle_builtin git.c:721
#11 0x563b7c803b07 in run_argv git.c:788
#12 0x563b7c8048a7 in cmd_main git.c:923
#13 0x563b7ca99682 in main common-main.c:57
#14 0x7f0355e3c28f (/usr/lib/libc.so.6+0x2328f)
#15 0x7f0355e3c349 in __libc_start_main (/usr/lib/libc.so.6+0x23349)
#16 0x563b7c7fe0e4 in _start ../sysdeps/x86_64/start.S:115
SUMMARY: AddressSanitizer: heap-buffer-overflow /usr/src/debug/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:725 in __interceptor_strchrnul
Shadow bytes around the buggy address:
0x0c047fff8020: fa fa fd fd fa fa 00 06 fa fa 05 fa fa fa fd fd
0x0c047fff8030: fa fa 00 02 fa fa 06 fa fa fa 05 fa fa fa fd fd
0x0c047fff8040: fa fa 00 07 fa fa 03 fa fa fa fd fd fa fa 00 00
0x0c047fff8050: fa fa 00 01 fa fa fd fd fa fa 00 00 fa fa 00 01
0x0c047fff8060: fa fa 00 06 fa fa 00 06 fa fa 05 fa fa fa 05 fa
=>0x0c047fff8070: fa fa 00[fa]fa fa fd fa fa fa fd fd fa fa fd fd
0x0c047fff8080: fa fa fd fd fa fa 00 00 fa fa 00 fa fa fa fd fa
0x0c047fff8090: fa fa fd fd fa fa 00 00 fa fa fa fa fa fa fa fa
0x0c047fff80a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c047fff80b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c047fff80c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==10888==ABORTING
Fix this bug by checking whether `end` points at the trailing NUL byte.
Add a test which catches this out-of-bounds read and which demonstrates
that we used to write out-of-bounds data into the formatted message.
Reported-by: Markus Vervier <markus.vervier@x41-dsec.de>
Original-patch-by: Markus Vervier <markus.vervier@x41-dsec.de>
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Upstream-Status: Backport [https://github.com/git/git/commit/f6e0b9f38987ad5e47bab551f8760b70689a5905]
CVE: CVE-2022-41903
Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
---
pretty.c | 2 +-
t/t4205-log-pretty-formats.sh | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/pretty.c b/pretty.c
index 4348a82..c49e818 100644
--- a/pretty.c
+++ b/pretty.c
@@ -1024,7 +1024,7 @@ static size_t parse_padding_placeholder(const char *placeholder,
const char *end = start + strcspn(start, ",)");
char *next;
int width;
- if (!end || end == start)
+ if (!*end || end == start)
return 0;
width = strtol(start, &next, 10);
if (next == start || width == 0)
diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh
index e69caba..8a349df 100755
--- a/t/t4205-log-pretty-formats.sh
+++ b/t/t4205-log-pretty-formats.sh
@@ -794,6 +794,12 @@ test_expect_success 'log --pretty with space stealing' '
test_cmp expect actual
'
+test_expect_success 'log --pretty with invalid padding format' '
+ printf "%s%%<(20" "$(git rev-parse HEAD)" >expect &&
+ git log -1 --pretty="format:%H%<(20" >actual &&
+ test_cmp expect actual
+'
+
test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'log --pretty with huge commit message' '
# We only assert that this command does not crash. This needs to be
# executed with the address sanitizer to demonstrate failure.
--
2.25.1

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