Compare commits

...

148 Commits

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

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:44:16 -10:00
Steve Sakoman
326921a89e poky.conf: bump version for 4.0.12
(From meta-yocto rev: 464204a5e52a3f3ae5d7ec9e36c143ca06fed3eb)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Steve Sakoman
ab9b43f60b 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: b6f4b3d43a399c2b446754de56ebea35657e13de)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Peter Marko
7e2d3b8346 openssl: Upgrade 3.0.9 -> 3.0.10
https://github.com/openssl/openssl/blob/openssl-3.0/NEWS.md#major-changes-between-openssl-309-and-openssl-3010-1-aug-2023
Major changes between OpenSSL 3.0.9 and OpenSSL 3.0.10 [1 Aug 2023]
* Fix excessive time spent checking DH q parameter value (CVE-2023-3817)
* Fix DH_check() excessive time with over sized modulus (CVE-2023-3446)
* Do not ignore empty associated data entries with AES-SIV (CVE-2023-2975)

(From OE-Core rev: 94ce10791ce10aa30d3a3bdef53f9b2f3c1b331a)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Sundeep KOKKONDA
e8c1d3e07e gcc : upgrade to v11.4
gcc stable version upgraded from v11.3 to v11.4

For changes in v11.4 see - https://gcc.gnu.org/gcc-11/changes.html

Below is the bug fix list for v11.4
https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&order=short_desc%2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&query_format=advanced&resolution=FIXED&target_milestone=11.4

There are a total 115 bugs are fixed in this release, below is the list of bugs fixed excluding the regression fixes.

ID	Product	Comp	    Resolution	Summary▲
108199	gcc	tree-opt	FIXE	Bitfields, unions and SRA and storage_order_attribute
107801	gcc	libstdc+	FIXE	Building cross compiler for H8 family fails in libstdc++ (c++17/memory_resource.cc)
108265	gcc	libstdc+	FIXE	chrono::hh_mm_ss can't be constructed from unsigned durations
104443	gcc	libstdc+	FIXE	common_iterator<I, S>::operator-> is not correctly implemented
98056	gcc	c++		FIXE	coroutines: ICE tree check: expected record_type or union_type or qual_union_type, have array_type since r11-2183-g0f66b8486cea8668
107061	gcc	target		FIXE	ENCODEKEY128 clobbers xmm4-xmm6
105433	gcc	testsuit	FIXE	FAIL: gcc.target/i386/iamcu/test_3_element_struct_and_unions.c
105095	gcc	testsuit	FIXE	gcc.dg/vect/complex/fast-math-complex-* tests are not executed
100474	gcc	c++		FIXE	ICE: in diagnose_trait_expr, at cp/constraint.cc:3706
105854	gcc	target		FIXE	ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints: sse2_lshrv1ti3)
104462	gcc	target		FIXE	ICE: in extract_constrain_insn_cached, at recog.cc:2682 with -mavx512fp16 -mno-xsave
106045	gcc	libgomp		FIXE	Incorrect testcase in libgomp.c/target-31.c at -O0
56189	gcc	c++		FIXE	Infinite recursion with noexcept when instantiating function template
100295	gcc	c++		FIXE	Internal compiler error from generic lambda capturing parameter pack and expanding it in if constexpr
100613	gcc	jit		FIXE	libgccjit should produce dylib on macOS
104875	gcc	libstdc+	FIXE	libstdc++-v3/src/c++11/codecvt.cc:312:24: warning: left shift count >= width of type
107471	gcc	libstdc+	FIXE	mismatching constraints in common_iterator
105284	gcc	libstdc+	FIXE	missing syncstream and spanstream forward decl. in <iosfwd>
98821	gcc	c++		FIXE	modules : c++tools configures with CC but code fragments assume CXX.
109846	gcc	fortran		FIXE	Pointer-valued function reference rejected as actual argument
101324	gcc	target		FIXE	powerpc64le: hashst appears before mflr at -O1 or higher
102479	gcc	c++		FIXE	segfault when deducing class template arguments for tuple with libc++-14
105128	gcc	libstdc+	FIXE	source_location compile error for latest clang 15
106183	gcc	libstdc+	FIXE	std::atomic::wait might fail to be unblocked by notify_one/all on platforms without platform_wait()
102994	gcc	libstdc+	FIXE	std::atomic<ptr>::wait is not marked const
105324	gcc	libstdc+	FIXE	std::from_chars() assertion at floating_from_chars.cc:78 when parsing 1.11111111....
105375	gcc	libstdc+	FIXE	std::packaged_task has no deduction guide.
104602	gcc	libstdc+	FIXE	std::source_location::current uses cast from void*
106808	gcc	libstdc+	FIXE	std::string_view range concept requirement causes compile error with Boost.Filesystem
105725	gcc	c++		FIXE	[ICE] segfault with `-Wmismatched-tags`
105920	gcc	target		FIXE	__builtin_cpu_supports ("f16c") should check AVX

(From OE-Core rev: 4fd7e5951c42336729f12cde71450ec298f2078b)

Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Yuta Hayama
cd1d34d510 cve-update-nvd2-native: always pass str for json.loads()
Currently json.loads() accepts one of the types str, bytes, or bytearray
as an argument, but bytes and bytearrays have only been allowed since
python 3.6. The version of Python3 provided by default on Ubuntu 16.04
and Debian 9.x is 3.5, so make raw_data type str to work correctly on
these build hosts.

(From OE-Core rev: e67d659847afe648de1b1eca2d19c4f6375dd12c)

Signed-off-by: Yuta Hayama <hayama@lineo.co.jp>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Sakib Sajal
1aae734721 go: fix CVE-2023-24531
Backport required patches from go1.21 to fix CVE-2023-24531.

(From OE-Core rev: 6d892c52bd5806507a05e8b6f749c54bbd9e9da6)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Sakib Sajal
1ba43f2c88 go: fix CVE-2023-24536
Backport required patches to fix CVE-2023-24536.

(From OE-Core rev: a774c895f4a425979cef8e05e8dd17c2dcb67654)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Archana Polampalli
ae7992e3b7 qemu: fix CVE-2023-2861
9pfs: prevent opening special files

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

Upstream patches:
10fad73a2b

(From OE-Core rev: 9bd4ddeb4b5efc65b0514d50d6991211271924c1)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:43 -10:00
Archana Polampalli
76f6267368 qemu: fix CVE-2023-3255
VNC: infinite loop in inflate_buffer() leads to denial of service

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

Upstream patches:
d921fea338

(From OE-Core rev: 52711b1392ed0c5cbe4ddf70a94b21be2f4e6e58)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:43 -10:00
Archana Polampalli
2587c36e87 qemu: fix CVE-2023-3301
qemu: hotplug/hotunplug mlx vdpa device to the occupied addr port,
then qemu core dump occurs after shutdown guest

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

Upstream patches:
a0d7215e33

(From OE-Core rev: f549ff6db018f66a80fc65987675e8bb6afcd002)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:43 -10:00
Peter Marko
cd329fc984 libarchive: ignore CVE-2023-30571
This issue was reported and discusses under [1] which is linked in NVD CVE report.
It was already documented that some parts or libarchive are thread safe and some not.
[2] was now merged to document that also reported function is not thread safe.
So this CVE *now* reports thread race condition for non-thread-safe function.
And as such the CVE report is now invalid.

The issue is still not closed for 2 reasons:
* better document what is and what is not thread safe
* request to public if someone could make these functions thread safe
This should however not invalidate above statment about ignoring this CVE.

[1] https://github.com/libarchive/libarchive/issues/1876
[2] https://github.com/libarchive/libarchive/pull/1875

(From OE-Core rev: d5e7971e12cdc8748be91b4e6408b42fa86b2f15)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:43 -10:00
Peter Marko
9ceede321a libpcre2: patch CVE-2022-41409
Backport commit mentioned in NVD DB links.
94e1c00176

(From OE-Core rev: 410cdbc70cfba709ec5bef508e772f52514ba28a)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:43 -10:00
Alexander Kanavin
7fdfb828fd bitbake: bitbake-layers: initialize tinfoil before registering command line arguments
Plugins may want to use it (e.g. the layers-setup plugin that would
want to discover writer sub-plugins with it), and so it makes sense
to make tinfoil available a bit eariler.

(Bitbake rev: 41b6684489d0261753344956042be2cc4adb0159)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2f6c7523a622f59ddf84a1a196927492bc5fa7a2)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-04 04:43:41 -10:00
Michael Opdenacker
fa7dd8ac75 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,
especially since meta-gplv2 is officially obsolete.

(From yocto-docs rev: 4dfef81ac6164764c6541e39a9fef81d49227096)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Benjamin Bouvier
96404a7c4c util-linux: add alternative links for ipcs,ipcrm
When enabling ipcs and ipcrm configuration into busybox, both tools are
built and then deployed during do_rootfs. These operation lead to below
issue (similar behavior happens for ipcs):

do_rootfs: Postinstall scriptlets of ['busybox'] have failed. If the intention is to defer them to first boot,
then please place them into pkg_postinst_ontarget:${PN} ().

update-alternatives: Error: not linking .../build/tmp/work/board-poky-linux/board-image/1.0-r0/rootfs/usr/bin/ipcrm
to /bin/busybox since .../build/tmp/work/board-poky-linux/board-image/1.0-r0/rootfs/usr/bin/ipcrm exists and is not a link

Binaries enter in conflict with same named util-linux utilities during
do_rootfs step.
Adding ALTERNATIVE_LINK_NAME for both tools fix the issue.

(From OE-Core rev: dc2e760591c5ed3c999222f235484829426c71a7)

Signed-off-by: Benjamin Bouvier <benjamin.bouvier@ekinops.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e4d60408b869c9cc2ccff794d4e271d993ec8a97)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Jose Quaresma
f285505e20 openssl: use a glob on the PERLEXTERNAL to track updates on the path
The Text-Template was updated from 1.46 to 1.56

| ERROR: openssl-native-3.1.1-r0 do_configure: PERLEXTERNAL '/build/tmp/work/x86_64-linux/openssl-native/3.1.1-r0/openssl-3.1.1/external/perl/Text-Template-1.46/lib' not found!

(From OE-Core rev: b39e394771e4fa4c9250e11fafe5ef2157089422)

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b9a7739b01e31d0cc8358d99255e3e1b02a0a1a8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Jose Quaresma
03ae07181a openssl: add PERLEXTERNAL path to test its existence
When upstream change is better to fail or removing the PERL5LIB
if they are not need anymore.

(From OE-Core rev: 14905c6bfdaba3e2e31eaee6c02e20bf7b6669a7)

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 337ac1159644678508990927923ef8af30f34cd7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Yoann Congal
d97c5782be oeqa/selftest/devtool: add unit test for "devtool add -b"
Fix [Yocto #15085]

Co-authored-by: Fawzi KHABER <fawzi.khaber@smile.fr>
(From OE-Core rev: ea1592b49c6b45495fe9243339fc4dc9cea9ef12)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d5eedf8ca689ccb433c2f5d0b324378f966dd627)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Ross Burton
a22efd0373 oeqa/runtime/cases/rpm: fix wait_for_no_process_for_user failure case
str.format() doesn't use % notation, update the formatting to work.

assertTrue() is a member of self not a global, and assertTrue(True) will
always pass. Change this to just self.fail() as this is the failure case.

(From OE-Core rev: 05c8af81438d43fd83495cb165c75f43778fea41)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 017f3a0b1265c1a3b69c20bdb56bbf446111977e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Khem Raj
56f316630a meson.bbclass: Point to llvm-config from native sysroot
Default search in meson would grok /usr/bin for llvm-config and if found
will use it, which might add wrong paths into cflags/ldflags, since we
depend on llvm-native when building gallium support ( thats when
llvm-config is effective), its better to point llvm-config into native
sysroot so it can add correct paths into compiler/linker cmdline

(From OE-Core rev: 8e6b616066ba0f7f452f929dc7c412e620da9101)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cc73360b9728812ed6123e30559b77d8e89cc21c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Ross Burton
4b5f2ecf67 python3: fix missing comma in get_module_deps3.py
Wes Tarro <wes.tarro@azuresummit.com> noticed a missing comma in a
preplace() call, add it.

That said, calling replace() with one argument results in a TypeError,
so this is obviously dead code.

(From OE-Core rev: 3a79a210665efae1af6d68e9e923a739c82d800e)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9b2e2c8d809e7ca34451ec9702b029a00dfb410b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Ovidiu Panait
c094bb4a46 mdadm: skip running known broken ptests
Upstream marked some testcases as "KNOWN BROKEN" and introduced the
"--skip-broken" flag to ignore them when running the testsuite (commits [1]
and [2]). Backport these two commits to get rid of the last remaining ptest
failures.

Also, add the "--skip-broken" option to the run-ptest script.

[1] https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=28520bf114b3
[2] https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=daa86d663476

(From OE-Core rev: 62daa4ca064da1c014b9c21798bc55ff3e7656e6)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 62148b978b26b5fcd1a2fa3a0ff82ef814f4e7ec)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Ovidiu Panait
e715193ee6 mdadm: fix segfaults when running ptests
Currently, some segfaults are reported when running ptest:
mdadm[12333]: segfault at 0 ip 00007fe855924060 sp 00007ffc4d6caf88 error 4 in libc.so.6[7f)
Code: d2 0f 84 b7 0f 00 00 48 83 fa 01 0f 84 b9 0f 00 00 49 89 d3 89 f1 89 f8 48 83 e1 3f 4f

Backport the following upstream commits to fix them:
679bd9508a30 ("DDF: Cleanup validate_geometry_ddf_container()")
2b93288a5650 ("DDF: Fix NULL pointer dereference in validate_geometry_ddf()")
548e9b916f86 ("mdadm/Grow: Fix use after close bug by closing after fork")
9ae62977b51d ("monitor: Avoid segfault when calling NULL get_bad_blocks")

The fixes are part of the "Bug fixes and testing improvments" patchset [1].

[1] https://www.spinics.net/lists/raid/msg70621.html

(From OE-Core rev: 4ea6acbf25ad1b3e910f01d136b53c6353daf0c5)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9585009e3e505b361cd32b14e0e85e77e7822878)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Ovidiu Panait
1d0454b413 mdadm: fix 07revert-inplace ptest
Testcase 07revert-inplace fails if strace is not installed:
...
strace -o /tmp/str ./mdadm -A /dev/md0 --update=revert-reshape /dev/<...>
tests/07revert-inplace: line 40: strace: command not found

Add strace to mdadm-ptest RDEPENDS to make sure the testcase passes even with
a core-image-minimal build.

(From OE-Core rev: 1df8d9d45bb4ff01e30d9ec9ffd0fb822d5f91e9)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7d9386663ac52ab69812867a0823c6055aedbc18)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Ovidiu Panait
06416b34a0 mdadm: fix util-linux ptest dependency
Trying to run mdadm-ptest in a core-image-minimal build will result in:
root@qemux86-64:~# ptest-runner mdadm
START: ptest-runner
BEGIN: /usr/lib/mdadm/ptest
which: no lsblk in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin)
lsblk command not found!
DURATION: 0
END: /usr/lib/mdadm/ptest
2023-06-28T10:14
STOP: ptest-runner
TOTAL: 1 FAIL: 0

Remove util-linux from RRECOMMENDS and only add util-linux-lsblk and
util-linux-losetup to RDEPENDS.

(From OE-Core rev: 898b9add68d9c30c7c90285e659b128289313668)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3004f7589974c135cc82630d980ea281b97ecd83)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Quentin Schulz
b1e2d14d88 uboot-extlinux-config.bbclass: fix old override syntax in comment
The comment specifies how to use the variables but uses the older and
now unsupported override syntax. Let's update to match the newer syntax.

Cc: Quentin Schulz <foss+yocto@0leil.net>
(From OE-Core rev: 0a381eea4d50ff1c6e7c7d0d4df62eb581454b48)

(From OE-Core rev: 0e9a70ee3c8f78db746d3cb627c6b212e1b4e4e4)

Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bb64f3fed29b9532e6ddc9a2ba0283d373622d87)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Yuta Hayama
162ca7a55c systemd-systemctl: fix errors in instance name expansion
If the instance name indicated by %i begins with a number, the meaning of the
replacement string "\\1{}".format(instance) is ambiguous.

To indicate group number 1 regardless of the instance name, use "\g<1>".

(From OE-Core rev: 392f60b0aa775ce95c3494ae87551e7954c9925b)

Signed-off-by: Yuta Hayama <hayama@lineo.co.jp>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d18b939fb08b37380ce95934da38e6522392621c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Yoann Congal
23af44f254 recipetool: Fix inherit in created -native* recipes
native and nativesdk classes are special and must be inherited last :
put them at the end of the gathered classes to inherit.

(From OE-Core rev: 2c92780236b25205af0dcf75de2d2ede14132152)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a6614fd800cbe791264aeb102d379ba79bd145c2)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Andrej Valek
0391bb6f9e kernel: add missing path to search for debug files
Since explicit debug package creation via ${KERNEL_PACKAGE_NAME}-dbg has
been added to kernel, it has to cover all PACKAGE_DEBUG_SPLIT_STYLE
options. For ex. when the variable "debug-file-directory" package search
path has to be set explicitly, otherwise it will not find any files.

(From OE-Core rev: 9adbda8450c57f49edf85e3b3433304e8ac8267e)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9c39da147683dcaaa244b3ddc4531c4408ad5c9e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Martin Jansa
2e4bdbc5c4 libxcrypt: fix build with perl-5.38 and use master branch
* fixes do_configure failure:
  checking whether all ucontext.h functions are available... yes
  when is deprecated at libxcrypt/4.4.30-r0/git/build-aux/scripts/BuildCommon.pm line 522.
  Compilation failed in require at ../git/build-aux/scripts/expand-selected-hashes line 28.
  BEGIN failed--compilation aborted at ../git/build-aux/scripts/expand-selected-hashes line 28.
  configure: error: bad value 'all' for --enable-hashes
  NOTE: The following config.log files may provide further information.

* with this patch backported it works OK:
  libxcrypt/4.4.30-r0/git $ perl build-aux/scripts/expand-selected-hashes
  usage: expand-selected-hashes hashes.conf names,of,selected,hashes

* similarly do_compile failure:
  ../git/build-aux/scripts/move-if-change crypt-hashes.h.T crypt-hashes.h
  ../git/build-aux/scripts/move-if-change crypt-symbol-vers.h.T crypt-symbol-vers.h
  given is deprecated at ../git/build-aux/scripts/gen-crypt-h line 41.
  Makefile:3818: Makefile.deps: No such file or directory
  make: *** [Makefile:3715: crypt.h.stamp] Error 255

* also use master branch instead of develop, the SRCREV exists in both
  but stable metadata branches should track stable component branches

  libxcrypt/4.4.30-r0/git $ git branch -a --contains d7fe1ac04c326dba7e0440868889d1dccb41a175 | tee
  * develop
    remotes/origin/HEAD -> origin/develop
    remotes/origin/develop
    remotes/origin/master

  and oe-core master also uses master SRCBRANCH since:
  https://git.openembedded.org/openembedded-core/commit/?id=d18e89bd2b46c6e266cc39dbe9fdb6c032f5f1fe

(From OE-Core rev: 54996f24243a10252d3aa70effc9c13db1d507f8)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Wang Mingyu
f2394b13c1 lttng-ust: upgrade 2.13.5 -> 2.13.6
Changelog:
===========
* Fix: segmentation fault on filter interpretation in "switch" mode
* Fix: `ip` context is expressed as a base-10 field
* Fix: c99: use __asm__ __volatile__
* Fix: c99: static assert: clang build fails due to multiple typedef
* Fix: Reevaluate LTTNG_UST_TRACEPOINT_DEFINE each time tracepoint.h is included
* Fix: trace events in C++ constructors/destructors
* Fix: trace events in C constructors/destructors
* Fix: use unaligned pointer accesses for lttng_inline_memcpy

(From OE-Core rev: 1361c8f4be21e41db74623dcacc92d8f02e6a2ee)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 656470b4b0db579308d218d1ece77bdacd168d14)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Wang Mingyu
f51ce76cd8 libksba: upgrade 1.6.3 -> 1.6.4
Changelog:
Correctly detect CMS write errors.

(From OE-Core rev: 4bc2f5c3a46b76d152fda326f7c8227fe938b97e)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0296cf63007542c1cb209a4288be1c82aa2ba843)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Wang Mingyu
f01294ea24 libassuan: upgrade 2.5.5 -> 2.5.6
Changelog:
===========
 * Fix logging of confidential data.  [rA0fc31770fa]
 * Fix memory wiping.  [T5977]
 * Fix macOS build problem.  [T5440,T5610]
 * Upgrade autoconf stuff.

(From OE-Core rev: a905094c4e7ff3475de657adcf7a0afcc132191a)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 90126be6dc32170c08eb90223b6a6cc06c2133ce)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Alexander Kanavin
9cc2735749 diffutils: update 3.9 -> 3.10
* Noteworthy changes in release 3.10 (2023-05-21) [stable]

** Bug fixes

  cmp/diff can again work with file dates past Y2K38
  [bug introduced in 3.9]

  diff -D no longer fails to output #ifndef lines.
  [bug#61193 introduced in 3.9]

Remove the comment addition from the patch body, as it
increases likelyhood of rebase conflicts, and repeats what
the commit says.

(From OE-Core rev: ab9ae300ce3895cdf64d207b5dc281b65c984211)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 925155acc6922f7e9df2afa45e79ad1b2c57ba24)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 21e40166870fadee986fb36be80019d3bcdb69e5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Tim Orling
7658d8f2c9 python3: upgrade 3.10.9 -> 3.10.12
Security and bugfix updates.

* Drop cve-2023-24329.patch as it is merged in 3.10.12

CVE: CVE-2023-24329

Includes openssl 1.1.1u which addresses:
CVE: CVE-2023-0286
CVE: CVE-2022-4304
CVE: CVE-2022-4203

https://docs.python.org/release/3.10.12/whatsnew/changelog.html#python-3-10-12-final
https://docs.python.org/release/3.10.12/whatsnew/changelog.html#python-3-10-11-final
https://docs.python.org/release/3.10.12/whatsnew/changelog.html#python-3-10-10-final

License-Update: Update Copyright years to include 2023

(From OE-Core rev: 4df594dbc1b391afbe703f663fb2d5c9e9d35078)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Yogita Urade
f4c5d9a3a6 dmidecode: fix CVE-2023-30630
Dmidecode before 3.5 allows -dump-bin to overwrite a local file.
This has security relevance because, for example, execution of
Dmidecode via Sudo is plausible.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-30630
https://lists.nongnu.org/archive/html/dmidecode-devel/2023-04/msg00016.html
https://lists.nongnu.org/archive/html/dmidecode-devel/2023-04/msg00017.html

Backport: fixes fuzz in the CVE-2023-30630_2.patch in kirkstone

(From OE-Core rev: 4f83427a0a01e8285c9eb42d2a635d1ff7b23779)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit f92e59a0894145a828dc9ac74bf8c7a9355e0587)
Signed-off-by: Dhairya Nagodra <dnagodra@cisco.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Archana Polampalli
e01d123ba1 openssh: fix CVE-2023-38408
The PKCS#11 feature in ssh-agent in OpenSSH before 9.3p2 has an
insufficiently trustworthy search path, leading to remote code
execution if an agent is forwarded to an attacker-controlled system.
(Code in /usr/lib is not necessarily safe for loading into ssh-agent.)
NOTE: this issue exists because of an incomplete fix for CVE-2016-10009.

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

Upstream patches:
892506b136
1f2731f5d7
29ef8a0486
099cdf59ce

(From OE-Core rev: 3c01159ab6a843fc922cf779b022c965d4ecd453)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Hitendra Prajapati
d198c0d738 libtiff: fix CVE-2023-26965 heap-based use after free
Upstream-Status: Backport from ec8ef90c1f

(From OE-Core rev: 9b9f88d8828ee822635ed645cc192829fecec39e)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Hitendra Prajapati
3c2e546a1a tiff: fix multiple CVEs
Backport fixes for:
* CVE-2023-25433 - Upstream-Status: Backport from 9c22495e5e && 688012dca2
* CVE-2023-25434 & CVE-2023-25435 - Upstream-Status: Backport from 69818e2f2d

(From OE-Core rev: 01b9f7f7bb3eaecd6aa757fa090fcc4424788ce1)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:13 -10:00
Vivek Kumbhar
4596433a54 go: fix CVE-2023-29406 net/http insufficient sanitization of Host header
(From OE-Core rev: 5dc74138649ab7a2c0158a43225dc7a8fd732355)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:12 -10:00
Hitendra Prajapati
51f8011956 tiff: fix multiple CVEs
Bug-Debian: https://bugs.debian.org/1031632
Origin: afaabc3e50

import 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-2023-0795
CVE-2023-0796
CVE-2023-0797
CVE-2023-0798
CVE-2023-0799

(From OE-Core rev: 1a4e54d5b7b4d26b9fcdc2be1b115600ca71c9ea)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:12 -10:00
Peter Marko
ffce38bad0 python3: ignore CVE-2023-36632
This CVE shouldn't have been filed as the "exploit" is described in the
documentation as how the library behaves.

(From OE-Core rev: 9665121fd9daf1174ec4045071b900de9195b11e)

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 c652f094d86c4efb7ff99accba63b8169493ab18)
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:12 -10:00
Peter Marko
f24230b04b libjpeg-turbo: patch CVE-2023-2804
Relevant links:
* linked fronm NVD:
  * https://github.com/libjpeg-turbo/libjpeg-turbo/issues/668#issuecomment-1492586118
* follow-up analysis:
  * https://github.com/libjpeg-turbo/libjpeg-turbo/issues/668#issuecomment-1496473989
  * picked commits fix all issues mentioned in this analysis

(From OE-Core rev: ca8ede6d29c04159e85c2bdd2b635c58ec6a1484)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:12 -10:00
Xiangyu Chen
6539812e23 package.bbclass: moving field data process before variable process in process_pkgconfig
Currently, the latest version abseil-cpp contains a new library named "absl_log_internal_format", it's
basic package config(.pc file) as below:

prefix=/usr
exec_prefix=${prefix}

......

Requires: absl_config = 20230125, absl_core_headers = 20230125, absl_log_internal_append_truncated = 20230125,
absl_log_internal_config = 20230125, absl_log_internal_globals = 20230125, absl_log_severity = 20230125,
absl_strings = 20230125, absl_str_format = 20230125, absl_time = 20230125, absl_span = 20230125
......

Normally, the process_pkgconfig() would process variable data before field data in a .pc file, but in the
absl_log_internal_format, the field data in "Requires" section contains "xxxx = xxxx" format, the
process_pkgconfig() treats them as normal variable and using the setVar() in bitbake's data_smart.py
try to process. The absl_log_internal_format field data contains "_append_", this hit the setVar() checking
and finally bitbake stop building and reporting an error as below:

"Variable xxx contains an operation using the old override syntax. Please convert this layer/metadata before attempting to use with a newer bitbake."

This patch move the field data process before variable process to avoid the process_pkgconfig() treat the field
data as variable.

(From OE-Core rev: e7d3e02a624f7ce23d012bb11ad1df2049066b37)

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
(cherry picked from commit a73e269d3e591a10bb397b94b82e3fb960112d33)
Signed-off-by: Clément Péron <peron.clem@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Richard Purdie
55e4c90abf gcc-testsuite: Fix ppc cpu specification
After this change in qemu:

c7e89de132

there is no 'max' cpu model on ppc. Drop it to clean up ppc gcc testsuite failures.

In order for this to work we do need to pull in the alternative cpu option from
QEMU_EXTRAOPTIONS on powerpc.

(From OE-Core rev: 3a1b9f300a796e1216d0094043dba7b0f39ec869)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c447f2b21b20fb2b1829d540af2cc0bf8242700c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Ross Burton
a2bf83842a machine/arch-arm64: add -mbranch-protection=standard
Enable branch protection (PAC/BTI) for all aarch64 builds.  This was
previously enabled at a global level in the GCC build, but that breaks
the gcc test suite.

(From OE-Core rev: a1119750e9b3b9fae4fa9698d2ea3710a5a73768)

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 8905639d1cdc5ce809cc5ecd9672f5e86bf8a579)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Ross Burton
8585e78965 gcc: don't pass --enable-standard-branch-protection
By changing the default code generation of GCC we're inadvertently
breaking the GCC test suite, which has ~120K+ more failures when run for
aarch64 compared to x86-64.

This was because the generated code fragments included the BTI
instructions, which the test case wasn't expecting.  We can't tell the
tests globally to run without branch protection, as that will break the
tests which also turn it on.

Remove the enabling of branch protection by standard in GCC, we'll
enable it in the tune files instead.

(From OE-Core rev: 759327cf6bd79118bae0c68e63742ae4721471d8)

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 bb4b9017db6a893ed054a2d2ad4cc671dec09c42)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Bruce Ashfield
b2e3fcb94d linux-yocto/5.15: update to v5.15.120
Updating  to the latest korg -stable release that comprises
the following commits:

    d54cfc420586 Linux 5.15.120
    c06edf13f4cf nubus: Partially revert proc_create_single_data() conversion
    6e65fa33edf5 parisc: Delete redundant register definitions in <asm/assembly.h>
    b4d8f8900021 drm/amdgpu: Validate VM ioctl flags.
    26eb191bf5a0 scripts/tags.sh: Resolve gtags empty index generation
    989b4a753c7e perf symbols: Symbol lookup with kcore can fail if multiple segments match stext
    87f51cf60e3e Revert "thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe"
    6a28f3490d3d HID: logitech-hidpp: add HIDPP_QUIRK_DELAYED_INIT for the T651.
    67ce7724637c HID: wacom: Use ktime_t rather than int when dealing with timestamps
    347732317749 bpf: ensure main program has an extable
    d874cf9799a9 can: isotp: isotp_sendmsg(): fix return error fix on TX path
    27d03d15bb8b x86/smp: Use dedicated cache-line for mwait_play_dead()
    d6c745ca4fc5 x86/microcode/AMD: Load late on both threads too
    9052349685e9 drm/amdgpu: Set vmbo destroy after pt bo is created
    796481bedc3e mm, hwpoison: when copy-on-write hits poison, take page offline
    6713b8f11aa0 mm, hwpoison: try to recover from copy-on write faults
    b46021ab8304 mptcp: consolidate fallback and non fallback state machine
    42ff95b4bd11 mptcp: fix possible divide by zero in recvmsg()

(From OE-Core rev: ab60a67c3effda6364fadcf78edf7792c75bff19)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 51c474534c27ac0739a6373595a49ebbc52c3715)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Bruce Ashfield
13149ac30f linux-yocto/5.15: update to v5.15.119
Updating  to the latest korg -stable release that comprises
the following commits:

    4af60700a60c Linux 5.15.119
    10fbd2e04e40 act_mirred: remove unneded merge conflict markers
    2230b3f874d9 i2c: imx-lpi2c: fix type char overflow issue when calculating the clock cycle
    907a069ec38f x86/apic: Fix kernel panic when booting with intremap=off and x2apic_phys
    7949f83f7ecc vhost_net: revert upend_idx only on retriable error
    fdac0aa4a175 drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl
    f012d3037c15 drm/exynos: fix race condition UAF in exynos_g2d_exec_ioctl
    a44b4230d2ba drm/exynos: vidi: fix a wrong error return
    79b4125bce96 ARM: dts: Fix erroneous ADS touchscreen polarities
    9684c4fdeeca s390/purgatory: disable branch profiling
    3c4d87e9fa8a ASoC: nau8824: Add quirk to active-high jack-detect
    d77eac1b14e0 soundwire: dmi-quirks: add new mapping for HP Spectre x360
    53ad4af4ec90 ASoC: simple-card: Add missing of_node_put() in case of error
    bb45dc7b67c5 spi: lpspi: disable lpspi module irq in DMA mode
    f8d9d8f1727d s390/cio: unregister device when the only path is gone
    e10d15fdfced Input: soc_button_array - add invalid acpi_index DMI quirk handling
    26bde09a1512 nvme: double KA polling frequency to avoid KATO with TBKAS on
    e3bbc148377d usb: gadget: udc: fix NULL dereference in remove()
    cce681383d34 nfcsim.c: Fix error checking for debugfs_create_dir
    8a5ddd1430d4 media: cec: core: don't set last_initiator if tx in progress
    01cf989090da arm64: Add missing Set/Way CMO encodings
    f97b16c0a538 HID: wacom: Add error check to wacom_parse_and_register()
    e8bdb1f88699 scsi: target: iscsi: Prevent login threads from racing between each other
    1cc379d53b66 gpio: sifive: add missing check for platform_get_irq
    497d40140865 gpiolib: Fix GPIO chip IRQ initialization restriction
    7973c4b3b97d gpio: Allow per-parent interrupt data
    c1a2b52d999e sch_netem: acquire qdisc lock in netem_change()
    3138c85031e8 selftests: forwarding: Fix race condition in mirror installation
    b7db41a86541 bpf/btf: Accept function names that contain dots
    0f8d81254fd6 Revert "net: phy: dp83867: perform soft reset and retain established link"
    57130334da4e netfilter: nfnetlink_osf: fix module autoload
    53defc6ecff4 netfilter: nf_tables: disallow updates of anonymous sets
    2f2f9eaa6da1 netfilter: nf_tables: reject unbound chain set before commit phase
    2938e7d582d7 netfilter: nf_tables: reject unbound anonymous set before commit phase
    baa3ec1b31f5 netfilter: nf_tables: disallow element updates of bound anonymous sets
    45eb6944d0f5 netfilter: nft_set_pipapo: .walk does not deal with generations
    4004f12aaca8 netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain
    314a8697d080 netfilter: nf_tables: fix chain binding transaction logic
    1328e8d4c3ee be2net: Extend xmit workaround to BE3 chip
    768f94c5f639 net: dsa: mt7530: fix handling of BPDUs on MT7530 switch
    aa528e7d379f net: dsa: mt7530: fix trapping frames on non-MT7621 SoC MT7530 switch
    efea112a87b6 ipvs: align inner_mac_header for encapsulation
    24d7d9aee03d mmc: usdhi60rol0: fix deferred probing
    d1e08bed0307 mmc: sh_mmcif: fix deferred probing
    34c4906b9a06 mmc: sdhci-acpi: fix deferred probing
    41f1e8dab08d mmc: owl: fix deferred probing
    b86ca9e08ca9 mmc: omap_hsmmc: fix deferred probing
    445a9568dec1 mmc: omap: fix deferred probing
    840deb8d1418 mmc: mvsdio: fix deferred probing
    92f73c4f927c mmc: mtk-sd: fix deferred probing
    aedecd013d2c net: qca_spi: Avoid high load if QCA7000 is not available
    156dd06fb337 xfrm: Linearize the skb after offloading if needed.
    d967bd7ea6cc selftests: net: fcnal-test: check if FIPS mode is enabled
    964cfdfd4b4f xfrm: fix inbound ipv4/udp/esp packets to UDPv6 dualstack sockets
    25e89fa7b5a8 bpf: Fix verifier id tracking of scalars on spill
    0b180495f6b0 bpf: track immediate values written to stack by BPF_ST instruction
    3229a29e95f5 xfrm: Ensure policies always checked on XFRM-I input path
    d055ee18cab8 xfrm: interface: rename xfrm_interface.c to xfrm_interface_core.c
    491ce3c1d98a xfrm: Treat already-verified secpath entries as optional
    0ce3d0c068d9 ieee802154: hwsim: Fix possible memory leaks
    29672dc47d99 mmc: meson-gx: fix deferred probing
    9bac4a2b7326 memfd: check for non-NULL file_seals in memfd_create() syscall
    103734b429b9 x86/mm: Avoid using set_pgd() outside of real PGD pages
    793d0224bb60 nilfs2: prevent general protection fault in nilfs_clear_dirty_page()
    96987c383c2b io_uring/net: disable partial retries for recvmsg with cmsg
    25a543ca3005 io_uring/net: clear msg_controllen on partial sendmsg retry
    34a7e5021a43 io_uring/net: save msghdr->msg_control for retries
    b07bb2914ada writeback: fix dereferencing NULL mapping->host on writeback_page_template
    3c46a240ddba regmap: spi-avmm: Fix regmap_bus max_raw_write
    4796d9b06917 regulator: pca9450: Fix LDO3OUT and LDO4OUT MASK
    ba9952e2f50b ip_tunnels: allow VXLAN/GENEVE to inherit TOS/TTL from VLAN
    acee272283f4 mmc: mmci: stm32: fix max busy timeout calculation
    999173f295cc mmc: meson-gx: remove redundant mmc_request_done() call from irq context
    00010b52c705 mmc: sdhci-msm: Disable broken 64-bit DMA on MSM8916
    4a557910bbed cgroup: Do not corrupt task iteration when rebinding subsystem
    815b24401165 PCI: hv: Add a per-bus mutex state_lock
    34e21b8ff3e6 PCI: hv: Fix a race condition in hv_irq_unmask() that can cause panic
    7d852ca7af37 PCI: hv: Remove the useless hv_pcichild_state from struct hv_pci_dev
    5e0d33cc7813 Revert "PCI: hv: Fix a timing issue which causes kdump to fail occasionally"
    ac0df91c7d98 PCI: hv: Fix a race condition bug in hv_pci_query_relations()
    80c5d97b4aa1 Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs
    4d31eb2e266c Drivers: hv: vmbus: Call hv_synic_free() if hv_synic_alloc() fails
    953dd7e2df81 KVM: Avoid illegal stage2 mapping on invalid memory slot
    1d6c93206839 ACPI: sleep: Avoid breaking S3 wakeup due to might_sleep()
    b12011cea56b nilfs2: fix buffer corruption due to concurrent device reads
    485f6be2549c selftests: mptcp: join: skip check if MIB counter not supported
    64cb73ea77ab selftests: mptcp: join: use 'iptables-legacy' if available
    979a941d7ed3 selftests: mptcp: pm nl: remove hardcoded default limits
    ac65930751c4 selftests/mount_setattr: fix redefine struct mount_attr build error
    726d033133e7 selftests: mptcp: lib: skip if not below kernel version
    b28fc26683b4 selftests: mptcp: lib: skip if missing symbol
    024a24e5d4dd tick/common: Align tick period during sched_timer setup
    3c1aa91b37f9 drm/amd/display: Add wrapper to call planes and stream update
    eea850c025b5 drm/amd/display: Use dc_update_planes_and_stream
    fb7c68bbccad drm/amd/display: Add minimal pipe split transition state
    b5f0e898f674 tpm, tpm_tis: Claim locality in interrupt handler
    39e787253720 tracing: Add tracing_reset_all_online_cpus_unlocked() function
    5a24be76af79 drm/amd/display: fix the system hang while disable PSR

(From OE-Core rev: c76f1027756cc83d81b43522a1601b5fda972f86)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 8ecf81b1960ab1001efe41cb3d132accf985e3dc)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Archana Polampalli
ba1a77347c ghostscript: fix CVE-2023-36664
Artifex Ghostscript through 10.01.2 mishandles permission validation for
pipe devices (with the %pipe% prefix or the | pipe character prefix).

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

Upstream patches:
https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5e65eeae225c7d02d447de5abaf4a8e6d234fcea
https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fb342fdb60391073a69147cb71af1ac416a81099

(From OE-Core rev: cd3921215cb782ecc9aeda5bb3b76863911bcb61)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Vijay Anusuri
81874924a7 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/jammy-security
Upstream commit b987718bbb]

(From OE-Core rev: aae5bf06ad3c67386544f9da55aa21fbf32c3418)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-26 05:20:36 -10:00
Michael Opdenacker
cc3287637c ref-manual: release-process: update for LTS releases
(From yocto-docs rev: 145488ac9ee4ad5efb0966f07ff5e7ff804f6562)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Michael Opdenacker
23ca3ba890 ref-manual: add LTS and Mixin terms
(From yocto-docs rev: f9ce60e2a035f3921901d2c6633df6e302cad1c7)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Lee Chee Yang
b54543f7e8 migration-guides: add release notes for 4.0.11
(From yocto-docs rev: 96575a0c06d206400a5efde2ec2ddcda54a43105)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Quentin Schulz
6c185e7ae0 docs: ref-manual: terms: fix typos in SPDX term
Fixes: 2c53ac40e99a ("ref-manual: terms.rst: add SBOM and SPDX terms")
Cc: Quentin Schulz <foss+yocto@0leil.net>
(From yocto-docs rev: aaa554381a46c66d7708967c65893992760aa5fe)

Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Tom Hochstein
10f1543541 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: d877d5f07772ec4a05332068ddc03cf387313036)

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-21 06:27:34 -10:00
Heiko Thole
0d0acb2e4c wic: Add dependencies for erofs-utils
In order to build erofs filesystems, wic must have the erofs-utils package installed into its sysroot.

(From OE-Core rev: c349c7fcb299b123824da9a13ee58222a6cbf9ec)

Signed-off-by: Heiko Thole <heiko.thole@entwicklung.eq-3.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Alexander Kanavin
7fa5220b3b sysfsutils: fetch a supported fork from github
Debian does the same:
https://packages.debian.org/source/sid/sysfsutils

(From OE-Core rev: 9f35ca9d9ed4be4d27318230f4ae42c4885d1f0c)

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 504b2f590cb94b217c5f48090cfb71a749bd5ac8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Chen Qi
18b69cb60d unzip: fix configure check for cross compilation
The original configure runs a generated binary to determine
features. This is not correct for cross compilation. So change
the runtime tests into compile-time tests to fix the issue.

(From OE-Core rev: 7d99f3a9a2a74fe2e8753b00553f07f305d14c87)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b9aca339b59238988c48b90ea5019bfc939ba4b3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Chen Qi
4b4b09c2be zip: fix configure check by using _Static_assert
It's incorrect to run a cross-compiled program on build machine
to check if some feature is available or not. As these two checks
in zip are basically just checking the size, we can use _Static_assert
and sizeof to do such check at compile time.

(From OE-Core rev: 6f5986fb520ab89b0950d3e0fa8492de4de7798f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit dda778d855b1838ae3004a9af310724b913490b4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Chen Qi
43ce6be661 sdk.py: fix moving dnf contents
The dnf contents should be moved to <host_sysroot>/etc/dnf/xxx
instead of just <host_sysroot>/etc.

(From OE-Core rev: 006ff31ddad4c53c63adf1dacecbf2783404a546)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 74b78d160a985e98f869c777847ab798e419dd2d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Chen Qi
2902244070 sdk.py: error out when moving file fails
Instead of printing an error message and continuing, we should just
error out when moving file fails.

(From OE-Core rev: 4ed94fef70df05c874cf0c68dcc95c5636687825)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 12aecd9da94b5f27041982c661e8bab316d365d4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Alberto Planas
be36dfcfc6 bitbake.conf: add unzstd in HOSTTOOLS
rpm2cpio.sh can make calls to unzstd to uncompress the RPM payload that
conform the cpio file.

zstd is already part of HOSTTOOLS, as a link to the system installed
zstd.

This patch add unzstd in HOSTOOLS list as a non-optional binary, so is
available to rpm2cpio.sh when it is required.

(From OE-Core rev: 5cee002e34d16e9d82045d3e8e3931ba046403d2)

Signed-off-by: Alberto Planas <aplanas@suse.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bff58d337890e804d33d7decbaa46065a4d3bba4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Alexander Sverdlin
335eb3a93e rust-llvm: backport a fix for build with gcc-13
* needed for rust-llvm-native on hosts with gcc-13

Based on commit 3382759cb6c5 ("llvm: backport a fix for build with gcc-13")

(From OE-Core rev: d6684a9c9f713ad30442a2a036ff86b534585400)

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Marek Vasut
683b79aa58 systemd: Backport nspawn: make sure host root can write to the uidmapped mounts we prepare for the container payload
Backport fix for systemd nspawn uidmap handling from systemd v253 .
Without this, attempt to start mkosi generated debian stable 12
container would ultimately fail (per "$ strace -ff") with:
"
symlinkat("usr/lib/aarch64-linux-gnu", 8, "lib64") = -1 EOVERFLOW (Value too large for defined data type)
"

Command to generate test container:
"
mkosi --distribution debian --release stable --architecture arm64 \
      --cache-dir /home/oe/cache/ --format tar --compress-output xz \
      --output-dir /home/oe/output/ --checksum 1 --root-password root \
      --package systemd --package udev --package dbus
"

Command to import test container and start it, which triggers the failure:
"
$ machinectl pull-tar http://192.168.1.300/image.tar.xz default
$ machinectl read-only default false
$ rm -f /var/lib/machines/default/etc/machine-id
$ dbus-uuidgen --ensure=/var/lib/machines/default/etc/machine-id
$ machinectl start default
"

Minimal command to trigger the failure once container is imported:
"
$ strace -ff systemd-nspawn --keep-unit --boot --link-journal=try-guest --network-veth -U --settings=override --machine=default
"

Extracted from systemd MR:
https://github.com/systemd/systemd/pull/22774

Further explanation by Christian Brauner at second half of:
https://github.com/systemd/systemd/issues/20989

(From OE-Core rev: 6d190eb0caadcb95c5325ede32164a645abb61f3)

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Mauro Queiros
71cb6bd31c pybootchartgui: show elapsed time for each task
Currently, finding the elapsed time of each task in buildtimes.svg
is a manual effort of checking the top axis and finding and subtracting
the end and start time of the task.

This change adds the elapsed time for each task, so that
manual effort of comparing start/end time is avoided.

(From OE-Core rev: b2678422b411ccbd19a7b198c872b92077567391)

Signed-off-by: Mauro Queiros <Mauro.Queiros@criticaltechworks.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3efebd3404de548f0757863da237f2d18ce60013)
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Jermain Horsman
3bf387217f logrotate: Do not create logrotate.status file
The first time logrotate runs it reports an error:

  error: state file /var/lib/logrotate.status is
  world-readable and thus can be locked from other
  unprivileged users. Skipping lock acquisition...

This check was added with
1f76a381e2

This error is only reported once as logrotate removes
the world-readable permissions if this happens.
Since logrotate creates this file if it does not exist,
there should be no need to install it in the first place.

(From OE-Core rev: fbfd62ac655cf00b8f7c8fc832ce7434ad4966a3)

Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8169cd2d18f1569e4357f082adbef492710e8c36)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Nikhil R
67c4196ac1 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: 2d58b38185ca7eed5d885b8d00ca549b57138554)

Signed-off-by: Nikhil R <nikhil.r@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Jose Quaresma
934cbbc48e selftest/reproducible: Allow chose the package manager
This is a follow-up of 76e5fcb2 that also allow users to chose
the package manager using OEQA_REPRODUCIBLE_TEST_PACKAGE

(From OE-Core rev: 4402b746f49611abe71719dd1d174de79bb030bb)

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3d414d85b44077bac57aba36707b0fc699a73e97)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Mikko Rapeli
17110ad8f5 selftest reproducible.py: support different build targets
Allow users to set different build reproducibility targets than
the defaults using OEQA_REPRODUCIBLE_TEST_TARGET and
OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS variables in local.conf.

Fixing all issues from "world" builds is not possible in some
complex build environments with lots of layers. Limiting the focus to
a smaller subset allows using this test to detect and fix build
reproduction issues incrementally.

(From OE-Core rev: 3b82a7d74995c0670a6914c58b3d7c42327b8ee9)

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit c66bebbce5995e386a1a4d055a914a39b6ee518d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Trevor Gamblin
4a93bab7a4 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: a71153cb0a509456dd36466ac15a603f953eb6b8)

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-21 06:27:34 -10:00
Alexander Kanavin
f111db3f71 wireless-regdb: upgrade 2023.02.13 -> 2023.05.03
(From OE-Core rev: 1eebdfba70ceaa8d73ab46c3131d022e53245eaa)

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-21 06:27:34 -10:00
Alexander Kanavin
1752b29e7c linux-firmware: upgrade 20230404 -> 20230515
License-Update: additional firmwares

(From OE-Core rev: 8ac5ebfa83c3e1f5effca5154b771b2f2bed607d)

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-21 06:27:34 -10:00
Alexander Kanavin
a6a43a90fa wget: upgrade 1.21.3 -> 1.21.4
Stable version release

Noteworthy changes in release 1.21.4 (2023-05-11)

** Document --retry-on-host-error in help text

** Increase read buffer size to 64k. This should speed up downloads on gigabit
and faster connections

** Update deprecated option '--html-extension' to '--adjust-extension' in
documentation

** Update gnulib compatibility layer.
   Fixes HSTS test failures on i686. (Thanks to Andreas Enge for ponting it out)

License-Update: copyright years

(From OE-Core rev: 024feac4827dc847ba83a64de82cef524156a9ea)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 67ec2d5bab891cb92af9ca32304a4927daf51ed0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 4e7ec4bef86c79b4221a800ace700c58ce033de1)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Alexander Kanavin
c20aabad9c serf: upgrade 1.3.9 -> 1.3.10
Apache Serf 1.3.10 [2023-05-31, from tags/1.3.10, r1910048]
  Support for OpenSSL 3 (r1901937, ...)
  Fix issue #171: Win32: Running tests fails with "no OPENSSL_Applink" error
  Fix issue #194: Win32: Linking error when building against OpenSSL 1.1+
  Fix issue #198: OpenSSL BIO control method incorrectly handles unknown requests
  Fix issue #202: SSL tests are not passing with OpenSSL 3
  Fix error handling when reading the outgoing request body (r1804534, ...)
  Fix handling of invalid chunk lengths in the dechunk bucket (r1804005, ...)
  Fix an endless loop in the deflate bucket with truncated input (r1805301)
  Fix BIO control handlers to support BIO_CTRL_EOF (r1902208)
  Fix a CRT mismatch issue caused by using certain OpenSSL functions (r1909252)
  Build changes to support VS2017, VS2019 and VS2022 (r1712131, ...)
  Build changes to support Python 3 (r1875933)

As serf is undead, we need to reassess all the remaining patches.

(From OE-Core rev: 275c6b7ac72330e14ba55907e8494314b63a9adf)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 775cbcc876edcb6c339f342a3253f5afcf6ef163)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 17a46eee905f0ecfdbebb014533848dc7e906ec7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Ross Burton
9113d5b4d7 tzdata: upgrade to 2023c
Drop a backport patch as it is now integrated.

(From OE-Core rev: 134bac52904722cd63fde07f5784c0cca3fbcb05)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 80d26d1da47dcd9213a7083d9493a7bce0897a57)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Soumya
df5e8bcceb libwebp: Fix CVE-2023-1999
There exists a use after free/double free in libwebp. An attacker can
use the ApplyFiltersAndEncode() function and loop through to free
best.bw and assign best = trial pointer. The second loop will then
return 0 because of an Out of memory error in VP8 encoder, the pointer
is still assigned to trial and the AddressSanitizer will attempt a double free.

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

Upstream patch:
a486d800b6

(From OE-Core rev: a5d0f8734ca643c25f0952387b38edf8ffd70525)

Signed-off-by: Soumya <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Vivek Kumbhar
aeb3b3fa07 curl: Added CVE-2023-28320 Follow-up patch
Introduced by: 3c49b405de (curl-7_9_8)
Fixed by: 13718030ad (curl-8_1_0)
Follow-up: f446258f02 (curl-8_1_0)

(From OE-Core rev: f19c20c429395c1b4c62a6e0388ef51b830871c5)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Poonam Jadhav
881247de60 libx11: Fix CVE-2023-3138 for kirkstone branch
Add patch to fix CVE-2023-3138 for kirkstone branch

Link: 304a654a0d.patch

(From OE-Core rev: 5491531d4681d3df5a34ebc180e29a8bf4e09e67)

Signed-off-by: Poonam Jadhav <poonam.jadhav@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Hitendra Prajapati
56c1ffb1d3 bind : fix CVE-2023-2828 & CVE-2023-2911
Backport fixes for:
* CVE-2023-2828 - Upstream-Status: Backport from e9d5219fca
* CVE-2023-2911 - Upstream-Status: Backport from 240caa32b9 && ff5bacf17c

(From OE-Core rev: 08810d3fe6988ea821805eca16105b4632335654)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Vijay Anusuri
4f488ca49e sqlite3: CVE-2023-36191 CLI fault on missing -nonce
Upstream-Status: Backport [https://sqlite.org/src/info/cd24178bbaad4a1d]

(From OE-Core rev: 663713b2f95dee1e70f8921ece23b21d84d93805)

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Soumya
80ecd63cc8 perl: Fix CVE-2023-31486
HTTP::Tiny before 0.083, a Perl core module since 5.13.9 and available
standalone on CPAN, has an insecure default TLS configuration where
users must opt in to verify certificates.

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

Upstream patches:
77f557ef84
a22785783b

(From OE-Core rev: 5819c839e1de92ab7669a0d4997886d0306c4cc1)

Signed-off-by: Soumya <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-21 06:27:34 -10:00
Ross Burton
471318ae2f 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: 200c2783b3f8546f561382fff6bd5268680d403a)

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 06:42:46 -10:00
Ross Burton
8a14072295 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: be409f17e64dac2c6fa2cafba73c2084c68c59bf)

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 06:42:46 -10:00
Peter Marko
c5558d6e86 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: eceeba61b5da6d81f0677365f956464f1e5f1d84)

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 06:42:46 -10:00
Peter Marko
d6bf614ab4 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: c061bcd54fc8b62ea9a005f422a17ca46eac68c2)

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 06:42:46 -10:00
Peter Marko
bd4b28bb37 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: c00b89c2a5de8ce59b759ed8bf482942458421ff)

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 06:42:46 -10:00
Ross Burton
00e0d5e515 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: 91243ad474be00e55aa99355edef44f2fe2311f1)

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 06:42:46 -10:00
Ross Burton
62727653aa 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: 7614e00b9491e5d4d6df5492f72613a56ab390d7)

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 06:42:46 -10:00
Richard Purdie
fdd6898464 strace: Update patches/tests with upstream fixes
Replace the sockopt disable patch with a fix from upstream

(From OE-Core rev: cef730284b8616ba07c1b062c992c36af730580e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ac921989991c319ecad01bec37c4ccaa15a7b58f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit c1beb73526e3ade75bd6dae5f9310107c50f1226)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Richard Purdie
97654445c6 strace: Merge two similar patches
Both patches change the same paths to gawk, merge them together
as we only need one patch for this.

(From OE-Core rev: 81af8c6fdc6f0b6617b7258c9b3e2e26a76db5c8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 79c0b18e29cad337640860f57683f0a170f6daab)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 6080138fd0c27db7029b5a76e69b8dc241ad8dc3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Richard Purdie
48373d750c strace: Disable failing test
This test is failing for uncertain reasons. We have reported upstream, disable
it until we can work out why this happened. The point it started failing is
unclear due to other test framework issues.

(From OE-Core rev: fc32e725a0c73772a2ad4e31e1aa1d61f72f9da1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2e9165a854c7b83f163479e9dbd3cb183a9d71f5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Alexander Kanavin
484171e42c grub: submit determinism.patch upstream
(From OE-Core rev: 846d8097fed9498fab7120ed61a962ff2c15746a)

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:11:38 -10:00
Charlie Wu
defeae880f devtool: Fix the wrong variable in srcuri_entry
devtool crashes when running "update-recipe" and append changes on the recipe.
"$ devtool update-recipe -a <layer> <recipe>"
Traceback (most recent call last):
...
File "/ovss/ovss_quanta/poky/scripts/lib/devtool/standard.py", line 1636, in srcuri_entry
    return 'file://%s%s' % (basepath, paramstr)
                            ^^^^^^^^
NameError: cannot access free variable 'basepath' where it is not associated with a value in enclosing scope

The input variable 'fname' should have the same meaning as the variable 'basepath'.
Modify the 'fname' to 'basepath' and solve the issue.

(From OE-Core rev: 1487bdda6b443480e9ce45d8b8527ad61c2a50a4)

Signed-off-by: Charlie Wu <chiachiwu@google.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit c3231756bbc2cb5641204414ad3670d7f8607ed3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Mikko Rapeli
c7bc5446a6 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: 572c507736b2fcc31f7f13cb3da0d5be361838f5)

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:11:38 -10:00
Khem Raj
d2a1c3e5d7 babeltrace2: Always use BFD linker when building tests with ld-is-lld distro feature
lld results in textrels in some .so used in tests, fixes

babeltrace2-ptest: ELF binary /usr/lib/babeltrace2/ptest/tests/lib/test-plugin-plugins/plugin-minimal.so has relocations in .text
babeltrace2-ptest: ELF binary /usr/lib/babeltrace2/ptest/tests/lib/test-plugin-plugins/plugin-sfs.so has relocations in .text [textrel]
ERROR: babeltrace2-2.0.5-r0 do_package_qa: QA Issue: babeltrace2: ELF binary /usr/lib/babeltrace2/plugins/babeltrace-plugin-ctf.so has relocations in .text
babeltrace2: ELF binary /usr/lib/babeltrace2/plugins/babeltrace-plugin-utils.so has relocations in .text
babeltrace2: ELF binary /usr/lib/babeltrace2/plugins/babeltrace-plugin-text.so has relocations in .text [textrel]

(From OE-Core rev: 1c02416041498c649c517a9933ab736fca2ceae8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 18d443b53a0d76102fbbc1088fbcb3f8087a2b1b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Alexander Kanavin
3986d5c2e1 maintainers.inc: unassign Ricardo Neri from ovmf
We were not able to get a response about availability over email, and so the recipe
has to be unassigned.

(From OE-Core rev: 8d2e96c3a611aba63aa9a51f6b350ea8c9654e06)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 56f1af6d5b3019dccbc27bb0a9692a5f1a32f87b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Alexander Kanavin
c64dc188e8 maintainers.inc: unassign Alistair Francis from opensbi
We were not able to get a response about availability over email, and so the recipe
has to be unassigned.

(From OE-Core rev: 61e64e7af709dd03dd4018c69a752f2eadc5372e)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 60eda3dcbf96b5982a0e282fd0c3c13b0b4d7787)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Alexander Kanavin
0dce15ad65 maintainers.inc: unassign Adrian Bunk from wireless-regdb
We were not able to get a response about availability over email, and so the recipe
has to be unassigned.

(From OE-Core rev: 191ab08c035f1811af932775a767b5e83a95e35b)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3beb88060be9484cfe75dfa60f041b0b32214978)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Fabien Mahot
00fabc3939 oeqa/selftest/bbtests: add non-existent prefile/postfile tests
Fixes [YOCTO #10725]

(From OE-Core rev: ef732d6dd735ad06c229eb4e2a4aca295490ec53)

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:11:38 -10:00
Alexander Kanavin
bb2ce4dcf6 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: 343510b33650c88367f95e8d8322fae92ae901ca)

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:11:38 -10:00
Alexander Kanavin
e69c311ed6 scripts/runqemu: split lock dir creation into a reusable function
(From OE-Core rev: 2ada5f426e71e3873ba8c47dd925d8cfc103524b)

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:11:38 -10:00
BELOUARGA Mohamed
983548705a meta: lib: oe: npm_registry: Add more safe caracters
NPM registry cache should support caracaters like '(' and ')'
Explanation: NPM packages can contains these caracters like : @(._.)/execute

(From OE-Core rev: d3c1638077d4acbd61e7770c8e1d299ea33df638)

Signed-off-by: BELOUARGA Mohamed <m.belouarga@technologyandstrategy.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 6110d9e24e43e286781afd1b3634a4ad1a2050d0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Frieder Paape
b954f15d66 image_types: Fix reproducible builds for initramfs and UKI img
I've encountered issues reproducing initramfs and UKI image builds,
which will be fixed with this patch.

1. initramfs
There's a symbolic link to /sbin/init, which is appended to the cpio archive after creation.
The links timestamp needs to be static and the cpio append command needs the '--reproducible' flag to produce deterministic outcomes.

2. Unified Kernel Image
'--preserve-dates' is required for a static 'Time/Date' entry.
I've added '--enable-deterministic-archives' although in my case this
didn't change anything.

(From OE-Core rev: 0d8890f7c1fbea5036acefa3031dcd442b316725)

Signed-off-by: Frieder Paape <frieder@konvera.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit fd027729bafb4e085ba0949e38e724f3a8cad102)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Richard Purdie
6646aadd71 v86d: Improve kernel dependency
Working with enabling SPDX, an issue was observerd where v86d wasn't rebuilding
when the kernel was changed from linux-yocto to linux-yocto-rt.

This is due to the code in sstatesig.py which was seeing the RRECOMMENDS on a
kernel module and ignoring the DEPENDS. The v86d is technically a kernel module
since it uses kernel header files.

There are two ways to address this, we could inherit the module-base class and
the dependency code does the correct thing. It appears the code doesn't look into
STAGING_KERNEL_DIR though and doesn't use the kernel sources. We can therefore drop
the DEPENDS and the code will the do the correct thing.

(From OE-Core rev: b842b8b51e0819eebf1fb3a2359b8c06863e553a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 37ccd11cb0b89416b8e23160445186269b6c0c8a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Bruce Ashfield
6f363c80ae linux-yocto/5.15: cfg: fix DECNET configuration warning
-stable merged the DECNET removal to 5.15, so we integrate
the following kernel-cache commit to fix the kernel configuration
audit warning:

    b647d9611cb base: drop CONFIG_DECNET

(From OE-Core rev: 4c063286ab115abf3d15e4713ea9bcd4f5fb1ab2)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 06ef70ac1fa8201c5b46050e098ebea3b1423f9f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Bruce Ashfield
d95abdb246 linux-yocto/5.15: update to v5.15.118
Updating  to the latest korg -stable release that comprises
the following commits:

    f67653019430 Linux 5.15.118
    e5bf1f7d1fc8 nilfs2: reject devices with insufficient block count
    2bc9231afc64 mmc: block: ensure error propagation for non-blk
    4b7b50d4eb1a of: overlay: add entry to of_overlay_action_name[]
    84770cc54eff neighbour: delete neigh_lookup_nodev as not used
    41806518254c net: Remove DECnet leftovers from flow.h.
    4c39a2414a23 net: Remove unused inline function dst_hold_and_use()
    bb76281b6e61 neighbour: Remove unused inline function neigh_key_eq16()
    67866cad7624 rcu/kvfree: Avoid freeing new kfree_rcu() memory after old grace period
    c91ed3a5c2ab cgroup: always put cset in cgroup_css_set_put_fork
    33b801be2de1 afs: Fix vlserver probe RTT handling
    f824bcc3e14b selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET
    2077c7dbfe29 net: tipc: resize nlattr array to correct size
    f734e16ee17f dm: don't lock fs when the map is NULL during suspend or resume
    8a8179f6a345 net: lapbether: only support ethernet devices
    052417e8b3ac net/sched: cls_api: Fix lockup on flushing explicitly created chain
    c0cb9d453fd1 ext4: drop the call to ext4_error() from ext4_get_group_info()
    eb4ccc102d5f cifs: fix lease break oops in xfstest generic/098
    1cb181271eab drm/nouveau: add nv_encoder pointer check for NULL
    c79dccc263db drm/nouveau/dp: check for NULL nv_connector->native_mode
    909b7f7497cc drm/nouveau: don't detect DSM for non-NVIDIA device
    10e1e07bdea4 igb: fix nvm.ops.read() error handling
    fe03fd373ca6 igc: Clean the TX buffer and TX descriptor ring
    032b8cbeb19c sctp: fix an error code in sctp_sf_eat_auth()
    981e78781a96 ipvlan: fix bound dev checking for IPv6 l3s mode
    3e76522d1a6d net: ethtool: correct MAX attribute value for stats
    18512de74454 IB/isert: Fix incorrect release of isert connection
    63e9e7198374 IB/isert: Fix possible list corruption in CMA handler
    29ff057c0a50 IB/isert: Fix dead lock in ib_isert
    fced7aaaa38f IB/uverbs: Fix to consider event queue closing also upon non-blocking mode
    cd44977ecc94 RDMA/cma: Always set static rate to 0 for RoCE
    5a9dee176b4b RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions
    35828874aa9f octeontx2-af: fix lbk link credits on cn10k
    7506e77357da octeontx2-af: fixed resource availability check
    4dd914b9e2f9 iavf: remove mask from iavf_irq_enable_queues()
    e6342cd13d39 RDMA/rxe: Fix the use-before-initialization error of resp_pkts
    466f25fd2d9b RDMA/rxe: Removed unused name from rxe_task struct
    13d087b3587b RDMA/rxe: Remove the unused variable obj
    0e1098d72fa4 net/sched: cls_u32: Fix reference counter leak leading to overflow
    d56661cd8d55 net/sched: act_pedit: Parse L3 Header for L4 offset
    17b330b78244 net/sched: act_pedit: remove extra check for key type
    219b8e98387f net/sched: simplify tcf_pedit_act
    688e6db59661 ping6: Fix send to link-local addresses with VRF.
    471a4c08e30e net: enetc: correct the indexes of highest and 2nd highest TCs
    44ebe988cb38 netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE
    133b73d85343 netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM
    e4188f8b8134 netfilter: nf_tables: integrate pipapo into commit protocol
    4da9d4e74033 spi: fsl-dspi: avoid SCK glitches with continuous transfers
    08acd41bb15a RDMA/rxe: Fix packet length checks
    01f6f867adc7 RDMA/rtrs: Fix rxe_dealloc_pd warning
    01bbead3098b RDMA/rtrs: Fix the last iu->buf leak in err path
    1938f080a183 usb: dwc3: gadget: Reset num TRBs before giving back the request
    ed0295504905 serial: lantiq: add missing interrupt ack
    235845b576c5 USB: serial: option: add Quectel EM061KGL series
    e05e9cca7797 thunderbolt: Mask ring interrupt on Intel hardware as well
    0bd227610c83 thunderbolt: dma_test: Use correct value for absent rings when creating paths
    2a974abc0976 Remove DECnet support from kernel
    28010d3a9a22 ALSA: hda/realtek: Add a quirk for Compaq N14JP6
    203a01ae5732 drm/amdgpu: add missing radeon secondary PCI ID
    b1b64a76b775 drm/amd/display: edp do not add non-edid timings
    98c8c0f2b3a5 net: usb: qmi_wwan: add support for Compal RXM-G1
    fd81222d1a69 RDMA/uverbs: Restrict usage of privileged QKEYs
    14c30c2439dc nouveau: fix client work fence deletion race
    f4c5eebb37a2 dm thin metadata: check fail_io before using data_sm
    ee09c0b1b0f4 ALSA: usb-audio: Add quirk flag for HEM devices to enable native DSD playback
    953cc0bf2d5b powerpc/purgatory: remove PGO flags
    faf45f2c5e62 x86/purgatory: remove PGO flags
    d38e051ec6fd kexec: support purgatories with .text.hot sections
    4357336192ed nilfs2: fix possible out-of-bounds segment allocation in resize ioctl
    74ea184af91a nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key()
    941e7452dfc8 nios2: dts: Fix tse_mac "max-frame-size" property
    8a8efde4a735 ocfs2: check new file size on fallocate call
    559b7a0d9f0d ocfs2: fix use-after-free when unmounting read-only filesystem
    8262a9f3b801 epoll: ep_autoremove_wake_function should use list_del_init_careful
    c0a242295569 wifi: cfg80211: fix double lock bug in reg_wdev_chan_valid()
    1a65bac4edf9 wifi: cfg80211: fix locking in regulatory disconnect
    0e388fce7aec io_uring: hold uring mutex around poll removal
    27825a6da78b irqchip/gic: Correctly validate OF quirk descriptors
    f50018e2dd87 NVMe: Add MAXIO 1602 to bogus nid list.
    4204b539ca73 drm:amd:amdgpu: Fix missing buffer object unlock in failure path
    7cb02d5dc2e2 xen/blkfront: Only check REQ_FUA for writes
    a75928bb929a ASoC: dwc: move DMA init to snd_soc_dai_driver probe()
    37f7864c1791 mips: Move initrd_start check after initrd address sanitisation.
    0d6e6542946d MIPS: Alchemy: fix dbdma2
    1907b6148f86 MIPS: unhide PATA_PLATFORM
    8f50d247b5dc parisc: Flush gatt writes and adjust gatt mask in parisc_agp_mask_memory()
    717368977b8e parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu()
    7e85809d2782 ASoC: soc-pcm: test if a BE can be prepared
    68086376a1d2 btrfs: handle memory allocation failure in btrfs_csum_one_bio
    39ea94952625 btrfs: scrub: try harder to mark RAID56 block groups read-only
    9df872ec4a22 power: supply: Fix logic checking if system is running from battery
    42e6a4a1e085 irqchip/gic-v3: Disable pseudo NMIs on Mediatek devices w/ firmware issues
    2105f2fa5791 regulator: Fix error checking for debugfs_create_dir
    91b3d6aa0722 platform/x86: asus-wmi: Ignore WMI events with codes 0x7B, 0xC0
    c845ec79c3cf power: supply: Ratelimit no data debug output
    19d09d31dae5 tools: gpio: fix debounce_period_us output of lsgpio
    c11bb961ca4d ARM: dts: vexpress: add missing cache properties
    36fdd1d5b40e power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + schedule()
    3b86c54e6ebe power: supply: sc27xx: Fix external_power_changed race
    200d8ad44e04 power: supply: ab8500: Fix external_power_changed race
    48992b928785 of: overlay: Fix missing of_node_put() in error case of init_overlay_changeset()
    282f0c63cf53 of: overlay: rework overlay apply and remove kfree()s
    5f306cbfa52b of: overlay: rename variables to be consistent
    1cc40dccad76 drm/amdgpu: fix Null pointer dereference error in amdgpu_device_recover_vram
    7cf3bf3cc033 ksmbd: fix slab-out-of-bounds read in smb2_handle_negotiate
    de091a6e1ff0 test_firmware: fix a memory leak with reqs buffer
    bfb0b366e8ec test_firmware: prevent race conditions by a correct implementation of locking
    4b5511aa0a5e test_firmware: Use kstrtobool() instead of strtobool()

(From OE-Core rev: e58bcc7938c16317d6d3754874c76f29c4f90515)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit ec3fd718ecc881ee3410a0b6434922993368ee6d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Bruce Ashfield
b747eff6a6 linux-yocto/5.15: update to v5.15.117
Updating  to the latest korg -stable release that comprises
the following commits:

    471e639e59d1 Linux 5.15.117
    ef876dd25830 Revert "staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE"
    6cfe9ddb6aa6 xfs: verify buffer contents when we skip log replay
    b5a52009d90e Revert "debugobject: Ensure pool refill (again)"
    3cc6805547d5 ext4: only check dquot_initialize_needed() when debugging
    86ebb5b5344d Revert "ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled"
    9945284195a9 vhost_vdpa: support PACKED when setting-getting vring_base
    17882a3556ce vhost: support PACKED when setting-getting vring_base
    d18688ff423a vduse: avoid empty string for dev name
    952d1e4cbc26 riscv: fix kprobe __user string arg print fault issue
    62958e78b757 eeprom: at24: also select REGMAP
    66b99b3bd7b1 i2c: sprd: Delete i2c adapter in .remove's error path
    58648a533a89 firmware: arm_ffa: Set handle field to zero in memory descriptor
    e1ab7ed7925d i2c: mv64xxx: Fix reading invalid status value in atomic mode
    003421fc430c arm64: dts: imx8mn-beacon: Fix SPI CS pinmux
    2a4f0ad59d3d ASoC: mediatek: mt8195: fix use-after-free in driver remove path
    cc4a2c0b1efa ASoC: mediatek: mt8195-afe-pcm: Convert to platform remove callback returning void
    036bba96bf5e arm64: dts: imx8-ss-dma: assign default clock rate for lpuarts
    d97c8306a9af arm64: dts: imx8qm-mek: correct GPIOs for USDHC2 CD and WP signals
    2212344664fb arm64: dts: qcom: sc7180-lite: Fix SDRAM freq for misidentified sc7180-lite boards
    c589ba11da5a ASoC: codecs: wsa881x: do not set can_multi_write flag
    980011869a2a ARM: dts: at91: sama7g5ek: fix debounce delay property for shdwc
    ac817e26f9df usb: usbfs: Use consistent mmap functions
    35d9f521bcc8 usb: usbfs: Enforce page requirements for mmap
    64e4a3b25338 pinctrl: meson-axg: add missing GPIOA_18 gpio group
    4124536ad924 rbd: get snapshot context after exclusive lock is ensured to be held
    1af3b16b6240 rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting
    2326488a9648 tee: amdtee: Add return_origin to 'struct tee_cmd_load_ta'
    0a8e5a6166dc Bluetooth: hci_qca: fix debugfs registration
    2a7e918e2280 Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk
    36482bf16fde s390/dasd: Use correct lock while counting channel queue length
    fd03b5575c8a ceph: fix use-after-free bug for inodes when flushing capsnaps
    e022640b1fee can: j1939: avoid possible use-after-free when j1939_can_rx_register fails
    67eb5a5153ab can: j1939: change j1939_netdev_lock type to mutex
    e2a6db7cab74 can: j1939: j1939_sk_send_loop_abort(): improved error queue handling in J1939 Socket
    4ce28f3ab368 drm/amd/pm: Fix power context allocation in SMU13
    2984dbacf68e drm/amdgpu: fix xclk freq on CHIP_STONEY
    77558dd16502 drm/amd/pm: conditionally disable pcie lane switching for some sienna_cichlid SKUs
    4b1bf594604c drm/i915/gt: Use the correct error value when kernel_context() fails
    17c01feed6ba ALSA: hda/realtek: Add Lenovo P3 Tower platform
    800e4c5b36bb ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01
    9dab648ccd01 ALSA: hda/realtek: Add quirk for Clevo NS50AU
    cd67fdd3cc1b Input: fix open count when closing inhibited device
    2545d1b4d14f Input: psmouse - fix OOB access in Elantech protocol
    ed263c550fbd Input: xpad - delete a Razer DeathAdder mouse VID/PID entry
    5db4229b1427 batman-adv: Broken sync while rescheduling delayed work
    aedad6c7fbaf bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks
    a94401de2bc2 bnxt_en: Query default VLAN before VNIC setup on a VF
    cf0a3e94674d bnxt_en: Don't issue AP reset during ethtool's reset operation
    40d074f7e490 lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release()
    b6b1799c37c3 bpf: Add extra path pointer check to d_path helper
    a242c6a92ce6 net: sched: fix possible refcount leak in tc_chain_tmplt_add()
    d7c69f7b8383 net: sched: act_police: fix sparse errors in tcf_police_dump()
    e7e0f9497421 net: sched: move rtm_tca_policy declaration to include file
    c5e0a2f49c5a drm/i915/selftests: Add some missing error propagation
    234f0337b439 drm/i915/selftests: Stop using kthread_stop()
    1f942073e164 drm/i915/selftests: Increase timeout for live_parallel_switch
    3604ab1519ef rfs: annotate lockless accesses to RFS sock flow table
    2501f5a95511 rfs: annotate lockless accesses to sk->sk_rxhash
    dd5296e3b21b ipv6: rpl: Fix Route of Death.
    eab6cda0bfd7 netfilter: ipset: Add schedule point in call_ad().
    7b053b2e8c96 netfilter: conntrack: fix NULL pointer dereference in nf_confirm_cthelper
    34d67ecf3dcc selftests/bpf: Fix sockopt_sk selftest
    01363bf8efe5 selftests/bpf: Verify optval=NULL case
    7e74801e1bfb wifi: cfg80211: fix locking in sched scan stop work
    6c25c96a4634 qed/qede: Fix scheduling while atomic
    668c3f9514f0 Bluetooth: L2CAP: Add missing checks for invalid DCID
    53c056ccda02 Bluetooth: Fix l2cap_disconnect_req deadlock
    c16e79e27e90 drm/i915: Use 18 fast wake AUX sync len
    567873901a92 drm/i915: Explain the magic numbers for AUX SYNC/precharge length
    dd40bcc357fe net/sched: fq_pie: ensure reasonable TCA_FQ_PIE_QUANTUM values
    9d66ffd8ac9e net: enetc: correct the statistics of rx bytes
    8db1acf2b131 net/smc: Avoid to access invalid RMBs' MRs in SMCRv1 ADD LINK CONT
    9b001a7d1e1a net/ipv6: fix bool/int mismatch for skip_notify_on_dev_down
    c85bee3a4ae1 bpf: Fix UAF in task local storage
    54c8aea7e888 net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods
    ab0eca3f5455 neighbour: fix unaligned access to pneigh_entry
    bdcc42186dd9 wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll
    7b0c76354a6a afs: Fix setting of mtime when creating a file/dir/symlink
    8ef72e783065 spi: qup: Request DMA before enabling clocks
    f0e84db82ed3 platform/surface: aggregator: Allow completion work-items to be executed in parallel
    547da248321a blk-iocost: avoid 64-bit division in ioc_timer_fn
    3b07425c3dea f2fs: fix iostat lock protection
    b85fb01a761a bonding (gcc13): synchronize bond_{a,t}lb_xmit() types
    0dfc81a283d4 i40e: fix build warning in ice_fltr_add_mac_to_list()
    2e12542c19c2 i40e: use int for i40e_status
    81f552df075f i40e: Remove string printing for i40e_status
    d13f56d4b265 sfc (gcc13): synchronize ef100_enqueue_skb()'s return type
    a9ad05e35412 remove the sx8 block driver
    c7cf7760b9b5 gcc-plugins: Reorganize gimple includes for GCC 13
    8d00b4e329b7 ata: ahci: fix enum constants for gcc-13

(From OE-Core rev: 79a6eb479bee6caabf22e3ed9e8b2793bdde836c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit e2c1d5814c659ffea6d1c1c658890a7a6fdb779a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Bruce Ashfield
ff42eb0012 linux-yocto/5.15: update to v5.15.116
Updating  to the latest korg -stable release that comprises
the following commits:

    7349e40704a0 Linux 5.15.116
    62886f17d3e6 RDMA/irdma: Do not generate SW completions for NOPs
    14d148401c52 RDMA/irdma: Fix drain SQ hang with no completion
    e88b19b252db ARM: defconfig: drop CONFIG_DRM_RCAR_LVDS
    a1c76e2907c1 ext4: enable the lazy init thread when remounting read/write
    76a7dfc9cc02 selftests: mptcp: join: skip if MPTCP is not supported
    807114223d3e selftests: mptcp: simult flows: skip if MPTCP is not supported
    9319c8b75ee6 selftests: mptcp: diag: skip if MPTCP is not supported
    c971ca2b9d8d drm/amdgpu/gfx10: Disable gfxoff before disabling powergating.
    7a20262fa9ee scsi: dpt_i2o: Do not process completions with invalid addresses
    daeab37ddb6f scsi: dpt_i2o: Remove broken pass-through ioctl (I2OUSERCMD)
    78a79c625265 drm/rcar: stop using 'imply' for dependencies
    4c3dda6b7cfd tpm, tpm_tis: Request threaded interrupt handler
    19750d7b575a regmap: Account for register length when chunking
    6cb7e7579a3d KEYS: asymmetric: Copy sig and digest in public_key_verify_signature()
    d56c2ab32594 ksmbd: fix incorrect AllocationSize set in smb2_get_info
    380b47932e76 ksmbd: fix credit count leakage
    8a870c07a1df KVM: x86: Account fastpath-only VM-Exits in vCPU stats
    808ed7d86ed9 test_firmware: fix the memory leak of the allocated firmware buffer
    4b7a35eb8a18 serial: 8250_tegra: Fix an error handling path in tegra_uart_probe()
    fc8ef0714161 fbcon: Fix null-ptr-deref in soft_cursor
    a0790a7739a2 ext4: add lockdep annotations for i_data_sem for ea_inode's
    a8c3024c3e46 ext4: disallow ea_inodes with extended attributes
    39a66e7a2987 ext4: set lockdep subclass for the ea_inode in ext4_xattr_inode_cache_find()
    bdbfbb7d5057 ext4: add EA_INODE checking to ext4_iget()
    efa3fe247d6b selftests: mptcp: sockopt: skip if MPTCP is not supported
    95ad73b62765 selftests: mptcp: pm nl: skip if MPTCP is not supported
    30bacfd8caf6 selftests: mptcp: connect: skip if MPTCP is not supported
    2712a1ba0597 tracing/probe: trace_probe_primary_from_call(): checked list_first_entry
    8a716b28b933 selinux: don't use make's grouped targets feature yet
    11a8e7fd7231 block: fix revalidate performance regression
    538d8504859f usb: cdns3: fix NCM gadget RX speed 20x slow than expection at iMX8QM
    57a2fd7b2c75 usb: cdns3: allocate TX FIFO size according to composite EP number
    d42d869b2cf4 iommu/amd: Fix domain flush size when syncing iotlb
    cb21384372d1 powerpc/iommu: Limit number of TCEs to 512 for H_STUFF_TCE hcall
    f257c1a6cc86 btrfs: fix csum_tree_block page iteration to avoid tripping on -Werror=array-bounds
    292806cfe43d tty: serial: fsl_lpuart: use UARTCTRL_TXINV to send break instead of UARTCTRL_SBK
    3fda903511f3 mmc: pwrseq: sd8787: Fix WILC CHIP_EN and RESETN toggling order
    dade1f4a379d mmc: vub300: fix invalid response handling
    3eb4590bc37c block/blk-iocost (gcc13): keep large values in a new enum
    43124187fe3a ath6kl: Use struct_group() to avoid size-mismatched casting
    43f4aca98bf2 x86/boot: Wrap literal addresses in absolute_pointer()
    3cfd7f042e67 drm/amd/pm: reverse mclk and fclk clocks levels for renoir
    7e0c25b39065 drm/amd/pm: reverse mclk and fclk clocks levels for yellow carp
    fce05ec3deb5 drm/amd/pm: reverse mclk and fclk clocks levels for vangogh
    b0dda610b42c ata: libata-scsi: Use correct device no in ata_find_dev()
    57f4555bdfa5 scsi: stex: Fix gcc 13 warnings
    6f675380db4f misc: fastrpc: reject new invocations during device removal
    cebe84b9c02e misc: fastrpc: return -EPIPE to invocations on device removal
    d3103fc0d191 md/raid5: fix miscalculation of 'end_sector' in raid5_read_one_chunk()
    599e19202be2 usb: gadget: f_fs: Add unbind event before functionfs_unbind
    c762eafe7949 dt-bindings: usb: snps,dwc3: Fix "snps,hsphy_interface" type
    7099a87cf5ee net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818
    16bd13e701c0 iio: dac: build ad5758 driver when AD5758 is selected
    b6622c1fd233 iio: adc: ad7192: Change "shorted" channels to differential
    aeec28d83865 iio: dac: mcp4725: Fix i2c_master_send() return value handling
    23c6a184c2b8 iio: adc: ad_sigma_delta: Fix IRQ issue by setting IRQ_DISABLE_UNLAZY flag
    4349ee3deef9 iio: light: vcnl4035: fixed chip ID check
    db633585e93b dt-bindings: iio: adc: renesas,rcar-gyroadc: Fix adi,ad7476 compatible value
    6bd3d6305b6a iio: imu: inv_icm42600: fix timestamp reset
    536b4ffa93fa HID: wacom: avoid integer overflow in wacom_intuos_inout()
    cfa747cc65ca HID: google: add jewel USB id
    11bc983e4393 iio: adc: mxs-lradc: fix the order of two cleanup operations
    a5461c3134ce iio: accel: st_accel: Fix invalid mount_matrix on devices without ACPI _ONT method
    6a7d946733ea media: uvcvideo: Don't expose unsupported formats to userspace
    6dd02a7bff9d mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
    0f3c55c7d62c nvme-pci: Add quirk for Teamgroup MP33 SSD
    c9079eb6f1cf drm/amdgpu: skip disabling fence driver src_irqs when device is unplugged
    4238ea044eb2 atm: hide unused procfs functions
    5d4c31d93973 drm/msm: Be more shouty if per-process pgtables aren't working
    825cc70fbf2f ALSA: oss: avoid missing-prototype warnings
    a79da1659cdc nvme-multipath: don't call blk_mark_disk_dead in nvme_mpath_remove_disk
    9a195b991709 netfilter: conntrack: define variables exp_nat_nla_policy and any_addr with CONFIG_NF_NAT
    82f505878f0a wifi: b43: fix incorrect __packed annotation
    ab62fc176eac scsi: core: Decrease scsi_device's iorequest_cnt if dispatch failed
    e04de12881ca wifi: mac80211: simplify chanctx allocation
    24dc97e135e8 arm64: vdso: Pass (void *) to virt_to_page()
    2944b9f0fdcf arm64/mm: mark private VM_FAULT_X defines as vm_fault_t
    39d84ddd9ebc ARM: dts: stm32: add pin map for CAN controller on stm32f7
    b2f00acd5369 wifi: rtl8xxxu: fix authentication timeout due to incorrect RCR value
    ce135055be33 ACPI: resource: Add IRQ override quirk for LG UltraPC 17U70P
    66f05cf2b2fd s390/topology: honour nr_cpu_ids when adding CPUs
    79803685425c s390/pkey: zeroize key blobs
    42624bc8c30c media: dvb-core: Fix use-after-free due to race condition at dvb_ca_en50221
    22fc36d59eab media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*()
    a47a3f7a9bf6 media: dvb-core: Fix use-after-free due to race at dvb_register_device()
    50831747cb3a media: dvb-core: Fix use-after-free due on race condition at dvb_net
    9f74fec18f4c media: mn88443x: fix !CONFIG_OF error by drop of_match_ptr from ID table
    d6c47b235992 media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb()
    747a121914e3 media: dvb_ca_en50221: fix a size write bug
    34562df4082b media: netup_unidvb: fix irq init by register it at the end of probe
    5e56e3d5ebeb media: dvb-usb: dw2102: fix uninit-value in su3000_read_mac_address
    5240bc8c0c9a media: dvb-usb: digitv: fix null-ptr-deref in digitv_i2c_xfer()
    cd6764cf45ab media: dvb-usb-v2: rtl28xxu: fix null-ptr-deref in rtl28xxu_i2c_xfer
    ef0d867e295d media: dvb-usb-v2: ce6230: fix null-ptr-deref in ce6230_i2c_master_xfer()
    abaf49c5a95d media: dvb-usb-v2: ec168: fix null-ptr-deref in ec168_i2c_xfer()
    4b61ee116a3c media: dvb-usb: az6027: fix three null-ptr-deref in az6027_i2c_xfer()
    5e9ad9962f2a media: dvb_demux: fix a bug for the continuity counter
    ae3e3ac8b294 ASoC: ssm2602: Add workaround for playback distortions
    6cf7f03d2d34 ASoC: dt-bindings: Adjust #sound-dai-cells on TI's single-DAI codecs
    133c78bc6769 xfrm: Check if_id in inbound policy/secpath match
    f1a6d366cdb1 um: harddog: fix modular build
    e9d167ca4810 ASoC: dwc: limit the number of overrun messages
    84dfd8bee506 nvme-pci: add quirk for missing secondary temperature thresholds
    b32eeafd4eb9 nvme-pci: add NVME_QUIRK_BOGUS_NID for HS-SSD-FUTURE 2048G
    f7af470fad9c block/rnbd: replace REQ_OP_FLUSH with REQ_OP_WRITE
    8ba70707c3fe nbd: Fix debugfs_create_dir error checking
    156f5237e9c3 fbdev: stifb: Fix info entry in sti_struct on error path
    b3c785428797 fbdev: modedb: Add 1920x1080 at 60 Hz video mode
    ad3de274e065 fbdev: imsttfb: Fix use after free bug in imsttfb_probe
    fd8b4e28f400 gfs2: Don't deref jdesc in evict
    a00cc8562835 platform/x86: intel_scu_pcidrv: Add back PCI ID for Medfield
    736626df53e9 media: rcar-vin: Select correct interrupt mode for V4L2_FIELD_ALTERNATE
    1eae6e919639 ARM: 9295/1: unwind:fix unwind abort for uleb128 case
    af739a701517 btrfs: abort transaction when sibling keys check fails for leaves
    872a038dd4c9 drm/ast: Fix ARM compatibility
    3291f4a1073a mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()
    fe6f6f470612 drm/amdgpu: Use the default reset when loading or reloading the driver
    2226d9ef63d5 ALSA: hda: Glenfly: add HD Audio PCI IDs and HDMI Codec Vendor IDs.
    65221bdde702 watchdog: menz069_wdt: fix watchdog initialisation
    6a7bf0038973 drm/amdgpu: release gpu full access after "amdgpu_device_ip_late_init"
    8ac106aade8f rtnetlink: call validate_linkmsg in rtnl_create_link
    beeffe764e07 mtd: rawnand: marvell: don't set the NAND frequency select
    6494318f11f3 mtd: rawnand: marvell: ensure timing values are written
    0fad29dabce1 net: dsa: mv88e6xxx: Increase wait after reset deactivation
    45f47d2cf114 net/sched: flower: fix possible OOB write in fl_set_geneve_opt()
    b15adce7d326 net/mlx5: Read embedded cpu after init bit cleared
    c3caee8fe178 net/mlx5e: Fix error handling in mlx5e_refresh_tirs
    1abb7b04ec37 udp6: Fix race condition in udp6_sendmsg & connect
    7dc379f8856b net/netlink: fix NETLINK_LIST_MEMBERSHIPS length report
    91b07931c14d net: sched: fix NULL pointer dereference in mq_attach
    b1cb1ba1fbfa net/sched: Prohibit regrafting ingress or clsact Qdiscs
    cde00dcdf0ce net/sched: Reserve TC_H_INGRESS (TC_H_CLSACT) for ingress (clsact) Qdiscs
    2e859de5aeb0 net/sched: sch_clsact: Only create under TC_H_CLSACT
    cff0af3d1364 net/sched: sch_ingress: Only create under TC_H_INGRESS
    a907a389c71c tcp: Return user_mss for TCP_MAXSEG in CLOSE/LISTEN state if user_mss set
    fade445f3921 tcp: deny tcp_disconnect() when threads are waiting
    5434c8128777 af_packet: do not use READ_ONCE() in packet_bind()
    60bd1403bab7 RDMA/irdma: Fix Local Invalidate fencing
    0b3c392b82cd RDMA/irdma: Prevent QP use after free
    bd2af69575f5 RDMA/irdma: Add SW mechanism to generate completions on error
    2d04dde4ded7 mtd: rawnand: ingenic: fix empty stub helper definitions
    8f61d394b0c2 amd-xgbe: fix the false linkup in xgbe_phy_status
    aefcb6ea1d44 af_packet: Fix data-races of pkt_sk(sk)->num.
    c8775b97bf96 netrom: fix info-leak in nr_write_internal()
    8045788adda6 net: mellanox: mlxbf_gige: Fix skb_panic splat under memory pressure
    8d9d0bfd4c22 net/mlx5e: Don't attach netdev profile while handling internal error
    d002e0287d78 net/mlx5: fw_tracer, Fix event handling
    3a7793ae6911 riscv: Fix unused variable warning when BUILTIN_DTB is set
    3f1191bc5b6a dmaengine: pl330: rename _start to prevent build error
    c4be5d71d7a4 iommu/amd: Don't block updates to GATag if guest mode is on
    b4fd38c0c7b8 iommu/rockchip: Fix unwind goto issue
    190ea1c39104 RDMA/bnxt_re: Fix return value of bnxt_re_process_raw_qp_pkt_rx
    2fa9ee0fd65d RDMA/bnxt_re: Fix a possible memory leak
    fdc977f2e785 dmaengine: at_xdmac: fix potential Oops in at_xdmac_prep_interleaved()
    f68eff0faf67 dmaengine: at_xdmac: Move the free desc to the tail of the desc list
    ba0e7ca84a93 RDMA/hns: Modify the value of long message loopback slice
    15aeb44199e6 RDMA/hns: Fix base address table allocation
    b0f40ecc46d9 RDMA/efa: Fix unsupported page sizes in device
    f370588ec389 RDMA/bnxt_re: Fix the page_size used during the MR creation

(From OE-Core rev: 5bcbae7273fcb619be39d388a7b593799b46dab5)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 20388189ab6d03ae3c6e4fdd0135af4f88e15198)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Bruce Ashfield
c7c869a242 linux-yocto/5.15: update to v5.15.115
Updating  to the latest korg -stable release that comprises
the following commits:

    d7af3e5ba454 Linux 5.15.115
    e226893c935f netfilter: ctnetlink: Support offloaded conntrack entry deletion
    395d846c61c5 ipv{4,6}/raw: fix output xfrm lookup wrt protocol
    1bb8a65190d4 binder: fix UAF of alloc->vma in race with munmap()
    1cae0d51368e binder: add lockless binder_alloc_(set|get)_vma()
    dd7aff43d005 Revert "android: binder: stop saving a pointer to the VMA"
    6802c700902c Revert "binder_alloc: add missing mmap_lock calls when using the VMA"
    09411f1b8672 bluetooth: Add cmd validity checks at the start of hci_sock_ioctl()
    0f21b8621756 xdp: xdp_mem_allocator can be NULL in trace_mem_connect().
    b6c4afcbd625 irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable
    13b290f02094 page_pool: fix inconsistency for page_pool_ring_[un]lock()
    3af319d51474 net: page_pool: use in_softirq() instead
    1c097b9db173 xdp: Allow registering memory model without rxq reference
    623d965c2dee net/mlx5e: Fix SQ wake logic in ptp napi_poll context
    9085886c04d9 irqchip/mips-gic: Use raw spinlock for gic_lock
    4517730b4c1e irqchip/mips-gic: Get rid of the reliance on irq_cpu_online()
    5fd7c1e36b0a binder: fix UAF caused by faulty buffer cleanup
    c88d21c0ae32 bonding: fix send_peer_notif overflow
    7ee611fc85ad Bonding: add arp_missed_max option
    5b925b48bebc net: dsa: mt7530: fix network connectivity with multiple CPU ports
    5a7266feaa6d net: dsa: mt7530: split-off common parts from mt7531_setup
    0753c1ef2419 net: dsa: mt7530: rework mt753[01]_setup
    9902f91cf666 net: dsa: introduce helpers for iterating through ports using dp
    d84b42b72526 net: phy: mscc: enable VSC8501/2 RGMII RX clock
    3dce2f3d8359 platform/x86: ISST: Remove 8 socket limit
    017a634f9f38 platform/x86: ISST: PUNIT device mapping with Sub-NUMA clustering
    ff455f7fbce7 net/mlx5: Devcom, serialize devcom registration
    69966bce28da net/mlx5e: Fix deadlock in tc route query code
    1c4e3cf8944f net/mlx5: devcom only supports 2 ports
    79ea1a12fb9a bpf: fix a memory leak in the LRU and LRU_PERCPU hash maps
    1f06b2a60445 power: supply: bq24190: Call power_supply_changed() after updating input current
    8c6f881dc13b power: supply: core: Refactor power_supply_set_input_current_limit_from_supplier()
    1f9367a890ac power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize
    75a7e9de60a2 power: supply: bq27xxx: Ensure power_supply_changed() is called on current sign changes
    e4c708a9bbde power: supply: bq27xxx: Move bq27xxx_battery_update() down
    2288fa1ae9b1 power: supply: bq27xxx: expose battery data when CI=1

(From OE-Core rev: 44262f31928a20a25b4c4a54c3b76a788cc20216)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit acb7f13dd673b15706f56a6b12ab4637a54e89f8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Bruce Ashfield
ae71d122b9 linux-yocto/5.15: update to v5.15.114
Updating  to the latest korg -stable release that comprises
the following commits:

    0ab06468cbd1 Linux 5.15.114
    193c59ba7299 net: phy: mscc: add VSC8502 to MODULE_DEVICE_TABLE
    350b95e86ca9 3c589_cs: Fix an error handling path in tc589_probe()
    7c2fa3e56d95 regulator: mt6359: add read check for PMIC MT6359
    28ebfb74fbf5 firmware: arm_ffa: Set reserved/MBZ fields to zero in the memory descriptors
    34b0985ebdfc arm64: dts: imx8mn-var-som: fix PHY detection bug by adding deassert delay
    1e7550653680 net/mlx5: Devcom, fix error flow in mlx5_devcom_register_device
    a89a69cea44c net/mlx5: Fix error message when failing to allocate device memory
    e8a974bbf4a5 net/mlx5: DR, Check force-loopback RC QP capability independently from RoCE
    5e0cc0d502d4 net/mlx5: DR, Fix crc32 calculation to work on big-endian (BE) CPUs
    792a8233fc01 net/mlx5e: do as little as possible in napi poll when budget is 0
    fdf8f33e7d03 platform/mellanox: mlxbf-pmc: fix sscanf() error checking
    d5ab5447d910 forcedeth: Fix an error handling path in nv_probe()
    ae7c4ec42655 sctp: fix an issue that plpmtu can never go to complete state
    ee553694be42 ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg
    aafa5019e2a3 x86/show_trace_log_lvl: Ensure stack pointer is aligned, again
    90314394a16d xen/pvcalls-back: fix double frees with pvcalls_new_active_socket()
    ff151810fb95 coresight: Fix signedness bug in tmc_etr_buf_insert_barrier_packet()
    24cf11474376 regulator: pca9450: Fix BUCK2 enable_mask
    cd41ec23503f fs: fix undefined behavior in bit shift for SB_NOUSER
    c2f65991097a firmware: arm_ffa: Fix FFA device names for logical partitions
    6a26c62625c5 firmware: arm_ffa: Check if ffa_driver remove is present before executing
    f64567bd9566 power: supply: sbs-charger: Fix INHIBITED bit for Status reg
    71a9f146b3dc power: supply: bq27xxx: Add cache parameter to bq27xxx_battery_current_and_status()
    e98e5bebfcaf power: supply: bq27xxx: Fix poll_interval handling and races on remove
    e01820a94aea power: supply: bq27xxx: Fix I2C IRQ race on remove
    d21b3448577f power: supply: bq27xxx: Fix bq27xxx_battery_update() race condition
    c530f60e5a2e power: supply: mt6360: add a check of devm_work_autocancel in mt6360_charger_probe
    0dd4881238bc power: supply: leds: Fix blink to LED on transition
    5e4bb063dcaf cifs: mapchars mount option ignored
    9b92e2d0eb69 ipv6: Fix out-of-bounds access in ipv6_find_tlv()
    bf478c2643ba bpf: Fix mask generation for 32-bit narrow loads of 64-bit fields
    79081b3f489a octeontx2-pf: Fix TSOv6 offload
    114657365c88 selftests: fib_tests: mute cleanup error message
    e06841a2abf9 net: fix skb leak in __skb_tstamp_tx()
    8f1512d78b5d ASoC: lpass: Fix for KASAN use_after_free out of bounds
    b1bde4b4360c media: radio-shark: Add endpoint checks
    43f569fd0699 USB: sisusbvga: Add endpoint checks
    da0f4b557682 USB: core: Add routines for endpoint checks in old drivers
    387bd0a3af3b udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated().
    cf3b5cd7127c net: fix stack overflow when LRO is disabled for virtual interfaces
    9e12c58a5ece fbdev: udlfb: Fix endpoint check
    aee97eec7702 debugobjects: Don't wake up kswapd from fill_pool()
    c09a7b6190f5 x86/topology: Fix erroneous smp_num_siblings on Intel Hybrid platforms
    a9ffd42eb9ab perf/x86/uncore: Correct the number of CHAs on SPR
    277f206bb874 parisc: Fix flush_dcache_page() for usage from irq context
    eff115ca949a selftests/memfd: Fix unknown type name build failure
    1a98b6e028ee x86/mm: Avoid incomplete Global INVLPG flushes
    683bb30c6947 dt-binding: cdns,usb3: Fix cdns,on-chip-buff-size type
    647af8a998c2 btrfs: use nofs when cleaning up aborted transactions
    7e93fe1d1733 gpio: mockup: Fix mode of debugfs files
    3a2d238c5a3a parisc: Allow to reboot machine after system halt
    96f8dd0483c8 parisc: Handle kgdb breakpoints only in kernel context
    16deb7413ace m68k: Move signal frame following exception on 68020/030
    9be921854e98 net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize
    1f6ae24e3d5a ASoC: rt5682: Disable jack detection interrupt during suspend
    693acaa739dc mmc: sdhci-esdhc-imx: make "no-mmc-hs400" works
    7177586e06ff ALSA: hda/realtek: Enable headset onLenovo M70/M90
    e6a624451afb ALSA: hda: Fix unhandled register update during auto-suspend period
    7716da3fa10b ALSA: hda/ca0132: add quirk for EVGA X299 DARK
    c37eb46c613a arm64: Also reset KASAN tag if page is not PG_mte_tagged
    291fe3d6f5db ocfs2: Switch to security_inode_init_security()
    4badd33929c0 spi: fsl-cpm: Use 16 bit mode for large transfers with even size
    28ffe8c84603 spi: fsl-spi: Re-organise transfer bits_per_word adaptation
    381e55bffe15 ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15
    ca338fa8032a watchdog: sp5100_tco: Immediately trigger upon starting.
    6312c7cc07f3 dt-bindings: ata: ahci-ceva: Cover all 4 iommus entries
    7ef9045fe758 dt-bindings: ata: ahci-ceva: convert to yaml
    f19171155305 usb: dwc3: fix gadget mode suspend interrupt handler issue
    7919af1dcb8e usb: gadget: Properly configure the device for remote wakeup

(From OE-Core rev: 1c8415175dc89a58e8af604163904cbfbe787edc)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit b83b248e5042dd1e9fdbc4c48be1af188fece1df)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Vivek Kumbhar
acca9233b2 cups: fix CVE-2023-34241 use-after-free in cupsdAcceptClient() in scheduler/client.c
(From OE-Core rev: 9a6c7442ac2fc2ce668d0c931696d39288ee3d4a)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:38 -10:00
Rusty Howell
c4d91873af 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: e53842ea6c14ed8e97252626e3ae0d3cf4580fbc)

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:11:37 -10:00
Etienne Cordonnier
a834d9001b libxcrypt: fix hard-coded ".so" extension
2 issues:
- the .so extension is hard-coded, and therefore the libxcryt package compiled with
  meta-darwin is empty, because the dylib files are not contained in FILES_${PN}
- nothing actually produces a file libcrypt-*.so (the symlink file is libcrypt.so, without dash), thus
  defining FILES:${PN} manually to contain libcrypt-*.so has no effect.

(From OE-Core rev: 87d3ad23643abff47ac35ca14f8b4b4bb9ee80da)

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7ed6bfa2428b4f1ba7f09d6e9e67c462ff355153)
Signed-off-by: Sanjay Chitroda <schitrod@cisco.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:37 -10:00
Marek Vasut
2a8a7c9e0d cpio: Replace fix wrong CRC with ASCII CRC for large files with upstream backport
Replace the original "Wrong CRC with ASCII CRC for large files"
patch with upstream backport, and add additional fix on top of
the same problem which upstream detected and fixed.

(From OE-Core rev: 727f301e4888c8f59cfc2d8768d02bb52ce23784)

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:37 -10:00
Vivek Kumbhar
257c1fdc11 libcap: fix CVE-2023-2603 Integer Overflow in _libcap_strdup()
(From OE-Core rev: 92340bc3161259c962b5ed5f9d9055f5bd36a3ce)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:37 -10:00
Vivek Kumbhar
efa581c3ab go: fix CVE-2023-29400 html/template improper handling of empty HTML attributes
(From OE-Core rev: 3224084a1ca301ff4fb4735ccc80d24aaec13257)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:37 -10:00
Richard Purdie
201362ccb6 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: 907416ee1062f87f5844ab0638b54616abfc1a22)

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:11:37 -10:00
Sakib Sajal
84dd3d0e6c blktrace: ask for python3 specifically
python2 has been deprecated, use python3 instead

(From OE-Core rev: f20a12ead2d5890e88e7f4ce149a777de47edc48)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:25 -10:00
Richard Purdie
b8580d79d1 layer.conf: Add missing dependency exclusion
Add a dependency which should have been in this list but wasn't, found
when debugging create-spdx hash issues.

(From OE-Core rev: 97c84ca1e138fe95ebd67f1fe42be19ab2aeca89)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1075b9fc5d562dada45b3187cb737511ff8c7376)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:25 -10:00
Alexander Kanavin
dbd90d690e maintainers.inc: correct Carlos Rafael Giani's email address
As confirmed via private email.

(From OE-Core rev: 1f664daa33b5fae83990b9b5d5490a896a307b68)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit c7f934368d3fb3e9cf268f8237eae80b1c1665a5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:25 -10:00
Richard Purdie
73c8c22708 selftest/license: Exclude from world
These test recipes shouldn't be built as part of world builds. Some recent
changes are exposing issues from this so exclude them.

(From OE-Core rev: 82ac6a3f22c3aec03d3ba162c67754bbf28fd0ba)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 80d3f5586cd060ae69fbc6dec2e8978d87da10ba)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:25 -10:00
Marc Ferland
6b072b62e9 connman: fix warning by specifying runstatedir at configure time
Without this patch, systemd complains on startup with messages similar
to:

systemd-tmpfiles[128]: /etc/tmpfiles.d/connman_resolvconf.conf:1: Line references path below legacy directory /var/run/, updating /var/run/connman → /run/connman; please update the tmpfiles.d/ drop-in file accordingly.
systemd-tmpfiles[172]: /etc/tmpfiles.d/connman_resolvconf.conf:1: Line references path below legacy directory /var/run/, updating /var/run/connman → /run/connman; please update the tmpfiles.d/ drop-in file accordingly.

By default, connman will use "/var/run/connman" for runstatedir
instead of the now recommended "/run/connman".

(From OE-Core rev: 52268f077af4fd21ac93623017160cb474bbef00)

Signed-off-by: Marc Ferland <ferlandm@amotus.ca>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8d17776765a99a4ae327797206ef2a8a735ce87b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:25 -10:00
Alexander Kanavin
29e3110204 maintainers.inc: correct unassigned entries
Modify packages to unassigned where appropriate

(From OE-Core rev: 36b862f23afe3ed81006c203e875f900249fd040)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ab37ddf53607111bf5c49c4f2388224999c4a5a9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 27f15bc3166fda5acd07e9e1c34842a641d24e37)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:25 -10:00
Alexander Kanavin
dc61844c11 maintainers.inc: unassign Pascal Bach from cmake entry
This was confirmed via private email.

(From OE-Core rev: 826fb858ebf1f8e9e2741b9046fd5c04638ff056)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c30e9f1972a3e1d4099f39fd6d0dfb37acb73ce1)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:25 -10:00
Alexander Kanavin
e1908ce910 maintainers.inc: unassign Andreas Müller from itstool entry
This was confirmed via private email.

(From OE-Core rev: 0823449cb03876ad88643df6c41c9450625d435d)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cc8bb0da24419424989548ced27b2e76030340d9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Alexander Kanavin
c1134732ad maintaines.inc: unassign Richard Weinberger from erofs-utils entry
This was confirmed via private email.

(From OE-Core rev: d66095fa0c2ddf11a790d4d2f94ce6c2b80c0143)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 834519933fcd6e4ff54f24d0cf671ea9ce24398a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Kai Kang
cb8879e666 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: 7d99987f76c58ec1f9ee5efffee0705b2c542ad7)

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-01 08:37:24 -10:00
Martin Jansa
ae2c9cbce3 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: 960b61a53b6a670b4b3a23faff85850a3485f00e)

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-01 08:37:24 -10:00
Martin Jansa
fb2151dbb7 minicom: remove unused patch files
* they were removed from SRC_URI in:
  https://git.openembedded.org/openembedded-core/commit/?id=41f8760dd8a8ac388389bc17dbc5e0ae0f64bf57

(From OE-Core rev: 094d2341240fc09a91fea7bea1b3c51a08ad9817)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a0f28cd8d01f4faeedc1089e5d1e2dacc5b046f9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
(cherry picked from commit 4395c783e544de30f650459677055737148ea261)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Frieder Schrempf
3aaf57f1ce psmisc: Set ALTERNATIVE for pstree to resolve conflict with busybox
If pstree in busybox is enabled there is a conflict with pstree from
psmisc resulting in:

  do_rootfs: Postinstall scriptlets of ['busybox'] have failed. If
  the intention is to defer them to first boot, then please place
  them into pkg_postinst_ontarget:${PN} ().
  Deferring to first boot via 'exit 1' is no longer supported.

And more detailed in do_rootfs.log:

  update-alternatives: Error: not linking [...]/rootfs/usr/bin/pstree to /bin/busybox.nosuid since [...]/rootfs/usr/bin/pstree exists and is not a link

On order to fix this set ALTERNATIVE:pstree accordingly.

(From OE-Core rev: b40a33f0665c7086e806da4f670a3eb25351216c)

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit deb2176df76dcb16c0d90072ad63d308a0ab1158)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Bruce Ashfield
e35effd45f linux-yocto/5.10: 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: 60eb677142dfd0264a99f626b5b9ede1a6d706e1)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Bruce Ashfield
9d1288c709 linux-yocto/5.10: update to v5.10.185
Updating  to the latest korg -stable release that comprises
the following commits:

    ef0d5feb32ab Linux 5.10.185
    ed2bf5cee6c6 um: Fix build w/o CONFIG_PM_SLEEP
    f73ec12dc718 drm/i915/gen11+: Only load DRAM information from pcode
    27458487c8f4 drm/i915/dg1: Wait for pcode/uncore handshake at startup
    2d1c19597d1e media: dvb-core: Fix use-after-free due to race at dvb_register_device()
    5c61c3945adf media: dvbdev: fix error logic at dvb_register_device()
    a1b26dac8bc6 media: dvbdev: Fix memleak in dvb_register_device
    a13dee47fa2a nilfs2: reject devices with insufficient block count
    c374552b54d6 mm/memory_hotplug: extend offline_and_remove_memory() to handle more than one memory block
    e6dc6a9d0a76 mmc: block: ensure error propagation for non-blk
    7ce0e8b28720 batman-adv: Switch to kstrtox.h for kstrtou64
    e6104284c42f neighbour: delete neigh_lookup_nodev as not used
    bf82668eb950 net: Remove DECnet leftovers from flow.h.
    7d07fd03f50c net: Remove unused inline function dst_hold_and_use()
    53076071fb92 neighbour: Remove unused inline function neigh_key_eq16()
    7230a9e599d3 rcu/kvfree: Avoid freeing new kfree_rcu() memory after old grace period
    a26158962176 cgroup: always put cset in cgroup_css_set_put_fork
    4c1084386332 afs: Fix vlserver probe RTT handling
    49b6607dedc2 selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET
    08899e8d5a99 net: tipc: resize nlattr array to correct size
    5fd696b404fb net: lapbether: only support ethernet devices
    6ee3728ae87e net/sched: cls_api: Fix lockup on flushing explicitly created chain
    efed5b50f3b8 ext4: drop the call to ext4_error() from ext4_get_group_info()
    6ab91d1adb5a drm/nouveau: add nv_encoder pointer check for NULL
    5d43bb9b3e0c drm/nouveau/dp: check for NULL nv_connector->native_mode
    edb970e03d65 drm/nouveau: don't detect DSM for non-NVIDIA device
    8c3446ab5902 igb: fix nvm.ops.read() error handling
    221281d60c46 sctp: fix an error code in sctp_sf_eat_auth()
    5c47ed7f25d6 ipvlan: fix bound dev checking for IPv6 l3s mode
    3c97f2c9ec29 IB/isert: Fix incorrect release of isert connection
    da6ae4aab5a6 IB/isert: Fix possible list corruption in CMA handler
    2b6f8817ca66 IB/isert: Fix dead lock in ib_isert
    2f9d26345c6e IB/uverbs: Fix to consider event queue closing also upon non-blocking mode
    6cccdbc9f09c RDMA/cma: Always set static rate to 0 for RoCE
    f49abbb27416 RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions
    aa277d5cd4b2 octeontx2-af: fixed resource availability check
    0fb48a2a6ad4 iavf: remove mask from iavf_irq_enable_queues()
    079a9591ee18 RDMA/rxe: Fix the use-before-initialization error of resp_pkts
    089a0e831f68 RDMA/rxe: Removed unused name from rxe_task struct
    6205c0d9ff8b RDMA/rxe: Remove the unused variable obj
    af6eaa57986e net/sched: cls_u32: Fix reference counter leak leading to overflow
    5852d17aaa8b ping6: Fix send to link-local addresses with VRF.
    9e666a77f008 net: enetc: correct the indexes of highest and 2nd highest TCs
    1200af82cf0b netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM
    af42c4fd827c spi: fsl-dspi: avoid SCK glitches with continuous transfers
    cb6ec51ddd00 RDMA/rtrs: Fix the last iu->buf leak in err path
    26293251ab64 usb: dwc3: gadget: Reset num TRBs before giving back the request
    f4bc41694289 serial: lantiq: add missing interrupt ack
    0b6e65016c3c USB: serial: option: add Quectel EM061KGL series
    1c004b379b03 Remove DECnet support from kernel
    e9d384983fa9 ALSA: hda/realtek: Add a quirk for Compaq N14JP6
    1148d4ca3029 net: usb: qmi_wwan: add support for Compal RXM-G1
    d7acfd522560 RDMA/uverbs: Restrict usage of privileged QKEYs
    96e14c91c530 nouveau: fix client work fence deletion race
    f1f7117b2236 powerpc/purgatory: remove PGO flags
    26c80741ceb6 x86/purgatory: remove PGO flags
    f368aed4827b kexec: support purgatories with .text.hot sections
    7e78b9142fdf nilfs2: fix possible out-of-bounds segment allocation in resize ioctl
    902fcec05295 nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key()
    d59293f082dc nios2: dts: Fix tse_mac "max-frame-size" property
    2847d9eed48b ocfs2: check new file size on fallocate call
    e73b135f540c ocfs2: fix use-after-free when unmounting read-only filesystem
    370f5d98ffe5 epoll: ep_autoremove_wake_function should use list_del_init_careful
    4716c73b1885 io_uring: hold uring mutex around poll removal
    93a68acc497b irqchip/gic: Correctly validate OF quirk descriptors
    2a2641a842ea drm:amd:amdgpu: Fix missing buffer object unlock in failure path
    7c0b17679b43 xen/blkfront: Only check REQ_FUA for writes
    8e45fb70f4b5 ASoC: dwc: move DMA init to snd_soc_dai_driver probe()
    d47b5a6d2331 mips: Move initrd_start check after initrd address sanitisation.
    619672bf2d04 MIPS: Alchemy: fix dbdma2
    0ca73b45b767 parisc: Flush gatt writes and adjust gatt mask in parisc_agp_mask_memory()
    3f7625e08620 parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu()
    73102fdb5bf3 ASoC: soc-pcm: test if a BE can be prepared
    3bc883132d03 btrfs: handle memory allocation failure in btrfs_csum_one_bio
    142fbad31405 btrfs: scrub: try harder to mark RAID56 block groups read-only
    35d32d841592 power: supply: Fix logic checking if system is running from battery
    8b7a2207ee40 irqchip/gic-v3: Disable pseudo NMIs on Mediatek devices w/ firmware issues
    dbf610997242 regulator: Fix error checking for debugfs_create_dir
    37bcc48e7dd1 platform/x86: asus-wmi: Ignore WMI events with codes 0x7B, 0xC0
    88d1c1365ff6 power: supply: Ratelimit no data debug output
    6be7a4bef9dc tools: gpio: fix debounce_period_us output of lsgpio
    39eb9eb9ea43 ARM: dts: vexpress: add missing cache properties
    b2856c3cd3b2 power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + schedule()
    ce2b5f24caad power: supply: sc27xx: Fix external_power_changed race
    9e9e150fa8a6 power: supply: ab8500: Fix external_power_changed race
    539c387f0bb9 test_firmware: fix a memory leak with reqs buffer
    af36f35074b1 test_firmware: prevent race conditions by a correct implementation of locking
    682ca602515d test_firmware: Use kstrtobool() instead of strtobool()
    6e2e551e39fd kernel.h: split out kstrtox() and simple_strtox() to a separate header
    c2def5578b44 lib: cleanup kstrto*() usage

(From OE-Core rev: 0cacc63b11f85a37e3a91b1097ca516647facb8f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Bruce Ashfield
ba277d1a5f linux-yocto/5.10: update to v5.10.184
Updating  to the latest korg -stable release that comprises
the following commits:

    a1f0beb13d9b Linux 5.10.184
    7f896130eff7 Revert "staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE"
    b60e862e133f btrfs: unset reloc control if transaction commit fails in prepare_to_relocate()
    6f371623f315 btrfs: check return value of btrfs_commit_transaction in relocation
    ea0d413094e0 drm/atomic: Don't pollute crtc_state->mode_blob with error pointers
    1659268d1ab4 MIPS: locking/atomic: Fix atomic{_64,}_sub_if_positive
    0e98a97f772f xfs: verify buffer contents when we skip log replay
    58e8cf94de12 tcp: fix tcp_min_tso_segs sysctl
    1b4b3350969e ext4: only check dquot_initialize_needed() when debugging
    fd6cb5171903 Revert "ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled"
    cfa91c0573a5 vhost: support PACKED when setting-getting vring_base
    461c88caa889 riscv: fix kprobe __user string arg print fault issue
    c6b905087428 eeprom: at24: also select REGMAP
    10e376a7c387 i2c: sprd: Delete i2c adapter in .remove's error path
    c4aeef56022e ASoC: codecs: wsa881x: do not set can_multi_write flag
    b6f309e9d24e staging: vc04_services: fix gcc-13 build warning
    0d3c75a69344 usb: usbfs: Use consistent mmap functions
    143f40572174 usb: usbfs: Enforce page requirements for mmap
    bcd474d1838e pinctrl: meson-axg: add missing GPIOA_18 gpio group
    1981d37b1d76 rbd: get snapshot context after exclusive lock is ensured to be held
    76ae4a7bc999 rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting
    841d3b5a8446 tee: amdtee: Add return_origin to 'struct tee_cmd_load_ta'
    a94024991d82 Bluetooth: hci_qca: fix debugfs registration
    2270e32bd199 Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk
    76b40319a1ea s390/dasd: Use correct lock while counting channel queue length
    e715c86e92fd ceph: fix use-after-free bug for inodes when flushing capsnaps
    67148731582d can: j1939: avoid possible use-after-free when j1939_can_rx_register fails
    cc834f4d9762 can: j1939: change j1939_netdev_lock type to mutex
    026800507640 can: j1939: j1939_sk_send_loop_abort(): improved error queue handling in J1939 Socket
    00380551353b drm/amdgpu: fix xclk freq on CHIP_STONEY
    ef95f987bea8 ALSA: hda/realtek: Add Lenovo P3 Tower platform
    95520b3fba92 ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01
    ca26d00828d3 Input: psmouse - fix OOB access in Elantech protocol
    86efc409f29d Input: xpad - delete a Razer DeathAdder mouse VID/PID entry
    9ece26ff0815 batman-adv: Broken sync while rescheduling delayed work
    3f6dfff5fe41 bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks
    deead0d8729f bnxt_en: Query default VLAN before VNIC setup on a VF
    84dbd27ad5da bnxt_en: Don't issue AP reset during ethtool's reset operation
    dedd47977ae5 lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release()
    27b8d6931f3f bpf: Add extra path pointer check to d_path helper
    36d07046c2d9 net: sched: fix possible refcount leak in tc_chain_tmplt_add()
    54acac57fe39 net: sched: move rtm_tca_policy declaration to include file
    dad7417db765 rfs: annotate lockless accesses to RFS sock flow table
    c62ca9d03777 rfs: annotate lockless accesses to sk->sk_rxhash
    86e3981ff1bc ipv6: rpl: Fix Route of Death.
    b4be099c5fb5 netfilter: ipset: Add schedule point in call_ad().
    35c89cfcac05 netfilter: conntrack: fix NULL pointer dereference in nf_confirm_cthelper
    c4ba90ae3578 qed/qede: Fix scheduling while atomic
    0fee54fa330b Bluetooth: L2CAP: Add missing checks for invalid DCID
    00665980128c Bluetooth: Fix l2cap_disconnect_req deadlock
    83cfac5851c2 net/sched: fq_pie: ensure reasonable TCA_FQ_PIE_QUANTUM values
    8ab2bec9e165 net/smc: Avoid to access invalid RMBs' MRs in SMCRv1 ADD LINK CONT
    47ef881f1cbe net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods
    9fcc3c3d26a0 neighbour: fix unaligned access to pneigh_entry
    99883d4a0be2 wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll
    2d3e4c5b3e05 afs: Fix setting of mtime when creating a file/dir/symlink
    1ed651e234fd spi: qup: Request DMA before enabling clocks
    e7c61c39d6d1 staging: vchiq_core: drop vchiq_status from vchiq_initialise
    fa303270602d i40e: fix build warning in ice_fltr_add_mac_to_list()
    15ca8d584c1a i40e: fix build warnings in i40e_alloc.h
    f7e208d1c549 i40iw: fix build warning in i40iw_manage_apbvt()
    318e2c18da7c block/blk-iocost (gcc13): keep large values in a new enum
    b6d652f7fbdc blk-iocost: avoid 64-bit division in ioc_timer_fn
    9214a5484e33 f2fs: fix iostat lock protection
    d3b74c288d84 bonding (gcc13): synchronize bond_{a,t}lb_xmit() types
    f122e5517401 remove the sx8 block driver
    9236470a1dd4 sfc (gcc13): synchronize ef100_enqueue_skb()'s return type
    02ce3cf22291 gcc-plugins: Reorganize gimple includes for GCC 13
    4c3ddc06cedb ata: ahci: fix enum constants for gcc-13

(From OE-Core rev: 1588c4ebc21543a6a0a0d254339505f2c4ceb8c1)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Bruce Ashfield
8b0ae951cf linux-yocto/5.10: update to v5.10.183
Updating  to the latest korg -stable release that comprises
the following commits:

    7356714b95aa Linux 5.10.183
    842156dc0aad ARM: defconfig: drop CONFIG_DRM_RCAR_LVDS
    2c0ea7a06db5 ext4: enable the lazy init thread when remounting read/write
    92450a1eaa9e selftests: mptcp: join: skip if MPTCP is not supported
    1a6db1f92724 selftests: mptcp: simult flows: skip if MPTCP is not supported
    4f8356ab74dd selftests: mptcp: diag: skip if MPTCP is not supported
    81df7153f011 crypto: ccp: Play nice with vmalloc'd memory for SEV command structs
    1f988ce6e44f crypto: ccp: Reject SEV commands with mismatching command buffer
    d21a20f4421d scsi: dpt_i2o: Do not process completions with invalid addresses
    a2cd7599b558 scsi: dpt_i2o: Remove broken pass-through ioctl (I2OUSERCMD)
    6d6612f7f976 drm/rcar: stop using 'imply' for dependencies
    c759c9e4bf38 media: ti-vpe: cal: avoid FIELD_GET assertion
    d21e955de918 tpm, tpm_tis: Request threaded interrupt handler
    608c1f20830c regmap: Account for register length when chunking
    cb1cbe430e67 KEYS: asymmetric: Copy sig and digest in public_key_verify_signature()
    3295dc04af33 KVM: x86: Account fastpath-only VM-Exits in vCPU stats
    21bb3cd2e1bc test_firmware: fix the memory leak of the allocated firmware buffer
    510e015b9058 serial: 8250_tegra: Fix an error handling path in tegra_uart_probe()
    b02ae50c7fd8 fbcon: Fix null-ptr-deref in soft_cursor
    c94228a5aea4 ext4: add lockdep annotations for i_data_sem for ea_inode's
    ef70012ab51c ext4: disallow ea_inodes with extended attributes
    6f4fa43757bb ext4: set lockdep subclass for the ea_inode in ext4_xattr_inode_cache_find()
    6d67d4966c1e ext4: add EA_INODE checking to ext4_iget()
    6d0adaa90dbe selftests: mptcp: pm nl: skip if MPTCP is not supported
    54dea0aa6bef selftests: mptcp: connect: skip if MPTCP is not supported
    57eb824b8cbb tracing/probe: trace_probe_primary_from_call(): checked list_first_entry
    122ba1d40bea selinux: don't use make's grouped targets feature yet
    e0b8664c2fec btrfs: fix csum_tree_block page iteration to avoid tripping on -Werror=array-bounds
    6c859764f44d tty: serial: fsl_lpuart: use UARTCTRL_TXINV to send break instead of UARTCTRL_SBK
    6127e956c3a7 mmc: vub300: fix invalid response handling
    99cb5ed15d3e eth: sun: cassini: remove dead code
    1d8693376aaa gcc-12: disable '-Wdangling-pointer' warning for now
    7c602f540bfd ath6kl: Use struct_group() to avoid size-mismatched casting
    c92ea38a779f ACPI: thermal: drop an always true check
    93e28b66c104 x86/boot: Wrap literal addresses in absolute_pointer()
    3442be8f3095 ata: libata-scsi: Use correct device no in ata_find_dev()
    ae0d7613e0e3 scsi: stex: Fix gcc 13 warnings
    86b2d292c260 misc: fastrpc: reject new invocations during device removal
    dacb7c103c2f misc: fastrpc: return -EPIPE to invocations on device removal
    a4f88cb043c5 usb: gadget: f_fs: Add unbind event before functionfs_unbind
    90f581eb745c net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818
    e18b0009ddfb iio: dac: build ad5758 driver when AD5758 is selected
    a869ab6987f4 iio: adc: ad7192: Change "shorted" channels to differential
    143dbb313aea iio: dac: mcp4725: Fix i2c_master_send() return value handling
    81c70f4beaad iio: light: vcnl4035: fixed chip ID check
    ff864a92d903 iio: imu: inv_icm42600: fix timestamp reset
    954bd5a44b09 HID: wacom: avoid integer overflow in wacom_intuos_inout()
    adac1c22f54b HID: google: add jewel USB id
    55c507a34e7e iio: adc: mxs-lradc: fix the order of two cleanup operations
    5a445c2bf651 mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
    c05ac53bb0df atm: hide unused procfs functions
    ab332304583d drm/msm: Be more shouty if per-process pgtables aren't working
    93a61212db4b ALSA: oss: avoid missing-prototype warnings
    4987bf04465e netfilter: conntrack: define variables exp_nat_nla_policy and any_addr with CONFIG_NF_NAT
    1c2537291e9c wifi: b43: fix incorrect __packed annotation
    ea478186ea29 scsi: core: Decrease scsi_device's iorequest_cnt if dispatch failed
    05226a8f2288 arm64/mm: mark private VM_FAULT_X defines as vm_fault_t
    32f86763c2a2 ARM: dts: stm32: add pin map for CAN controller on stm32f7
    01c76cb5e512 wifi: rtl8xxxu: fix authentication timeout due to incorrect RCR value
    046721280664 s390/pkey: zeroize key blobs
    76169f749089 media: dvb-core: Fix use-after-free due to race condition at dvb_ca_en50221
    ca2d171fd1f3 media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*()
    2ea7d26ed851 media: dvb-core: Fix use-after-free due on race condition at dvb_net
    415651c8f468 media: mn88443x: fix !CONFIG_OF error by drop of_match_ptr from ID table
    eb37fef417a2 media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb()
    1995e714725f media: dvb_ca_en50221: fix a size write bug
    b85233ab5335 media: netup_unidvb: fix irq init by register it at the end of probe
    74c80d2024d9 media: dvb-usb: dw2102: fix uninit-value in su3000_read_mac_address
    fcbb72b041d9 media: dvb-usb: digitv: fix null-ptr-deref in digitv_i2c_xfer()
    7945c13c9b7f media: dvb-usb-v2: rtl28xxu: fix null-ptr-deref in rtl28xxu_i2c_xfer
    2d47867a6b3c media: dvb-usb-v2: ce6230: fix null-ptr-deref in ce6230_i2c_master_xfer()
    647da51e4da7 media: dvb-usb-v2: ec168: fix null-ptr-deref in ec168_i2c_xfer()
    084e43d9a4c1 media: dvb-usb: az6027: fix three null-ptr-deref in az6027_i2c_xfer()
    a81280cf3343 media: dvb_demux: fix a bug for the continuity counter
    204e9082f6af ASoC: ssm2602: Add workaround for playback distortions
    beee708ccccc ASoC: dt-bindings: Adjust #sound-dai-cells on TI's single-DAI codecs
    bd99da647262 xfrm: Check if_id in inbound policy/secpath match
    5ee83fef0c24 ASoC: dwc: limit the number of overrun messages
    32f6f1bf1bef block/rnbd: replace REQ_OP_FLUSH with REQ_OP_WRITE
    01c3d3064975 nbd: Fix debugfs_create_dir error checking
    29f6b42a73b3 fbdev: stifb: Fix info entry in sti_struct on error path
    742dab42d70e fbdev: modedb: Add 1920x1080 at 60 Hz video mode
    d03d31d3a206 gfs2: Don't deref jdesc in evict
    fe4f6e159b9a media: rcar-vin: Select correct interrupt mode for V4L2_FIELD_ALTERNATE
    16ee4562c7bb ARM: 9295/1: unwind:fix unwind abort for uleb128 case
    a3393eb6fb41 btrfs: abort transaction when sibling keys check fails for leaves
    c12c288f1e67 mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()
    0dcf021af4cb ALSA: hda: Glenfly: add HD Audio PCI IDs and HDMI Codec Vendor IDs.
    d5fcccfc5010 watchdog: menz069_wdt: fix watchdog initialisation
    9823ac6e7ae1 mtd: rawnand: marvell: don't set the NAND frequency select
    e4666d793a22 mtd: rawnand: marvell: ensure timing values are written
    a437d3d25a27 net: dsa: mv88e6xxx: Increase wait after reset deactivation
    7c5c67aa2944 net/sched: flower: fix possible OOB write in fl_set_geneve_opt()
    f5c29a9e9146 net/mlx5: Read embedded cpu after init bit cleared
    f03bc013604c udp6: Fix race condition in udp6_sendmsg & connect
    57e6c5403427 net/netlink: fix NETLINK_LIST_MEMBERSHIPS length report
    ae7e941f4dc3 net: sched: fix NULL pointer dereference in mq_attach
    a8ad1303b9de net/sched: Prohibit regrafting ingress or clsact Qdiscs
    676f203803f9 net/sched: Reserve TC_H_INGRESS (TC_H_CLSACT) for ingress (clsact) Qdiscs
    18c76349afda net/sched: sch_clsact: Only create under TC_H_CLSACT
    1b0163b2dc3b net/sched: sch_ingress: Only create under TC_H_INGRESS
    dfb80ebc3bb4 tcp: Return user_mss for TCP_MAXSEG in CLOSE/LISTEN state if user_mss set
    cccc6209708f tcp: deny tcp_disconnect() when threads are waiting
    8f0365a3e286 af_packet: do not use READ_ONCE() in packet_bind()
    4de3c2c43c6f mtd: rawnand: ingenic: fix empty stub helper definitions
    11a1f2561b53 amd-xgbe: fix the false linkup in xgbe_phy_status
    fa909b138480 af_packet: Fix data-races of pkt_sk(sk)->num.
    616da05ff8a9 netrom: fix info-leak in nr_write_internal()
    d1b224cb7856 net/mlx5: fw_tracer, Fix event handling
    a864a8543cd5 dmaengine: pl330: rename _start to prevent build error
    33d7035dc224 iommu/amd: Don't block updates to GATag if guest mode is on
    bd9e61ee3e9d iommu/rockchip: Fix unwind goto issue
    75c60dacf0b4 RDMA/bnxt_re: Fix return value of bnxt_re_process_raw_qp_pkt_rx
    861868b06304 RDMA/bnxt_re: Fix a possible memory leak
    ff296fccebcb dmaengine: at_xdmac: fix potential Oops in at_xdmac_prep_interleaved()
    6b32ed353f44 dmaengine: at_xdmac: Move the free desc to the tail of the desc list
    3041b768cc0f dmaengine: at_xdmac: Fix race for the tx desc callback
    127afc87bb02 dmaengine: at_xdmac: Fix concurrency over chan's completed_cookie
    958226b3a663 RDMA/efa: Fix unsupported page sizes in device
    7d6662e4a4b6 RDMA/bnxt_re: Fix the page_size used during the MR creation
    b51c8962853e RDMA/bnxt_re: Code refactor while populating user MRs

(From OE-Core rev: 3a6f5720936c106e35be41b4b3e14e818baec739)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Bruce Ashfield
402de28911 linux-yocto/5.10: update to v5.10.182
Updating  to the latest korg -stable release that comprises
the following commits:

    c7992b6c7f0e Linux 5.10.182
    468bebc426ba netfilter: ctnetlink: Support offloaded conntrack entry deletion
    18c14d3028c0 ipv{4,6}/raw: fix output xfrm lookup wrt protocol
    2218752325a9 binder: fix UAF caused by faulty buffer cleanup
    e4d2e6c3054b bluetooth: Add cmd validity checks at the start of hci_sock_ioctl()
    6a0712d9fe46 net: phy: mscc: enable VSC8501/2 RGMII RX clock
    b556990235c3 net/mlx5: Devcom, serialize devcom registration
    57dc3c124e7b net/mlx5: devcom only supports 2 ports
    860ad704e450 regulator: pca9450: Fix BUCK2 enable_mask
    b3a9c4081db9 regulator: pca9450: Convert to use regulator_set_ramp_delay_regmap
    12cb97ed85fb regulator: Add regmap helper for ramp-delay setting
    b557220d3140 power: supply: bq24190: Call power_supply_changed() after updating input current
    224f7bbf577b power: supply: core: Refactor power_supply_set_input_current_limit_from_supplier()
    277b489ad0b7 power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize
    0949c572d42d power: supply: bq27xxx: Ensure power_supply_changed() is called on current sign changes
    6ed541254f4b power: supply: bq27xxx: Move bq27xxx_battery_update() down
    ed78797a264c power: supply: bq27xxx: expose battery data when CI=1
    7ff807d68b5d power: supply: bq27xxx: Add cache parameter to bq27xxx_battery_current_and_status()
    432f98c559f2 power: supply: bq27xxx: make status more robust
    659094e4057a power: supply: bq27xxx: fix sign of current_now for newer ICs
    14e1a958d988 power: supply: bq27xxx: fix polarity of current_now
    18c9cf463337 x86/cpu: Drop spurious underscore from RAPTOR_LAKE #define
    4a8980cb2a7c x86/cpu: Add Raptor Lake to Intel family
    272d4b8a5b96 Linux 5.10.181
    cf7ee4b15838 net: phy: mscc: add VSC8502 to MODULE_DEVICE_TABLE
    98cedb991094 3c589_cs: Fix an error handling path in tc589_probe()
    6f449e409b75 arm64: dts: imx8mn-var-som: fix PHY detection bug by adding deassert delay
    d4d10a6df152 net/mlx5: Devcom, fix error flow in mlx5_devcom_register_device
    8b9c561b9fc1 net/mlx5: Fix error message when failing to allocate device memory
    c21862232f6c net/mlx5: DR, Fix crc32 calculation to work on big-endian (BE) CPUs
    058fd18e7477 net/mlx5e: do as little as possible in napi poll when budget is 0
    5afd5fb8a9a7 forcedeth: Fix an error handling path in nv_probe()
    80a4b9ad4288 ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg
    c966b58c8515 x86/show_trace_log_lvl: Ensure stack pointer is aligned, again
    0de80163dea6 xen/pvcalls-back: fix double frees with pvcalls_new_active_socket()
    b663696c0652 coresight: Fix signedness bug in tmc_etr_buf_insert_barrier_packet()
    a52d2019ec7c fs: fix undefined behavior in bit shift for SB_NOUSER
    52967bbb93eb power: supply: sbs-charger: Fix INHIBITED bit for Status reg
    e85757da9091 power: supply: bq27xxx: Fix poll_interval handling and races on remove
    1da9a4b55a66 power: supply: bq27xxx: Fix I2C IRQ race on remove
    ac1ab213946d power: supply: bq27xxx: Fix bq27xxx_battery_update() race condition
    2de6eb7c40f9 power: supply: leds: Fix blink to LED on transition
    e5f82688ae10 ipv6: Fix out-of-bounds access in ipv6_find_tlv()
    a61d5c13c7d1 bpf: Fix mask generation for 32-bit narrow loads of 64-bit fields
    72971f4071b4 octeontx2-pf: Fix TSOv6 offload
    1c8a016822bb selftests: fib_tests: mute cleanup error message
    a594382ec6d0 net: fix skb leak in __skb_tstamp_tx()
    8a30dce9d7f7 media: radio-shark: Add endpoint checks
    ccef03c51135 USB: sisusbvga: Add endpoint checks
    4c260bbf356a USB: core: Add routines for endpoint checks in old drivers
    5014b64e369b udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated().
    4bb955c4d283 net: fix stack overflow when LRO is disabled for virtual interfaces
    58ecc165abda fbdev: udlfb: Fix endpoint check
    fd673079749b debugobjects: Don't wake up kswapd from fill_pool()
    a12ce786bef6 x86/topology: Fix erroneous smp_num_siblings on Intel Hybrid platforms
    518c39fc1ed6 parisc: Fix flush_dcache_page() for usage from irq context
    2d78438c3183 selftests/memfd: Fix unknown type name build failure
    d4a5e6ae9967 x86/mm: Avoid incomplete Global INVLPG flushes
    628d7e494134 dt-binding: cdns,usb3: Fix cdns,on-chip-buff-size type
    139f84c80d9f btrfs: use nofs when cleaning up aborted transactions
    ea50ee0ef904 gpio: mockup: Fix mode of debugfs files
    c570dbf279a8 parisc: Allow to reboot machine after system halt
    de0d7dd5efd4 parisc: Handle kgdb breakpoints only in kernel context
    89eba5586aa4 m68k: Move signal frame following exception on 68020/030
    42b78c8cc774 net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize
    798c1c62cfa5 ALSA: hda/realtek: Enable headset onLenovo M70/M90
    1f57a1b97949 ALSA: hda: Fix unhandled register update during auto-suspend period
    b0d7e62fd15e ALSA: hda/ca0132: add quirk for EVGA X299 DARK
    c41324385aa7 ocfs2: Switch to security_inode_init_security()
    60afe299bb54 spi: fsl-cpm: Use 16 bit mode for large transfers with even size
    e3674788a865 spi: fsl-spi: Re-organise transfer bits_per_word adaptation
    532451037863 act_mirred: use the backlog for nested calls to mirred ingress
    f5bf8e3ca13e net/sched: act_mirred: better wording on protection against excessive stack growth
    bba7ebe10baf net/sched: act_mirred: refactor the handle of xmit
    047f618d198e writeback, cgroup: remove extra percpu_ref_exit()
    84fbe6ad0fa3 ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15
    dbcc95bb510e watchdog: sp5100_tco: Immediately trigger upon starting.
    75258f083868 s390/qdio: fix do_sqbs() inline assembly constraint
    3681a0287a73 s390/qdio: get rid of register asm
    9c9f253fc60b serial: 8250_exar: Add support for USR298x PCI Modems
    1ffa0b8ba928 serial: exar: Add support for Sealevel 7xxxC serial cards
    fb3c5714f5ce serial: 8250_exar: derive nr_ports from PCI ID for Acces I/O cards
    18fbf8cfbb9d KVM: arm64: Link position-independent string routines into .hyp.text
    e266da1656d6 HID: wacom: add three styli to wacom_intuos_get_tool_type
    dfd419db0391 HID: wacom: Add new Intuos Pro Small (PTH-460) device IDs
    05b170379744 HID: wacom: Force pen out of prox if no events have been received in a while
    6b4205ea9790 nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode()
    710dee57012e powerpc/64s/radix: Fix soft dirty tracking
    ae149cdaef4e tpm/tpm_tis: Disable interrupts for more Lenovo devices
    8c0109d76235 ceph: force updating the msg pointer in non-split case
    11dddfbb7a4e vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF
    ea3d5de90bc0 serial: Add support for Advantech PCI-1611U card
    ba061afa060e statfs: enforce statfs[64] structure initialization
    845f98af6ae8 can: kvaser_pciefd: Disable interrupts in probe error path
    7a7ec807fe54 can: kvaser_pciefd: Do not send EFLUSH command on TFD interrupt
    65e85232ffa6 can: kvaser_pciefd: Clear listen-only bit if not explicitly requested
    0babb3fabf55 can: kvaser_pciefd: Empty SRB buffer in probe
    03714e9c04ec can: kvaser_pciefd: Call request_irq() before enabling interrupts
    3bbeba3ce14d can: kvaser_pciefd: Set CAN_STATE_STOPPED in kvaser_pciefd_stop()
    073a4d750cec can: isotp: recvmsg(): allow MSG_CMSG_COMPAT flag
    b4b8294a41ca can: j1939: recvmsg(): allow MSG_CMSG_COMPAT flag
    f7f799a6fe38 ALSA: hda/realtek: Add quirk for 2nd ASUS GU603
    b4f770e61230 ALSA: hda/realtek: Add a quirk for HP EliteDesk 805
    6cebdffba628 ALSA: hda/realtek: Add quirk for Clevo L140AU
    3add6b2a4a69 ALSA: hda: Add NVIDIA codec IDs a3 through a7 to patch table
    546b1f5f45a3 ALSA: hda: Fix Oops by 9.1 surround channel names
    ff466f77d0a5 usb: typec: altmodes/displayport: fix pin_assignment_show
    35e31e1e921c usb: gadget: u_ether: Fix host MAC address case
    e35adb75fda5 usb: dwc3: debugfs: Resume dwc3 before accessing registers
    66070f5b9995 USB: UHCI: adjust zhaoxin UHCI controllers OverCurrent bit value
    0caed1faf5f6 usb-storage: fix deadlock when a scsi command timeouts more than once
    6340e432cf70 USB: usbtmc: Fix direction for 0-length ioctl control messages
    3b3c6f2d2f1f ALSA: usb-audio: Add a sample rate workaround for Line6 Pod Go
    3bd6d11e7e63 bridge: always declare tunnel functions
    3fa13203b6d9 netfilter: nft_set_rbtree: fix null deref on element insertion
    6cfe6f51856b vlan: fix a potential uninit-value in vlan_dev_hard_start_xmit()
    562ec162b04a igb: fix bit_shift to be in [1..8] range
    dc61f7582cc9 cassini: Fix a memory leak in the error handling path of cas_init_one()
    81139679f4d2 scsi: storvsc: Don't pass unused PFNs to Hyper-V host
    d0d39bed9e95 wifi: iwlwifi: mvm: don't trust firmware n_channels
    f9337a41772d wifi: mac80211: fix min center freq offset tracing
    43f6575004e0 net: bcmgenet: Restore phy_stop() depending upon suspend/close
    e92727ed9e8b net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop()
    2937127d24cc tipc: check the bearer min mtu properly when setting it by netlink
    2bd4ff4ffb92 tipc: do not update mtu if msg_max is too small in mtu negotiation
    097ea78d8cca tipc: add tipc_bearer_min_mtu to calculate min mtu
    76ea144a35ba net/tipc: fix tipc header files for kernel-doc
    02b20e0bc0c2 net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment()
    01cdda0d27d7 drm/exynos: fix g2d_open/close helper function definitions
    ce97bb60a6e4 SUNRPC: Fix trace_svc_register() call site
    f9982db735a8 media: netup_unidvb: fix use-after-free at del_timer()
    0cefa4215243 net: hns3: fix reset delay time to avoid configuration timeout
    aba74ad99870 net: hns3: fix sending pfc frames after reset issue
    e1f800be74c1 erspan: get the proto with the md version for collect_md
    153017561d28 serial: arc_uart: fix of_iomap leak in `arc_serial_probe`
    e7fd68abbba3 tcp: fix possible sk_priority leak in tcp_v4_send_reset()
    788791990d74 net: Find dst with sk's xfrm policy not ctl_sk
    a9ef8b258988 ipv4/tcp: do not use per netns ctl sockets
    171669917762 vsock: avoid to close connected socket after the timeout
    b1cf6bd8833b ALSA: hda/realtek: Apply HP B&O top speaker profile to Pavilion 15
    13c5fa1248bf ALSA: firewire-digi00x: prevent potential use after free
    6fb537895d29 net: phy: dp83867: add w/a for packet errors seen with short cables
    83996d317b1d net: fec: Better handle pm_runtime_get() failing in .remove()
    8f57715f8ef6 af_key: Reject optional tunnel/BEET mode templates in outbound policies
    f5cb28a90c8c cpupower: Make TSC read per CPU for Mperf monitor
    dc30fed07ddf drm/msm/dpu: Remove duplicate register defines from INTF
    eaf9394ed79c drm/msm/dp: unregister audio driver during unbind
    c5449195f86e Revert "Fix XFRM-I support for nested ESP tunnels"
    295e07a76bf3 xfrm: don't check the default policy if the policy allows the packet
    84fdaaf0d76e btrfs: fix space cache inconsistency after error loading it from disk
    a842fb6038e5 btrfs: replace calls to btrfs_find_free_ino with btrfs_find_free_objectid
    9c69a9d05824 btrfs: move btrfs_find_highest_objectid/btrfs_find_free_objectid to disk-io.c
    6a1a72a8cfda mfd: dln2: Fix memory leak in dln2_probe()
    7d939e367b64 phy: st: miphy28lp: use _poll_timeout functions for waits
    3b37bb0d9290 Input: xpad - add constants for GIP interface numbers
    94ec1a44e843 iommu/arm-smmu-v3: Acknowledge pri/event queue overflow if any
    cae5f8f4f7a8 clk: tegra20: fix gcc-7 constant overflow warning
    8c472e68bea0 iommu/arm-smmu-qcom: Limit the SMR groups to 128
    214ae2c1a9ce RDMA/core: Fix multiple -Warray-bounds warnings
    2d9ca5f62f2b recordmcount: Fix memory leaks in the uwrite function
    cf3e2916017d sched: Fix KCSAN noinstr violation
    158502f79076 mcb-pci: Reallocate memory region to avoid memory overlapping
    2c86a1305c14 serial: 8250: Reinit port->pm on port specific driver unbind
    7ed30db87994 usb: typec: tcpm: fix multiple times discover svids error
    60fabcba7543 HID: wacom: generic: Set battery quirk only when we see battery data
    d234de1a924e spi: spi-imx: fix MX51_ECSPI_* macros when cs > 3
    0898a1df72ac HID: logitech-hidpp: Reconcile USB and Unifying serials
    958534d4368b HID: logitech-hidpp: Don't use the USB serial for USB devices
    bb1313f37e7b staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE
    55410a9144c7 Bluetooth: L2CAP: fix "bad unlock balance" in l2cap_disconnect_rsp
    a2d816f55da1 Bluetooth: hci_bcm: Fall back to getting bdaddr from EFI if not set
    ba66851aba80 ipvs: Update width of source for ip_vs_sync_conn_options
    866921dc06b9 wifi: ath11k: Fix SKB corruption in REO destination ring
    91ad1ab3cc7e wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace
    e732a266b973 null_blk: Always check queue mode setting from configfs
    059e426d666a wifi: iwlwifi: pcie: Fix integer overflow in iwl_write_to_user_buf
    0fc0d287c1e7 wifi: iwlwifi: pcie: fix possible NULL pointer dereference
    7560ed6592ff samples/bpf: Fix fout leak in hbm's run_bpf_prog
    ad87bd313f70 f2fs: fix to drop all dirty pages during umount() if cp_error is set
    fc7237e191b9 ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa()
    3ca3005b502c ext4: set goal start correctly in ext4_mb_normalize_request
    4c2c8f959984 gfs2: Fix inode height consistency check
    697f92f8317e scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition
    f748e1525383 lib: cpu_rmap: Avoid use after free on rmap->obj array entries
    4621e24c9257 scsi: target: iscsit: Free cmds before session free
    2ea171230a39 net: Catch invalid index in XPS mapping
    8b61e7ad13f2 net: pasemi: Fix return type of pasemi_mac_start_tx()
    e0e7faee3a7d scsi: lpfc: Prevent lpfc_debugfs_lockstat_write() buffer overflow
    22ab5fed07ad ext2: Check block size validity during mount
    4e8dc0e5c763 wifi: brcmfmac: cfg80211: Pass the PMK in binary instead of hex
    e8d49d1c5968 bpf: Annotate data races in bpf_local_storage
    30d041c18dfb wifi: ath: Silence memcpy run-time false positive warning
    b8e7589f50b7 drm/amd: Fix an out of bounds error in BIOS parser
    978e0d05547a ACPICA: ACPICA: check null return of ACPI_ALLOCATE_ZEROED in acpi_db_display_objects
    16359bc02c09 ACPICA: Avoid undefined behavior: applying zero offset to null pointer
    3f64a0e66469 drm/tegra: Avoid potential 32-bit integer overflow
    f718f1fd3e4c remoteproc: stm32_rproc: Add mutex protection for workqueue
    066b90bca755 ACPI: EC: Fix oops when removing custom query handlers
    7d8f5ccc826b firmware: arm_sdei: Fix sleep from invalid context BUG
    5c23f6da62f7 memstick: r592: Fix UAF bug in r592_remove due to race condition
    ae6769fb939c arm64: dts: qcom: msm8996: Add missing DWC3 quirks
    bb1616e1057d regmap: cache: Return error in cache sync operations for REGCACHE_NONE
    d5138ad7ca1d drm/amd/display: Use DC_LOG_DC in the trasform pixel function
    c8daee665858 fs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode()
    a7d21b858589 rcu: Protect rcu_print_task_exp_stall() ->exp_tasks access
    e4842de4ec13 refscale: Move shutdown from wait_event() to wait_event_idle()
    100c0ad6c045 ext4: allow ext4_get_group_info() to fail
    371d8b8ea0cb ext4: allow to find by goal if EXT4_MB_HINT_GOAL_ONLY is set
    8669fff0d0cd ext4: add mballoc stats proc file
    9b6a0c140e27 ext4: drop s_mb_bal_lock and convert protected fields to atomic
    0983142c5f17 ext4: remove redundant mb_regenerate_buddy()
    d48b7eea9469 ext4: fix lockdep warning when enabling MMP
    5c87115520d2 ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled
    8284c7592d90 ext4: reflect error codes from ext4_multi_mount_protect() to its callers
    efd18a91c9c2 ext4: remove an unused variable warning with CONFIG_QUOTA=n
    df1be652a45f fbdev: arcfb: Fix error handling in arcfb_probe()
    bd6b353671fc drm/i915/dp: prevent potential div-by-zero
    8307e372e744 af_unix: Fix data races around sk->sk_shutdown.
    9b977b0cbb6d af_unix: Fix a data race of sk->sk_receive_queue->qlen.
    fb6ac4b5bdfe net: datagram: fix data-races in datagram_poll()
    f4a371d3f5a7 ipvlan:Fix out-of-bounds caused by unclear skb->cb
    963fe9ed8626 tcp: add annotations around sk->sk_shutdown accesses
    f86568eca4c9 tcp: factor out __tcp_close() helper
    34a5ee69ec62 net: add vlan_get_protocol_and_depth() helper
    9ccf3edbafba net: tap: check vlan with eth_type_vlan() method
    449391400960 net: deal with most data-races in sk_wait_event()
    1b33bdd76635 net: annotate sk->sk_err write from do_recvmmsg()
    f92557f79a60 netlink: annotate accesses to nlk->cb_running
    26001e75dc5c netfilter: conntrack: fix possible bug_on with enable_hooks=1
    d06f67b2b8dc net: Fix load-tearing on sk->sk_stamp in sock_recv_cmsgs().
    8eb35b1aca84 linux/dim: Do nothing if no time delta between samples
    4d3ae448e850 net: mdio: mvusb: Fix an error handling path in mvusb_mdio_probe()
    b882224d7367 ARM: 9296/1: HP Jornada 7XX: fix kernel-doc warnings
    139c27648f8d drm/mipi-dsi: Set the fwnode for mipi_dsi_device
    423908e89d7d driver core: add a helper to setup both the of_node and fwnode of a device

(From OE-Core rev: 2829482f2924082ad01f356ea281ed308e35d44f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Xiangyu Chen
ed9558afb4 dbus: upgrade 1.14.6 -> 1.14.8
Update dbus to 1.14.8 to fix CVE-2023-34969 and serveral bugs

changes:
f90d4f1693/NEWS

commits:
55d11f57 doc/dbus-api-design: fix wrong closing tag
a96f417f CI: Run a detached pipeline for merge requests
9e0477fc CI: Only run for pushes to dbus
077f7e43 CI: Remove an obsolete workaround
07fe44f4 CI: Update Windows runners
ec708d55 CI: Avoid using a no-op download location that gives a 403 error
45e6e93e dbus_message_iter_get_signature: Fix two memory leaks on OOM
0bb1942e dbus-internals: use `_DBUS_FUNCTION_NAME` in `_dbus_verbose()`
8df1b8be dbus-sysdeps-win: do not log function name twice
5c3a4e81 dbus-spawn-win: use `_DBUS_FUNCTION_NAME` instead of `__FUNCTION__`
8e457296 Update NEWS
e1ffce17 Revert "CI: Remove an obsolete workaround"
40c0802f monitor test: Log the messages that we monitored
a70c8f2f bus: Assign a serial number for messages from the driver
39b5c617 monitor test: Reproduce #457
f99e5de1 Update NEWS
21414587 AUTHORS: Update
f90d4f16 Release v1.14.8

(From OE-Core rev: fc3067f163c21434d3f79d03b26b21165be6927a)

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Wang Mingyu
5da269ca4a mobile-broadband-provider-info: upgrade 20221107 -> 20230416
(From OE-Core rev: 82cffbc90caeff76a8ebb7ff1527b69e21b8a967)

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-01 08:37:24 -10:00
Wang Mingyu
0ca44d55ad xdpyinfo: upgrade 1.3.3 -> 1.3.4
Changelog:
=========
configure: Make xf86misc support disabled by default
Variable scope reduction
Remove unnecessary downcast of double to float
Call memset() instead of hand-coding our own equivalent

(From OE-Core rev: 74fef3bca108017f8a1ce0e451b4b2172ae28fcf)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit d87785189336a69ae998f75394ceaebf63decb16)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Wang Mingyu
4d9ea41502 libxpm: upgrade 3.5.15 -> 3.5.16
Changelog:
===========
test: skip compressed file tests when --disable-open-zfile is used
itlab CI: build with each of --enable-open-zfile & --disable-open-zfile
configure: correct error message to suggest --disable-open-zfile
Fix a memleak in ParsePixels error code path
Fix CVE-2022-44617: Runaway loop with width of 0 and enormous height
open-zfile: Make compress & uncompress commands optional
Require LT_INIT from libtool 2 instead of deprecated AC_PROG_LIBTOOL
test: Use PACKAGE_BUGREPORT instead of hard-coded URL's
test: Add simple test cases for functions in src/rgb.c
xpmReadRgbNames: constify filename argument
XpmCreateDataFromXpmImage: Fix misleading indentation
parse.c: Wrap FREE_CIDX definition in do { ... } while(0)
parse.c: remove unused function xstrlcpy()

(From OE-Core rev: 22d9e097538f84a12dd262c1ae936fb8107c2768)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 4d9f0958eecdf683434d77a4f65611803cffd247)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Wang Mingyu
77847ecd60 fribidi: upgrade 1.0.12 -> 1.0.13
Changelog:
* Adding missing man pages to the tar release file.

(From OE-Core rev: 7e4915c4be7dca35a63a912a55bcfa525a532e22)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 0f6da8601fd4d992550e8afe7b09ba7c491250fd)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Wang Mingyu
ea017688a9 babeltrace2: upgrade 2.0.4 -> 2.0.5
Changelog:
==========
 * bt2: honor build system compiler/linker preferences
 * Fix: clear_string_field(): set first character to 0
 * Fix: src.ctf.fs: Not resolving event common ctx
 * debug-info: fix -Wenum-int-mismatch problem in copy_field_class_content_internal
 * fix: pass exec-prefix to python bindings install
 * fix: document proper Bison version requirement
 * cli: use return value of g_string_free
 * babeltrace2-query(1): erroneous parameter used in example
 * Fix: tests: print real values in a fixed format
 * Fix: bt2: autodisc: remove thread error while inserting status in map
 * tests: src.ctf.fs: add test for metadata with invalid syntax
 * tests: shorten names of session-rotation trace
 * bt2: ignore -Wredundant-decls warning
 * ctf: fix -Wformat-overflow error in ctf-meta-resolve.cpp
 * ctf-writer: fix -Wformat-overflow errors in resolve.c
 * Fix: src.text.details: use write_uint_prop_value to handle unsigned values in write_int_range
 * Add `dev-requirements.txt` for pip
 * Fix: src.ctf.lttng-live: consider empty metadata packet as retry
 * Fix: ctf: wrongfully requiring CTF metadata signature for every section
 * Fix: src.ctf.lttng-live: session closed before any metadata is received
 * fix: obsolete warnings with autoconf >= 2.71
 * fix: explicitly disable '-Wsuggest-attribute=format'
 * fix: set stable branch in gitreview config
 * Fix: ctf-writer: list of reserved keywords
 * compiler warning cleanup: is_signed_type: compare -1 to 1
 * Update working version to Babeltrace 2.0.5

(From OE-Core rev: 56121b2378899b928bec3a4eb8abe487789aff17)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit ae47b6c2a4bdee031d42687582049c15614faa6d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Archana Polampalli
8b56df5241 go: fix CVE-2023-29402
The go command may generate unexpected code at build time when using cgo.
This may result in unexpected behavior when running a go program which uses cgo.
This may occur when running an untrusted module which contains directories
with newline characters in their names. Modules which are retrieved using the go
command, i.e. via "go get", are not affected (modules retrieved using GOPATH-mode,
i.e. GO111MODULE=off, may be affected).

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

Upstream patches:
4dae3bbe0e

(From OE-Core rev: aeb0829e52c60a77a2135af8332435b6e2db5b3d)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Ross Burton
e1f4f895ce ninja: ignore CVE-2021-4336, wrong ninja
(From OE-Core rev: c2dd2c13ff26c3f046e35a2f6b8afeb099ef422a)

(From OE-Core rev: 804067b760591d33cd49f8c31fa68a92fcbf5445)

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-01 08:37:24 -10:00
Hitendra Prajapati
214b973fbd libcap: CVE-2023-2602 Memory Leak on pthread_create() Error
Upstream-Status: Backport from https://git.kernel.org/pub/scm/libs/libcap/libcap.git/patch/?id=bc6b36682f188020ee4770fae1d41bde5b2c97bb

(From OE-Core rev: 7e4f3c51c0bac772bf56f69a3c065b2b2d095335)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Archana Polampalli
92a46e5fff go: fix CVE-2023-29405
The go command may execute arbitrary code at build time when using cgo.
This may occur when running "go get" on a malicious module, or when running
any other command which builds untrusted code. This is can by triggered by
linker flags, specified via a "#cgo LDFLAGS" directive. Flags containing
embedded spaces are mishandled, allowing disallowed flags to be smuggled
through the LDFLAGS sanitization by including them in the argument of
another flag. This only affects usage of the gccgo compiler.

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

Upstream patches:
6d8af00a63

(From OE-Core rev: 7ce6d0029effc06cff500271a124150f1a7db7b3)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Archana Polampalli
19cce6f246 go: fix CVE-2023-29404
The go command may execute arbitrary code at build time when using cgo.
This may occur when running "go get" on a malicious module, or when running
any other command which builds untrusted code. This is can by triggered by
linker flags, specified via a "#cgo LDFLAGS" directive. The arguments for a
number of flags which are non-optional are incorrectly considered optional,
allowing disallowed flags to be smuggled through the LDFLAGS sanitization.
This affects usage of both the gc and gccgo compilers.

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

Upstream patches:
bbeb55f5fa

(From OE-Core rev: 3e51122f8e2b4a7cd2a1c711175e6daf59b8368b)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
200 changed files with 10177 additions and 1020 deletions

View File

@@ -68,11 +68,11 @@ def main():
registered = False
for plugin in plugins:
if hasattr(plugin, 'tinfoil_init'):
plugin.tinfoil_init(tinfoil)
if hasattr(plugin, 'register_commands'):
registered = True
plugin.register_commands(subparsers)
if hasattr(plugin, 'tinfoil_init'):
plugin.tinfoil_init(tinfoil)
if not registered:
logger.error("No commands registered - missing plugins?")

View File

@@ -1974,11 +1974,19 @@ class RunQueueExecute:
self.setbuildable(revdep)
logger.debug("Marking task %s as buildable", revdep)
for t in self.sq_deferred.copy():
found = None
for t in sorted(self.sq_deferred.copy()):
if self.sq_deferred[t] == task:
logger.debug2("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)
# 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()

View File

@@ -17,3 +17,4 @@ Release 4.0 (kirkstone)
release-notes-4.0.8
release-notes-4.0.9
release-notes-4.0.10
release-notes-4.0.11

View File

@@ -0,0 +1,214 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Release notes for Yocto-4.0.11 (Kirkstone)
------------------------------------------
Security Fixes in Yocto-4.0.11
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- cups: Fix :cve:`2023-32324`
- curl: Fix :cve:`2023-28319`, :cve:`2023-28320`, :cve:`2023-28321` and :cve:`2023-28322`
- git: Ignore :cve:`2023-25815`
- go: Fix :cve:`2023-24539` and :cve:`2023-24540`
- nasm: Fix :cve:`2022-46457`
- openssh: Fix :cve:`2023-28531`
- openssl: Fix :cve:`2023-1255` and :cve:`2023-2650`
- perl: Fix :cve:`2023-31484`
- python3-requests: Fix for :cve:`2023-32681`
- sysstat: Fix :cve:`2023-33204`
- vim: Fix :cve:`2023-2426`
- webkitgtk: fix :cve:`2022-42867`, :cve:`2022-46691`, :cve:`2022-46699` and :cve:`2022-46700`
Fixes in Yocto-4.0.11
~~~~~~~~~~~~~~~~~~~~~
- Revert "docs: conf.py: fix cve extlinks caption for sphinx <4.0"
- Revert "ipk: Decode byte data to string in manifest handling"
- avahi: fix D-Bus introspection
- build-appliance-image: Update to kirkstone head revision
- conf.py: add macro for Mitre CVE links
- conf: add nice level to the hash config ignred variables
- cpio: Fix wrong CRC with ASCII CRC for large files
- cve-update-nvd2-native: added the missing http import
- cve-update-nvd2-native: new CVE database fetcher
- dhcpcd: use git instead of tarballs
- e2fsprogs: fix ptest bug for second running
- gcc-runtime: Use static dummy libstdc++
- glibc: stable 2.35 branch updates (cbceb903c4d7)
- go.bbclass: don't use test to check output from ls
- gstreamer1.0: Upgrade to 1.20.6
- iso-codes: Upgrade to 4.15.0
- kernel-devicetree: allow specification of dtb directory
- kernel-devicetree: make shell scripts posix compliant
- kernel-devicetree: recursively search for dtbs
- kernel: don't force PAHOLE=false
- kmscube: Correct :term:`DEPENDS` to avoid overwrite
- lib/terminal.py: Add urxvt terminal
- license.bbclass: Include :term:`LICENSE` in the output when it fails to parse
- linux-yocto/5.10: Upgrade to v5.10.180
- linux-yocto/5.15: Upgrade to v5.15.113
- llvm: backport a fix for build with gcc-13
- maintainers.inc: Fix email address typo
- maintainers.inc: Move repo to unassigned
- migration-guides: add release notes for 4.0.10
- migration-guides: use new cve_mitre macro
- nghttp2: Deleted the entries for -client and -server, and removed a dependency on them from the main package.
- oeqa/selftest/cases/devtool.py: skip all tests require folder a git repo
- openssh: Remove BSD-4-clause contents completely from codebase
- openssl: Upgrade to 3.0.9
- overview-manual: concepts.rst: Fix a typo
- p11-kit: add native to :term:`BBCLASSEXTEND`
- package: enable recursion on file globs
- package_manager/ipk: fix config path generation in _create_custom_config()
- piglit: Add :term:`PACKAGECONFIG` for glx and opencl
- piglit: Add missing glslang dependencies
- piglit: Fix build time dependency
- poky.conf: bump version for 4.0.11
- profile-manual: fix blktrace remote usage instructions
- quilt: Fix merge.test race condition
- ref-manual: add clarification for :term:`SRCREV`
- selftest/reproducible: Allow native/cross reuse in test
- staging.bbclass: do not add extend_recipe_sysroot to prefuncs of prepare_recipe_sysroot
- systemd-networkd: backport fix for rm unmanaged wifi
- systemd-systemctl: fix instance template WantedBy symlink construction
- systemd-systemctl: support instance expansion in WantedBy
- uninative: Upgrade to 3.10 to support gcc 13
- uninative: Upgrade to 4.0 to include latest gcc 13.1.1
- vim: Upgrade to 9.0.1527
- waffle: Upgrade to 1.7.2
- weston: add xwayland to :term:`DEPENDS` for :term:`PACKAGECONFIG` xwayland
Known Issues in Yocto-4.0.11
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- N/A
Contributors to Yocto-4.0.11
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Alexander Kanavin
- Andrew Jeffery
- Archana Polampalli
- Bhabu Bindu
- Bruce Ashfield
- C. Andy Martin
- Chen Qi
- Daniel Ammann
- Deepthi Hemraj
- Ed Beroset
- Eero Aaltonen
- Enrico Jörns
- Hannu Lounento
- Hitendra Prajapati
- Ian Ray
- Jan Luebbe
- Jan Vermaete
- Khem Raj
- Lee Chee Yang
- Lei Maohui
- Lorenzo Arena
- Marek Vasut
- Marta Rybczynska
- Martin Jansa
- Martin Siegumfeldt
- Michael Halstead
- Michael Opdenacker
- Ming Liu
- Narpat Mali
- Omkar Patil
- Pablo Saavedra
- Pavel Zhukov
- Peter Kjellerstedt
- Peter Marko
- Qiu Tingting
- Quentin Schulz
- Randolph Sapp
- Randy MacLeod
- Ranjitsinh Rathod
- Richard Purdie
- Riyaz Khan
- Sakib Sajal
- Sanjay Chitroda
- Soumya Sambu
- Steve Sakoman
- Thomas Roos
- Tom Hochstein
- Vivek Kumbhar
- Wang Mingyu
- Yogita Urade
- Zoltan Boszormenyi
Repositories / Downloads for Yocto-4.0.11
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poky
- Repository Location: :yocto_git:`/poky`
- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.11 </poky/log/?h=yocto-4.0.11>`
- Git Revision: :yocto_git:`fc697fe87412b9b179ae3a68d266ace85bb1fcc6 </poky/commit/?id=fc697fe87412b9b179ae3a68d266ace85bb1fcc6>`
- Release Artefact: poky-fc697fe87412b9b179ae3a68d266ace85bb1fcc6
- sha: d42ab1b76b9d8ab164d86dc0882c908658f6b5be0742b13a71531068f6a5ee98
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.11/poky-fc697fe87412b9b179ae3a68d266ace85bb1fcc6.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.11/poky-fc697fe87412b9b179ae3a68d266ace85bb1fcc6.tar.bz2
openembedded-core
- Repository Location: :oe_git:`/openembedded-core`
- Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
- Tag: :oe_git:`yocto-4.0.11 </openembedded-core/log/?h=yocto-4.0.11>`
- Git Revision: :oe_git:`7949e786cf8e50f716ff1f1c4797136637205e0c </openembedded-core/commit/?id=7949e786cf8e50f716ff1f1c4797136637205e0c>`
- Release Artefact: oecore-7949e786cf8e50f716ff1f1c4797136637205e0c
- sha: 3bda3f7d15961bad5490faf3194709528591a97564b5eae3da7345b63be20334
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.11/oecore-7949e786cf8e50f716ff1f1c4797136637205e0c.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.11/oecore-7949e786cf8e50f716ff1f1c4797136637205e0c.tar.bz2
meta-mingw
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.11 </meta-mingw/log/?h=yocto-4.0.11>`
- Git Revision: :yocto_git:`a90614a6498c3345704e9611f2842eb933dc51c1 </meta-mingw/commit/?id=a90614a6498c3345704e9611f2842eb933dc51c1>`
- Release Artefact: meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1
- sha: 49f9900bfbbc1c68136f8115b314e95d0b7f6be75edf36a75d9bcd1cca7c6302
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.11/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.11/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
meta-gplv2
- Repository Location: :yocto_git:`/meta-gplv2`
- Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.11 </meta-gplv2/log/?h=yocto-4.0.11>`
- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.11/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.11/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
bitbake
- Repository Location: :oe_git:`/bitbake`
- Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
- Tag: :oe_git:`yocto-4.0.11 </bitbake/log/?h=yocto-4.0.11>`
- Git Revision: :oe_git:`0c6f86b60cfba67c20733516957c0a654eb2b44c </bitbake/commit/?id=0c6f86b60cfba67c20733516957c0a654eb2b44c>`
- Release Artefact: bitbake-0c6f86b60cfba67c20733516957c0a654eb2b44c
- sha: 4caa94ee4d644017b0cc51b702e330191677f7d179018cbcec8b1793949ebc74
- Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.11/bitbake-0c6f86b60cfba67c20733516957c0a654eb2b44c.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.11/bitbake-0c6f86b60cfba67c20733516957c0a654eb2b44c.tar.bz2
yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.11 </yocto-docs/log/?h=yocto-4.0.11>`
- Git Revision: :yocto_git:`6d16d2bde0aa32276a035ee49703e6eea7c7b29a </yocto-docs/commit/?id=6d16d2bde0aa32276a035ee49703e6eea7c7b29a>`

View File

@@ -14,15 +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

@@ -18,9 +18,9 @@ Following are examples of some major YP releases with their codenames
also shown. See the ":ref:`ref-manual/release-process:major release codenames`"
section for information on codenames used with major releases.
- 2.2 (Morty)
- 2.1 (Krogoth)
- 2.0 (Jethro)
- 4.1 ("Langdale")
- 4.0 ("Kirkstone")
- 3.4 ("Honister")
While the cadence is never perfect, this timescale facilitates
regular releases that have strong QA cycles while not overwhelming users
@@ -32,9 +32,9 @@ basis and are usually driven by the accumulation of enough significant
fixes or enhancements to the associated major release. Following are
some example past point releases:
- 2.1.1
- 2.1.2
- 2.2.1
- 4.1.3
- 4.0.8
- 3.4.4
The point release
indicates a point in the major release branch where a full QA cycle and
@@ -87,15 +87,51 @@ stable release.
exception to this policy occurs when there is a strong reason such as
the fix happens to also be the preferred upstream approach.
Stable release branches have strong maintenance for about a year after
their initial release. Should significant issues be found for any
release regardless of its age, fixes could be backported to older
releases. For issues that are not backported given an older release,
Community LTS trees and branches allow community members to share
patches for older releases. However, these types of patches do not go
through the same release process as do point releases. You can find more
information about stable branch maintenance at
:yocto_wiki:`/Stable_branch_maintenance`.
.. _ref-long-term-support-releases:
Long Term Support Releases
==========================
While stable releases are supported for a duration of seven months,
some specific ones are now supported for a longer period by the Yocto
Project, and are called Long Term Support (:term:`LTS`) releases.
When significant issues are found, :term:`LTS` releases allow to publish
fixes not only for the current stable release, but also to the
:term:`LTS` releases that are still supported. Older stable releases which
have reached their End of Life (EOL) won't receive such updates.
This started with version 3.1 ("Dunfell"), released in April 2020, which
the project initially committed to supporting for two years, but this duration
was later extended to four years. Similarly, the following :term:`LTS` release,
version 4.0 ("Kirkstone"), was released two years later in May 2022 and the
project committed to supporting it for four years too.
Therefore, a new :term:`LTS` release is made every two years and is supported
for four years. This offers more stability to project users and leaves more
time to upgrade to the following :term:`LTS` release.
See :yocto_wiki:`/Stable_Release_and_LTS` for details about the management
of stable and :term:`LTS` releases.
.. image:: svg/releases.*
:width: 100%
.. note::
In some circumstances, a layer can be created by the community in order to
add a specific feature or support a new version of some package for an :term:`LTS`
release. This is called a :term:`Mixin` layer. These are thin and specific
purpose layers which can be stacked with an :term:`LTS` release to "mix" a specific
feature into that build. These are created on an as-needed basis and
maintained by the people who need them.
Policies on testing these layers depend on how widespread their usage is and
determined on a case-by-case basis. You can find some :term:`Mixin` layers in the
:yocto_git:`meta-lts-mixins </meta-lts-mixins>` repository. While the Yocto
Project provides hosting for those repositories, it does not provides
testing on them. Other :term:`Mixin` layers may be released elsewhere by the wider
community.
Testing and Quality Assurance
=============================
@@ -155,14 +191,12 @@ effort has been made to automate the tests so that more people can use
them and the Yocto Project development team can run them faster and more
efficiently.
The Yocto Project's main Autobuilder (&YOCTO_AB_URL;)
publicly tests each Yocto Project release's code in the
:term:`OpenEmbedded-Core (OE-Core)`, Poky, and BitBake repositories. The testing
occurs for both the current state of the "master" branch and also for
The Yocto Project's main Autobuilder (&YOCTO_AB_URL;) publicly tests each Yocto
Project release's code in the :oe_git:`openembedded-core </openembedded-core>`,
:yocto_git:`poky </poky>` and :oe_git:`bitbake </bitbake>` repositories. The
testing occurs for both the current state of the "master" branch and also for
submitted patches. Testing for submitted patches usually occurs in the
"ross/mut" branch in the ``poky-contrib`` repository (i.e. the
master-under-test branch) or in the "master-next" branch in the ``poky``
repository.
in the "master-next" branch in the :yocto_git:`poky </poky>` repository.
.. note::

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 106 KiB

View File

@@ -211,6 +211,12 @@ universal, the list includes them just in case:
Layers`" section in the Yocto Project Board Support Packages (BSP)
Developer's Guide.
:term:`LTS`
This term means "Long Term Support", and in the context of the Yocto
Project, it corresponds to selected stable releases for which bug and
security fixes are provided for at least four years. See
the :ref:`ref-long-term-support-releases` section for details.
:term:`Metadata`
A key element of the Yocto Project is the Metadata that
is used to construct a Linux distribution and is contained in the
@@ -230,6 +236,12 @@ universal, the list includes them just in case:
:yocto_git:`yocto-kernel-cache </yocto-kernel-cache>`
Git repository.
:term:`Mixin`
A :term:`Mixin` layer is a layer which can be created by the community to
add a specific feature or support a new version of some package for an
:term:`LTS` release. See the :ref:`ref-long-term-support-releases`
section for details.
:term:`OpenEmbedded-Core (OE-Core)`
OE-Core is metadata comprised of
foundational recipes, classes, and associated files that are meant to
@@ -401,11 +413,11 @@ universal, the list includes them just in case:
section in the Yocto Project Overview and Concepts Manual.
:term:`SPDX`
This term means *Software Package Data Exchange*, and is used as a open
This term means *Software Package Data Exchange*, and is used as an open
standard for providing a *Software Bill of Materials* (:term:`SBOM`).
This standard is developed through a `Linux Foundation project
<https://spdx.dev/>`__ and is used by the OpenEmbedded Build System to
provide an :term:`SBOM` associated to each a software image.
provide an :term:`SBOM` associated to each software image.
For details, see Wikipedia's :wikipedia:`SPDX page <Software_Package_Data_Exchange>`
and the ":ref:`dev-manual/common-tasks:creating a software bill of materials`"

View File

@@ -3547,9 +3547,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.
There is some support for wildcards in this variable's value,
however it is restricted to specific licenses. Currently only

View File

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

View File

@@ -1,3 +1,5 @@
SUMMARY = "Recipe with an alias of an SPDX license"
DESCRIPTION = "Is licensed with an alias of an SPDX license to be used for testing"
LICENSE = "GPLv3"
EXCLUDE_FROM_WORLD = "1"

View File

@@ -1,3 +1,5 @@
SUMMARY = "Recipe with an SPDX license"
DESCRIPTION = "Is licensed with an SPDX license to be used for testing"
LICENSE = "GPL-3.0-only"
EXCLUDE_FROM_WORLD = "1"

View File

@@ -1,3 +1,5 @@
SUMMARY = "Recipe with multiple SPDX licenses"
DESCRIPTION = "Is licensed with multiple SPDX licenses to be used for testing"
LICENSE = "GPL-2.0-only & GPL-3.0-only & LGPL-3.0-only"
EXCLUDE_FROM_WORLD = "1"

View File

@@ -1,3 +1,5 @@
SUMMARY = "Recipe with a non-SPDX license"
DESCRIPTION = "Is licensed with a non-SPDX license to be used for testing"
LICENSE = "FooLicense"
EXCLUDE_FROM_WORLD = "1"

View File

@@ -130,10 +130,11 @@ IMAGE_CMD:cpio () {
if [ ! -L ${IMAGE_ROOTFS}/init ] && [ ! -e ${IMAGE_ROOTFS}/init ]; then
if [ -L ${IMAGE_ROOTFS}/sbin/init ] || [ -e ${IMAGE_ROOTFS}/sbin/init ]; then
ln -sf /sbin/init ${WORKDIR}/cpio_append/init
touch -h -r ${IMAGE_ROOTFS}/sbin/init ${WORKDIR}/cpio_append/init
else
touch ${WORKDIR}/cpio_append/init
touch -r ${IMAGE_ROOTFS} ${WORKDIR}/cpio_append/init
fi
(cd ${WORKDIR}/cpio_append && echo ./init | cpio -oA -H newc -F ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cpio)
(cd ${WORKDIR}/cpio_append && echo ./init | cpio --reproducible -oA -H newc -F ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cpio)
fi
fi
}

View File

@@ -83,7 +83,7 @@ do_image_wic[recrdeptask] += "do_deploy"
do_image_wic[deptask] += "do_image_complete"
WKS_FILE_DEPENDS_DEFAULT = '${@bb.utils.contains_any("BUILD_ARCH", [ 'x86_64', 'i686' ], "syslinux-native", "",d)}'
WKS_FILE_DEPENDS_DEFAULT += "bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native"
WKS_FILE_DEPENDS_DEFAULT += "bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native erofs-utils-native"
# Unified kernel images need objcopy
WKS_FILE_DEPENDS_DEFAULT += "virtual/${MLPREFIX}${TARGET_PREFIX}binutils"
WKS_FILE_DEPENDS_BOOTLOADERS = ""

View File

@@ -672,6 +672,7 @@ FILES:${KERNEL_PACKAGE_NAME}-image = ""
FILES:${KERNEL_PACKAGE_NAME}-dev = "/${KERNEL_IMAGEDEST}/System.map* /${KERNEL_IMAGEDEST}/Module.symvers* /${KERNEL_IMAGEDEST}/config* ${KERNEL_SRC_PATH} ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build"
FILES:${KERNEL_PACKAGE_NAME}-vmlinux = "/${KERNEL_IMAGEDEST}/vmlinux-${KERNEL_VERSION_NAME}"
FILES:${KERNEL_PACKAGE_NAME}-modules = ""
FILES:${KERNEL_PACKAGE_NAME}-dbg = "/usr/lib/debug /usr/src/debug"
RDEPENDS:${KERNEL_PACKAGE_NAME} = "${KERNEL_PACKAGE_NAME}-base (= ${EXTENDPKGV})"
# Allow machines to override this dependency if kernel image files are
# not wanted in images as standard

View File

@@ -105,6 +105,7 @@ nm = ${@meson_array('BUILD_NM', d)}
strip = ${@meson_array('BUILD_STRIP', d)}
readelf = ${@meson_array('BUILD_READELF', d)}
objcopy = ${@meson_array('BUILD_OBJCOPY', d)}
llvm-config = '${STAGING_BINDIR_NATIVE}/llvm-config'
pkgconfig = 'pkg-config-native'
${@rust_tool(d, "BUILD_SYS")}

View File

@@ -2178,18 +2178,18 @@ python package_do_pkgconfig () {
with open(file, 'r') as f:
lines = f.readlines()
for l in lines:
m = var_re.match(l)
if m:
name = m.group(1)
val = m.group(2)
pd.setVar(name, pd.expand(val))
continue
m = field_re.match(l)
if m:
hdr = m.group(1)
exp = pd.expand(m.group(2))
if hdr == 'Requires':
pkgconfig_needed[pkg] += exp.replace(',', ' ').split()
continue
m = var_re.match(l)
if m:
name = m.group(1)
val = m.group(2)
pd.setVar(name, pd.expand(val))
for pkg in packages.split():
pkgs_file = os.path.join(shlibswork_dir, pkg + ".pclist")

View File

@@ -33,11 +33,11 @@
# UBOOT_EXTLINUX_DEFAULT_LABEL ??= "Linux Default"
# UBOOT_EXTLINUX_TIMEOUT ??= "30"
#
# UBOOT_EXTLINUX_KERNEL_IMAGE_default ??= "../zImage"
# UBOOT_EXTLINUX_MENU_DESCRIPTION_default ??= "Linux Default"
# UBOOT_EXTLINUX_KERNEL_IMAGE:default ??= "../zImage"
# UBOOT_EXTLINUX_MENU_DESCRIPTION:default ??= "Linux Default"
#
# UBOOT_EXTLINUX_KERNEL_IMAGE_fallback ??= "../zImage-fallback"
# UBOOT_EXTLINUX_MENU_DESCRIPTION_fallback ??= "Linux Fallback"
# UBOOT_EXTLINUX_KERNEL_IMAGE:fallback ??= "../zImage-fallback"
# UBOOT_EXTLINUX_MENU_DESCRIPTION:fallback ??= "Linux Fallback"
#
# Results:
#

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

@@ -523,7 +523,7 @@ HOSTTOOLS += " \
python3 pzstd ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh \
sha1sum sha224sum sha256sum sha384sum sha512sum \
sleep sort split stat strings strip tail tar tee test touch tr true uname \
uniq wc wget which xargs zstd \
uniq unzstd wc wget which xargs zstd \
"
# Tools needed to run testimage runtime image testing

View File

@@ -42,7 +42,7 @@ RECIPE_MAINTAINER:pn-alsa-utils-scripts = "Michael Opdenacker <michael.opdenacke
RECIPE_MAINTAINER:pn-apmd = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-apr = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER:pn-apr-util = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER:pn-apt = "Aníbal Limón <limon.anibal@gmail.com>"
RECIPE_MAINTAINER:pn-apt = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-argp-standalone = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-asciidoc = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-aspell = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -62,7 +62,7 @@ RECIPE_MAINTAINER:pn-base-passwd = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-bash = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER:pn-bash-completion = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-bc = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-bind = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER:pn-bind = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-binutils = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-binutils-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
@@ -95,8 +95,8 @@ RECIPE_MAINTAINER:pn-cantarell-fonts = "Alexander Kanavin <alex.kanavin@gmail.co
RECIPE_MAINTAINER:pn-ccache = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER:pn-cdrtools-native = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-chrpath = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-cmake = "Pascal Bach <pascal.bach@siemens.com>"
RECIPE_MAINTAINER:pn-cmake-native = "Pascal Bach <pascal.bach@siemens.com>"
RECIPE_MAINTAINER:pn-cmake = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-cmake-native = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-connman = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER:pn-connman-conf = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-connman-gnome = "Ross Burton <ross.burton@arm.com>"
@@ -152,7 +152,7 @@ RECIPE_MAINTAINER:pn-docbook-xml-dtd4 = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-docbook-xsl-stylesheets = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-dos2unix = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-dosfstools = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-dpkg = "Aníbal Limón <limon.anibal@gmail.com>"
RECIPE_MAINTAINER:pn-dpkg = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-dropbear = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-dtc = "Wang Mingyu <wangmy@fujitsu.com>"
RECIPE_MAINTAINER:pn-dwarfsrcfiles = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -165,7 +165,7 @@ RECIPE_MAINTAINER:pn-ell = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
RECIPE_MAINTAINER:pn-enchant2 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-encodings = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-epiphany = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-erofs-utils = "Richard Weinberger <richard@nod.at>"
RECIPE_MAINTAINER:pn-erofs-utils = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-ethtool = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER:pn-eudev = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-expat = "Yi Zhao <yi.zhao@windriver.com>"
@@ -189,7 +189,7 @@ RECIPE_MAINTAINER:pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <r
RECIPE_MAINTAINER:pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-gcc-source-11.3.0 = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-gcc-source-11.4.0 = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-gconf = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-gdb = "Khem Raj <raj.khem@gmail.com>"
@@ -281,7 +281,7 @@ RECIPE_MAINTAINER:pn-iproute2 = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER:pn-iptables = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER:pn-iputils = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER:pn-iso-codes = "Wang Mingyu <wangmy@cn.fujitsu.com>"
RECIPE_MAINTAINER:pn-itstool = "Andreas Müller <schnitzeltony@gmail.com>"
RECIPE_MAINTAINER:pn-itstool = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-iw = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER:pn-libjpeg-turbo = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-json-c = "Yi Zhao <yi.zhao@windriver.com>"
@@ -294,7 +294,7 @@ RECIPE_MAINTAINER:pn-kernel-devsrc = "Bruce Ashfield <bruce.ashfield@gmail.com>"
RECIPE_MAINTAINER:pn-kexec-tools = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-keymaps = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-kmod = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER:pn-kmscube = "Carlos Rafael Giani <dv@pseudoterminal.org>"
RECIPE_MAINTAINER:pn-kmscube = "Carlos Rafael Giani <crg7475@mailbox.org>"
RECIPE_MAINTAINER:pn-l3afpad = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-lame = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
RECIPE_MAINTAINER:pn-ldconfig-native = "Khem Raj <raj.khem@gmail.com>"
@@ -402,7 +402,7 @@ RECIPE_MAINTAINER:pn-liburcu = "Wang Mingyu <wangmy@fujitsu.com>"
RECIPE_MAINTAINER:pn-liburi-perl = "Tim Orling <tim.orling@konsulko.com>"
RECIPE_MAINTAINER:pn-libusb1 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-libubootenv = "Stefano Babic <sbabic@denx.de>"
RECIPE_MAINTAINER:pn-libuv = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER:pn-libuv = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-libva = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-libva-initial = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-libva-utils = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -541,7 +541,7 @@ RECIPE_MAINTAINER:pn-npth = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-nss-myhostname = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-numactl = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER:pn-ofono = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-opensbi = "Alistair Francis <alistair.francis@wdc.com>"
RECIPE_MAINTAINER:pn-opensbi = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-openssh = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-openssl = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-opkg = "Alex Stewart <alex.stewart@ni.com>"
@@ -550,8 +550,8 @@ RECIPE_MAINTAINER:pn-opkg-keyrings = "Alex Stewart <alex.stewart@ni.com>"
RECIPE_MAINTAINER:pn-opkg-utils = "Alex Stewart <alex.stewart@ni.com>"
RECIPE_MAINTAINER:pn-orc = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-os-release = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-ovmf = "Ricardo Neri <ricardo.neri-calderon@linux.intel.com>"
RECIPE_MAINTAINER:pn-ovmf-shell-image = "Ricardo Neri <ricardo.neri-calderon@linux.intel.com>"
RECIPE_MAINTAINER:pn-ovmf = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-ovmf-shell-image = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-p11-kit = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-package-index = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-pango = "Ross Burton <ross.burton@arm.com>"
@@ -816,7 +816,7 @@ RECIPE_MAINTAINER:pn-weston-init = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER:pn-wget = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-which = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-wic-tools = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-wireless-regdb = "Adrian Bunk <bunk@kernel.org>"
RECIPE_MAINTAINER:pn-wireless-regdb = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-wpa-supplicant = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER:pn-wpebackend-fdo = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-x11perf = "Unassigned <unassigned@yoctoproject.org>"

View File

@@ -29,6 +29,7 @@ PTESTS_FAST = "\
libnl-ptest \
libmodule-build-perl-ptest \
libpcre-ptest \
libpng-ptest \
libssh2-ptest \
libtimedate-perl-ptest \
libtest-needs-perl-ptest \

View File

@@ -69,6 +69,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
initramfs-module-install->grub \
initramfs-module-install->parted \
initramfs-module-install->util-linux \
initramfs-module-setup-live->udev-extraconf \
grub-efi->grub-bootconf \
liberation-fonts->fontconfig \
cantarell-fonts->fontconfig \

View File

@@ -37,3 +37,8 @@ TUNE_ARCH = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TUNE_ARCH_64}',
TUNE_PKGARCH = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TUNE_PKGARCH_64}', '${TUNE_PKGARCH_32}', d)}"
ABIEXTENSION = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${ABIEXTENSION_64}', '${ABIEXTENSION_32}', d)}"
TARGET_FPU = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '${TARGET_FPU_64}', '${TARGET_FPU_32}', d)}"
# Emit branch protection (PAC/BTI) instructions. On hardware that doesn't
# support these they're meaningless NOP instructions, so there's very little
# reason not to.
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', ' -mbranch-protection=standard', '', d)}"

View File

@@ -5,7 +5,7 @@ import subprocess
_ALWAYS_SAFE = frozenset('ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz'
'0123456789'
'_.-~')
'_.-~()')
MISSING_OK = object()

View File

@@ -110,5 +110,6 @@ class PkgSdk(Sdk):
for f in glob.glob(os.path.join(self.sdk_output, "etc", "rpm*")):
self.movefile(f, native_sysconf_dir)
for f in glob.glob(os.path.join(self.sdk_output, "etc", "dnf", "*")):
self.movefile(f, native_sysconf_dir)
self.mkdirhier(native_sysconf_dir + "/dnf")
self.movefile(f, native_sysconf_dir + "/dnf")
self.remove(os.path.join(self.sdk_output, "etc"), True)

View File

@@ -68,7 +68,7 @@ class Sdk(object, metaclass=ABCMeta):
#FIXME: using umbrella exc catching because bb.utils method raises it
except Exception as e:
bb.debug(1, "printing the stack trace\n %s" %traceback.format_exc())
bb.error("unable to place %s in final SDK location" % sourcefile)
bb.fatal("unable to place %s in final SDK location" % sourcefile)
def mkdirhier(self, dirpath):
try:

View File

@@ -57,8 +57,8 @@ class RpmBasicTest(OERuntimeTestCase):
return
time.sleep(1)
user_pss = [ps for ps in output.split("\n") if u + ' ' in ps]
msg = "There're %s 's process(es) still running: %s".format(u, "\n".join(user_pss))
assertTrue(True, msg=msg)
msg = "User %s has processes still running: %s" % (u, "\n".join(user_pss))
self.fail(msg=msg)
def unset_up_test_user(u):
# ensure no test1 process in running

View File

@@ -188,6 +188,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\"")
@@ -198,6 +202,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

@@ -348,6 +348,38 @@ class DevtoolAddTests(DevtoolBase):
bindir = bindir[1:]
self.assertTrue(os.path.isfile(os.path.join(installdir, bindir, 'pv')), 'pv binary not found in D')
def test_devtool_add_binary(self):
# Create a binary package containing a known test file
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
self.track_for_cleanup(tempdir)
pn = 'tst-bin'
pv = '1.0'
test_file_dir = "var/lib/%s/" % pn
test_file_name = "test_file"
test_file_content = "TEST CONTENT"
test_file_package_root = os.path.join(tempdir, pn)
test_file_dir_full = os.path.join(test_file_package_root, test_file_dir)
bb.utils.mkdirhier(test_file_dir_full)
with open(os.path.join(test_file_dir_full, test_file_name), "w") as f:
f.write(test_file_content)
bin_package_path = os.path.join(tempdir, "%s.tar.gz" % pn)
runCmd("tar czf %s -C %s ." % (bin_package_path, test_file_package_root))
# Test devtool add -b on the binary package
self.track_for_cleanup(self.workspacedir)
self.add_command_to_tearDown('bitbake -c cleansstate %s' % pn)
self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
result = runCmd('devtool add -b %s %s' % (pn, bin_package_path))
self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created')
# Build the resulting recipe
result = runCmd('devtool build %s' % pn)
installdir = get_bb_var('D', pn)
self.assertTrue(installdir, 'Could not query installdir variable')
# Check that a known file from the binary package has indeed been installed
self.assertTrue(os.path.isfile(os.path.join(installdir, test_file_dir, test_file_name)), '%s not found in D' % test_file_name)
def test_devtool_add_git_local(self):
# We need dbus built so that DEPENDS recognition works
bitbake('dbus')

View File

@@ -126,15 +126,23 @@ class DiffoscopeTests(OESelftestTestCase):
class ReproducibleTests(OESelftestTestCase):
# Test the reproducibility of whatever is built between sstate_targets and targets
package_classes = ['deb', 'ipk', 'rpm']
package_classes = get_bb_var("OEQA_REPRODUCIBLE_TEST_PACKAGE")
if package_classes:
package_classes = package_classes.split()
else:
package_classes = ['deb', 'ipk', 'rpm']
# Maximum report size, in bytes
max_report_size = 250 * 1024 * 1024
# targets are the things we want to test the reproducibility of
targets = ['core-image-minimal', 'core-image-sato', 'core-image-full-cmdline', 'core-image-weston', 'world']
targets = get_bb_var("OEQA_REPRODUCIBLE_TEST_TARGET")
if targets:
targets = targets.split()
else:
targets = ['core-image-minimal', 'core-image-sato', 'core-image-full-cmdline', 'core-image-weston', 'world']
# sstate targets are things to pull from sstate to potentially cut build/debugging time
sstate_targets = []
sstate_targets = (get_bb_var("OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS") or "").split()
save_results = False
if 'OEQA_DEBUGGING_SAVED_OUTPUT' in os.environ:
save_results = os.environ['OEQA_DEBUGGING_SAVED_OUTPUT']

View File

@@ -14,7 +14,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>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---

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,7 +6,6 @@ DESCRIPTION = "v86d provides a backend for kernel drivers that need to execute x
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://README;md5=94ac1971e4f2309dc322d598e7b1f7dd"
DEPENDS = "virtual/kernel"
RRECOMMENDS:${PN} = "kernel-module-uvesafb"
PR = "r2"

View File

@@ -0,0 +1,197 @@
From e9d5219fca9f6b819d953990b369d6acfb4e952b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= <ondrej@isc.org>
Date: Tue, 30 May 2023 08:46:17 +0200
Subject: [PATCH] Improve RBT overmem cache cleaning
When cache memory usage is over the configured cache size (overmem) and
we are cleaning unused entries, it might not be enough to clean just two
entries if the entries to be expired are smaller than the newly added
rdata. This could be abused by an attacker to cause a remote Denial of
Service by possibly running out of the operating system memory.
Currently, the addrdataset() tries to do a single TTL-based cleaning
considering the serve-stale TTL and then optionally moves to overmem
cleaning if we are in that condition. Then the overmem_purge() tries to
do another single TTL based cleaning from the TTL heap and then continue
with LRU-based cleaning up to 2 entries cleaned.
Squash the TTL-cleaning mechanism into single call from addrdataset(),
but ignore the serve-stale TTL if we are currently overmem.
Then instead of having a fixed number of entries to clean, pass the size
of newly added rdatasetheader to the overmem_purge() function and
cleanup at least the size of the newly added data. This prevents the
cache going over the configured memory limit (`max-cache-size`).
Additionally, refactor the overmem_purge() function to reduce for-loop
nesting for readability.
Patch taken from : https://downloads.isc.org/isc/bind9/9.18.16/patches/0001-CVE-2023-2828.patch
Upstream-Status: Backport [https://gitlab.isc.org/isc-projects/bind9/-/commit/e9d5219fca9f6b819d953990b369d6acfb4e952b]
CVE: CVE-2023-2828
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
lib/dns/rbtdb.c | 106 +++++++++++++++++++++++++++++-------------------
1 file changed, 65 insertions(+), 41 deletions(-)
diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c
index d1aee54..ba60a49 100644
--- a/lib/dns/rbtdb.c
+++ b/lib/dns/rbtdb.c
@@ -561,7 +561,7 @@ static void
expire_header(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, bool tree_locked,
expire_t reason);
static void
-overmem_purge(dns_rbtdb_t *rbtdb, unsigned int locknum_start, isc_stdtime_t now,
+overmem_purge(dns_rbtdb_t *rbtdb, unsigned int locknum_start, size_t purgesize,
bool tree_locked);
static void
resign_insert(dns_rbtdb_t *rbtdb, int idx, rdatasetheader_t *newheader);
@@ -6787,6 +6787,16 @@ cleanup:
static dns_dbmethods_t zone_methods;
+static size_t
+rdataset_size(rdatasetheader_t *header) {
+ if (!NONEXISTENT(header)) {
+ return (dns_rdataslab_size((unsigned char *)header,
+ sizeof(*header)));
+ }
+
+ return (sizeof(*header));
+}
+
static isc_result_t
addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
isc_stdtime_t now, dns_rdataset_t *rdataset, unsigned int options,
@@ -6951,7 +6961,8 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
}
if (cache_is_overmem) {
- overmem_purge(rbtdb, rbtnode->locknum, now, tree_locked);
+ overmem_purge(rbtdb, rbtnode->locknum, rdataset_size(newheader),
+ tree_locked);
}
NODE_LOCK(&rbtdb->node_locks[rbtnode->locknum].lock,
@@ -6970,11 +6981,18 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
}
header = isc_heap_element(rbtdb->heaps[rbtnode->locknum], 1);
- if (header != NULL &&
- header->rdh_ttl + STALE_TTL(header, rbtdb) <
- now - RBTDB_VIRTUAL)
- {
- expire_header(rbtdb, header, tree_locked, expire_ttl);
+ if (header != NULL) {
+ dns_ttl_t rdh_ttl = header->rdh_ttl;
+
+ /* Only account for stale TTL if cache is not overmem */
+ if (!cache_is_overmem) {
+ rdh_ttl += STALE_TTL(header, rbtdb);
+ }
+
+ if (rdh_ttl < now - RBTDB_VIRTUAL) {
+ expire_header(rbtdb, header, tree_locked,
+ expire_ttl);
+ }
}
/*
@@ -10114,52 +10132,58 @@ update_header(dns_rbtdb_t *rbtdb, rdatasetheader_t *header, isc_stdtime_t now) {
ISC_LIST_PREPEND(rbtdb->rdatasets[header->node->locknum], header, link);
}
+static size_t
+expire_lru_headers(dns_rbtdb_t *rbtdb, unsigned int locknum, size_t purgesize,
+ bool tree_locked) {
+ rdatasetheader_t *header, *header_prev;
+ size_t purged = 0;
+
+ for (header = ISC_LIST_TAIL(rbtdb->rdatasets[locknum]);
+ header != NULL && purged <= purgesize; header = header_prev)
+ {
+ header_prev = ISC_LIST_PREV(header, link);
+ /*
+ * Unlink the entry at this point to avoid checking it
+ * again even if it's currently used someone else and
+ * cannot be purged at this moment. This entry won't be
+ * referenced any more (so unlinking is safe) since the
+ * TTL was reset to 0.
+ */
+ ISC_LIST_UNLINK(rbtdb->rdatasets[locknum], header, link);
+ size_t header_size = rdataset_size(header);
+ expire_header(rbtdb, header, tree_locked, expire_lru);
+ purged += header_size;
+ }
+
+ return (purged);
+}
+
/*%
- * Purge some expired and/or stale (i.e. unused for some period) cache entries
- * under an overmem condition. To recover from this condition quickly, up to
- * 2 entries will be purged. This process is triggered while adding a new
- * entry, and we specifically avoid purging entries in the same LRU bucket as
- * the one to which the new entry will belong. Otherwise, we might purge
- * entries of the same name of different RR types while adding RRsets from a
- * single response (consider the case where we're adding A and AAAA glue records
- * of the same NS name).
+ * Purge some stale (i.e. unused for some period - LRU based cleaning) cache
+ * entries under the overmem condition. To recover from this condition quickly,
+ * we cleanup entries up to the size of newly added rdata (passed as purgesize).
+ *
+ * This process is triggered while adding a new entry, and we specifically avoid
+ * purging entries in the same LRU bucket as the one to which the new entry will
+ * belong. Otherwise, we might purge entries of the same name of different RR
+ * types while adding RRsets from a single response (consider the case where
+ * we're adding A and AAAA glue records of the same NS name).
*/
static void
-overmem_purge(dns_rbtdb_t *rbtdb, unsigned int locknum_start, isc_stdtime_t now,
+overmem_purge(dns_rbtdb_t *rbtdb, unsigned int locknum_start, size_t purgesize,
bool tree_locked) {
- rdatasetheader_t *header, *header_prev;
unsigned int locknum;
- int purgecount = 2;
+ size_t purged = 0;
for (locknum = (locknum_start + 1) % rbtdb->node_lock_count;
- locknum != locknum_start && purgecount > 0;
+ locknum != locknum_start && purged <= purgesize;
locknum = (locknum + 1) % rbtdb->node_lock_count)
{
NODE_LOCK(&rbtdb->node_locks[locknum].lock,
isc_rwlocktype_write);
- header = isc_heap_element(rbtdb->heaps[locknum], 1);
- if (header && header->rdh_ttl < now - RBTDB_VIRTUAL) {
- expire_header(rbtdb, header, tree_locked, expire_ttl);
- purgecount--;
- }
-
- for (header = ISC_LIST_TAIL(rbtdb->rdatasets[locknum]);
- header != NULL && purgecount > 0; header = header_prev)
- {
- header_prev = ISC_LIST_PREV(header, link);
- /*
- * Unlink the entry at this point to avoid checking it
- * again even if it's currently used someone else and
- * cannot be purged at this moment. This entry won't be
- * referenced any more (so unlinking is safe) since the
- * TTL was reset to 0.
- */
- ISC_LIST_UNLINK(rbtdb->rdatasets[locknum], header,
- link);
- expire_header(rbtdb, header, tree_locked, expire_lru);
- purgecount--;
- }
+ purged += expire_lru_headers(rbtdb, locknum, purgesize - purged,
+ tree_locked);
NODE_UNLOCK(&rbtdb->node_locks[locknum].lock,
isc_rwlocktype_write);
--
2.25.1

View File

@@ -0,0 +1,97 @@
From ff5bacf17c2451e9d48c78a5ef96ec0c376ff33d Mon Sep 17 00:00:00 2001
From: Matthijs Mekking <matthijs@isc.org>
Date: Thu, 1 Jun 2023 10:03:48 +0200
Subject: [PATCH] Fix serve-stale hang at shutdown
The 'refresh_rrset' variable is used to determine if we can detach from
the client. This can cause a hang on shutdown. To fix this, move setting
of the 'nodetach' variable up to where 'refresh_rrset' is set (in
query_lookup(), and thus not in ns_query_done()), and set it to false
when actually refreshing the RRset, so that when this lookup is
completed, the client will be detached.
Patch taken from :https://downloads.isc.org/isc/bind9/9.18.16/patches/0003-CVE-2023-2911.patch
Upstream-Status: Backport [https://gitlab.isc.org/isc-projects/bind9/-/commit/240caa32b9cab90a38ab863fd64e6becf5d1393c && https://gitlab.isc.org/isc-projects/bind9/-/commit/ff5bacf17c2451e9d48c78a5ef96ec0c376ff33d]
CVE: CVE-2023-2911
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
---
lib/ns/query.c | 30 ++++++++++++++++++++++--------
1 file changed, 22 insertions(+), 8 deletions(-)
diff --git a/lib/ns/query.c b/lib/ns/query.c
index 0d2ba6b..8945dd4 100644
--- a/lib/ns/query.c
+++ b/lib/ns/query.c
@@ -5824,6 +5824,7 @@ query_refresh_rrset(query_ctx_t *orig_qctx) {
qctx.client->query.dboptions &= ~(DNS_DBFIND_STALETIMEOUT |
DNS_DBFIND_STALEOK |
DNS_DBFIND_STALEENABLED);
+ qctx.client->nodetach = false;
/*
* We'll need some resources...
@@ -6076,7 +6077,14 @@ query_lookup(query_ctx_t *qctx) {
"%s stale answer used, an attempt to "
"refresh the RRset will still be made",
namebuf);
+
qctx->refresh_rrset = STALE(qctx->rdataset);
+ /*
+ * If we are refreshing the RRSet, we must not
+ * detach from the client in query_send().
+ */
+ qctx->client->nodetach = qctx->refresh_rrset;
+
ns_client_extendederror(
qctx->client, ede,
"stale data prioritized over lookup");
@@ -6503,7 +6511,7 @@ ns_query_recurse(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname,
if (recparam_match(&client->query.recparam, qtype, qname, qdomain)) {
ns_client_log(client, NS_LOGCATEGORY_CLIENT, NS_LOGMODULE_QUERY,
ISC_LOG_INFO, "recursion loop detected");
- return (ISC_R_FAILURE);
+ return (ISC_R_ALREADYRUNNING);
}
recparam_update(&client->query.recparam, qtype, qname, qdomain);
@@ -7620,10 +7628,21 @@ query_usestale(query_ctx_t *qctx, isc_result_t result) {
return (false);
}
- if (result == DNS_R_DUPLICATE || result == DNS_R_DROP) {
+ if (qctx->refresh_rrset) {
+ /*
+ * This is a refreshing query, we have already prioritized
+ * stale data, so don't enable serve-stale again.
+ */
+ return (false);
+ }
+
+ if (result == DNS_R_DUPLICATE || result == DNS_R_DROP ||
+ result == ISC_R_ALREADYRUNNING)
+ {
/*
* Don't enable serve-stale if the result signals a duplicate
- * query or query that is being dropped.
+ * query or a query that is being dropped or can't proceed
+ * because of a recursion loop.
*/
return (false);
}
@@ -11927,12 +11946,7 @@ ns_query_done(query_ctx_t *qctx) {
/*
* Client may have been detached after query_send(), so
* we test and store the flag state here, for safety.
- * If we are refreshing the RRSet, we must not detach from the client
- * in the query_send(), so we need to override the flag.
*/
- if (qctx->refresh_rrset) {
- qctx->client->nodetach = true;
- }
nodetach = qctx->client->nodetach;
query_send(qctx->client);
--
2.25.1

View File

@@ -18,6 +18,8 @@ SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \
file://bind-ensure-searching-for-json-headers-searches-sysr.patch \
file://0001-named-lwresd-V-and-start-log-hide-build-options.patch \
file://0001-avoid-start-failure-with-bind-user.patch \
file://CVE-2023-2828.patch \
file://CVE-2023-2911.patch \
"
SRC_URI[sha256sum] = "8ff3352812230cbcbda42df87cad961f94163d3da457c5e4bef8057fd5df2158"

View File

@@ -27,6 +27,7 @@ EXTRA_OECONF += "\
--enable-ethernet \
--enable-tools \
--disable-polkit \
--runstatedir=/run \
"
PACKAGECONFIG ??= "wispr iptables client\

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

@@ -0,0 +1,585 @@
From 099cdf59ce1e72f55d421c8445bf6321b3004755 Mon Sep 17 00:00:00 2001
From: "djm@openbsd.org" <djm@openbsd.org>
Date: Wed, 19 Jul 2023 14:03:45 +0000
Subject: [PATCH 1/4] upstream: Separate ssh-pkcs11-helpers for each p11 module
Make ssh-pkcs11-client start an independent helper for each provider,
providing better isolation between modules and reliability if a single
module misbehaves.
This also implements reference counting of PKCS#11-hosted keys,
allowing ssh-pkcs11-helper subprocesses to be automatically reaped
when no remaining keys reference them. This fixes some bugs we have
that make PKCS11 keys unusable after they have been deleted, e.g.
https://bugzilla.mindrot.org/show_bug.cgi?id=3125
ok markus@
OpenBSD-Commit-ID: 0ce188b14fe271ab0568f4500070d96c5657244e
Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/099cdf59ce1e72f55d421c8445bf6321b3004755]
CVE: CVE-2023-38408
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
ssh-pkcs11-client.c | 378 +++++++++++++++++++++++++++++++++-----------
1 file changed, 285 insertions(+), 93 deletions(-)
diff --git a/ssh-pkcs11-client.c b/ssh-pkcs11-client.c
index cfd833d..7db6c6c 100644
--- a/ssh-pkcs11-client.c
+++ b/ssh-pkcs11-client.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-pkcs11-client.c,v 1.17 2020/10/18 11:32:02 djm Exp $ */
+/* $OpenBSD: ssh-pkcs11-client.c,v 1.18 2023/07/19 14:03:45 djm Exp $ */
/*
* Copyright (c) 2010 Markus Friedl. All rights reserved.
* Copyright (c) 2014 Pedro Martelletto. All rights reserved.
@@ -30,12 +30,11 @@
#include <string.h>
#include <unistd.h>
#include <errno.h>
+#include <limits.h>
#include <openssl/ecdsa.h>
#include <openssl/rsa.h>
-#include "openbsd-compat/openssl-compat.h"
-
#include "pathnames.h"
#include "xmalloc.h"
#include "sshbuf.h"
@@ -47,18 +46,140 @@
#include "ssh-pkcs11.h"
#include "ssherr.h"
+#include "openbsd-compat/openssl-compat.h"
+
/* borrows code from sftp-server and ssh-agent */
-static int fd = -1;
-static pid_t pid = -1;
+/*
+ * Maintain a list of ssh-pkcs11-helper subprocesses. These may be looked up
+ * by provider path or their unique EC/RSA METHOD pointers.
+ */
+struct helper {
+ char *path;
+ pid_t pid;
+ int fd;
+ RSA_METHOD *rsa_meth;
+ EC_KEY_METHOD *ec_meth;
+ int (*rsa_finish)(RSA *rsa);
+ void (*ec_finish)(EC_KEY *key);
+ size_t nrsa, nec; /* number of active keys of each type */
+};
+static struct helper **helpers;
+static size_t nhelpers;
+
+static struct helper *
+helper_by_provider(const char *path)
+{
+ size_t i;
+
+ for (i = 0; i < nhelpers; i++) {
+ if (helpers[i] == NULL || helpers[i]->path == NULL ||
+ helpers[i]->fd == -1)
+ continue;
+ if (strcmp(helpers[i]->path, path) == 0)
+ return helpers[i];
+ }
+ return NULL;
+}
+
+static struct helper *
+helper_by_rsa(const RSA *rsa)
+{
+ size_t i;
+ const RSA_METHOD *meth;
+
+ if ((meth = RSA_get_method(rsa)) == NULL)
+ return NULL;
+ for (i = 0; i < nhelpers; i++) {
+ if (helpers[i] != NULL && helpers[i]->rsa_meth == meth)
+ return helpers[i];
+ }
+ return NULL;
+
+}
+
+static struct helper *
+helper_by_ec(const EC_KEY *ec)
+{
+ size_t i;
+ const EC_KEY_METHOD *meth;
+
+ if ((meth = EC_KEY_get_method(ec)) == NULL)
+ return NULL;
+ for (i = 0; i < nhelpers; i++) {
+ if (helpers[i] != NULL && helpers[i]->ec_meth == meth)
+ return helpers[i];
+ }
+ return NULL;
+
+}
+
+static void
+helper_free(struct helper *helper)
+{
+ size_t i;
+ int found = 0;
+
+ if (helper == NULL)
+ return;
+ if (helper->path == NULL || helper->ec_meth == NULL ||
+ helper->rsa_meth == NULL)
+ fatal_f("inconsistent helper");
+ debug3_f("free helper for provider %s", helper->path);
+ for (i = 0; i < nhelpers; i++) {
+ if (helpers[i] == helper) {
+ if (found)
+ fatal_f("helper recorded more than once");
+ found = 1;
+ }
+ else if (found)
+ helpers[i - 1] = helpers[i];
+ }
+ if (found) {
+ helpers = xrecallocarray(helpers, nhelpers,
+ nhelpers - 1, sizeof(*helpers));
+ nhelpers--;
+ }
+ free(helper->path);
+ EC_KEY_METHOD_free(helper->ec_meth);
+ RSA_meth_free(helper->rsa_meth);
+ free(helper);
+}
+
+static void
+helper_terminate(struct helper *helper)
+{
+ if (helper == NULL) {
+ return;
+ } else if (helper->fd == -1) {
+ debug3_f("already terminated");
+ } else {
+ debug3_f("terminating helper for %s; "
+ "remaining %zu RSA %zu ECDSA",
+ helper->path, helper->nrsa, helper->nec);
+ close(helper->fd);
+ /* XXX waitpid() */
+ helper->fd = -1;
+ helper->pid = -1;
+ }
+ /*
+ * Don't delete the helper entry until there are no remaining keys
+ * that reference it. Otherwise, any signing operation would call
+ * a free'd METHOD pointer and that would be bad.
+ */
+ if (helper->nrsa == 0 && helper->nec == 0)
+ helper_free(helper);
+}
static void
-send_msg(struct sshbuf *m)
+send_msg(int fd, struct sshbuf *m)
{
u_char buf[4];
size_t mlen = sshbuf_len(m);
int r;
+ if (fd == -1)
+ return;
POKE_U32(buf, mlen);
if (atomicio(vwrite, fd, buf, 4) != 4 ||
atomicio(vwrite, fd, sshbuf_mutable_ptr(m),
@@ -69,12 +190,15 @@ send_msg(struct sshbuf *m)
}
static int
-recv_msg(struct sshbuf *m)
+recv_msg(int fd, struct sshbuf *m)
{
u_int l, len;
u_char c, buf[1024];
int r;
+ sshbuf_reset(m);
+ if (fd == -1)
+ return 0; /* XXX */
if ((len = atomicio(read, fd, buf, 4)) != 4) {
error("read from helper failed: %u", len);
return (0); /* XXX */
@@ -83,7 +207,6 @@ recv_msg(struct sshbuf *m)
if (len > 256 * 1024)
fatal("response too long: %u", len);
/* read len bytes into m */
- sshbuf_reset(m);
while (len > 0) {
l = len;
if (l > sizeof(buf))
@@ -104,14 +227,17 @@ recv_msg(struct sshbuf *m)
int
pkcs11_init(int interactive)
{
- return (0);
+ return 0;
}
void
pkcs11_terminate(void)
{
- if (fd >= 0)
- close(fd);
+ size_t i;
+
+ debug3_f("terminating %zu helpers", nhelpers);
+ for (i = 0; i < nhelpers; i++)
+ helper_terminate(helpers[i]);
}
static int
@@ -122,7 +248,11 @@ rsa_encrypt(int flen, const u_char *from, u_char *to, RSA *rsa, int padding)
u_char *blob = NULL, *signature = NULL;
size_t blen, slen = 0;
int r, ret = -1;
+ struct helper *helper;
+ if ((helper = helper_by_rsa(rsa)) == NULL || helper->fd == -1)
+ fatal_f("no helper for PKCS11 key");
+ debug3_f("signing with PKCS11 provider %s", helper->path);
if (padding != RSA_PKCS1_PADDING)
goto fail;
key = sshkey_new(KEY_UNSPEC);
@@ -144,10 +274,10 @@ rsa_encrypt(int flen, const u_char *from, u_char *to, RSA *rsa, int padding)
(r = sshbuf_put_string(msg, from, flen)) != 0 ||
(r = sshbuf_put_u32(msg, 0)) != 0)
fatal_fr(r, "compose");
- send_msg(msg);
+ send_msg(helper->fd, msg);
sshbuf_reset(msg);
- if (recv_msg(msg) == SSH2_AGENT_SIGN_RESPONSE) {
+ if (recv_msg(helper->fd, msg) == SSH2_AGENT_SIGN_RESPONSE) {
if ((r = sshbuf_get_string(msg, &signature, &slen)) != 0)
fatal_fr(r, "parse");
if (slen <= (size_t)RSA_size(rsa)) {
@@ -163,7 +293,26 @@ rsa_encrypt(int flen, const u_char *from, u_char *to, RSA *rsa, int padding)
return (ret);
}
-#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW)
+static int
+rsa_finish(RSA *rsa)
+{
+ struct helper *helper;
+
+ if ((helper = helper_by_rsa(rsa)) == NULL)
+ fatal_f("no helper for PKCS11 key");
+ debug3_f("free PKCS11 RSA key for provider %s", helper->path);
+ if (helper->rsa_finish != NULL)
+ helper->rsa_finish(rsa);
+ if (helper->nrsa == 0)
+ fatal_f("RSA refcount error");
+ helper->nrsa--;
+ debug3_f("provider %s remaining keys: %zu RSA %zu ECDSA",
+ helper->path, helper->nrsa, helper->nec);
+ if (helper->nrsa == 0 && helper->nec == 0)
+ helper_terminate(helper);
+ return 1;
+}
+
static ECDSA_SIG *
ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv,
const BIGNUM *rp, EC_KEY *ec)
@@ -175,7 +324,11 @@ ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv,
u_char *blob = NULL, *signature = NULL;
size_t blen, slen = 0;
int r, nid;
+ struct helper *helper;
+ if ((helper = helper_by_ec(ec)) == NULL || helper->fd == -1)
+ fatal_f("no helper for PKCS11 key");
+ debug3_f("signing with PKCS11 provider %s", helper->path);
nid = sshkey_ecdsa_key_to_nid(ec);
if (nid < 0) {
error_f("couldn't get curve nid");
@@ -203,10 +356,10 @@ ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv,
(r = sshbuf_put_string(msg, dgst, dgst_len)) != 0 ||
(r = sshbuf_put_u32(msg, 0)) != 0)
fatal_fr(r, "compose");
- send_msg(msg);
+ send_msg(helper->fd, msg);
sshbuf_reset(msg);
- if (recv_msg(msg) == SSH2_AGENT_SIGN_RESPONSE) {
+ if (recv_msg(helper->fd, msg) == SSH2_AGENT_SIGN_RESPONSE) {
if ((r = sshbuf_get_string(msg, &signature, &slen)) != 0)
fatal_fr(r, "parse");
cp = signature;
@@ -220,75 +373,110 @@ ecdsa_do_sign(const unsigned char *dgst, int dgst_len, const BIGNUM *inv,
sshbuf_free(msg);
return (ret);
}
-#endif /* OPENSSL_HAS_ECC && HAVE_EC_KEY_METHOD_NEW */
-static RSA_METHOD *helper_rsa;
-#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW)
-static EC_KEY_METHOD *helper_ecdsa;
-#endif /* OPENSSL_HAS_ECC && HAVE_EC_KEY_METHOD_NEW */
+static void
+ecdsa_do_finish(EC_KEY *ec)
+{
+ struct helper *helper;
+
+ if ((helper = helper_by_ec(ec)) == NULL)
+ fatal_f("no helper for PKCS11 key");
+ debug3_f("free PKCS11 ECDSA key for provider %s", helper->path);
+ if (helper->ec_finish != NULL)
+ helper->ec_finish(ec);
+ if (helper->nec == 0)
+ fatal_f("ECDSA refcount error");
+ helper->nec--;
+ debug3_f("provider %s remaining keys: %zu RSA %zu ECDSA",
+ helper->path, helper->nrsa, helper->nec);
+ if (helper->nrsa == 0 && helper->nec == 0)
+ helper_terminate(helper);
+}
/* redirect private key crypto operations to the ssh-pkcs11-helper */
static void
-wrap_key(struct sshkey *k)
+wrap_key(struct helper *helper, struct sshkey *k)
{
- if (k->type == KEY_RSA)
- RSA_set_method(k->rsa, helper_rsa);
-#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW)
- else if (k->type == KEY_ECDSA)
- EC_KEY_set_method(k->ecdsa, helper_ecdsa);
-#endif /* OPENSSL_HAS_ECC && HAVE_EC_KEY_METHOD_NEW */
- else
+ debug3_f("wrap %s for provider %s", sshkey_type(k), helper->path);
+ if (k->type == KEY_RSA) {
+ RSA_set_method(k->rsa, helper->rsa_meth);
+ if (helper->nrsa++ >= INT_MAX)
+ fatal_f("RSA refcount error");
+ } else if (k->type == KEY_ECDSA) {
+ EC_KEY_set_method(k->ecdsa, helper->ec_meth);
+ if (helper->nec++ >= INT_MAX)
+ fatal_f("EC refcount error");
+ } else
fatal_f("unknown key type");
+ k->flags |= SSHKEY_FLAG_EXT;
+ debug3_f("provider %s remaining keys: %zu RSA %zu ECDSA",
+ helper->path, helper->nrsa, helper->nec);
}
static int
-pkcs11_start_helper_methods(void)
+pkcs11_start_helper_methods(struct helper *helper)
{
- if (helper_rsa != NULL)
- return (0);
-
-#if defined(OPENSSL_HAS_ECC) && defined(HAVE_EC_KEY_METHOD_NEW)
- int (*orig_sign)(int, const unsigned char *, int, unsigned char *,
+ int (*ec_init)(EC_KEY *key);
+ int (*ec_copy)(EC_KEY *dest, const EC_KEY *src);
+ int (*ec_set_group)(EC_KEY *key, const EC_GROUP *grp);
+ int (*ec_set_private)(EC_KEY *key, const BIGNUM *priv_key);
+ int (*ec_set_public)(EC_KEY *key, const EC_POINT *pub_key);
+ int (*ec_sign)(int, const unsigned char *, int, unsigned char *,
unsigned int *, const BIGNUM *, const BIGNUM *, EC_KEY *) = NULL;
- if (helper_ecdsa != NULL)
- return (0);
- helper_ecdsa = EC_KEY_METHOD_new(EC_KEY_OpenSSL());
- if (helper_ecdsa == NULL)
- return (-1);
- EC_KEY_METHOD_get_sign(helper_ecdsa, &orig_sign, NULL, NULL);
- EC_KEY_METHOD_set_sign(helper_ecdsa, orig_sign, NULL, ecdsa_do_sign);
-#endif /* OPENSSL_HAS_ECC && HAVE_EC_KEY_METHOD_NEW */
-
- if ((helper_rsa = RSA_meth_dup(RSA_get_default_method())) == NULL)
+ RSA_METHOD *rsa_meth;
+ EC_KEY_METHOD *ec_meth;
+
+ if ((ec_meth = EC_KEY_METHOD_new(EC_KEY_OpenSSL())) == NULL)
+ return -1;
+ EC_KEY_METHOD_get_sign(ec_meth, &ec_sign, NULL, NULL);
+ EC_KEY_METHOD_set_sign(ec_meth, ec_sign, NULL, ecdsa_do_sign);
+ EC_KEY_METHOD_get_init(ec_meth, &ec_init, &helper->ec_finish,
+ &ec_copy, &ec_set_group, &ec_set_private, &ec_set_public);
+ EC_KEY_METHOD_set_init(ec_meth, ec_init, ecdsa_do_finish,
+ ec_copy, ec_set_group, ec_set_private, ec_set_public);
+
+ if ((rsa_meth = RSA_meth_dup(RSA_get_default_method())) == NULL)
fatal_f("RSA_meth_dup failed");
- if (!RSA_meth_set1_name(helper_rsa, "ssh-pkcs11-helper") ||
- !RSA_meth_set_priv_enc(helper_rsa, rsa_encrypt))
+ helper->rsa_finish = RSA_meth_get_finish(rsa_meth);
+ if (!RSA_meth_set1_name(rsa_meth, "ssh-pkcs11-helper") ||
+ !RSA_meth_set_priv_enc(rsa_meth, rsa_encrypt) ||
+ !RSA_meth_set_finish(rsa_meth, rsa_finish))
fatal_f("failed to prepare method");
- return (0);
+ helper->ec_meth = ec_meth;
+ helper->rsa_meth = rsa_meth;
+ return 0;
}
-static int
-pkcs11_start_helper(void)
+static struct helper *
+pkcs11_start_helper(const char *path)
{
int pair[2];
- char *helper, *verbosity = NULL;
-
- if (log_level_get() >= SYSLOG_LEVEL_DEBUG1)
- verbosity = "-vvv";
-
- if (pkcs11_start_helper_methods() == -1) {
- error("pkcs11_start_helper_methods failed");
- return (-1);
- }
+ char *prog, *verbosity = NULL;
+ struct helper *helper;
+ pid_t pid;
+ if (nhelpers >= INT_MAX)
+ fatal_f("too many helpers");
+ debug3_f("start helper for %s", path);
if (socketpair(AF_UNIX, SOCK_STREAM, 0, pair) == -1) {
- error("socketpair: %s", strerror(errno));
- return (-1);
+ error_f("socketpair: %s", strerror(errno));
+ return NULL;
+ }
+ helper = xcalloc(1, sizeof(*helper));
+ if (pkcs11_start_helper_methods(helper) == -1) {
+ error_f("pkcs11_start_helper_methods failed");
+ goto fail;
}
if ((pid = fork()) == -1) {
- error("fork: %s", strerror(errno));
- return (-1);
+ error_f("fork: %s", strerror(errno));
+ fail:
+ close(pair[0]);
+ close(pair[1]);
+ RSA_meth_free(helper->rsa_meth);
+ EC_KEY_METHOD_free(helper->ec_meth);
+ free(helper);
+ return NULL;
} else if (pid == 0) {
if ((dup2(pair[1], STDIN_FILENO) == -1) ||
(dup2(pair[1], STDOUT_FILENO) == -1)) {
@@ -297,18 +485,27 @@ pkcs11_start_helper(void)
}
close(pair[0]);
close(pair[1]);
- helper = getenv("SSH_PKCS11_HELPER");
- if (helper == NULL || strlen(helper) == 0)
- helper = _PATH_SSH_PKCS11_HELPER;
- debug_f("starting %s %s", helper,
+ prog = getenv("SSH_PKCS11_HELPER");
+ if (prog == NULL || strlen(prog) == 0)
+ prog = _PATH_SSH_PKCS11_HELPER;
+ if (log_level_get() >= SYSLOG_LEVEL_DEBUG1)
+ verbosity = "-vvv";
+ debug_f("starting %s %s", prog,
verbosity == NULL ? "" : verbosity);
- execlp(helper, helper, verbosity, (char *)NULL);
- fprintf(stderr, "exec: %s: %s\n", helper, strerror(errno));
+ execlp(prog, prog, verbosity, (char *)NULL);
+ fprintf(stderr, "exec: %s: %s\n", prog, strerror(errno));
_exit(1);
}
close(pair[1]);
- fd = pair[0];
- return (0);
+ helper->fd = pair[0];
+ helper->path = xstrdup(path);
+ helper->pid = pid;
+ debug3_f("helper %zu for \"%s\" on fd %d pid %ld", nhelpers,
+ helper->path, helper->fd, (long)helper->pid);
+ helpers = xrecallocarray(helpers, nhelpers,
+ nhelpers + 1, sizeof(*helpers));
+ helpers[nhelpers++] = helper;
+ return helper;
}
int
@@ -322,9 +519,11 @@ pkcs11_add_provider(char *name, char *pin, struct sshkey ***keysp,
size_t blen;
u_int nkeys, i;
struct sshbuf *msg;
+ struct helper *helper;
- if (fd < 0 && pkcs11_start_helper() < 0)
- return (-1);
+ if ((helper = helper_by_provider(name)) == NULL &&
+ (helper = pkcs11_start_helper(name)) == NULL)
+ return -1;
if ((msg = sshbuf_new()) == NULL)
fatal_f("sshbuf_new failed");
@@ -332,10 +531,10 @@ pkcs11_add_provider(char *name, char *pin, struct sshkey ***keysp,
(r = sshbuf_put_cstring(msg, name)) != 0 ||
(r = sshbuf_put_cstring(msg, pin)) != 0)
fatal_fr(r, "compose");
- send_msg(msg);
+ send_msg(helper->fd, msg);
sshbuf_reset(msg);
- type = recv_msg(msg);
+ type = recv_msg(helper->fd, msg);
if (type == SSH2_AGENT_IDENTITIES_ANSWER) {
if ((r = sshbuf_get_u32(msg, &nkeys)) != 0)
fatal_fr(r, "parse nkeys");
@@ -349,7 +548,7 @@ pkcs11_add_provider(char *name, char *pin, struct sshkey ***keysp,
fatal_fr(r, "parse key");
if ((r = sshkey_from_blob(blob, blen, &k)) != 0)
fatal_fr(r, "decode key");
- wrap_key(k);
+ wrap_key(helper, k);
(*keysp)[i] = k;
if (labelsp)
(*labelsp)[i] = label;
@@ -370,22 +569,15 @@ pkcs11_add_provider(char *name, char *pin, struct sshkey ***keysp,
int
pkcs11_del_provider(char *name)
{
- int r, ret = -1;
- struct sshbuf *msg;
-
- if ((msg = sshbuf_new()) == NULL)
- fatal_f("sshbuf_new failed");
- if ((r = sshbuf_put_u8(msg, SSH_AGENTC_REMOVE_SMARTCARD_KEY)) != 0 ||
- (r = sshbuf_put_cstring(msg, name)) != 0 ||
- (r = sshbuf_put_cstring(msg, "")) != 0)
- fatal_fr(r, "compose");
- send_msg(msg);
- sshbuf_reset(msg);
-
- if (recv_msg(msg) == SSH_AGENT_SUCCESS)
- ret = 0;
- sshbuf_free(msg);
- return (ret);
+ struct helper *helper;
+
+ /*
+ * ssh-agent deletes keys before calling this, so the helper entry
+ * should be gone before we get here.
+ */
+ debug3_f("delete %s", name);
+ if ((helper = helper_by_provider(name)) != NULL)
+ helper_terminate(helper);
+ return 0;
}
-
#endif /* ENABLE_PKCS11 */
--
2.40.0

View File

@@ -0,0 +1,173 @@
From 29ef8a04866ca14688d5b7fed7b8b9deab851f77 Mon Sep 17 00:00:00 2001
From: "djm@openbsd.org" <djm@openbsd.org>
Date: Wed, 19 Jul 2023 14:02:27 +0000
Subject: [PATCH 2/4] upstream: Ensure FIDO/PKCS11 libraries contain expected
symbols
This checks via nlist(3) that candidate provider libraries contain one
of the symbols that we will require prior to dlopen(), which can cause
a number of side effects, including execution of constructors.
Feedback deraadt; ok markus
OpenBSD-Commit-ID: 1508a5fbd74e329e69a55b56c453c292029aefbe
Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/29ef8a04866ca14688d5b7fed7b8b9deab851f77]
CVE: CVE-2023-38408
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
misc.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++
misc.h | 1 +
ssh-pkcs11.c | 4 +++
ssh-sk.c | 6 ++--
4 files changed, 86 insertions(+), 2 deletions(-)
diff --git a/misc.c b/misc.c
index 417498d..d0270e7 100644
--- a/misc.c
+++ b/misc.c
@@ -22,6 +22,7 @@
#include <sys/types.h>
#include <sys/ioctl.h>
+#include <sys/mman.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
@@ -35,6 +36,9 @@
#ifdef HAVE_POLL_H
#include <poll.h>
#endif
+#ifdef HAVE_NLIST_H
+#include <nlist.h>
+#endif
#include <signal.h>
#include <stdarg.h>
#include <stdio.h>
@@ -2784,3 +2788,76 @@ lookup_env_in_list(const char *env, char * const *envs, size_t nenvs)
}
return NULL;
}
+
+
+/*
+ * Returns zero if the library at 'path' contains symbol 's', nonzero
+ * otherwise.
+ */
+int
+lib_contains_symbol(const char *path, const char *s)
+{
+#ifdef HAVE_NLIST_H
+ struct nlist nl[2];
+ int ret = -1, r;
+
+ memset(nl, 0, sizeof(nl));
+ nl[0].n_name = xstrdup(s);
+ nl[1].n_name = NULL;
+ if ((r = nlist(path, nl)) == -1) {
+ error_f("nlist failed for %s", path);
+ goto out;
+ }
+ if (r != 0 || nl[0].n_value == 0 || nl[0].n_type == 0) {
+ error_f("library %s does not contain symbol %s", path, s);
+ goto out;
+ }
+ /* success */
+ ret = 0;
+ out:
+ free(nl[0].n_name);
+ return ret;
+#else /* HAVE_NLIST_H */
+ int fd, ret = -1;
+ struct stat st;
+ void *m = NULL;
+ size_t sz = 0;
+
+ memset(&st, 0, sizeof(st));
+ if ((fd = open(path, O_RDONLY)) < 0) {
+ error_f("open %s: %s", path, strerror(errno));
+ return -1;
+ }
+ if (fstat(fd, &st) != 0) {
+ error_f("fstat %s: %s", path, strerror(errno));
+ goto out;
+ }
+ if (!S_ISREG(st.st_mode)) {
+ error_f("%s is not a regular file", path);
+ goto out;
+ }
+ if (st.st_size < 0 ||
+ (size_t)st.st_size < strlen(s) ||
+ st.st_size >= INT_MAX/2) {
+ error_f("%s bad size %lld", path, (long long)st.st_size);
+ goto out;
+ }
+ sz = (size_t)st.st_size;
+ if ((m = mmap(NULL, sz, PROT_READ, MAP_PRIVATE, fd, 0)) == MAP_FAILED ||
+ m == NULL) {
+ error_f("mmap %s: %s", path, strerror(errno));
+ goto out;
+ }
+ if (memmem(m, sz, s, strlen(s)) == NULL) {
+ error_f("%s does not contain expected string %s", path, s);
+ goto out;
+ }
+ /* success */
+ ret = 0;
+ out:
+ if (m != NULL && m != MAP_FAILED)
+ munmap(m, sz);
+ close(fd);
+ return ret;
+#endif /* HAVE_NLIST_H */
+}
diff --git a/misc.h b/misc.h
index 2e1b5fe..3f48315 100644
--- a/misc.h
+++ b/misc.h
@@ -96,6 +96,7 @@ int parse_absolute_time(const char *, uint64_t *);
void format_absolute_time(uint64_t, char *, size_t);
int path_absolute(const char *);
int stdfd_devnull(int, int, int);
+int lib_contains_symbol(const char *, const char *);
void sock_set_v6only(int);
diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c
index b2e2b32..5eb28e9 100644
--- a/ssh-pkcs11.c
+++ b/ssh-pkcs11.c
@@ -1532,6 +1532,10 @@ pkcs11_register_provider(char *provider_id, char *pin,
debug_f("provider already registered: %s", provider_id);
goto fail;
}
+ if (lib_contains_symbol(provider_id, "C_GetFunctionList") != 0) {
+ error("provider %s is not a PKCS11 library", provider_id);
+ goto fail;
+ }
/* open shared pkcs11-library */
if ((handle = dlopen(provider_id, RTLD_NOW)) == NULL) {
error("dlopen %s failed: %s", provider_id, dlerror());
diff --git a/ssh-sk.c b/ssh-sk.c
index a1ff5cc..1042bf6 100644
--- a/ssh-sk.c
+++ b/ssh-sk.c
@@ -132,10 +132,12 @@ sshsk_open(const char *path)
#endif
return ret;
}
- if ((ret->dlhandle = dlopen(path, RTLD_NOW)) == NULL) {
- error("Provider \"%s\" dlopen failed: %s", path, dlerror());
+ if (lib_contains_symbol(path, "sk_api_version") != 0) {
+ error("provider %s is not an OpenSSH FIDO library", path);
goto fail;
}
+ if ((ret->dlhandle = dlopen(path, RTLD_NOW)) == NULL)
+ fatal("Provider \"%s\" dlopen failed: %s", path, dlerror());
if ((ret->sk_api_version = dlsym(ret->dlhandle,
"sk_api_version")) == NULL) {
error("Provider \"%s\" dlsym(sk_api_version) failed: %s",
--
2.40.0

View File

@@ -0,0 +1,36 @@
From 892506b13654301f69f9545f48213fc210e5c5cc Mon Sep 17 00:00:00 2001
From: "djm@openbsd.org" <djm@openbsd.org>
Date: Wed, 19 Jul 2023 13:55:53 +0000
Subject: [PATCH 3/4] upstream: terminate process if requested to load a
PKCS#11 provider that isn't a PKCS#11 provider; from / ok markus@
OpenBSD-Commit-ID: 39532cf18b115881bb4cfaee32084497aadfa05c
Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/892506b13654301f69f9545f48213fc210e5c5cc]
CVE: CVE-2023-38408
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
ssh-pkcs11.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c
index 5eb28e9..0aef379 100644
--- a/ssh-pkcs11.c
+++ b/ssh-pkcs11.c
@@ -1541,10 +1541,8 @@ pkcs11_register_provider(char *provider_id, char *pin,
error("dlopen %s failed: %s", provider_id, dlerror());
goto fail;
}
- if ((getfunctionlist = dlsym(handle, "C_GetFunctionList")) == NULL) {
- error("dlsym(C_GetFunctionList) failed: %s", dlerror());
- goto fail;
- }
+ if ((getfunctionlist = dlsym(handle, "C_GetFunctionList")) == NULL)
+ fatal("dlsym(C_GetFunctionList) failed: %s", dlerror());
p = xcalloc(1, sizeof(*p));
p->name = xstrdup(provider_id);
p->handle = handle;
--
2.40.0

View File

@@ -0,0 +1,114 @@
From 1f2731f5d7a8f8a8385c6031667ed29072c0d92a Mon Sep 17 00:00:00 2001
From: "djm@openbsd.org" <djm@openbsd.org>
Date: Wed, 19 Jul 2023 13:56:33 +0000
Subject: [PATCH 4/4] upstream: Disallow remote addition of FIDO/PKCS11
provider libraries to ssh-agent by default.
The old behaviour of allowing remote clients from loading providers
can be restored using `ssh-agent -O allow-remote-pkcs11`.
Detection of local/remote clients requires a ssh(1) that supports
the `session-bind@openssh.com` extension. Forwarding access to a
ssh-agent socket using non-OpenSSH tools may circumvent this control.
ok markus@
OpenBSD-Commit-ID: 4c2bdf79b214ae7e60cc8c39a45501344fa7bd7c
Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/1f2731f5d7a8f8a8385c6031667ed29072c0d92a]
CVE: CVE-2023-38408
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
ssh-agent.1 | 21 +++++++++++++++++++++
ssh-agent.c | 21 ++++++++++++++++++++-
2 files changed, 41 insertions(+), 1 deletion(-)
diff --git a/ssh-agent.1 b/ssh-agent.1
index ed8c870..15d0a47 100644
--- a/ssh-agent.1
+++ b/ssh-agent.1
@@ -102,6 +102,27 @@ The default is
Kill the current agent (given by the
.Ev SSH_AGENT_PID
environment variable).
+Currently two options are supported:
+.Cm allow-remote-pkcs11
+and
+.Cm no-restrict-websafe .
+.Pp
+The
+.Cm allow-remote-pkcs11
+option allows clients of a forwarded
+.Nm
+to load PKCS#11 or FIDO provider libraries.
+By default only local clients may perform this operation.
+Note that signalling that a
+.Nm
+client remote is performed by
+.Xr ssh 1 ,
+and use of other tools to forward access to the agent socket may circumvent
+this restriction.
+.Pp
+The
+.Cm no-restrict-websafe ,
+instructs
.It Fl P Ar allowed_providers
Specify a pattern-list of acceptable paths for PKCS#11 provider and FIDO
authenticator middleware shared libraries that may be used with the
diff --git a/ssh-agent.c b/ssh-agent.c
index 03ae2b0..19eeaae 100644
--- a/ssh-agent.c
+++ b/ssh-agent.c
@@ -171,6 +171,12 @@ char socket_dir[PATH_MAX];
/* Pattern-list of allowed PKCS#11/Security key paths */
static char *allowed_providers;
+/*
+ * Allows PKCS11 providers or SK keys that use non-internal providers to
+ * be added over a remote connection (identified by session-bind@openssh.com).
+ */
+static int remote_add_provider;
+
/* locking */
#define LOCK_SIZE 32
#define LOCK_SALT_SIZE 16
@@ -1239,6 +1245,12 @@ process_add_identity(SocketEntry *e)
if (strcasecmp(sk_provider, "internal") == 0) {
debug_f("internal provider");
} else {
+ if (e->nsession_ids != 0 && !remote_add_provider) {
+ verbose("failed add of SK provider \"%.100s\": "
+ "remote addition of providers is disabled",
+ sk_provider);
+ goto out;
+ }
if (realpath(sk_provider, canonical_provider) == NULL) {
verbose("failed provider \"%.100s\": "
"realpath: %s", sk_provider,
@@ -1402,6 +1414,11 @@ process_add_smartcard_key(SocketEntry *e)
error_f("failed to parse constraints");
goto send;
}
+ if (e->nsession_ids != 0 && !remote_add_provider) {
+ verbose("failed PKCS#11 add of \"%.100s\": remote addition of "
+ "providers is disabled", provider);
+ goto send;
+ }
if (realpath(provider, canonical_provider) == NULL) {
verbose("failed PKCS#11 add of \"%.100s\": realpath: %s",
provider, strerror(errno));
@@ -2061,7 +2078,9 @@ main(int ac, char **av)
break;
case 'O':
if (strcmp(optarg, "no-restrict-websafe") == 0)
- restrict_websafe = 0;
+ restrict_websafe = 0;
+ else if (strcmp(optarg, "allow-remote-pkcs11") == 0)
+ remote_add_provider = 1;
else
fatal("Unknown -O option");
break;
--
2.40.0

View File

@@ -28,6 +28,10 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
file://0001-Default-to-not-using-sandbox-when-cross-compiling.patch \
file://7280401bdd77ca54be6867a154cc01e0d72612e0.patch \
file://0001-upstream-include-destination-constraints-for-smartca.patch \
file://CVE-2023-38408-0001.patch \
file://CVE-2023-38408-0002.patch \
file://CVE-2023-38408-0003.patch \
file://CVE-2023-38408-0004.patch \
"
SRC_URI[sha256sum] = "fd497654b7ab1686dac672fb83dfb4ba4096e8b5ffcdaccd262380ae58bec5e7"

View File

@@ -18,7 +18,7 @@ SRC_URI:append:class-nativesdk = " \
file://environment.d-openssl.sh \
"
SRC_URI[sha256sum] = "eb1ab04781474360f77c318ab89d8c5a03abc38e63d65a603cabbf1b00a1dc90"
SRC_URI[sha256sum] = "1761d4f5b13a1028b9b6f3d4b8e17feb0cedc9370f6afe61d7193d2cdce83323"
inherit lib_package multilib_header multilib_script ptest perlnative
MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"
@@ -137,7 +137,9 @@ do_configure () {
fi
# WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the
# environment variables set by bitbake. Adjust the environment variables instead.
HASHBANGPERL="/usr/bin/env perl" PERL=perl PERL5LIB="${S}/external/perl/Text-Template-1.46/lib/" \
PERLEXTERNAL="$(realpath ${S}/external/perl/Text-Template-*/lib)"
test -d "$PERLEXTERNAL" || bberror "PERLEXTERNAL '$PERLEXTERNAL' not found!"
HASHBANGPERL="/usr/bin/env perl" PERL=perl PERL5LIB="$PERLEXTERNAL" \
perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} ${DEPRECATED_CRYPTO_FLAGS} --prefix=$useprefix --openssldir=${libdir}/ssl-3 --libdir=${libdir} $target
perl ${B}/configdata.pm --dump
}

View File

@@ -16,7 +16,7 @@ SRC_URI = "https://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.xz \
file://dbus-1.init \
"
SRC_URI[sha256sum] = "fd2bdf1bb89dc365a46531bff631536f22b0d1c6d5ce2c5c5e59b55265b3d66b"
SRC_URI[sha256sum] = "a6bd5bac5cf19f0c3c594bdae2565a095696980a683a0ef37cb6212e093bde35"
EXTRA_OECONF = "--disable-xml-docs \
--disable-doxygen-docs \

View File

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

View File

@@ -0,0 +1,50 @@
From c3ec04f1aee68970b82e4b033bee1477e76798f9 Mon Sep 17 00:00:00 2001
From: Leon Timmermans <fawaka@gmail.com>
Date: Tue, 6 Jun 2023 17:03:57 +0200
Subject: [PATCH] Make BuildCommon.pm compatible with latest perl
It was previously using an experimental feature that has since been dropped.
This removes the use of that feature.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Upstream-Status: Backport [v4.4.35 https://github.com/besser82/libxcrypt/commit/ce562f4d33dc090fcd8f6ea1af3ba32cdc2b3c9c]
---
build-aux/scripts/BuildCommon.pm | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/build-aux/scripts/BuildCommon.pm b/build-aux/scripts/BuildCommon.pm
index 0e6f2a3..c38ba21 100644
--- a/build-aux/scripts/BuildCommon.pm
+++ b/build-aux/scripts/BuildCommon.pm
@@ -11,7 +11,6 @@ use v5.14; # implicit use strict, use feature ':5.14'
use warnings FATAL => 'all';
use utf8;
use open qw(:utf8);
-no if $] >= 5.018, warnings => 'experimental::smartmatch';
no if $] >= 5.022, warnings => 'experimental::re_strict';
use if $] >= 5.022, re => 'strict';
@@ -519,19 +518,19 @@ sub parse_symver_args {
my $COMPAT_ABI;
local $_;
for (@args) {
- when (/^SYMVER_MIN=(.+)$/) {
+ if (/^SYMVER_MIN=(.+)$/) {
$usage_error->() if defined $SYMVER_MIN;
$SYMVER_MIN = $1;
}
- when (/^SYMVER_FLOOR=(.+)$/) {
+ elsif (/^SYMVER_FLOOR=(.+)$/) {
$usage_error->() if defined $SYMVER_FLOOR;
$SYMVER_FLOOR = $1;
}
- when (/^COMPAT_ABI=(.+)$/) {
+ elsif (/^COMPAT_ABI=(.+)$/) {
$usage_error->() if defined $COMPAT_ABI;
$COMPAT_ABI = $1;
}
- default {
+ else {
$usage_error->() if defined $map_in;
$map_in = $_;
}

View File

@@ -0,0 +1,62 @@
From 95d6e03ae37f4ec948474d111105bbdd2938aba2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= <dilfridge@gentoo.org>
Date: Sun, 25 Jun 2023 01:35:08 +0200
Subject: [PATCH] Remove smartmatch usage from gen-crypt-h
Needed for Perl 5.38
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Upstream-Status: Backport [v4.4.36 https://github.com/besser82/libxcrypt/commit/95d6e03ae37f4ec948474d111105bbdd2938aba2]
---
build-aux/scripts/gen-crypt-h | 31 ++++++++++++++-----------------
1 file changed, 14 insertions(+), 17 deletions(-)
diff --git a/build-aux/scripts/gen-crypt-h b/build-aux/scripts/gen-crypt-h
index 12aecf6..b113b79 100644
--- a/build-aux/scripts/gen-crypt-h
+++ b/build-aux/scripts/gen-crypt-h
@@ -12,7 +12,6 @@ use v5.14; # implicit use strict, use feature ':5.14'
use warnings FATAL => 'all';
use utf8;
use open qw(:std :utf8);
-no if $] >= 5.018, warnings => 'experimental::smartmatch';
no if $] >= 5.022, warnings => 'experimental::re_strict';
use if $] >= 5.022, re => 'strict';
@@ -37,22 +36,20 @@ sub process_config_h {
local $_;
while (<$fh>) {
chomp;
- # Yes, 'given $_' is really required here.
- given ($_) {
- when ('#define HAVE_SYS_CDEFS_H 1') {
- $have_sys_cdefs_h = 1;
- }
- when ('#define HAVE_SYS_CDEFS_BEGIN_END_DECLS 1') {
- $have_sys_cdefs_begin_end_decls = 1;
- }
- when ('#define HAVE_SYS_CDEFS_THROW 1') {
- $have_sys_cdefs_throw = 1;
- }
- when (/^#define PACKAGE_VERSION "((\d+)\.(\d+)\.\d+)"$/) {
- $substs{XCRYPT_VERSION_STR} = $1;
- $substs{XCRYPT_VERSION_MAJOR} = $2;
- $substs{XCRYPT_VERSION_MINOR} = $3;
- }
+
+ if ($_ eq '#define HAVE_SYS_CDEFS_H 1') {
+ $have_sys_cdefs_h = 1;
+ }
+ elsif ($_ eq '#define HAVE_SYS_CDEFS_BEGIN_END_DECLS 1') {
+ $have_sys_cdefs_begin_end_decls = 1;
+ }
+ elsif ($_ eq '#define HAVE_SYS_CDEFS_THROW 1') {
+ $have_sys_cdefs_throw = 1;
+ }
+ elsif (/^#define PACKAGE_VERSION "((\d+)\.(\d+)\.\d+)"$/) {
+ $substs{XCRYPT_VERSION_STR} = $1;
+ $substs{XCRYPT_VERSION_MAJOR} = $2;
+ $substs{XCRYPT_VERSION_MINOR} = $3;
}
}

View File

@@ -11,18 +11,15 @@ inherit autotools pkgconfig
SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH};protocol=https"
SRCREV = "d7fe1ac04c326dba7e0440868889d1dccb41a175"
SRCBRANCH ?= "develop"
SRCBRANCH ?= "master"
SRC_URI += "file://fix_cflags_handling.patch"
SRC_URI += "file://fix_cflags_handling.patch \
file://0001-Make-BuildCommon.pm-compatible-with-latest-perl.patch \
file://0002-Remove-smartmatch-usage-from-gen-crypt-h.patch \
"
PROVIDES = "virtual/crypt"
FILES:${PN} = "${libdir}/libcrypt*.so.* \
${libdir}/libcrypt-*.so \
${libdir}/libowcrypt*.so.* \
${libdir}/libowcrypt-*.so \
"
S = "${WORKDIR}/git"
BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"

View File

@@ -17,6 +17,10 @@ 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
@@ -119,34 +123,28 @@ def nvd_request_next(url, api_key, args):
import urllib.parse
import gzip
import http
import time
headers = {}
request = urllib.request.Request(url + "?" + urllib.parse.urlencode(args))
if api_key:
headers['apiKey'] = api_key
request.add_header("apiKey", api_key)
bb.note("Requesting %s" % request.full_url)
data = urllib.parse.urlencode(args)
full_request = url + '?' + data
for attempt in range(3):
for attempt in range(5):
try:
r = urllib.request.urlopen(full_request)
r = urllib.request.urlopen(request)
if (r.headers['content-encoding'] == 'gzip'):
buf = r.read()
raw_data = gzip.decompress(buf)
raw_data = gzip.decompress(buf).decode("utf-8")
else:
raw_data = r.read().decode("utf-8")
r.close()
except UnicodeDecodeError:
# Received garbage, retry
bb.debug(2, "CVE database: received malformed data, retrying (request: %s)" %(full_request))
pass
except http.client.IncompleteRead:
# Read incomplete, let's try again
bb.debug(2, "CVE database: received incomplete data, retrying (request: %s)" %(full_request))
except Exception as e:
bb.note("CVE database: received error (%s), retrying" % (e))
time.sleep(6)
pass
else:
return raw_data
@@ -172,11 +170,11 @@ def update_db_file(db_tmp_file, d, database_time):
# 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.combine(datetime.date.fromtimestamp(database_time), datetime.time())
today_date = datetime.datetime.combine(datetime.date.today(), datetime.time())
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.debug(2, "CVE database: performing partial update")
bb.note("CVE database: performing partial update")
req_args['lastModStartDate'] = database_date.isoformat()
req_args['lastModEndDate'] = today_date.isoformat()
else:
@@ -184,12 +182,14 @@ def update_db_file(db_tmp_file, d, database_time):
with bb.progress.ProgressHandler(d) as ph, open(os.path.join(d.getVar("TMPDIR"), 'cve_check'), 'a') as cve_f:
bb.debug(2, "Updating entries")
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, None, req_args)
raw_data = nvd_request_next(url, api_key, req_args)
if raw_data is None:
# We haven't managed to download data
return False
@@ -199,7 +199,7 @@ def update_db_file(db_tmp_file, d, database_time):
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)
@@ -312,22 +312,30 @@ def update_db(conn, elt):
cvssv2 = elt['cve']['metrics']['cvssMetricV2'][0]['cvssData']['baseScore']
except KeyError:
cvssv2 = 0.0
cvssv3 = None
try:
accessVector = accessVector or elt['impact']['baseMetricV3']['cvssV3']['attackVector']
cvssv3 = elt['impact']['baseMetricV3']['cvssV3']['baseScore']
accessVector = accessVector or elt['cve']['metrics']['cvssMetricV30'][0]['cvssData']['attackVector']
cvssv3 = elt['cve']['metrics']['cvssMetricV30'][0]['cvssData']['baseScore']
except KeyError:
accessVector = accessVector or "UNKNOWN"
cvssv3 = 0.0
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:
configurations = elt['cve']['configurations'][0]['nodes']
for config in configurations:
parse_node_and_insert(conn, config, cveId)
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.debug(2, "Entry without a configuration")
bb.note("CVE %s has no configurations" % cveId)
do_fetch[nostamp] = "1"

View File

@@ -6,7 +6,7 @@ DEPENDS = "\
parted-native gptfdisk-native dosfstools-native \
mtools-native bmap-tools-native grub-native cdrtools-native \
btrfs-tools-native squashfs-tools-native pseudo-native \
e2fsprogs-native util-linux-native tar-native \
e2fsprogs-native util-linux-native tar-native erofs-utils-native \
virtual/${TARGET_PREFIX}binutils \
"
DEPENDS:append:x86 = " syslinux-native syslinux grub-efi systemd-boot"

View File

@@ -10,18 +10,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3d06403ea54c7574a9e581c6478cc393 \
file://lib/LGPL;md5=b75d069791103ffe1c0d6435deeff72e"
PR = "r5"
SRC_URI = "${SOURCEFORGE_MIRROR}/linux-diag/sysfsutils-${PV}.tar.gz \
SRC_URI = "git://github.com/linux-ras/sysfsutils.git;protocol=https;branch=master \
file://sysfsutils-2.0.0-class-dup.patch \
file://obsolete_automake_macros.patch \
file://separatebuild.patch"
SRC_URI[md5sum] = "14e7dcd0436d2f49aa403f67e1ef7ddc"
SRC_URI[sha256sum] = "e865de2c1f559fff0d3fc936e660c0efaf7afe662064f2fb97ccad1ec28d208a"
SRCREV = "0d5456e1c9d969cdad6accef2ae2d4881d5db085"
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/linux-diag/files/sysfsutils/"
UPSTREAM_CHECK_REGEX = "/sysfsutils/(?P<pver>(\d+[\.\-_]*)+)/"
S = "${WORKDIR}/sysfsutils-${PV}"
S = "${WORKDIR}/git"
inherit autotools

View File

@@ -191,7 +191,7 @@ class SystemdUnit():
try:
for dependent in config.get('Install', prop):
# expand any %i to instance (ignoring escape sequence %%)
dependent = re.sub("([^%](%%)*)%i", "\\1{}".format(instance), dependent)
dependent = re.sub("([^%](%%)*)%i", "\\g<1>{}".format(instance), dependent)
wants = systemdir / "{}.{}".format(dependent, dirstem) / service
add_link(wants, target)

View File

@@ -0,0 +1,216 @@
From e34fb1a4568bd080032065bb1506ab9b6c6606f1 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Thu, 17 Mar 2022 13:46:12 +0100
Subject: [PATCH] nspawn: make sure host root can write to the uidmapped mounts
we prepare for the container payload
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When using user namespaces in conjunction with uidmapped mounts, nspawn
so far set up two uidmappings:
1. One that is used for the uidmapped mount and that maps the UID range
0…65535 on the backing fs to some high UID range X…X+65535 on the
uidmapped fs. (Let's call this mapping the "mount mapping")
2. One that is used for the userns namespace the container payload
processes run in, that maps X…X+65535 back to 0…65535. (Let's call
this one the "process mapping").
These mappings hence are pretty much identical, one just moves things up
and one back down. (Reminder: we do all this so that the processes can
run under high UIDs while running off file systems that require no
recursive chown()ing, i.e. we want processes with high UID range but
files with low UID range.)
This creates one problem, i.e. issue #20989: if nspawn (which runs as
host root, i.e. host UID 0) wants to add inodes to the uidmapped mount
it can't do that, since host UID 0 is not defined in the mount mapping
(only the X…X+65536 range is, after all, and X > 0), and processes whose
UID is not mapped in a uidmapped fs cannot create inodes in it since
those would be owned by an unmapped UID, which then triggers
the famous EOVERFLOW error.
Let's fix this, by explicitly including an entry for the host UID 0 in
the mount mapping. Specifically, we'll extend the mount mapping to map
UID 2147483646 (which is INT32_MAX-1, see code for an explanation why I
picked this one) of the backing fs to UID 0 on the uidmapped fs. This
way nspawn can creates inode on the uidmapped as it likes (which will
then actually be owned by UID 2147483646 on the backing fs), and as it
always did. Note that we do *not* create a similar entry in the process
mapping. Thus any files created by nspawn that way (and not chown()ed to
something better) will appear as unmapped (i.e. as overflowuid/"nobody")
in the container payload. And that's good. Of course, the latter is
mostly theoretic, as nspawn should generally chown() the inodes it
creates to UID ranges that actually make sense for the container (and we
generally already do this correctly), but it#s good to know that we are
safe here, given we might accidentally forget to chown() some inodes we
create.
Net effect: the two mappings will not be identical anymore. The mount
mapping has one entry more, and the only reason it exists is so that
nspawn can access the uidmapped fs reasonably independently from any
process mapping.
Fixes: #20989
Upstream-Status: Backport [50ae2966d20b0b4a19def060de3b966b7a70b54a]
Signed-off-by: Marek Vasut <marex@denx.de>
---
src/basic/user-util.h | 13 +++++++++++++
src/nspawn/nspawn-mount.c | 2 +-
src/nspawn/nspawn.c | 2 +-
src/shared/dissect-image.c | 2 +-
src/shared/mount-util.c | 28 +++++++++++++++++++++++-----
src/shared/mount-util.h | 13 ++++++++++++-
6 files changed, 51 insertions(+), 9 deletions(-)
diff --git a/src/basic/user-util.h b/src/basic/user-util.h
index ab1ce48b2d..0b9749ef8b 100644
--- a/src/basic/user-util.h
+++ b/src/basic/user-util.h
@@ -59,6 +59,19 @@ int take_etc_passwd_lock(const char *root);
#define UID_NOBODY ((uid_t) 65534U)
#define GID_NOBODY ((gid_t) 65534U)
+/* If REMOUNT_IDMAP_HOST_ROOT is set for remount_idmap() we'll include a mapping here that maps the host root
+ * user accessing the idmapped mount to the this user ID on the backing fs. This is the last valid UID in the
+ * *signed* 32bit range. You might wonder why precisely use this specific UID for this purpose? Well, we
+ * definitely cannot use the first 0…65536 UIDs for that, since in most cases that's precisely the file range
+ * we intend to map to some high UID range, and since UID mappings have to be bijective we thus cannot use
+ * them at all. Furthermore the UID range beyond INT32_MAX (i.e. the range above the signed 32bit range) is
+ * icky, since many APIs cannot use it (example: setfsuid() returns the old UID as signed integer). Following
+ * our usual logic of assigning a 16bit UID range to each container, so that the upper 16bit of a 32bit UID
+ * value indicate kind of a "container ID" and the lower 16bit map directly to the intended user you can read
+ * this specific UID as the "nobody" user of the container with ID 0x7FFF, which is kinda nice. */
+#define UID_MAPPED_ROOT ((uid_t) (INT32_MAX-1))
+#define GID_MAPPED_ROOT ((gid_t) (INT32_MAX-1))
+
#define ETC_PASSWD_LOCK_PATH "/etc/.pwd.lock"
/* The following macros add 1 when converting things, since UID 0 is a valid UID, while the pointer
diff --git a/src/nspawn/nspawn-mount.c b/src/nspawn/nspawn-mount.c
index 40773d90c1..f2fad0f462 100644
--- a/src/nspawn/nspawn-mount.c
+++ b/src/nspawn/nspawn-mount.c
@@ -780,7 +780,7 @@ static int mount_bind(const char *dest, CustomMount *m, uid_t uid_shift, uid_t u
}
if (idmapped) {
- r = remount_idmap(where, uid_shift, uid_range);
+ r = remount_idmap(where, uid_shift, uid_range, REMOUNT_IDMAP_HOST_ROOT);
if (r < 0)
return log_error_errno(r, "Failed to map ids for bind mount %s: %m", where);
}
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
index 8f17ab8810..fe0af8e42d 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -3779,7 +3779,7 @@ static int outer_child(
IN_SET(arg_userns_ownership, USER_NAMESPACE_OWNERSHIP_MAP, USER_NAMESPACE_OWNERSHIP_AUTO) &&
arg_uid_shift != 0) {
- r = remount_idmap(directory, arg_uid_shift, arg_uid_range);
+ r = remount_idmap(directory, arg_uid_shift, arg_uid_range, REMOUNT_IDMAP_HOST_ROOT);
if (r == -EINVAL || ERRNO_IS_NOT_SUPPORTED(r)) {
/* This might fail because the kernel or file system doesn't support idmapping. We
* can't really distinguish this nicely, nor do we have any guarantees about the
diff --git a/src/shared/dissect-image.c b/src/shared/dissect-image.c
index 39a7f4c3f2..471c165257 100644
--- a/src/shared/dissect-image.c
+++ b/src/shared/dissect-image.c
@@ -1807,7 +1807,7 @@ static int mount_partition(
(void) fs_grow(node, p);
if (remap_uid_gid) {
- r = remount_idmap(p, uid_shift, uid_range);
+ r = remount_idmap(p, uid_shift, uid_range, REMOUNT_IDMAP_HOST_ROOT);
if (r < 0)
return r;
}
diff --git a/src/shared/mount-util.c b/src/shared/mount-util.c
index c75c02f5be..fb2e9a0711 100644
--- a/src/shared/mount-util.c
+++ b/src/shared/mount-util.c
@@ -1049,14 +1049,31 @@ int make_mount_point(const char *path) {
return 1;
}
-static int make_userns(uid_t uid_shift, uid_t uid_range) {
- char line[DECIMAL_STR_MAX(uid_t)*3+3+1];
+static int make_userns(uid_t uid_shift, uid_t uid_range, RemountIdmapFlags flags) {
_cleanup_close_ int userns_fd = -1;
+ _cleanup_free_ char *line = NULL;
/* Allocates a userns file descriptor with the mapping we need. For this we'll fork off a child
* process whose only purpose is to give us a new user namespace. It's killed when we got it. */
- xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, uid_shift, uid_range);
+ if (asprintf(&line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, uid_shift, uid_range) < 0)
+ return log_oom_debug();
+
+ /* If requested we'll include an entry in the mapping so that the host root user can make changes to
+ * the uidmapped mount like it normally would. Specifically, we'll map the user with UID_HOST_ROOT on
+ * the backing fs to UID 0. This is useful, since nspawn code wants to create various missing inodes
+ * in the OS tree before booting into it, and this becomes very easy and straightforward to do if it
+ * can just do it under its own regular UID. Note that in that case the container's runtime uidmap
+ * (i.e. the one the container payload processes run in) will leave this UID unmapped, i.e. if we
+ * accidentally leave files owned by host root in the already uidmapped tree around they'll show up
+ * as owned by 'nobody', which is safe. (Of course, we shouldn't leave such inodes around, but always
+ * chown() them to the container's own UID range, but it's good to have a safety net, in case we
+ * forget it.) */
+ if (flags & REMOUNT_IDMAP_HOST_ROOT)
+ if (strextendf(&line,
+ UID_FMT " " UID_FMT " " UID_FMT "\n",
+ UID_MAPPED_ROOT, 0, 1) < 0)
+ return log_oom_debug();
/* We always assign the same UID and GID ranges */
userns_fd = userns_acquire(line, line);
@@ -1069,7 +1086,8 @@ static int make_userns(uid_t uid_shift, uid_t uid_range) {
int remount_idmap(
const char *p,
uid_t uid_shift,
- uid_t uid_range) {
+ uid_t uid_range,
+ RemountIdmapFlags flags) {
_cleanup_close_ int mount_fd = -1, userns_fd = -1;
int r;
@@ -1085,7 +1103,7 @@ int remount_idmap(
return log_debug_errno(errno, "Failed to open tree of mounted filesystem '%s': %m", p);
/* Create a user namespace mapping */
- userns_fd = make_userns(uid_shift, uid_range);
+ userns_fd = make_userns(uid_shift, uid_range, flags);
if (userns_fd < 0)
return userns_fd;
diff --git a/src/shared/mount-util.h b/src/shared/mount-util.h
index ce73aebd4b..f53a64186f 100644
--- a/src/shared/mount-util.h
+++ b/src/shared/mount-util.h
@@ -112,7 +112,18 @@ int mount_image_in_namespace(pid_t target, const char *propagate_path, const cha
int make_mount_point(const char *path);
-int remount_idmap(const char *p, uid_t uid_shift, uid_t uid_range);
+typedef enum RemountIdmapFlags {
+ /* Include a mapping from UID_MAPPED_ROOT (i.e. UID 2^31-2) on the backing fs to UID 0 on the
+ * uidmapped fs. This is useful to ensure that the host root user can safely add inodes to the
+ * uidmapped fs (which otherwise wouldn't work as the host root user is not defined on the uidmapped
+ * mount and any attempts to create inodes will then be refused with EOVERFLOW). The idea is that
+ * these inodes are quickly re-chown()ed to more suitable UIDs/GIDs. Any code that intends to be able
+ * to add inodes to file systems mapped this way should set this flag, but given it comes with
+ * certain security implications defaults to off, and requires explicit opt-in. */
+ REMOUNT_IDMAP_HOST_ROOT = 1 << 0,
+} RemountIdmapFlags;
+
+int remount_idmap(const char *p, uid_t uid_shift, uid_t uid_range, RemountIdmapFlags flags);
/* Creates a mount point (not parents) based on the source path or stat - ie, a file or a directory */
int make_mount_point_inode_from_stat(const struct stat *st, const char *dest, mode_t mode);
--
2.40.1

View File

@@ -31,6 +31,7 @@ SRC_URI += "file://touchscreen.rules \
file://CVE-2022-4415-1.patch \
file://CVE-2022-4415-2.patch \
file://0001-network-remove-only-managed-configs-on-reconfigure-o.patch \
file://0001-nspawn-make-sure-host-root-can-write-to-the-uidmappe.patch \
"
# patches needed by musl

View File

@@ -233,6 +233,8 @@ ALTERNATIVE_TARGET[getty] = "${base_sbindir}/agetty"
ALTERNATIVE_LINK_NAME[hexdump] = "${bindir}/hexdump"
ALTERNATIVE_LINK_NAME[hwclock] = "${base_sbindir}/hwclock"
ALTERNATIVE_LINK_NAME[ionice] = "${bindir}/ionice"
ALTERNATIVE_LINK_NAME[ipcrm] = "${bindir}/ipcrm"
ALTERNATIVE_LINK_NAME[ipcs] = "${bindir}/ipcs"
ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill"
ALTERNATIVE:${PN}-last = "last lastb"
ALTERNATIVE_LINK_NAME[last] = "${bindir}/last"

View File

@@ -11,10 +11,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_CURRENT_LIST_FILE}.d/*.cmake" )

View File

@@ -0,0 +1,237 @@
From d8cfbc808f387e87091c25e7d5b8c2bb348bb206 Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Tue, 27 Jun 2023 09:40:23 +0000
Subject: [PATCH] dmidecode: Write the whole dump file at once
When option --dump-bin is used, write the whole dump file at once,
instead of opening and closing the file separately for the table
and then for the entry point.
As the file writing function is no longer generic, it gets moved
from util.c to dmidecode.c.
One minor functional change resulting from the new implementation is
that the entry point is written first now, so the messages printed
are swapped.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Jerry Hoemann <jerry.hoemann@hpe.com>
CVE: CVE-2023-30630
Reference: https://github.com/mirror/dmidecode/commit/39b2dd7b6ab719b920e96ed832cfb4bdd664e808
Upstream-Status: Backport [https://github.com/mirror/dmidecode/commit/d8cfbc808f387e87091c25e7d5b8c2bb348bb206]
Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
---
dmidecode.c | 79 +++++++++++++++++++++++++++++++++++++++--------------
util.c | 40 ---------------------------
util.h | 1 -
3 files changed, 58 insertions(+), 62 deletions(-)
diff --git a/dmidecode.c b/dmidecode.c
index 9aeff91..5477309 100644
--- a/dmidecode.c
+++ b/dmidecode.c
@@ -5427,11 +5427,56 @@ static void dmi_table_string(const struct dmi_header *h, const u8 *data, u16 ver
}
}
-static void dmi_table_dump(const u8 *buf, u32 len)
+static int dmi_table_dump(const u8 *ep, u32 ep_len, const u8 *table,
+ u32 table_len)
{
+ FILE *f;
+
+ f = fopen(opt.dumpfile, "wb");
+ if (!f)
+ {
+ fprintf(stderr, "%s: ", opt.dumpfile);
+ perror("fopen");
+ return -1;
+ }
+
+ if (!(opt.flags & FLAG_QUIET))
+ pr_comment("Writing %d bytes to %s.", ep_len, opt.dumpfile);
+ if (fwrite(ep, ep_len, 1, f) != 1)
+ {
+ fprintf(stderr, "%s: ", opt.dumpfile);
+ perror("fwrite");
+ goto err_close;
+ }
+
+ if (fseek(f, 32, SEEK_SET) != 0)
+ {
+ fprintf(stderr, "%s: ", opt.dumpfile);
+ perror("fseek");
+ goto err_close;
+ }
+
if (!(opt.flags & FLAG_QUIET))
- pr_comment("Writing %d bytes to %s.", len, opt.dumpfile);
- write_dump(32, len, buf, opt.dumpfile, 0);
+ pr_comment("Writing %d bytes to %s.", table_len, opt.dumpfile);
+ if (fwrite(table, table_len, 1, f) != 1)
+ {
+ fprintf(stderr, "%s: ", opt.dumpfile);
+ perror("fwrite");
+ goto err_close;
+ }
+
+ if (fclose(f))
+ {
+ fprintf(stderr, "%s: ", opt.dumpfile);
+ perror("fclose");
+ return -1;
+ }
+
+ return 0;
+
+err_close:
+ fclose(f);
+ return -1;
}
static void dmi_table_decode(u8 *buf, u32 len, u16 num, u16 ver, u32 flags)
@@ -5648,11 +5693,6 @@ static void dmi_table(off_t base, u32 len, u16 num, u32 ver, const char *devmem,
return;
}
- if (opt.flags & FLAG_DUMP_BIN)
- dmi_table_dump(buf, len);
- else
- dmi_table_decode(buf, len, num, ver >> 8, flags);
-
free(buf);
}
@@ -5688,8 +5728,9 @@ static void overwrite_smbios3_address(u8 *buf)
static int smbios3_decode(u8 *buf, const char *devmem, u32 flags)
{
- u32 ver;
+ u32 ver, len;
u64 offset;
+ u8 *table;
/* Don't let checksum run beyond the buffer */
if (buf[0x06] > 0x20)
@@ -5725,10 +5766,7 @@ static int smbios3_decode(u8 *buf, const char *devmem, u32 flags)
memcpy(crafted, buf, 32);
overwrite_smbios3_address(crafted);
- if (!(opt.flags & FLAG_QUIET))
- pr_comment("Writing %d bytes to %s.", crafted[0x06],
- opt.dumpfile);
- write_dump(0, crafted[0x06], crafted, opt.dumpfile, 1);
+ dmi_table_dump(crafted, crafted[0x06], table, len);
}
return 1;
@@ -5737,6 +5775,8 @@ static int smbios3_decode(u8 *buf, const char *devmem, u32 flags)
static int smbios_decode(u8 *buf, const char *devmem, u32 flags)
{
u16 ver;
+ u32 len;
+ u8 *table;
/* Don't let checksum run beyond the buffer */
if (buf[0x05] > 0x20)
@@ -5786,10 +5826,7 @@ static int smbios_decode(u8 *buf, const char *devmem, u32 flags)
memcpy(crafted, buf, 32);
overwrite_dmi_address(crafted + 0x10);
- if (!(opt.flags & FLAG_QUIET))
- pr_comment("Writing %d bytes to %s.", crafted[0x05],
- opt.dumpfile);
- write_dump(0, crafted[0x05], crafted, opt.dumpfile, 1);
+ dmi_table_dump(crafted, crafted[0x05], table, len);
}
return 1;
@@ -5797,6 +5834,9 @@ static int smbios_decode(u8 *buf, const char *devmem, u32 flags)
static int legacy_decode(u8 *buf, const char *devmem, u32 flags)
{
+ u32 len;
+ u8 *table;
+
if (!checksum(buf, 0x0F))
return 0;
@@ -5815,10 +5855,7 @@ static int legacy_decode(u8 *buf, const char *devmem, u32 flags)
memcpy(crafted, buf, 16);
overwrite_dmi_address(crafted);
- if (!(opt.flags & FLAG_QUIET))
- pr_comment("Writing %d bytes to %s.", 0x0F,
- opt.dumpfile);
- write_dump(0, 0x0F, crafted, opt.dumpfile, 1);
+ dmi_table_dump(crafted, 0x0F, table, len);
}
return 1;
diff --git a/util.c b/util.c
index 04aaadd..1547096 100644
--- a/util.c
+++ b/util.c
@@ -259,46 +259,6 @@ out:
return p;
}
-int write_dump(size_t base, size_t len, const void *data, const char *dumpfile, int add)
-{
- FILE *f;
-
- f = fopen(dumpfile, add ? "r+b" : "wb");
- if (!f)
- {
- fprintf(stderr, "%s: ", dumpfile);
- perror("fopen");
- return -1;
- }
-
- if (fseek(f, base, SEEK_SET) != 0)
- {
- fprintf(stderr, "%s: ", dumpfile);
- perror("fseek");
- goto err_close;
- }
-
- if (fwrite(data, len, 1, f) != 1)
- {
- fprintf(stderr, "%s: ", dumpfile);
- perror("fwrite");
- goto err_close;
- }
-
- if (fclose(f))
- {
- fprintf(stderr, "%s: ", dumpfile);
- perror("fclose");
- return -1;
- }
-
- return 0;
-
-err_close:
- fclose(f);
- return -1;
-}
-
/* Returns end - start + 1, assuming start < end */
u64 u64_range(u64 start, u64 end)
{
diff --git a/util.h b/util.h
index 3094cf8..ef24eb9 100644
--- a/util.h
+++ b/util.h
@@ -27,5 +27,4 @@
int checksum(const u8 *buf, size_t len);
void *read_file(off_t base, size_t *len, const char *filename);
void *mem_chunk(off_t base, size_t len, const char *devmem);
-int write_dump(size_t base, size_t len, const void *data, const char *dumpfile, int add);
u64 u64_range(u64 start, u64 end);
--
2.35.5

View File

@@ -0,0 +1,80 @@
From 47101389dd52b50123a3ec59fed4d2021752e489 Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Tue, 27 Jun 2023 10:03:53 +0000
Subject: [PATCH] dmidecode: Do not let --dump-bin overwrite an existing file
Make sure that the file passed to option --dump-bin does not already
exist. In practice, it is rather unlikely that an honest user would
want to overwrite an existing dump file, while this possibility
could be used by a rogue user to corrupt a system file.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Jerry Hoemann <jerry.hoemann@hpe.com>
CVE: CVE-2023-30630
Upstream-Status: Backport
[https://github.com/mirror/dmidecode/commit/6ca381c1247c81f74e1ca4e7706f70bdda72e6f2]
Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
---
dmidecode.c | 14 ++++++++++++--
man/dmidecode.8 | 3 ++-
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/dmidecode.c b/dmidecode.c
index ae461de..6446040 100644
--- a/dmidecode.c
+++ b/dmidecode.c
@@ -60,6 +60,7 @@
* https://www.dmtf.org/sites/default/files/DSP0270_1.0.1.pdf
*/
+#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <strings.h>
@@ -5133,13 +5134,22 @@ static void dmi_table_string(const struct dmi_header *h, const u8 *data, u16 ver
static int dmi_table_dump(const u8 *ep, u32 ep_len, const u8 *table,
u32 table_len)
{
+ int fd;
FILE *f;
- f = fopen(opt.dumpfile, "wb");
+ fd = open(opt.dumpfile, O_WRONLY|O_CREAT|O_EXCL, 0666);
+ if (fd == -1)
+ {
+ fprintf(stderr, "%s: ", opt.dumpfile);
+ perror("open");
+ return -1;
+ }
+
+ f = fdopen(fd, "wb");
if (!f)
{
fprintf(stderr, "%s: ", opt.dumpfile);
- perror("fopen");
+ perror("fdopen");
return -1;
}
diff --git a/man/dmidecode.8 b/man/dmidecode.8
index 64dc7e7..d5b7f01 100644
--- a/man/dmidecode.8
+++ b/man/dmidecode.8
@@ -1,4 +1,4 @@
-.TH DMIDECODE 8 "January 2019" "dmidecode"
+.TH DMIDECODE 8 "February 2023" "dmidecode"
.\"
.SH NAME
dmidecode \- \s-1DMI\s0 table decoder
@@ -132,6 +132,7 @@ hexadecimal and \s-1ASCII\s0. This option is mainly useful for debugging.
Do not decode the entries, instead dump the DMI data to a file in binary
form. The generated file is suitable to pass to \fB--from-dump\fR
later.
+\fIFILE\fP must not exist.
.TP
.BR " " " " "--from-dump FILE"
Read the DMI data from a binary file previously generated using

View File

@@ -0,0 +1,69 @@
From c76ddda0ba0aa99a55945e3290095c2ec493c892 Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Tue, 27 Jun 2023 10:25:50 +0000
Subject: [PATCH] Consistently use read_file() when reading from a dump file
Use read_file() instead of mem_chunk() to read the entry point from a
dump file. This is faster, and consistent with how we then read the
actual DMI table from that dump file.
This made no functional difference so far, which is why it went
unnoticed for years. But now that a file type check was added to the
mem_chunk() function, we must stop using it to read from regular
files.
This will again allow root to use the --from-dump option.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Tested-by: Jerry Hoemann <jerry.hoemann@hpe.com>
CVE: CVE-2023-30630
Upstream-Status: Backport [https://git.savannah.nongnu.org/cgit/dmidecode.git/commit/?id=c76ddda0ba0aa99a55945e3290095c2ec493c892]
Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
---
dmidecode.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/dmidecode.c b/dmidecode.c
index 98f9692..b4dbc9d 100644
--- a/dmidecode.c
+++ b/dmidecode.c
@@ -5997,17 +5997,25 @@ int main(int argc, char * const argv[])
pr_comment("dmidecode %s", VERSION);
/* Read from dump if so instructed */
+ size = 0x20;
if (opt.flags & FLAG_FROM_DUMP)
{
if (!(opt.flags & FLAG_QUIET))
pr_info("Reading SMBIOS/DMI data from file %s.",
opt.dumpfile);
- if ((buf = mem_chunk(0, 0x20, opt.dumpfile)) == NULL)
+ if ((buf = read_file(0, &size, opt.dumpfile)) == NULL)
{
ret = 1;
goto exit_free;
}
+ /* Truncated entry point can't be processed */
+ if (size < 0x20)
+ {
+ ret = 1;
+ goto done;
+ }
+
if (memcmp(buf, "_SM3_", 5) == 0)
{
if (smbios3_decode(buf, opt.dumpfile, 0))
@@ -6031,7 +6039,6 @@ int main(int argc, char * const argv[])
* contain one of several types of entry points, so read enough for
* the largest one, then determine what type it contains.
*/
- size = 0x20;
if (!(opt.flags & FLAG_NO_SYSFS)
&& (buf = read_file(0, &size, SYS_ENTRY_FILE)) != NULL)
{
--
2.40.0

View File

@@ -0,0 +1,137 @@
From 2b83c4b898f8325313162f588765411e8e3e5561 Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Tue, 27 Jun 2023 10:58:11 +0000
Subject: [PATCH] Don't read beyond sysfs entry point buffer
Functions smbios_decode() and smbios3_decode() include a check
against buffer overrun. This check assumes that the buffer length is
always 32 bytes. This is true when reading from /dev/mem or from a
dump file, however when reading from sysfs, the buffer length is the
size of the actual sysfs attribute file, typically 31 bytes for an
SMBIOS 2.x entry point and 24 bytes for an SMBIOS 3.x entry point.
In the unlikely event of a malformed entry point, with encoded length
larger than expected but smaller than or equal to 32, we would hit a
buffer overrun. So properly pass the actual buffer length as an
argument and perform the check against it.
In practice, this will never happen, because on the Linux kernel
side, the size of the sysfs attribute file is decided from the entry
point length field. So it is technically impossible for them not to
match. But user-space code should not make such assumptions.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
CVE: CVE-2023-30630
Upstream-Status: Backport
[https://git.savannah.nongnu.org/cgit/dmidecode.git/commit/?id=2b83c4b898f8325313162f588765411e8e3e5561]
Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
---
dmidecode.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/dmidecode.c b/dmidecode.c
index b4dbc9d..870d94e 100644
--- a/dmidecode.c
+++ b/dmidecode.c
@@ -5736,14 +5736,14 @@ static void overwrite_smbios3_address(u8 *buf)
buf[0x17] = 0;
}
-static int smbios3_decode(u8 *buf, const char *devmem, u32 flags)
+static int smbios3_decode(u8 *buf, size_t buf_len, const char *devmem, u32 flags)
{
u32 ver, len;
u64 offset;
u8 *table;
/* Don't let checksum run beyond the buffer */
- if (buf[0x06] > 0x20)
+ if (buf[0x06] > buf_len)
{
fprintf(stderr,
"Entry point length too large (%u bytes, expected %u).\n",
@@ -5782,14 +5782,14 @@ static int smbios3_decode(u8 *buf, const char *devmem, u32 flags)
return 1;
}
-static int smbios_decode(u8 *buf, const char *devmem, u32 flags)
+static int smbios_decode(u8 *buf, size_t buf_len, const char *devmem, u32 flags)
{
u16 ver;
u32 len;
u8 *table;
/* Don't let checksum run beyond the buffer */
- if (buf[0x05] > 0x20)
+ if (buf[0x05] > buf_len)
{
fprintf(stderr,
"Entry point length too large (%u bytes, expected %u).\n",
@@ -6018,12 +6018,12 @@ int main(int argc, char * const argv[])
if (memcmp(buf, "_SM3_", 5) == 0)
{
- if (smbios3_decode(buf, opt.dumpfile, 0))
+ if (smbios3_decode(buf, size, opt.dumpfile, 0))
found++;
}
else if (memcmp(buf, "_SM_", 4) == 0)
{
- if (smbios_decode(buf, opt.dumpfile, 0))
+ if (smbios_decode(buf, size, opt.dumpfile, 0))
found++;
}
else if (memcmp(buf, "_DMI_", 5) == 0)
@@ -6046,12 +6046,12 @@ int main(int argc, char * const argv[])
pr_info("Getting SMBIOS data from sysfs.");
if (size >= 24 && memcmp(buf, "_SM3_", 5) == 0)
{
- if (smbios3_decode(buf, SYS_TABLE_FILE, FLAG_NO_FILE_OFFSET))
+ if (smbios3_decode(buf, size, SYS_TABLE_FILE, FLAG_NO_FILE_OFFSET))
found++;
}
else if (size >= 31 && memcmp(buf, "_SM_", 4) == 0)
{
- if (smbios_decode(buf, SYS_TABLE_FILE, FLAG_NO_FILE_OFFSET))
+ if (smbios_decode(buf, size, SYS_TABLE_FILE, FLAG_NO_FILE_OFFSET))
found++;
}
else if (size >= 15 && memcmp(buf, "_DMI_", 5) == 0)
@@ -6088,12 +6088,12 @@ int main(int argc, char * const argv[])
if (memcmp(buf, "_SM3_", 5) == 0)
{
- if (smbios3_decode(buf, opt.devmem, 0))
+ if (smbios3_decode(buf, 0x20, opt.devmem, 0))
found++;
}
else if (memcmp(buf, "_SM_", 4) == 0)
{
- if (smbios_decode(buf, opt.devmem, 0))
+ if (smbios_decode(buf, 0x20, opt.devmem, 0))
found++;
}
goto done;
@@ -6114,7 +6114,7 @@ memory_scan:
{
if (memcmp(buf + fp, "_SM3_", 5) == 0)
{
- if (smbios3_decode(buf + fp, opt.devmem, 0))
+ if (smbios3_decode(buf + fp, 0x20, opt.devmem, 0))
{
found++;
goto done;
@@ -6127,7 +6127,7 @@ memory_scan:
{
if (memcmp(buf + fp, "_SM_", 4) == 0 && fp <= 0xFFE0)
{
- if (smbios_decode(buf + fp, opt.devmem, 0))
+ if (smbios_decode(buf + fp, 0x20, opt.devmem, 0))
{
found++;
goto done;
--
2.35.5

View File

@@ -6,6 +6,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/dmidecode/${BP}.tar.xz \
file://0001-Committing-changes-from-do_unpack_extra.patch \
file://CVE-2023-30630_1.patch \
file://CVE-2023-30630_2.patch \
file://CVE-2023-30630_3.patch \
file://CVE-2023-30630_4.patch \
"
COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm|powerpc|powerpc64).*-linux"

View File

@@ -2,11 +2,11 @@ require gcc-common.inc
# Third digit in PV should be incremented after a minor release
PV = "11.3.0"
PV = "11.4.0"
# BINV should be incremented to a revision after a minor gcc release
BINV = "11.3.0"
BINV = "11.4.0"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:"
@@ -70,13 +70,13 @@ SRC_URI = "\
file://0004-arm-add-armv9-a-architecture-to-march.patch \
"
SRC_URI[sha256sum] = "b47cf2818691f5b1e21df2bb38c795fac2cfbd640ede2d0a5e1c89e338a3ac39"
SRC_URI[sha256sum] = "3f2db222b007e8a4a23cd5ba56726ef08e8b1f1eb2055ee72c1402cea73a8dd9"
S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
# For dev release snapshotting
#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/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

@@ -40,7 +40,6 @@ EXTRA_OECONF = "\
${@get_gcc_mips_plt_setting(bb, d)} \
${@get_gcc_ppc_plt_settings(bb, d)} \
${@get_gcc_multiarch_setting(bb, d)} \
--enable-standard-branch-protection \
"
# glibc version is a minimum controlling whether features are enabled.

View File

@@ -51,9 +51,10 @@ python check_prepare() {
# enable all valid instructions, since the test suite itself does not
# limit itself to the target cpu options.
# - valid for x86*, powerpc, arm, arm64
if qemu_binary.lstrip("qemu-") in ["x86_64", "i386", "ppc", "arm", "aarch64"]:
if qemu_binary.lstrip("qemu-") in ["x86_64", "i386", "arm", "aarch64"]:
args += ["-cpu", "max"]
elif qemu_binary.lstrip("qemu-") in ["ppc"]:
args += d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH')).split()
sysroot = d.getVar("RECIPE_SYSROOT")
args += ["-L", sysroot]
# lib paths are static here instead of using $libdir since this is used by a -cross recipe

View File

@@ -19,24 +19,20 @@ diff --git a/gcc/config/aarch64/aarch64-cores.def b/gcc/config/aarch64/aarch64-c
index 4643e0e27..3478e567a 100644
--- a/gcc/config/aarch64/aarch64-cores.def
+++ b/gcc/config/aarch64/aarch64-cores.def
@@ -145,9 +145,6 @@ AARCH64_CORE("neoverse-512tvb", neoverse512tvb, cortexa57, 8_4A, AARCH64_FL_FOR
/* Qualcomm ('Q') cores. */
AARCH64_CORE("saphira", saphira, saphira, 8_4A, AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_CRYPTO | AARCH64_FL_RCPC, saphira, 0x51, 0xC01, -1)
-/* Armv8.5-A Architecture Processors. */
@@ -147,7 +147,6 @@
AARCH64_CORE("saphira", saphira, saphira, 8_4A, AARCH64_FL_FOR_ARCH8_4 | AARCH64_FL_CRYPTO, saphira, 0x51, 0xC01, -1)
/* Armv8.5-A Architecture Processors. */
-AARCH64_CORE("neoverse-n2", neoversen2, cortexa57, 8_5A, AARCH64_FL_FOR_ARCH8_5 | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_F16 | AARCH64_FL_SVE | AARCH64_FL_SVE2 | AARCH64_FL_SVE2_BITPERM | AARCH64_FL_RNG | AARCH64_FL_MEMTAG, neoversen2, 0x41, 0xd49, -1)
-
AARCH64_CORE("neoverse-v2", neoversev2, cortexa57, 8_5A, AARCH64_FL_FOR_ARCH8_5 | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_F16 | AARCH64_FL_SVE | AARCH64_FL_SVE2 | AARCH64_FL_SVE2_BITPERM | AARCH64_FL_RNG | AARCH64_FL_MEMTAG, neoverse512tvb, 0x41, 0xd4f, -1)
/* ARMv8-A big.LITTLE implementations. */
AARCH64_CORE("cortex-a57.cortex-a53", cortexa57cortexa53, cortexa53, 8A, AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC, cortexa57, 0x41, AARCH64_BIG_LITTLE (0xd07, 0xd03), -1)
@@ -163,4 +160,7 @@ AARCH64_CORE("cortex-a76.cortex-a55", cortexa76cortexa55, cortexa53, 8_2A, AAR
@@ -165,4 +164,7 @@
/* Armv8-R Architecture Processors. */
AARCH64_CORE("cortex-r82", cortexr82, cortexa53, 8R, AARCH64_FL_FOR_ARCH8_R, cortexa53, 0x41, 0xd15, -1)
+/* Armv9-A Architecture Processors. */
+AARCH64_CORE("neoverse-n2", neoversen2, cortexa57, 9A, AARCH64_FL_FOR_ARCH9 | AARCH64_FL_I8MM | AARCH64_FL_BF16 | AARCH64_FL_SVE2_BITPERM | AARCH64_FL_RNG | AARCH64_FL_MEMTAG | AARCH64_FL_PROFILE, neoversen2, 0x41, 0xd49, -1)
+
#undef AARCH64_CORE
--
2.32.0

View File

@@ -43,10 +43,10 @@ Signed-off-by: Ruiqiang Hao <Ruiqiang.Hao@windriver.com>
gcc/testsuite/lib/target-supports.exp | 3 ++-
9 files changed, 79 insertions(+), 8 deletions(-)
Index: gcc-11.3.0/gcc/config/arm/arm-cpus.in
Index: gcc/gcc/config/arm/arm-cpus.in
===================================================================
--- gcc-11.3.0.orig/gcc/config/arm/arm-cpus.in
+++ gcc-11.3.0/gcc/config/arm/arm-cpus.in
--- a/gcc/config/arm/arm-cpus.in
+++ b/gcc/config/arm/arm-cpus.in
@@ -132,6 +132,9 @@ define feature cmse
# Architecture rel 8.1-M.
define feature armv8_1m_main
@@ -87,10 +87,10 @@ Index: gcc-11.3.0/gcc/config/arm/arm-cpus.in
begin arch iwmmxt
tune for iwmmxt
tune flags LDSCHED STRONG XSCALE
Index: gcc-11.3.0/gcc/config/arm/arm-tables.opt
Index: gcc/gcc/config/arm/arm-tables.opt
===================================================================
--- gcc-11.3.0.orig/gcc/config/arm/arm-tables.opt
+++ gcc-11.3.0/gcc/config/arm/arm-tables.opt
--- a/gcc/config/arm/arm-tables.opt
+++ b/gcc/config/arm/arm-tables.opt
@@ -380,10 +380,13 @@ EnumValue
Enum(arm_arch) String(armv8.1-m.main) Value(30)
@@ -107,10 +107,10 @@ Index: gcc-11.3.0/gcc/config/arm/arm-tables.opt
Enum
Name(arm_fpu) Type(enum fpu_type)
Index: gcc-11.3.0/gcc/config/arm/arm.h
Index: gcc/gcc/config/arm/arm.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/arm/arm.h
+++ gcc-11.3.0/gcc/config/arm/arm.h
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -456,7 +456,8 @@ enum base_architecture
BASE_ARCH_8A = 8,
BASE_ARCH_8M_BASE = 8,
@@ -121,10 +121,10 @@ Index: gcc-11.3.0/gcc/config/arm/arm.h
};
/* The major revision number of the ARM Architecture implemented by the target. */
Index: gcc-11.3.0/gcc/config/arm/t-aprofile
Index: gcc/gcc/config/arm/t-aprofile
===================================================================
--- gcc-11.3.0.orig/gcc/config/arm/t-aprofile
+++ gcc-11.3.0/gcc/config/arm/t-aprofile
--- a/gcc/config/arm/t-aprofile
+++ b/gcc/config/arm/t-aprofile
@@ -26,8 +26,8 @@
# Arch and FPU variants to build libraries with
@@ -180,10 +180,10 @@ Index: gcc-11.3.0/gcc/config/arm/t-aprofile
- $(foreach ARCH, armv7-a armv8-a, \
+ $(foreach ARCH, armv7-a armv8-a armv9-a, \
mthumb/march.$(ARCH)/mfloat-abi.soft=m$(MODE)/march.$(ARCH)/mfloat-abi.softfp))
Index: gcc-11.3.0/gcc/config/arm/t-arm-elf
Index: gcc/gcc/config/arm/t-arm-elf
===================================================================
--- gcc-11.3.0.orig/gcc/config/arm/t-arm-elf
+++ gcc-11.3.0/gcc/config/arm/t-arm-elf
--- a/gcc/config/arm/t-arm-elf
+++ b/gcc/config/arm/t-arm-elf
@@ -38,6 +38,8 @@ v7ve_fps := vfpv3-d16 vfpv3 vfpv3-d16-fp
# it seems to work ok.
v8_fps := simd fp16 crypto fp16+crypto dotprod fp16fml
@@ -214,10 +214,10 @@ Index: gcc-11.3.0/gcc/config/arm/t-arm-elf
MULTILIB_MATCHES += $(foreach ARCH, armv7e-m armv8-m.mainline, \
march?armv7+fp=march?$(ARCH)+fp.dp)
Index: gcc-11.3.0/gcc/config/arm/t-multilib
Index: gcc/gcc/config/arm/t-multilib
===================================================================
--- gcc-11.3.0.orig/gcc/config/arm/t-multilib
+++ gcc-11.3.0/gcc/config/arm/t-multilib
--- a/gcc/config/arm/t-multilib
+++ b/gcc/config/arm/t-multilib
@@ -78,6 +78,8 @@ v8_4_a_simd_variants := $(call all_feat_
v8_5_a_simd_variants := $(call all_feat_combs, simd fp16 crypto i8mm bf16)
v8_6_a_simd_variants := $(call all_feat_combs, simd fp16 crypto i8mm bf16)
@@ -244,10 +244,10 @@ Index: gcc-11.3.0/gcc/config/arm/t-multilib
endif # Not APROFILE.
# Use Thumb libraries for everything.
Index: gcc-11.3.0/gcc/doc/invoke.texi
Index: gcc/gcc/doc/invoke.texi
===================================================================
--- gcc-11.3.0.orig/gcc/doc/invoke.texi
+++ gcc-11.3.0/gcc/doc/invoke.texi
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -19701,6 +19701,7 @@ Permissible names are:
@samp{armv7-m}, @samp{armv7e-m},
@samp{armv8-m.base}, @samp{armv8-m.main},
@@ -256,10 +256,10 @@ Index: gcc-11.3.0/gcc/doc/invoke.texi
@samp{iwmmxt} and @samp{iwmmxt2}.
Additionally, the following architectures, which lack support for the
Index: gcc-11.3.0/gcc/testsuite/gcc.target/arm/multilib.exp
Index: gcc/gcc/testsuite/gcc.target/arm/multilib.exp
===================================================================
--- gcc-11.3.0.orig/gcc/testsuite/gcc.target/arm/multilib.exp
+++ gcc-11.3.0/gcc/testsuite/gcc.target/arm/multilib.exp
--- a/gcc/testsuite/gcc.target/arm/multilib.exp
+++ b/gcc/testsuite/gcc.target/arm/multilib.exp
@@ -135,6 +135,14 @@ if {[multilib_config "aprofile"] } {
{-march=armv8.6-a+simd+fp16 -mfloat-abi=softfp} "thumb/v8-a+simd/softfp"
{-march=armv8.6-a+simd+fp16+nofp -mfloat-abi=softfp} "thumb/v8-a/nofp"
@@ -275,10 +275,10 @@ Index: gcc-11.3.0/gcc/testsuite/gcc.target/arm/multilib.exp
{-mcpu=cortex-a53+crypto -mfloat-abi=hard} "thumb/v8-a+simd/hard"
{-mcpu=cortex-a53+nofp -mfloat-abi=softfp} "thumb/v8-a/nofp"
{-march=armv8-a+crc -mfloat-abi=hard -mfpu=vfp} "thumb/v8-a+simd/hard"
Index: gcc-11.3.0/gcc/testsuite/lib/target-supports.exp
Index: gcc/gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc-11.3.0.orig/gcc/testsuite/lib/target-supports.exp
+++ gcc-11.3.0/gcc/testsuite/lib/target-supports.exp
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -4820,7 +4820,8 @@ foreach { armfunc armflag armdefs } {
v8m_base "-march=armv8-m.base -mthumb -mfloat-abi=soft"
__ARM_ARCH_8M_BASE__

View File

@@ -39,10 +39,10 @@ Signed-off-by: Pavel Zhukov <pavel@zhukoff.net>
gcc/config/sparc/linux64.h | 4 ++--
17 files changed, 53 insertions(+), 58 deletions(-)
Index: gcc-11.3.0/gcc/config/aarch64/aarch64-linux.h
Index: gcc/gcc/config/aarch64/aarch64-linux.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/aarch64/aarch64-linux.h
+++ gcc-11.3.0/gcc/config/aarch64/aarch64-linux.h
--- a/gcc/config/aarch64/aarch64-linux.h
+++ b/gcc/config/aarch64/aarch64-linux.h
@@ -21,10 +21,10 @@
#ifndef GCC_AARCH64_LINUX_H
#define GCC_AARCH64_LINUX_H
@@ -56,10 +56,10 @@ Index: gcc-11.3.0/gcc/config/aarch64/aarch64-linux.h
#undef ASAN_CC1_SPEC
#define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
Index: gcc-11.3.0/gcc/config/alpha/linux-elf.h
Index: gcc/gcc/config/alpha/linux-elf.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/alpha/linux-elf.h
+++ gcc-11.3.0/gcc/config/alpha/linux-elf.h
--- a/gcc/config/alpha/linux-elf.h
+++ b/gcc/config/alpha/linux-elf.h
@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3.
#define EXTRA_SPECS \
{ "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
@@ -71,10 +71,10 @@ Index: gcc-11.3.0/gcc/config/alpha/linux-elf.h
#if DEFAULT_LIBC == LIBC_UCLIBC
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
#elif DEFAULT_LIBC == LIBC_GLIBC
Index: gcc-11.3.0/gcc/config/arm/linux-eabi.h
Index: gcc/gcc/config/arm/linux-eabi.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/arm/linux-eabi.h
+++ gcc-11.3.0/gcc/config/arm/linux-eabi.h
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -65,8 +65,8 @@
GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */
@@ -95,10 +95,10 @@ Index: gcc-11.3.0/gcc/config/arm/linux-eabi.h
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
use the GNU/Linux version, not the generic BPABI version. */
Index: gcc-11.3.0/gcc/config/arm/linux-elf.h
Index: gcc/gcc/config/arm/linux-elf.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/arm/linux-elf.h
+++ gcc-11.3.0/gcc/config/arm/linux-elf.h
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -60,7 +60,7 @@
#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
@@ -108,10 +108,10 @@ Index: gcc-11.3.0/gcc/config/arm/linux-elf.h
#define LINUX_TARGET_LINK_SPEC "%{h*} \
%{static:-Bstatic} \
Index: gcc-11.3.0/gcc/config/i386/linux.h
Index: gcc/gcc/config/i386/linux.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/i386/linux.h
+++ gcc-11.3.0/gcc/config/i386/linux.h
--- a/gcc/config/i386/linux.h
+++ b/gcc/config/i386/linux.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.
<http://www.gnu.org/licenses/>. */
@@ -122,10 +122,10 @@ Index: gcc-11.3.0/gcc/config/i386/linux.h
#undef MUSL_DYNAMIC_LINKER
-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-i386.so.1"
Index: gcc-11.3.0/gcc/config/i386/linux64.h
Index: gcc/gcc/config/i386/linux64.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/i386/linux64.h
+++ gcc-11.3.0/gcc/config/i386/linux64.h
--- a/gcc/config/i386/linux64.h
+++ b/gcc/config/i386/linux64.h
@@ -27,13 +27,13 @@ see the files COPYING3 and COPYING.RUNTI
#define GNU_USER_LINK_EMULATION64 "elf_x86_64"
#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
@@ -146,10 +146,10 @@ Index: gcc-11.3.0/gcc/config/i386/linux64.h
#undef MUSL_DYNAMIC_LINKERX32
-#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1"
+#define MUSL_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-musl-x32.so.1"
Index: gcc-11.3.0/gcc/config/linux.h
Index: gcc/gcc/config/linux.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/linux.h
+++ gcc-11.3.0/gcc/config/linux.h
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -94,10 +94,10 @@ see the files COPYING3 and COPYING.RUNTI
GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
@@ -165,10 +165,10 @@ Index: gcc-11.3.0/gcc/config/linux.h
#define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
#define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
#define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
Index: gcc-11.3.0/gcc/config/microblaze/linux.h
Index: gcc/gcc/config/microblaze/linux.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/microblaze/linux.h
+++ gcc-11.3.0/gcc/config/microblaze/linux.h
--- a/gcc/config/microblaze/linux.h
+++ b/gcc/config/microblaze/linux.h
@@ -28,7 +28,7 @@
#undef TLS_NEEDS_GOT
#define TLS_NEEDS_GOT 1
@@ -187,10 +187,10 @@ Index: gcc-11.3.0/gcc/config/microblaze/linux.h
#undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \
Index: gcc-11.3.0/gcc/config/mips/linux.h
Index: gcc/gcc/config/mips/linux.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/mips/linux.h
+++ gcc-11.3.0/gcc/config/mips/linux.h
--- a/gcc/config/mips/linux.h
+++ b/gcc/config/mips/linux.h
@@ -22,29 +22,29 @@ along with GCC; see the file COPYING3.
#define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
@@ -230,10 +230,10 @@ Index: gcc-11.3.0/gcc/config/mips/linux.h
#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
#define GNU_USER_DYNAMIC_LINKERN32 \
Index: gcc-11.3.0/gcc/config/nios2/linux.h
Index: gcc/gcc/config/nios2/linux.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/nios2/linux.h
+++ gcc-11.3.0/gcc/config/nios2/linux.h
--- a/gcc/config/nios2/linux.h
+++ b/gcc/config/nios2/linux.h
@@ -29,7 +29,7 @@
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
@@ -243,10 +243,10 @@ Index: gcc-11.3.0/gcc/config/nios2/linux.h
#undef LINK_SPEC
#define LINK_SPEC LINK_SPEC_ENDIAN \
Index: gcc-11.3.0/gcc/config/riscv/linux.h
Index: gcc/gcc/config/riscv/linux.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/riscv/linux.h
+++ gcc-11.3.0/gcc/config/riscv/linux.h
--- a/gcc/config/riscv/linux.h
+++ b/gcc/config/riscv/linux.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.
GNU_USER_TARGET_OS_CPP_BUILTINS(); \
} while (0)
@@ -265,10 +265,10 @@ Index: gcc-11.3.0/gcc/config/riscv/linux.h
/* Because RISC-V only has word-sized atomics, it requries libatomic where
others do not. So link libatomic by default, as needed. */
Index: gcc-11.3.0/gcc/config/rs6000/linux64.h
Index: gcc/gcc/config/rs6000/linux64.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/rs6000/linux64.h
+++ gcc-11.3.0/gcc/config/rs6000/linux64.h
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -336,24 +336,19 @@ extern int dot_symbols;
#undef LINK_OS_DEFAULT_SPEC
#define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
@@ -299,10 +299,10 @@ Index: gcc-11.3.0/gcc/config/rs6000/linux64.h
#undef DEFAULT_ASM_ENDIAN
#if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
Index: gcc-11.3.0/gcc/config/rs6000/sysv4.h
Index: gcc/gcc/config/rs6000/sysv4.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/rs6000/sysv4.h
+++ gcc-11.3.0/gcc/config/rs6000/sysv4.h
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -780,10 +780,10 @@ GNU_USER_TARGET_CC1_SPEC
#define MUSL_DYNAMIC_LINKER_E ENDIAN_SELECT("","le","")
@@ -316,10 +316,10 @@ Index: gcc-11.3.0/gcc/config/rs6000/sysv4.h
#ifndef GNU_USER_DYNAMIC_LINKER
#define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
Index: gcc-11.3.0/gcc/config/s390/linux.h
Index: gcc/gcc/config/s390/linux.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/s390/linux.h
+++ gcc-11.3.0/gcc/config/s390/linux.h
--- a/gcc/config/s390/linux.h
+++ b/gcc/config/s390/linux.h
@@ -72,13 +72,13 @@ along with GCC; see the file COPYING3.
#define MULTILIB_DEFAULTS { "m31" }
#endif
@@ -338,10 +338,10 @@ Index: gcc-11.3.0/gcc/config/s390/linux.h
#undef LINK_SPEC
#define LINK_SPEC \
Index: gcc-11.3.0/gcc/config/sh/linux.h
Index: gcc/gcc/config/sh/linux.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/sh/linux.h
+++ gcc-11.3.0/gcc/config/sh/linux.h
--- a/gcc/config/sh/linux.h
+++ b/gcc/config/sh/linux.h
@@ -61,10 +61,10 @@ along with GCC; see the file COPYING3.
#undef MUSL_DYNAMIC_LINKER
@@ -355,10 +355,10 @@ Index: gcc-11.3.0/gcc/config/sh/linux.h
#undef SUBTARGET_LINK_EMUL_SUFFIX
#define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
Index: gcc-11.3.0/gcc/config/sparc/linux.h
Index: gcc/gcc/config/sparc/linux.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/sparc/linux.h
+++ gcc-11.3.0/gcc/config/sparc/linux.h
--- a/gcc/config/sparc/linux.h
+++ b/gcc/config/sparc/linux.h
@@ -78,7 +78,7 @@ extern const char *host_detect_local_cpu
When the -shared link option is used a final link is not being
done. */
@@ -368,10 +368,10 @@ Index: gcc-11.3.0/gcc/config/sparc/linux.h
#undef LINK_SPEC
#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
Index: gcc-11.3.0/gcc/config/sparc/linux64.h
Index: gcc/gcc/config/sparc/linux64.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/sparc/linux64.h
+++ gcc-11.3.0/gcc/config/sparc/linux64.h
--- a/gcc/config/sparc/linux64.h
+++ b/gcc/config/sparc/linux64.h
@@ -78,8 +78,8 @@ along with GCC; see the file COPYING3.
When the -shared link option is used a final link is not being
done. */

View File

@@ -18,10 +18,10 @@ Upstream-Status: Pending
gcc/config/arm/linux-eabi.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Index: gcc-11.3.0/gcc/config/arm/linux-eabi.h
Index: gcc/gcc/config/arm/linux-eabi.h
===================================================================
--- gcc-11.3.0.orig/gcc/config/arm/linux-eabi.h
+++ gcc-11.3.0/gcc/config/arm/linux-eabi.h
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -91,10 +91,14 @@
#define MUSL_DYNAMIC_LINKER \
SYSTEMLIBS_DIR "ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1"

View File

@@ -1,6 +1,6 @@
require go-common.inc
FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/go-1.19:${FILE_DIRNAME}/go-1.18:"
FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/go-1.21:${FILE_DIRNAME}/go-1.19:${FILE_DIRNAME}/go-1.18:"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
@@ -32,6 +32,16 @@ SRC_URI += "\
file://CVE-2023-24538.patch \
file://CVE-2023-24540.patch \
file://CVE-2023-24539.patch \
file://CVE-2023-29404.patch \
file://CVE-2023-29405.patch \
file://CVE-2023-29402.patch \
file://CVE-2023-29400.patch \
file://CVE-2023-29406.patch \
file://CVE-2023-24536_1.patch \
file://CVE-2023-24536_2.patch \
file://CVE-2023-24536_3.patch \
file://CVE-2023-24531_1.patch \
file://CVE-2023-24531_2.patch \
"
SRC_URI[main.sha256sum] = "a1a48b23afb206f95e7bbaa9b898d965f90826f6f1d1fc0c1d784ada0cd300fd"

View File

@@ -0,0 +1,99 @@
From 9db0e74f606b8afb28cc71d4b1c8b4ed24cabbf5 Mon Sep 17 00:00:00 2001
From: Roland Shoemaker <bracewell@google.com>
Date: Thu, 13 Apr 2023 14:01:50 -0700
Subject: [PATCH] [release-branch.go1.19] html/template: emit filterFailsafe
for empty unquoted attr value
An unquoted action used as an attribute value can result in unsafe
behavior if it is empty, as HTML normalization will result in unexpected
attributes, and may allow attribute injection. If executing a template
results in a empty unquoted attribute value, emit filterFailsafe
instead.
Thanks to Juho Nurminen of Mattermost for reporting this issue.
For #59722
Fixes #59815
Fixes CVE-2023-29400
Change-Id: Ia38d1b536ae2b4af5323a6c6d861e3c057c2570a
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1826631
Reviewed-by: Julie Qiu <julieqiu@google.com>
Run-TryBot: Roland Shoemaker <bracewell@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1851498
Reviewed-by: Roland Shoemaker <bracewell@google.com>
Run-TryBot: Damien Neil <dneil@google.com>
Reviewed-on: https://go-review.googlesource.com/c/go/+/491357
Run-TryBot: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Upstream-Status: Backport [https://github.com/golang/go/commit/9db0e74f606b8afb28cc71d4b1c8b4ed24cabbf5]
CVE: CVE-2023-29400
Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
---
src/html/template/escape.go | 5 ++---
src/html/template/escape_test.go | 15 +++++++++++++++
src/html/template/html.go | 3 +++
3 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/src/html/template/escape.go b/src/html/template/escape.go
index ca078f4..bdccc65 100644
--- a/src/html/template/escape.go
+++ b/src/html/template/escape.go
@@ -362,9 +362,8 @@ func normalizeEscFn(e string) string {
// for all x.
var redundantFuncs = map[string]map[string]bool{
"_html_template_commentescaper": {
- "_html_template_attrescaper": true,
- "_html_template_nospaceescaper": true,
- "_html_template_htmlescaper": true,
+ "_html_template_attrescaper": true,
+ "_html_template_htmlescaper": true,
},
"_html_template_cssescaper": {
"_html_template_attrescaper": true,
diff --git a/src/html/template/escape_test.go b/src/html/template/escape_test.go
index fbc84a7..4f48afe 100644
--- a/src/html/template/escape_test.go
+++ b/src/html/template/escape_test.go
@@ -678,6 +678,21 @@ func TestEscape(t *testing.T) {
`<img srcset={{",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"}}>`,
`<img srcset=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,>`,
},
+ {
+ "unquoted empty attribute value (plaintext)",
+ "<p name={{.U}}>",
+ "<p name=ZgotmplZ>",
+ },
+ {
+ "unquoted empty attribute value (url)",
+ "<p href={{.U}}>",
+ "<p href=ZgotmplZ>",
+ },
+ {
+ "quoted empty attribute value",
+ "<p name=\"{{.U}}\">",
+ "<p name=\"\">",
+ },
}
for _, test := range tests {
diff --git a/src/html/template/html.go b/src/html/template/html.go
index 356b829..636bc21 100644
--- a/src/html/template/html.go
+++ b/src/html/template/html.go
@@ -14,6 +14,9 @@ import (
// htmlNospaceEscaper escapes for inclusion in unquoted attribute values.
func htmlNospaceEscaper(args ...interface{}) string {
s, t := stringify(args...)
+ if s == "" {
+ return filterFailsafe
+ }
if t == contentTypeHTML {
return htmlReplacer(stripTags(s), htmlNospaceNormReplacementTable, false)
}
--
2.25.1

View File

@@ -0,0 +1,210 @@
From 5fa6923b1ea891400153d04ddf1545e23b40041b Mon Sep 17 00:00:00 2001
From: Damien Neil <dneil@google.com>
Date: Wed, 28 Jun 2023 13:20:08 -0700
Subject: [PATCH] [release-branch.go1.19] net/http: validate Host header before
sending
Verify that the Host header we send is valid.
Avoids surprising behavior such as a Host of "go.dev\r\nX-Evil:oops"
adding an X-Evil header to HTTP/1 requests.
Add a test, skip the test for HTTP/2. HTTP/2 is not vulnerable to
header injection in the way HTTP/1 is, but x/net/http2 doesn't validate
the header and will go into a retry loop when the server rejects it.
CL 506995 adds the necessary validation to x/net/http2.
Updates #60374
Fixes #61075
For CVE-2023-29406
Change-Id: I05cb6866a9bead043101954dfded199258c6dd04
Reviewed-on: https://go-review.googlesource.com/c/go/+/506996
Reviewed-by: Tatiana Bradley <tatianabradley@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Damien Neil <dneil@google.com>
(cherry picked from commit 499458f7ca04087958987a33c2703c3ef03e27e2)
Reviewed-on: https://go-review.googlesource.com/c/go/+/507358
Run-TryBot: Tatiana Bradley <tatianabradley@google.com>
Reviewed-by: Roland Shoemaker <roland@golang.org>
Upstream-Status: Backport [https://github.com/golang/go/commit/5fa6923b1ea891400153d04ddf1545e23b40041b]
CVE: CVE-2023-29406
Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
---
src/net/http/http_test.go | 29 ----------------------
src/net/http/request.go | 45 ++++++++--------------------------
src/net/http/request_test.go | 11 ++-------
src/net/http/transport_test.go | 18 ++++++++++++++
4 files changed, 30 insertions(+), 73 deletions(-)
diff --git a/src/net/http/http_test.go b/src/net/http/http_test.go
index 0d92fe5..f03272a 100644
--- a/src/net/http/http_test.go
+++ b/src/net/http/http_test.go
@@ -48,35 +48,6 @@ func TestForeachHeaderElement(t *testing.T) {
}
}
-func TestCleanHost(t *testing.T) {
- tests := []struct {
- in, want string
- }{
- {"www.google.com", "www.google.com"},
- {"www.google.com foo", "www.google.com"},
- {"www.google.com/foo", "www.google.com"},
- {" first character is a space", ""},
- {"[1::6]:8080", "[1::6]:8080"},
-
- // Punycode:
- {"гофер.рф/foo", "xn--c1ae0ajs.xn--p1ai"},
- {"bücher.de", "xn--bcher-kva.de"},
- {"bücher.de:8080", "xn--bcher-kva.de:8080"},
- // Verify we convert to lowercase before punycode:
- {"BÜCHER.de", "xn--bcher-kva.de"},
- {"BÜCHER.de:8080", "xn--bcher-kva.de:8080"},
- // Verify we normalize to NFC before punycode:
- {"gophér.nfc", "xn--gophr-esa.nfc"}, // NFC input; no work needed
- {"goph\u0065\u0301r.nfd", "xn--gophr-esa.nfd"}, // NFD input
- }
- for _, tt := range tests {
- got := cleanHost(tt.in)
- if tt.want != got {
- t.Errorf("cleanHost(%q) = %q, want %q", tt.in, got, tt.want)
- }
- }
-}
-
// Test that cmd/go doesn't link in the HTTP server.
//
// This catches accidental dependencies between the HTTP transport and
diff --git a/src/net/http/request.go b/src/net/http/request.go
index 09cb0c7..2f4e740 100644
--- a/src/net/http/request.go
+++ b/src/net/http/request.go
@@ -17,7 +17,6 @@ import (
"io"
"mime"
"mime/multipart"
- "net"
"net/http/httptrace"
"net/http/internal/ascii"
"net/textproto"
@@ -27,6 +26,7 @@ import (
"strings"
"sync"
+ "golang.org/x/net/http/httpguts"
"golang.org/x/net/idna"
)
@@ -568,12 +568,19 @@ func (r *Request) write(w io.Writer, usingProxy bool, extraHeaders Header, waitF
// is not given, use the host from the request URL.
//
// Clean the host, in case it arrives with unexpected stuff in it.
- host := cleanHost(r.Host)
+ host := r.Host
if host == "" {
if r.URL == nil {
return errMissingHost
}
- host = cleanHost(r.URL.Host)
+ host = r.URL.Host
+ }
+ host, err = httpguts.PunycodeHostPort(host)
+ if err != nil {
+ return err
+ }
+ if !httpguts.ValidHostHeader(host) {
+ return errors.New("http: invalid Host header")
}
// According to RFC 6874, an HTTP client, proxy, or other
@@ -730,38 +737,6 @@ func idnaASCII(v string) (string, error) {
return idna.Lookup.ToASCII(v)
}
-// cleanHost cleans up the host sent in request's Host header.
-//
-// It both strips anything after '/' or ' ', and puts the value
-// into Punycode form, if necessary.
-//
-// Ideally we'd clean the Host header according to the spec:
-// https://tools.ietf.org/html/rfc7230#section-5.4 (Host = uri-host [ ":" port ]")
-// https://tools.ietf.org/html/rfc7230#section-2.7 (uri-host -> rfc3986's host)
-// https://tools.ietf.org/html/rfc3986#section-3.2.2 (definition of host)
-// But practically, what we are trying to avoid is the situation in
-// issue 11206, where a malformed Host header used in the proxy context
-// would create a bad request. So it is enough to just truncate at the
-// first offending character.
-func cleanHost(in string) string {
- if i := strings.IndexAny(in, " /"); i != -1 {
- in = in[:i]
- }
- host, port, err := net.SplitHostPort(in)
- if err != nil { // input was just a host
- a, err := idnaASCII(in)
- if err != nil {
- return in // garbage in, garbage out
- }
- return a
- }
- a, err := idnaASCII(host)
- if err != nil {
- return in // garbage in, garbage out
- }
- return net.JoinHostPort(a, port)
-}
-
// removeZone removes IPv6 zone identifier from host.
// E.g., "[fe80::1%en0]:8080" to "[fe80::1]:8080"
func removeZone(host string) string {
diff --git a/src/net/http/request_test.go b/src/net/http/request_test.go
index fac12b7..368e87a 100644
--- a/src/net/http/request_test.go
+++ b/src/net/http/request_test.go
@@ -776,15 +776,8 @@ func TestRequestBadHost(t *testing.T) {
}
req.Host = "foo.com with spaces"
req.URL.Host = "foo.com with spaces"
- req.Write(logWrites{t, &got})
- want := []string{
- "GET /after HTTP/1.1\r\n",
- "Host: foo.com\r\n",
- "User-Agent: " + DefaultUserAgent + "\r\n",
- "\r\n",
- }
- if !reflect.DeepEqual(got, want) {
- t.Errorf("Writes = %q\n Want = %q", got, want)
+ if err := req.Write(logWrites{t, &got}); err == nil {
+ t.Errorf("Writing request with invalid Host: succeded, want error")
}
}
diff --git a/src/net/http/transport_test.go b/src/net/http/transport_test.go
index eeaa492..58f12af 100644
--- a/src/net/http/transport_test.go
+++ b/src/net/http/transport_test.go
@@ -6512,3 +6512,21 @@ func TestCancelRequestWhenSharingConnection(t *testing.T) {
close(r2c)
wg.Wait()
}
+
+func TestRequestSanitization(t *testing.T) {
+ setParallel(t)
+ defer afterTest(t)
+
+ ts := newClientServerTest(t, h1Mode, HandlerFunc(func(rw ResponseWriter, req *Request) {
+ if h, ok := req.Header["X-Evil"]; ok {
+ t.Errorf("request has X-Evil header: %q", h)
+ }
+ })).ts
+ defer ts.Close()
+ req, _ := NewRequest("GET", ts.URL, nil)
+ req.Host = "go.dev\r\nX-Evil:evil"
+ resp, _ := ts.Client().Do(req)
+ if resp != nil {
+ resp.Body.Close()
+ }
+}
--
2.25.1

View File

@@ -0,0 +1,137 @@
From f8d691d335c6ac14bcbae6886b5bf8ca8bf1e6a5 Mon Sep 17 00:00:00 2001
From: Damien Neil <dneil@google.com>
Date: Thu, 16 Mar 2023 14:18:04 -0700
Subject: [PATCH 1/3] mime/multipart: avoid excessive copy buffer allocations
in ReadForm
When copying form data to disk with io.Copy,
allocate only one copy buffer and reuse it rather than
creating two buffers per file (one from io.multiReader.WriteTo,
and a second one from os.File.ReadFrom).
Thanks to Jakob Ackermann (@das7pad) for reporting this issue.
For CVE-2023-24536
For #59153
For #59269
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1802453
Run-TryBot: Damien Neil <dneil@google.com>
Reviewed-by: Julie Qiu <julieqiu@google.com>
Reviewed-by: Roland Shoemaker <bracewell@google.com>
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1802395
Run-TryBot: Roland Shoemaker <bracewell@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
Change-Id: Ie405470c92abffed3356913b37d813e982c96c8b
Reviewed-on: https://go-review.googlesource.com/c/go/+/481983
Run-TryBot: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
CVE: CVE-2023-24536
Upstream-Status: Backport [ef41a4e2face45e580c5836eaebd51629fc23f15]
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
src/mime/multipart/formdata.go | 15 +++++++--
src/mime/multipart/formdata_test.go | 49 +++++++++++++++++++++++++++++
2 files changed, 61 insertions(+), 3 deletions(-)
diff --git a/src/mime/multipart/formdata.go b/src/mime/multipart/formdata.go
index a7d4ca9..975dcb6 100644
--- a/src/mime/multipart/formdata.go
+++ b/src/mime/multipart/formdata.go
@@ -84,6 +84,7 @@ func (r *Reader) readForm(maxMemory int64) (_ *Form, err error) {
maxMemoryBytes = math.MaxInt64
}
}
+ var copyBuf []byte
for {
p, err := r.nextPart(false, maxMemoryBytes)
if err == io.EOF {
@@ -147,14 +148,22 @@ func (r *Reader) readForm(maxMemory int64) (_ *Form, err error) {
}
}
numDiskFiles++
- size, err := io.Copy(file, io.MultiReader(&b, p))
+ if _, err := file.Write(b.Bytes()); err != nil {
+ return nil, err
+ }
+ if copyBuf == nil {
+ copyBuf = make([]byte, 32*1024) // same buffer size as io.Copy uses
+ }
+ // os.File.ReadFrom will allocate its own copy buffer if we let io.Copy use it.
+ type writerOnly struct{ io.Writer }
+ remainingSize, err := io.CopyBuffer(writerOnly{file}, p, copyBuf)
if err != nil {
return nil, err
}
fh.tmpfile = file.Name()
- fh.Size = size
+ fh.Size = int64(b.Len()) + remainingSize
fh.tmpoff = fileOff
- fileOff += size
+ fileOff += fh.Size
if !combineFiles {
if err := file.Close(); err != nil {
return nil, err
diff --git a/src/mime/multipart/formdata_test.go b/src/mime/multipart/formdata_test.go
index 5cded71..f5b5608 100644
--- a/src/mime/multipart/formdata_test.go
+++ b/src/mime/multipart/formdata_test.go
@@ -368,3 +368,52 @@ func testReadFormManyFiles(t *testing.T, distinct bool) {
t.Fatalf("temp dir contains %v files; want 0", len(names))
}
}
+
+func BenchmarkReadForm(b *testing.B) {
+ for _, test := range []struct {
+ name string
+ form func(fw *Writer, count int)
+ }{{
+ name: "fields",
+ form: func(fw *Writer, count int) {
+ for i := 0; i < count; i++ {
+ w, _ := fw.CreateFormField(fmt.Sprintf("field%v", i))
+ fmt.Fprintf(w, "value %v", i)
+ }
+ },
+ }, {
+ name: "files",
+ form: func(fw *Writer, count int) {
+ for i := 0; i < count; i++ {
+ w, _ := fw.CreateFormFile(fmt.Sprintf("field%v", i), fmt.Sprintf("file%v", i))
+ fmt.Fprintf(w, "value %v", i)
+ }
+ },
+ }} {
+ b.Run(test.name, func(b *testing.B) {
+ for _, maxMemory := range []int64{
+ 0,
+ 1 << 20,
+ } {
+ var buf bytes.Buffer
+ fw := NewWriter(&buf)
+ test.form(fw, 10)
+ if err := fw.Close(); err != nil {
+ b.Fatal(err)
+ }
+ b.Run(fmt.Sprintf("maxMemory=%v", maxMemory), func(b *testing.B) {
+ b.ReportAllocs()
+ for i := 0; i < b.N; i++ {
+ fr := NewReader(bytes.NewReader(buf.Bytes()), fw.Boundary())
+ form, err := fr.ReadForm(maxMemory)
+ if err != nil {
+ b.Fatal(err)
+ }
+ form.RemoveAll()
+ }
+
+ })
+ }
+ })
+ }
+}
--
2.35.5

View File

@@ -0,0 +1,187 @@
From 4174a87b600c58e8cc00d9d18d0c507c67ca5d41 Mon Sep 17 00:00:00 2001
From: Damien Neil <dneil@google.com>
Date: Thu, 16 Mar 2023 16:56:12 -0700
Subject: [PATCH 2/3] net/textproto, mime/multipart: improve accounting of
non-file data
For requests containing large numbers of small parts,
memory consumption of a parsed form could be about 250%
over the estimated size.
When considering the size of parsed forms, account for the size of
FileHeader structs and increase the estimate of memory consumed by
map entries.
Thanks to Jakob Ackermann (@das7pad) for reporting this issue.
For CVE-2023-24536
For #59153
For #59269
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1802454
Run-TryBot: Damien Neil <dneil@google.com>
Reviewed-by: Roland Shoemaker <bracewell@google.com>
Reviewed-by: Julie Qiu <julieqiu@google.com>
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1802396
Run-TryBot: Roland Shoemaker <bracewell@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
Change-Id: I31bc50e9346b4eee6fbe51a18c3c57230cc066db
Reviewed-on: https://go-review.googlesource.com/c/go/+/481984
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
CVE: CVE-2023-24536
Upstream-Status: Backport [7a359a651c7ebdb29e0a1c03102fce793e9f58f0]
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
src/mime/multipart/formdata.go | 9 +++--
src/mime/multipart/formdata_test.go | 55 ++++++++++++-----------------
src/net/textproto/reader.go | 8 ++++-
3 files changed, 37 insertions(+), 35 deletions(-)
diff --git a/src/mime/multipart/formdata.go b/src/mime/multipart/formdata.go
index 975dcb6..3f6ff69 100644
--- a/src/mime/multipart/formdata.go
+++ b/src/mime/multipart/formdata.go
@@ -103,8 +103,9 @@ func (r *Reader) readForm(maxMemory int64) (_ *Form, err error) {
// Multiple values for the same key (one map entry, longer slice) are cheaper
// than the same number of values for different keys (many map entries), but
// using a consistent per-value cost for overhead is simpler.
+ const mapEntryOverhead = 200
maxMemoryBytes -= int64(len(name))
- maxMemoryBytes -= 100 // map overhead
+ maxMemoryBytes -= mapEntryOverhead
if maxMemoryBytes < 0 {
// We can't actually take this path, since nextPart would already have
// rejected the MIME headers for being too large. Check anyway.
@@ -128,7 +129,10 @@ func (r *Reader) readForm(maxMemory int64) (_ *Form, err error) {
}
// file, store in memory or on disk
+ const fileHeaderSize = 100
maxMemoryBytes -= mimeHeaderSize(p.Header)
+ maxMemoryBytes -= mapEntryOverhead
+ maxMemoryBytes -= fileHeaderSize
if maxMemoryBytes < 0 {
return nil, ErrMessageTooLarge
}
@@ -183,9 +187,10 @@ func (r *Reader) readForm(maxMemory int64) (_ *Form, err error) {
}
func mimeHeaderSize(h textproto.MIMEHeader) (size int64) {
+ size = 400
for k, vs := range h {
size += int64(len(k))
- size += 100 // map entry overhead
+ size += 200 // map entry overhead
for _, v := range vs {
size += int64(len(v))
}
diff --git a/src/mime/multipart/formdata_test.go b/src/mime/multipart/formdata_test.go
index f5b5608..8ed26e0 100644
--- a/src/mime/multipart/formdata_test.go
+++ b/src/mime/multipart/formdata_test.go
@@ -192,10 +192,10 @@ func (r *failOnReadAfterErrorReader) Read(p []byte) (n int, err error) {
// TestReadForm_NonFileMaxMemory asserts that the ReadForm maxMemory limit is applied
// while processing non-file form data as well as file form data.
func TestReadForm_NonFileMaxMemory(t *testing.T) {
- n := 10<<20 + 25
if testing.Short() {
- n = 10<<10 + 25
+ t.Skip("skipping in -short mode")
}
+ n := 10 << 20
largeTextValue := strings.Repeat("1", n)
message := `--MyBoundary
Content-Disposition: form-data; name="largetext"
@@ -203,38 +203,29 @@ Content-Disposition: form-data; name="largetext"
` + largeTextValue + `
--MyBoundary--
`
-
testBody := strings.ReplaceAll(message, "\n", "\r\n")
- testCases := []struct {
- name string
- maxMemory int64
- err error
- }{
- {"smaller", 50 + int64(len("largetext")) + 100, nil},
- {"exact-fit", 25 + int64(len("largetext")) + 100, nil},
- {"too-large", 0, ErrMessageTooLarge},
- }
- for _, tc := range testCases {
- t.Run(tc.name, func(t *testing.T) {
- if tc.maxMemory == 0 && testing.Short() {
- t.Skip("skipping in -short mode")
- }
- b := strings.NewReader(testBody)
- r := NewReader(b, boundary)
- f, err := r.ReadForm(tc.maxMemory)
- if err == nil {
- defer f.RemoveAll()
- }
- if tc.err != err {
- t.Fatalf("ReadForm error - got: %v; expected: %v", err, tc.err)
- }
- if err == nil {
- if g := f.Value["largetext"][0]; g != largeTextValue {
- t.Errorf("largetext mismatch: got size: %v, expected size: %v", len(g), len(largeTextValue))
- }
- }
- })
+ // Try parsing the form with increasing maxMemory values.
+ // Changes in how we account for non-file form data may cause the exact point
+ // where we change from rejecting the form as too large to accepting it to vary,
+ // but we should see both successes and failures.
+ const failWhenMaxMemoryLessThan = 128
+ for maxMemory := int64(0); maxMemory < failWhenMaxMemoryLessThan*2; maxMemory += 16 {
+ b := strings.NewReader(testBody)
+ r := NewReader(b, boundary)
+ f, err := r.ReadForm(maxMemory)
+ if err != nil {
+ continue
+ }
+ if g := f.Value["largetext"][0]; g != largeTextValue {
+ t.Errorf("largetext mismatch: got size: %v, expected size: %v", len(g), len(largeTextValue))
+ }
+ f.RemoveAll()
+ if maxMemory < failWhenMaxMemoryLessThan {
+ t.Errorf("ReadForm(%v): no error, expect to hit memory limit when maxMemory < %v", maxMemory, failWhenMaxMemoryLessThan)
+ }
+ return
}
+ t.Errorf("ReadForm(x) failed for x < 1024, expect success")
}
// TestReadForm_MetadataTooLarge verifies that we account for the size of field names,
diff --git a/src/net/textproto/reader.go b/src/net/textproto/reader.go
index fcbede8..9af4c49 100644
--- a/src/net/textproto/reader.go
+++ b/src/net/textproto/reader.go
@@ -503,6 +503,12 @@ func readMIMEHeader(r *Reader, lim int64) (MIMEHeader, error) {
m := make(MIMEHeader, hint)
+ // Account for 400 bytes of overhead for the MIMEHeader, plus 200 bytes per entry.
+ // Benchmarking map creation as of go1.20, a one-entry MIMEHeader is 416 bytes and large
+ // MIMEHeaders average about 200 bytes per entry.
+ lim -= 400
+ const mapEntryOverhead = 200
+
// The first line cannot start with a leading space.
if buf, err := r.R.Peek(1); err == nil && (buf[0] == ' ' || buf[0] == '\t') {
line, err := r.readLineSlice()
@@ -552,7 +558,7 @@ func readMIMEHeader(r *Reader, lim int64) (MIMEHeader, error) {
vv := m[key]
if vv == nil {
lim -= int64(len(key))
- lim -= 100 // map entry overhead
+ lim -= mapEntryOverhead
}
lim -= int64(len(value))
if lim < 0 {
--
2.35.5

View File

@@ -0,0 +1,349 @@
From ec763bc936f76cec0fe71a791c6bb7d4ac5f3e46 Mon Sep 17 00:00:00 2001
From: Damien Neil <dneil@google.com>
Date: Mon, 20 Mar 2023 10:43:19 -0700
Subject: [PATCH 3/3] mime/multipart: limit parsed mime message sizes
The parsed forms of MIME headers and multipart forms can consume
substantially more memory than the size of the input data.
A malicious input containing a very large number of headers or
form parts can cause excessively large memory allocations.
Set limits on the size of MIME data:
Reader.NextPart and Reader.NextRawPart limit the the number
of headers in a part to 10000.
Reader.ReadForm limits the total number of headers in all
FileHeaders to 10000.
Both of these limits may be set with with
GODEBUG=multipartmaxheaders=<values>.
Reader.ReadForm limits the number of parts in a form to 1000.
This limit may be set with GODEBUG=multipartmaxparts=<value>.
Thanks for Jakob Ackermann (@das7pad) for reporting this issue.
For CVE-2023-24536
For #59153
For #59269
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1802455
Run-TryBot: Damien Neil <dneil@google.com>
Reviewed-by: Roland Shoemaker <bracewell@google.com>
Reviewed-by: Julie Qiu <julieqiu@google.com>
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1801087
Reviewed-by: Damien Neil <dneil@google.com>
Run-TryBot: Roland Shoemaker <bracewell@google.com>
Change-Id: If134890d75f0d95c681d67234daf191ba08e6424
Reviewed-on: https://go-review.googlesource.com/c/go/+/481985
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
CVE: CVE-2023-24536
Upstream-Status: Backport [7917b5f31204528ea72e0629f0b7d52b35b27538]
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
src/mime/multipart/formdata.go | 19 ++++++++-
src/mime/multipart/formdata_test.go | 61 ++++++++++++++++++++++++++++
src/mime/multipart/multipart.go | 31 ++++++++++----
src/mime/multipart/readmimeheader.go | 2 +-
src/net/textproto/reader.go | 19 +++++----
5 files changed, 115 insertions(+), 17 deletions(-)
diff --git a/src/mime/multipart/formdata.go b/src/mime/multipart/formdata.go
index 3f6ff69..4f26aab 100644
--- a/src/mime/multipart/formdata.go
+++ b/src/mime/multipart/formdata.go
@@ -12,6 +12,7 @@ import (
"math"
"net/textproto"
"os"
+ "strconv"
)
// ErrMessageTooLarge is returned by ReadForm if the message form
@@ -41,6 +42,15 @@ func (r *Reader) readForm(maxMemory int64) (_ *Form, err error) {
numDiskFiles := 0
multipartFiles := godebug.Get("multipartfiles")
combineFiles := multipartFiles != "distinct"
+ maxParts := 1000
+ multipartMaxParts := godebug.Get("multipartmaxparts")
+ if multipartMaxParts != "" {
+ if v, err := strconv.Atoi(multipartMaxParts); err == nil && v >= 0 {
+ maxParts = v
+ }
+ }
+ maxHeaders := maxMIMEHeaders()
+
defer func() {
if file != nil {
if cerr := file.Close(); err == nil {
@@ -86,13 +96,17 @@ func (r *Reader) readForm(maxMemory int64) (_ *Form, err error) {
}
var copyBuf []byte
for {
- p, err := r.nextPart(false, maxMemoryBytes)
+ p, err := r.nextPart(false, maxMemoryBytes, maxHeaders)
if err == io.EOF {
break
}
if err != nil {
return nil, err
}
+ if maxParts <= 0 {
+ return nil, ErrMessageTooLarge
+ }
+ maxParts--
name := p.FormName()
if name == "" {
@@ -136,6 +150,9 @@ func (r *Reader) readForm(maxMemory int64) (_ *Form, err error) {
if maxMemoryBytes < 0 {
return nil, ErrMessageTooLarge
}
+ for _, v := range p.Header {
+ maxHeaders -= int64(len(v))
+ }
fh := &FileHeader{
Filename: filename,
Header: p.Header,
diff --git a/src/mime/multipart/formdata_test.go b/src/mime/multipart/formdata_test.go
index 8ed26e0..c78eeb7 100644
--- a/src/mime/multipart/formdata_test.go
+++ b/src/mime/multipart/formdata_test.go
@@ -360,6 +360,67 @@ func testReadFormManyFiles(t *testing.T, distinct bool) {
}
}
+func TestReadFormLimits(t *testing.T) {
+ for _, test := range []struct {
+ values int
+ files int
+ extraKeysPerFile int
+ wantErr error
+ godebug string
+ }{
+ {values: 1000},
+ {values: 1001, wantErr: ErrMessageTooLarge},
+ {values: 500, files: 500},
+ {values: 501, files: 500, wantErr: ErrMessageTooLarge},
+ {files: 1000},
+ {files: 1001, wantErr: ErrMessageTooLarge},
+ {files: 1, extraKeysPerFile: 9998}, // plus Content-Disposition and Content-Type
+ {files: 1, extraKeysPerFile: 10000, wantErr: ErrMessageTooLarge},
+ {godebug: "multipartmaxparts=100", values: 100},
+ {godebug: "multipartmaxparts=100", values: 101, wantErr: ErrMessageTooLarge},
+ {godebug: "multipartmaxheaders=100", files: 2, extraKeysPerFile: 48},
+ {godebug: "multipartmaxheaders=100", files: 2, extraKeysPerFile: 50, wantErr: ErrMessageTooLarge},
+ } {
+ name := fmt.Sprintf("values=%v/files=%v/extraKeysPerFile=%v", test.values, test.files, test.extraKeysPerFile)
+ if test.godebug != "" {
+ name += fmt.Sprintf("/godebug=%v", test.godebug)
+ }
+ t.Run(name, func(t *testing.T) {
+ if test.godebug != "" {
+ t.Setenv("GODEBUG", test.godebug)
+ }
+ var buf bytes.Buffer
+ fw := NewWriter(&buf)
+ for i := 0; i < test.values; i++ {
+ w, _ := fw.CreateFormField(fmt.Sprintf("field%v", i))
+ fmt.Fprintf(w, "value %v", i)
+ }
+ for i := 0; i < test.files; i++ {
+ h := make(textproto.MIMEHeader)
+ h.Set("Content-Disposition",
+ fmt.Sprintf(`form-data; name="file%v"; filename="file%v"`, i, i))
+ h.Set("Content-Type", "application/octet-stream")
+ for j := 0; j < test.extraKeysPerFile; j++ {
+ h.Set(fmt.Sprintf("k%v", j), "v")
+ }
+ w, _ := fw.CreatePart(h)
+ fmt.Fprintf(w, "value %v", i)
+ }
+ if err := fw.Close(); err != nil {
+ t.Fatal(err)
+ }
+ fr := NewReader(bytes.NewReader(buf.Bytes()), fw.Boundary())
+ form, err := fr.ReadForm(1 << 10)
+ if err == nil {
+ defer form.RemoveAll()
+ }
+ if err != test.wantErr {
+ t.Errorf("ReadForm = %v, want %v", err, test.wantErr)
+ }
+ })
+ }
+}
+
func BenchmarkReadForm(b *testing.B) {
for _, test := range []struct {
name string
diff --git a/src/mime/multipart/multipart.go b/src/mime/multipart/multipart.go
index 19fe0ea..80acabc 100644
--- a/src/mime/multipart/multipart.go
+++ b/src/mime/multipart/multipart.go
@@ -16,11 +16,13 @@ import (
"bufio"
"bytes"
"fmt"
+ "internal/godebug"
"io"
"mime"
"mime/quotedprintable"
"net/textproto"
"path/filepath"
+ "strconv"
"strings"
)
@@ -128,12 +130,12 @@ func (r *stickyErrorReader) Read(p []byte) (n int, _ error) {
return n, r.err
}
-func newPart(mr *Reader, rawPart bool, maxMIMEHeaderSize int64) (*Part, error) {
+func newPart(mr *Reader, rawPart bool, maxMIMEHeaderSize, maxMIMEHeaders int64) (*Part, error) {
bp := &Part{
Header: make(map[string][]string),
mr: mr,
}
- if err := bp.populateHeaders(maxMIMEHeaderSize); err != nil {
+ if err := bp.populateHeaders(maxMIMEHeaderSize, maxMIMEHeaders); err != nil {
return nil, err
}
bp.r = partReader{bp}
@@ -149,9 +151,9 @@ func newPart(mr *Reader, rawPart bool, maxMIMEHeaderSize int64) (*Part, error) {
return bp, nil
}
-func (bp *Part) populateHeaders(maxMIMEHeaderSize int64) error {
+func (bp *Part) populateHeaders(maxMIMEHeaderSize, maxMIMEHeaders int64) error {
r := textproto.NewReader(bp.mr.bufReader)
- header, err := readMIMEHeader(r, maxMIMEHeaderSize)
+ header, err := readMIMEHeader(r, maxMIMEHeaderSize, maxMIMEHeaders)
if err == nil {
bp.Header = header
}
@@ -313,6 +315,19 @@ type Reader struct {
// including header keys, values, and map overhead.
const maxMIMEHeaderSize = 10 << 20
+func maxMIMEHeaders() int64 {
+ // multipartMaxHeaders is the maximum number of header entries NextPart will return,
+ // as well as the maximum combined total of header entries Reader.ReadForm will return
+ // in FileHeaders.
+ multipartMaxHeaders := godebug.Get("multipartmaxheaders")
+ if multipartMaxHeaders != "" {
+ if v, err := strconv.ParseInt(multipartMaxHeaders, 10, 64); err == nil && v >= 0 {
+ return v
+ }
+ }
+ return 10000
+}
+
// NextPart returns the next part in the multipart or an error.
// When there are no more parts, the error io.EOF is returned.
//
@@ -320,7 +335,7 @@ const maxMIMEHeaderSize = 10 << 20
// has a value of "quoted-printable", that header is instead
// hidden and the body is transparently decoded during Read calls.
func (r *Reader) NextPart() (*Part, error) {
- return r.nextPart(false, maxMIMEHeaderSize)
+ return r.nextPart(false, maxMIMEHeaderSize, maxMIMEHeaders())
}
// NextRawPart returns the next part in the multipart or an error.
@@ -329,10 +344,10 @@ func (r *Reader) NextPart() (*Part, error) {
// Unlike NextPart, it does not have special handling for
// "Content-Transfer-Encoding: quoted-printable".
func (r *Reader) NextRawPart() (*Part, error) {
- return r.nextPart(true, maxMIMEHeaderSize)
+ return r.nextPart(true, maxMIMEHeaderSize, maxMIMEHeaders())
}
-func (r *Reader) nextPart(rawPart bool, maxMIMEHeaderSize int64) (*Part, error) {
+func (r *Reader) nextPart(rawPart bool, maxMIMEHeaderSize, maxMIMEHeaders int64) (*Part, error) {
if r.currentPart != nil {
r.currentPart.Close()
}
@@ -357,7 +372,7 @@ func (r *Reader) nextPart(rawPart bool, maxMIMEHeaderSize int64) (*Part, error)
if r.isBoundaryDelimiterLine(line) {
r.partsRead++
- bp, err := newPart(r, rawPart, maxMIMEHeaderSize)
+ bp, err := newPart(r, rawPart, maxMIMEHeaderSize, maxMIMEHeaders)
if err != nil {
return nil, err
}
diff --git a/src/mime/multipart/readmimeheader.go b/src/mime/multipart/readmimeheader.go
index 6836928..25aa6e2 100644
--- a/src/mime/multipart/readmimeheader.go
+++ b/src/mime/multipart/readmimeheader.go
@@ -11,4 +11,4 @@ import (
// readMIMEHeader is defined in package net/textproto.
//
//go:linkname readMIMEHeader net/textproto.readMIMEHeader
-func readMIMEHeader(r *textproto.Reader, lim int64) (textproto.MIMEHeader, error)
+func readMIMEHeader(r *textproto.Reader, maxMemory, maxHeaders int64) (textproto.MIMEHeader, error)
diff --git a/src/net/textproto/reader.go b/src/net/textproto/reader.go
index 9af4c49..c6569c8 100644
--- a/src/net/textproto/reader.go
+++ b/src/net/textproto/reader.go
@@ -483,12 +483,12 @@ func (r *Reader) ReadDotLines() ([]string, error) {
// }
//
func (r *Reader) ReadMIMEHeader() (MIMEHeader, error) {
- return readMIMEHeader(r, math.MaxInt64)
+ return readMIMEHeader(r, math.MaxInt64, math.MaxInt64)
}
// readMIMEHeader is a version of ReadMIMEHeader which takes a limit on the header size.
// It is called by the mime/multipart package.
-func readMIMEHeader(r *Reader, lim int64) (MIMEHeader, error) {
+func readMIMEHeader(r *Reader, maxMemory, maxHeaders int64) (MIMEHeader, error) {
// Avoid lots of small slice allocations later by allocating one
// large one ahead of time which we'll cut up into smaller
// slices. If this isn't big enough later, we allocate small ones.
@@ -506,7 +506,7 @@ func readMIMEHeader(r *Reader, lim int64) (MIMEHeader, error) {
// Account for 400 bytes of overhead for the MIMEHeader, plus 200 bytes per entry.
// Benchmarking map creation as of go1.20, a one-entry MIMEHeader is 416 bytes and large
// MIMEHeaders average about 200 bytes per entry.
- lim -= 400
+ maxMemory -= 400
const mapEntryOverhead = 200
// The first line cannot start with a leading space.
@@ -538,6 +538,11 @@ func readMIMEHeader(r *Reader, lim int64) (MIMEHeader, error) {
continue
}
+ maxHeaders--
+ if maxHeaders < 0 {
+ return nil, errors.New("message too large")
+ }
+
// backport 5c55ac9bf1e5f779220294c843526536605f42ab
//
// value is computed as
@@ -557,11 +562,11 @@ func readMIMEHeader(r *Reader, lim int64) (MIMEHeader, error) {
vv := m[key]
if vv == nil {
- lim -= int64(len(key))
- lim -= mapEntryOverhead
+ maxMemory -= int64(len(key))
+ maxMemory -= mapEntryOverhead
}
- lim -= int64(len(value))
- if lim < 0 {
+ maxMemory -= int64(len(value))
+ if maxMemory < 0 {
// TODO: This should be a distinguishable error (ErrMessageTooLarge)
// to allow mime/multipart to detect it.
return m, errors.New("message too large")
--
2.35.5

View File

@@ -0,0 +1,194 @@
From 4dae3bbe0e6a5700037bb996ae84d6f457c4f58a Mon Sep 17 00:00:00 2001
From: Bryan C. Mills <bcmills@google.com>
Date: Fri, 12 May 2023 14:15:16 -0400
Subject: [PATCH] cmd/go: disallow package directories containing newlines
Directory or file paths containing newlines may cause tools (such as
cmd/cgo) that emit "//line" or "#line" -directives to write part of
the path into non-comment lines in generated source code. If those
lines contain valid Go code, it may be injected into the resulting
binary.
(Note that Go import paths and file paths within module zip files
already could not contain newlines.)
Thanks to Juho Nurminen of Mattermost for reporting this issue.
Fixes #60167.
Fixes CVE-2023-29402.
Change-Id: I64572e9f454bce7b685d00e2e6a1c96cd33d53df
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1882606
Reviewed-by: Roland Shoemaker <bracewell@google.com>
Run-TryBot: Roland Shoemaker <bracewell@google.com>
Reviewed-by: Russ Cox <rsc@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-on: https://go-review.googlesource.com/c/go/+/501226
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Upstream-Status: Backport [https://github.com/golang/go/commit/4dae3bbe0e6a5700037bb996ae84d6f457c4f58a]
CVE: CVE-2023-29402
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
src/cmd/go/internal/load/pkg.go | 4 +
src/cmd/go/internal/work/exec.go | 6 ++
src/cmd/go/script_test.go | 1 +
.../go/testdata/script/build_cwd_newline.txt | 100 ++++++++++++++++++
4 files changed, 111 insertions(+)
create mode 100644 src/cmd/go/testdata/script/build_cwd_newline.txt
diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go
index a83cc9a..d4da86d 100644
--- a/src/cmd/go/internal/load/pkg.go
+++ b/src/cmd/go/internal/load/pkg.go
@@ -1897,6 +1897,10 @@ func (p *Package) load(ctx context.Context, opts PackageOpts, path string, stk *
setError(fmt.Errorf("invalid input directory name %q", name))
return
}
+ if strings.ContainsAny(p.Dir, "\r\n") {
+ setError(fmt.Errorf("invalid package directory %q", p.Dir))
+ return
+ }
// Build list of imported packages and full dependency list.
imports := make([]*Package, 0, len(p.Imports))
diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
index b35caa4..b1bf347 100644
--- a/src/cmd/go/internal/work/exec.go
+++ b/src/cmd/go/internal/work/exec.go
@@ -505,6 +505,12 @@ func (b *Builder) build(ctx context.Context, a *Action) (err error) {
b.Print(a.Package.ImportPath + "\n")
}
+ if p.Error != nil {
+ // Don't try to build anything for packages with errors. There may be a
+ // problem with the inputs that makes the package unsafe to build.
+ return p.Error
+ }
+
if a.Package.BinaryOnly {
p.Stale = true
p.StaleReason = "binary-only packages are no longer supported"
diff --git a/src/cmd/go/script_test.go b/src/cmd/go/script_test.go
index c0156d0..ce4ff37 100644
--- a/src/cmd/go/script_test.go
+++ b/src/cmd/go/script_test.go
@@ -182,6 +182,7 @@ func (ts *testScript) setup() {
"devnull=" + os.DevNull,
"goversion=" + goVersion(ts),
":=" + string(os.PathListSeparator),
+ "newline=\n",
}
if !testenv.HasExternalNetwork() {
ts.env = append(ts.env, "TESTGONETWORK=panic", "TESTGOVCS=panic")
diff --git a/src/cmd/go/testdata/script/build_cwd_newline.txt b/src/cmd/go/testdata/script/build_cwd_newline.txt
new file mode 100644
index 0000000..61c6966
--- /dev/null
+++ b/src/cmd/go/testdata/script/build_cwd_newline.txt
@@ -0,0 +1,100 @@
+[windows] skip 'filesystem normalizes / to \'
+[plan9] skip 'filesystem disallows \n in paths'
+
+# If the directory path containing a package to be built includes a newline,
+# the go command should refuse to even try to build the package.
+
+env DIR=$WORK${/}${newline}'package main'${newline}'func main() { panic("uh-oh")'${newline}'/*'
+
+mkdir $DIR
+cd $DIR
+exec pwd
+cp $WORK/go.mod ./go.mod
+cp $WORK/main.go ./main.go
+cp $WORK/main_test.go ./main_test.go
+
+! go build -o $devnull .
+stderr 'package example: invalid package directory .*uh-oh'
+
+! go build -o $devnull main.go
+stderr 'package command-line-arguments: invalid package directory .*uh-oh'
+
+! go run .
+stderr 'package example: invalid package directory .*uh-oh'
+
+! go run main.go
+stderr 'package command-line-arguments: invalid package directory .*uh-oh'
+
+! go test .
+stderr 'package example: invalid package directory .*uh-oh'
+
+! go test -v main.go main_test.go
+stderr 'package command-line-arguments: invalid package directory .*uh-oh'
+
+
+# Since we do preserve $PWD (or set it appropriately) for commands, and we do
+# not resolve symlinks unnecessarily, referring to the contents of the unsafe
+# directory via a safe symlink should be ok, and should not inject the data from
+# the symlink target path.
+
+[!symlink] stop 'remainder of test checks symlink behavior'
+[short] stop 'links and runs binaries'
+
+symlink $WORK${/}link -> $DIR
+
+go run $WORK${/}link${/}main.go
+! stdout panic
+! stderr panic
+stderr '^ok$'
+
+go test -v $WORK${/}link${/}main.go $WORK${/}link${/}main_test.go
+! stdout panic
+! stderr panic
+stdout '^ok$' # 'go test' combines the test's stdout into stderr
+
+cd $WORK/link
+
+! go run $DIR${/}main.go
+stderr 'package command-line-arguments: invalid package directory .*uh-oh'
+
+go run .
+! stdout panic
+! stderr panic
+stderr '^ok$'
+
+go run main.go
+! stdout panic
+! stderr panic
+stderr '^ok$'
+
+go test -v
+! stdout panic
+! stderr panic
+stdout '^ok$' # 'go test' combines the test's stdout into stderr
+
+go test -v .
+! stdout panic
+! stderr panic
+stdout '^ok$' # 'go test' combines the test's stdout into stderr
+
+
+-- $WORK/go.mod --
+module example
+go 1.19
+-- $WORK/main.go --
+package main
+
+import "C"
+
+func main() {
+ /* nothing here */
+ println("ok")
+}
+-- $WORK/main_test.go --
+package main
+
+import "testing"
+
+func TestMain(*testing.M) {
+ main()
+}
--
2.40.0

View File

@@ -0,0 +1,78 @@
From bbeb55f5faf93659e1cfd6ab073ab3c9d126d195 Mon Sep 17 00:00:00 2001
From: Roland Shoemaker <bracewell@google.com>
Date: Fri, 5 May 2023 13:10:34 -0700
Subject: [PATCH] cmd/go: enforce flags with non-optional arguments
Enforce that linker flags which expect arguments get them, otherwise it
may be possible to smuggle unexpected flags through as the linker can
consume what looks like a flag as an argument to a preceding flag (i.e.
"-Wl,-O -Wl,-R,-bad-flag" is interpreted as "-O=-R -bad-flag"). Also be
somewhat more restrictive in the general format of some flags.
Thanks to Juho Nurminen of Mattermost for reporting this issue.
Fixes #60305
Fixes CVE-2023-29404
Change-Id: I913df78a692cee390deefc3cd7d8f5b031524fc9
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1876275
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-on: https://go-review.googlesource.com/c/go/+/501225
Run-TryBot: David Chase <drchase@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Upstream-Status: Backport [https://github.com/golang/go/commit/bbeb55f5faf93659e1cfd6ab073ab3c9d126d195]
CVE: CVE-2023-29404
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
src/cmd/go/internal/work/security.go | 6 +++---
src/cmd/go/internal/work/security_test.go | 5 +++++
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/cmd/go/internal/work/security.go b/src/cmd/go/internal/work/security.go
index e9b9f6c..91e6e4c 100644
--- a/src/cmd/go/internal/work/security.go
+++ b/src/cmd/go/internal/work/security.go
@@ -179,10 +179,10 @@ var validLinkerFlags = []*lazyregexp.Regexp{
re(`-Wl,-berok`),
re(`-Wl,-Bstatic`),
re(`-Wl,-Bsymbolic-functions`),
- re(`-Wl,-O([^@,\-][^,]*)?`),
+ re(`-Wl,-O[0-9]+`),
re(`-Wl,-d[ny]`),
re(`-Wl,--disable-new-dtags`),
- re(`-Wl,-e[=,][a-zA-Z0-9]*`),
+ re(`-Wl,-e[=,][a-zA-Z0-9]+`),
re(`-Wl,--enable-new-dtags`),
re(`-Wl,--end-group`),
re(`-Wl,--(no-)?export-dynamic`),
@@ -191,7 +191,7 @@ var validLinkerFlags = []*lazyregexp.Regexp{
re(`-Wl,--hash-style=(sysv|gnu|both)`),
re(`-Wl,-headerpad_max_install_names`),
re(`-Wl,--no-undefined`),
- re(`-Wl,-R([^@\-][^,@]*$)`),
+ re(`-Wl,-R,?([^@\-,][^,@]*$)`),
re(`-Wl,--just-symbols[=,]([^,@\-][^,@]+)`),
re(`-Wl,-rpath(-link)?[=,]([^,@\-][^,]+)`),
re(`-Wl,-s`),
diff --git a/src/cmd/go/internal/work/security_test.go b/src/cmd/go/internal/work/security_test.go
index 8d4be0a..3616548 100644
--- a/src/cmd/go/internal/work/security_test.go
+++ b/src/cmd/go/internal/work/security_test.go
@@ -227,6 +227,11 @@ var badLinkerFlags = [][]string{
{"-Wl,-R,@foo"},
{"-Wl,--just-symbols,@foo"},
{"../x.o"},
+ {"-Wl,-R,"},
+ {"-Wl,-O"},
+ {"-Wl,-e="},
+ {"-Wl,-e,"},
+ {"-Wl,-R,-flag"},
}
func TestCheckLinkerFlags(t *testing.T) {
--
2.40.0

View File

@@ -0,0 +1,109 @@
From 6d8af00a630aa51134e54f0f321658621c6410f0 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Thu, 4 May 2023 14:06:39 -0700
Subject: [PATCH] cmd/go,cmd/cgo: in _cgo_flags use one line per flag
The flags that we recorded in _cgo_flags did not use any quoting,
so a flag containing embedded spaces was mishandled.
Change the _cgo_flags format to put each flag on a separate line.
That is a simple format that does not require any quoting.
As far as I can tell only cmd/go uses _cgo_flags, and it is only
used for gccgo. If this patch doesn't cause any trouble, then
in the next release we can change to only using _cgo_flags for gccgo.
Thanks to Juho Nurminen of Mattermost for reporting this issue.
Fixes #60306
Fixes CVE-2023-29405
Change-Id: I81fb5337db8a22e1f4daca22ceff4b79b96d0b4f
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1875094
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-by: Roland Shoemaker <bracewell@google.com>
Reviewed-on: https://go-review.googlesource.com/c/go/+/501224
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: David Chase <drchase@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Roland Shoemaker <roland@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Upstream-Status: Backport [https://github.com/golang/go/commit/6d8af00a630aa51134e54f0f321658621c6410f0]
CVE: CVE-2023-29405
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
---
src/cmd/cgo/out.go | 4 +++-
src/cmd/go/internal/work/gccgo.go | 14 ++++++-------
.../go/testdata/script/gccgo_link_ldflags.txt | 20 +++++++++++++++++++
3 files changed, 29 insertions(+), 9 deletions(-)
create mode 100644 src/cmd/go/testdata/script/gccgo_link_ldflags.txt
diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go
index 94152f4..62e6528 100644
--- a/src/cmd/cgo/out.go
+++ b/src/cmd/cgo/out.go
@@ -47,7 +47,9 @@ func (p *Package) writeDefs() {
fflg := creat(*objDir + "_cgo_flags")
for k, v := range p.CgoFlags {
- fmt.Fprintf(fflg, "_CGO_%s=%s\n", k, strings.Join(v, " "))
+ for _, arg := range v {
+ fmt.Fprintf(fflg, "_CGO_%s=%s\n", k, arg)
+ }
if k == "LDFLAGS" && !*gccgo {
for _, arg := range v {
fmt.Fprintf(fgo2, "//go:cgo_ldflag %q\n", arg)
diff --git a/src/cmd/go/internal/work/gccgo.go b/src/cmd/go/internal/work/gccgo.go
index 1499536..bb4be2f 100644
--- a/src/cmd/go/internal/work/gccgo.go
+++ b/src/cmd/go/internal/work/gccgo.go
@@ -283,14 +283,12 @@ func (tools gccgoToolchain) link(b *Builder, root *Action, out, importcfg string
const ldflagsPrefix = "_CGO_LDFLAGS="
for _, line := range strings.Split(string(flags), "\n") {
if strings.HasPrefix(line, ldflagsPrefix) {
- newFlags := strings.Fields(line[len(ldflagsPrefix):])
- for _, flag := range newFlags {
- // Every _cgo_flags file has -g and -O2 in _CGO_LDFLAGS
- // but they don't mean anything to the linker so filter
- // them out.
- if flag != "-g" && !strings.HasPrefix(flag, "-O") {
- cgoldflags = append(cgoldflags, flag)
- }
+ flag := line[len(ldflagsPrefix):]
+ // Every _cgo_flags file has -g and -O2 in _CGO_LDFLAGS
+ // but they don't mean anything to the linker so filter
+ // them out.
+ if flag != "-g" && !strings.HasPrefix(flag, "-O") {
+ cgoldflags = append(cgoldflags, flag)
}
}
}
diff --git a/src/cmd/go/testdata/script/gccgo_link_ldflags.txt b/src/cmd/go/testdata/script/gccgo_link_ldflags.txt
new file mode 100644
index 0000000..4e91ae5
--- /dev/null
+++ b/src/cmd/go/testdata/script/gccgo_link_ldflags.txt
@@ -0,0 +1,20 @@
+# Test that #cgo LDFLAGS are properly quoted.
+# The #cgo LDFLAGS below should pass a string with spaces to -L,
+# as though searching a directory with a space in its name.
+# It should not pass --nosuchoption to the external linker.
+
+[!cgo] skip
+
+go build
+
+[!exec:gccgo] skip
+
+go build -compiler gccgo
+
+-- go.mod --
+module m
+-- cgo.go --
+package main
+// #cgo LDFLAGS: -L "./ -Wl,--nosuchoption"
+import "C"
+func main() {}
--
2.40.0

View File

@@ -0,0 +1,252 @@
From 0f717b5f7d32bb660c01ec0366bd53c9b4c5ab5d Mon Sep 17 00:00:00 2001
From: Michael Matloob <matloob@golang.org>
Date: Mon, 24 Apr 2023 16:57:28 -0400
Subject: [PATCH 1/2] cmd/go: sanitize go env outputs
go env, without any arguments, outputs the environment variables in
the form of a script that can be run on the host OS. On Unix, single
quote the strings and place single quotes themselves outside the
single quoted strings. On windows use the set "var=val" syntax with
the quote starting before the variable.
Fixes #58508
Change-Id: Iecd379a4af7285ea9b2024f0202250c74fd9a2bd
Reviewed-on: https://go-review.googlesource.com/c/go/+/488375
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
Run-TryBot: Michael Matloob <matloob@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
Reviewed-by: Quim Muntal <quimmuntal@gmail.com>
CVE: CVE-2023-24531
Upstream-Status: Backport [f379e78951a405e7e99a60fb231eeedbf976c108]
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
src/cmd/go/internal/envcmd/env.go | 60 ++++++++++++-
src/cmd/go/internal/envcmd/env_test.go | 94 +++++++++++++++++++++
src/cmd/go/testdata/script/env_sanitize.txt | 5 ++
3 files changed, 157 insertions(+), 2 deletions(-)
create mode 100644 src/cmd/go/internal/envcmd/env_test.go
create mode 100644 src/cmd/go/testdata/script/env_sanitize.txt
diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
index 43b94e7..0ce8843 100644
--- a/src/cmd/go/internal/envcmd/env.go
+++ b/src/cmd/go/internal/envcmd/env.go
@@ -6,6 +6,7 @@
package envcmd
import (
+ "bytes"
"context"
"encoding/json"
"fmt"
@@ -17,6 +18,7 @@ import (
"runtime"
"sort"
"strings"
+ "unicode"
"unicode/utf8"
"cmd/go/internal/base"
@@ -379,9 +381,12 @@ func checkBuildConfig(add map[string]string, del map[string]bool) error {
func PrintEnv(w io.Writer, env []cfg.EnvVar) {
for _, e := range env {
if e.Name != "TERM" {
+ if runtime.GOOS != "plan9" && bytes.Contains([]byte(e.Value), []byte{0}) {
+ base.Fatalf("go: internal error: encountered null byte in environment variable %s on non-plan9 platform", e.Name)
+ }
switch runtime.GOOS {
default:
- fmt.Fprintf(w, "%s=\"%s\"\n", e.Name, e.Value)
+ fmt.Fprintf(w, "%s=%s\n", e.Name, shellQuote(e.Value))
case "plan9":
if strings.IndexByte(e.Value, '\x00') < 0 {
fmt.Fprintf(w, "%s='%s'\n", e.Name, strings.ReplaceAll(e.Value, "'", "''"))
@@ -392,17 +397,68 @@ func PrintEnv(w io.Writer, env []cfg.EnvVar) {
if x > 0 {
fmt.Fprintf(w, " ")
}
+ // TODO(#59979): Does this need to be quoted like above?
fmt.Fprintf(w, "%s", s)
}
fmt.Fprintf(w, ")\n")
}
case "windows":
- fmt.Fprintf(w, "set %s=%s\n", e.Name, e.Value)
+ if hasNonGraphic(e.Value) {
+ base.Errorf("go: stripping unprintable or unescapable characters from %%%q%%", e.Name)
+ }
+ fmt.Fprintf(w, "set %s=%s\n", e.Name, batchEscape(e.Value))
}
}
}
}
+func hasNonGraphic(s string) bool {
+ for _, c := range []byte(s) {
+ if c == '\r' || c == '\n' || (!unicode.IsGraphic(rune(c)) && !unicode.IsSpace(rune(c))) {
+ return true
+ }
+ }
+ return false
+}
+
+func shellQuote(s string) string {
+ var b bytes.Buffer
+ b.WriteByte('\'')
+ for _, x := range []byte(s) {
+ if x == '\'' {
+ // Close the single quoted string, add an escaped single quote,
+ // and start another single quoted string.
+ b.WriteString(`'\''`)
+ } else {
+ b.WriteByte(x)
+ }
+ }
+ b.WriteByte('\'')
+ return b.String()
+}
+
+func batchEscape(s string) string {
+ var b bytes.Buffer
+ for _, x := range []byte(s) {
+ if x == '\r' || x == '\n' || (!unicode.IsGraphic(rune(x)) && !unicode.IsSpace(rune(x))) {
+ b.WriteRune(unicode.ReplacementChar)
+ continue
+ }
+ switch x {
+ case '%':
+ b.WriteString("%%")
+ case '<', '>', '|', '&', '^':
+ // These are special characters that need to be escaped with ^. See
+ // https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/set_1.
+ b.WriteByte('^')
+ b.WriteByte(x)
+ default:
+ b.WriteByte(x)
+ }
+ }
+ return b.String()
+}
+
func printEnvAsJSON(env []cfg.EnvVar) {
m := make(map[string]string)
for _, e := range env {
diff --git a/src/cmd/go/internal/envcmd/env_test.go b/src/cmd/go/internal/envcmd/env_test.go
new file mode 100644
index 0000000..32d99fd
--- /dev/null
+++ b/src/cmd/go/internal/envcmd/env_test.go
@@ -0,0 +1,94 @@
+// Copyright 2022 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build unix || windows
+
+package envcmd
+
+import (
+ "bytes"
+ "cmd/go/internal/cfg"
+ "fmt"
+ "internal/testenv"
+ "os"
+ "os/exec"
+ "path/filepath"
+ "runtime"
+ "testing"
+ "unicode"
+)
+
+func FuzzPrintEnvEscape(f *testing.F) {
+ f.Add(`$(echo 'cc"'; echo 'OOPS="oops')`)
+ f.Add("$(echo shell expansion 1>&2)")
+ f.Add("''")
+ f.Add(`C:\"Program Files"\`)
+ f.Add(`\\"Quoted Host"\\share`)
+ f.Add("\xfb")
+ f.Add("0")
+ f.Add("")
+ f.Add("''''''''")
+ f.Add("\r")
+ f.Add("\n")
+ f.Add("E,%")
+ f.Fuzz(func(t *testing.T, s string) {
+ t.Parallel()
+
+ for _, c := range []byte(s) {
+ if c == 0 {
+ t.Skipf("skipping %q: contains a null byte. Null bytes can't occur in the environment"+
+ " outside of Plan 9, which has different code path than Windows and Unix that this test"+
+ " isn't testing.", s)
+ }
+ if c > unicode.MaxASCII {
+ t.Skipf("skipping %#q: contains a non-ASCII character %q", s, c)
+ }
+ if !unicode.IsGraphic(rune(c)) && !unicode.IsSpace(rune(c)) {
+ t.Skipf("skipping %#q: contains non-graphic character %q", s, c)
+ }
+ if runtime.GOOS == "windows" && c == '\r' || c == '\n' {
+ t.Skipf("skipping %#q on Windows: contains unescapable character %q", s, c)
+ }
+ }
+
+ var b bytes.Buffer
+ if runtime.GOOS == "windows" {
+ b.WriteString("@echo off\n")
+ }
+ PrintEnv(&b, []cfg.EnvVar{{Name: "var", Value: s}})
+ var want string
+ if runtime.GOOS == "windows" {
+ fmt.Fprintf(&b, "echo \"%%var%%\"\n")
+ want += "\"" + s + "\"\r\n"
+ } else {
+ fmt.Fprintf(&b, "printf '%%s\\n' \"$var\"\n")
+ want += s + "\n"
+ }
+ scriptfilename := "script.sh"
+ if runtime.GOOS == "windows" {
+ scriptfilename = "script.bat"
+ }
+ scriptfile := filepath.Join(t.TempDir(), scriptfilename)
+ if err := os.WriteFile(scriptfile, b.Bytes(), 0777); err != nil {
+ t.Fatal(err)
+ }
+ t.Log(b.String())
+ var cmd *exec.Cmd
+ if runtime.GOOS == "windows" {
+ cmd = testenv.Command(t, "cmd.exe", "/C", scriptfile)
+ } else {
+ cmd = testenv.Command(t, "sh", "-c", scriptfile)
+ }
+ out, err := cmd.Output()
+ t.Log(string(out))
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if string(out) != want {
+ t.Fatalf("output of running PrintEnv script and echoing variable: got: %q, want: %q",
+ string(out), want)
+ }
+ })
+}
diff --git a/src/cmd/go/testdata/script/env_sanitize.txt b/src/cmd/go/testdata/script/env_sanitize.txt
new file mode 100644
index 0000000..cc4d23a
--- /dev/null
+++ b/src/cmd/go/testdata/script/env_sanitize.txt
@@ -0,0 +1,5 @@
+env GOFLAGS='$(echo ''cc"''; echo ''OOPS="oops'')'
+go env
+[GOOS:darwin] stdout 'GOFLAGS=''\$\(echo ''\\''''cc"''\\''''; echo ''\\''''OOPS="oops''\\''''\)'''
+[GOOS:linux] stdout 'GOFLAGS=''\$\(echo ''\\''''cc"''\\''''; echo ''\\''''OOPS="oops''\\''''\)'''
+[GOOS:windows] stdout 'set GOFLAGS=\$\(echo ''cc"''; echo ''OOPS="oops''\)'
--
2.35.5

View File

@@ -0,0 +1,47 @@
From b2624f973692ca093348395c2418d1c422f2a162 Mon Sep 17 00:00:00 2001
From: miller <millerresearch@gmail.com>
Date: Mon, 8 May 2023 16:56:21 +0100
Subject: [PATCH 2/2] cmd/go: quote entries in list-valued variables for go env
in plan9
When 'go env' without an argument prints environment variables as
a script which can be executed by the shell, variables with a
list value in Plan 9 (such as GOPATH) need to be printed with each
element enclosed in single quotes in case it contains characters
significant to the Plan 9 shell (such as ' ' or '=').
For #58508
Change-Id: Ia30f51307cc6d07a7e3ada6bf9d60bf9951982ff
Reviewed-on: https://go-review.googlesource.com/c/go/+/493535
Run-TryBot: Cherry Mui <cherryyz@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Russ Cox <rsc@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
CVE: CVE-2023-24531
Upstream-Status: Backport [05cc9e55876874462a4726ca0101c970838c80e5]
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
src/cmd/go/internal/envcmd/env.go | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
index 0ce8843..b48d0bd 100644
--- a/src/cmd/go/internal/envcmd/env.go
+++ b/src/cmd/go/internal/envcmd/env.go
@@ -397,8 +397,7 @@ func PrintEnv(w io.Writer, env []cfg.EnvVar) {
if x > 0 {
fmt.Fprintf(w, " ")
}
- // TODO(#59979): Does this need to be quoted like above?
- fmt.Fprintf(w, "%s", s)
+ fmt.Fprintf(w, "'%s'", strings.ReplaceAll(s, "'", "''"))
}
fmt.Fprintf(w, ")\n")
}
--
2.35.5

View File

@@ -29,3 +29,6 @@ do_install() {
}
BBCLASSEXTEND = "native nativesdk"
# This is a different Ninja
CVE_CHECK_IGNORE += "CVE-2021-4336"

View File

@@ -0,0 +1,215 @@
From 77f557ef84698efeb6eed04e4a9704eaf85b741d
From: Stig Palmquist <git@stig.io>
Date: Mon Jun 5 16:46:22 2023 +0200
Subject: [PATCH] Change verify_SSL default to 1, add ENV var to enable
insecure default - Changes the `verify_SSL` default parameter from `0` to `1`
Based on patch by Dominic Hargreaves:
https://salsa.debian.org/perl-team/interpreter/perl/-/commit/1490431e40e22052f75a0b3449f1f53cbd27ba92
CVE: CVE-2023-31486
- Add check for `$ENV{PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT}` that
enables the previous insecure default behaviour if set to `1`.
This provides a workaround for users who encounter problems with the
new `verify_SSL` default.
Example to disable certificate checks:
```
$ PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT=1 ./script.pl
```
- Updates to documentation:
- Describe changing the verify_SSL value
- Describe the escape-hatch environment variable
- Remove rationale for not enabling verify_SSL
- Add missing certificate search paths
- Replace "SSL" with "TLS/SSL" where appropriate
- Use "machine-in-the-middle" instead of "man-in-the-middle"
Upstream-Status: Backport [https://github.com/chansen/p5-http-tiny/commit/77f557ef84698efeb6eed04e4a9704eaf85b741d]
Signed-off-by: Soumya <soumya.sambu@windriver.com>
---
cpan/HTTP-Tiny/lib/HTTP/Tiny.pm | 86 ++++++++++++++++++++++-----------
1 file changed, 57 insertions(+), 29 deletions(-)
diff --git a/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm b/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
index 5803e45..1808c41 100644
--- a/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
+++ b/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
@@ -39,10 +39,14 @@ sub _croak { require Carp; Carp::croak(@_) }
#pod C<$ENV{no_proxy}> —)
#pod * C<timeout> — Request timeout in seconds (default is 60) If a socket open,
#pod read or write takes longer than the timeout, an exception is thrown.
-#pod * C<verify_SSL> — A boolean that indicates whether to validate the SSL
-#pod certificate of an C<https> — connection (default is false)
+#pod * C<verify_SSL> — A boolean that indicates whether to validate the TLS/SSL
+#pod certificate of an C<https> — connection (default is true). Changed from false
+#pod to true in version 0.083.
#pod * C<SSL_options> — A hashref of C<SSL_*> — options to pass through to
#pod L<IO::Socket::SSL>
+#pod * C<$ENV{PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT}> - Changes the default
+#pod certificate verification behavior to not check server identity if set to 1.
+#pod Only effective if C<verify_SSL> is not set. Added in version 0.083.
#pod
#pod Passing an explicit C<undef> for C<proxy>, C<http_proxy> or C<https_proxy> will
#pod prevent getting the corresponding proxies from the environment.
@@ -108,11 +112,17 @@ sub timeout {
sub new {
my($class, %args) = @_;
+ # Support lower case verify_ssl argument, but only if verify_SSL is not
+ # true.
+ if ( exists $args{verify_ssl} ) {
+ $args{verify_SSL} ||= $args{verify_ssl};
+ }
+
my $self = {
max_redirect => 5,
timeout => defined $args{timeout} ? $args{timeout} : 60,
keep_alive => 1,
- verify_SSL => $args{verify_SSL} || $args{verify_ssl} || 0, # no verification by default
+ verify_SSL => defined $args{verify_SSL} ? $args{verify_SSL} : _verify_SSL_default(),
no_proxy => $ENV{no_proxy},
};
@@ -131,6 +141,13 @@ sub new {
return $self;
}
+sub _verify_SSL_default {
+ my ($self) = @_;
+ # Check if insecure default certificate verification behaviour has been
+ # changed by the user by setting PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT=1
+ return (($ENV{PERL_HTTP_TINY_INSECURE_BY_DEFAULT} || '') eq '1') ? 0 : 1;
+}
+
sub _set_proxies {
my ($self) = @_;
@@ -1038,7 +1055,7 @@ sub new {
timeout => 60,
max_line_size => 16384,
max_header_lines => 64,
- verify_SSL => 0,
+ verify_SSL => HTTP::Tiny::_verify_SSL_default(),
SSL_options => {},
%args
}, $class;
@@ -2009,11 +2026,11 @@ proxy
timeout
verify_SSL
-=head1 SSL SUPPORT
+=head1 TLS/SSL SUPPORT
Direct C<https> connections are supported only if L<IO::Socket::SSL> 1.56 or
greater and L<Net::SSLeay> 1.49 or greater are installed. An exception will be
-thrown if new enough versions of these modules are not installed or if the SSL
+thrown if new enough versions of these modules are not installed or if the TLS
encryption fails. You can also use C<HTTP::Tiny::can_ssl()> utility function
that returns boolean to see if the required modules are installed.
@@ -2021,7 +2038,7 @@ An C<https> connection may be made via an C<http> proxy that supports the CONNEC
command (i.e. RFC 2817). You may not proxy C<https> via a proxy that itself
requires C<https> to communicate.
-SSL provides two distinct capabilities:
+TLS/SSL provides two distinct capabilities:
=over 4
@@ -2035,24 +2052,17 @@ Verification of server identity
=back
-B<By default, HTTP::Tiny does not verify server identity>.
-
-Server identity verification is controversial and potentially tricky because it
-depends on a (usually paid) third-party Certificate Authority (CA) trust model
-to validate a certificate as legitimate. This discriminates against servers
-with self-signed certificates or certificates signed by free, community-driven
-CA's such as L<CAcert.org|http://cacert.org>.
+B<By default, HTTP::Tiny verifies server identity>.
-By default, HTTP::Tiny does not make any assumptions about your trust model,
-threat level or risk tolerance. It just aims to give you an encrypted channel
-when you need one.
+This was changed in version 0.083 due to security concerns. The previous default
+behavior can be enabled by setting C<$ENV{PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT}>
+to 1.
-Setting the C<verify_SSL> attribute to a true value will make HTTP::Tiny verify
-that an SSL connection has a valid SSL certificate corresponding to the host
-name of the connection and that the SSL certificate has been verified by a CA.
-Assuming you trust the CA, this will protect against a L<man-in-the-middle
-attack|http://en.wikipedia.org/wiki/Man-in-the-middle_attack>. If you are
-concerned about security, you should enable this option.
+Verification is done by checking that that the TLS/SSL connection has a valid
+certificate corresponding to the host name of the connection and that the
+certificate has been verified by a CA. Assuming you trust the CA, this will
+protect against L<machine-in-the-middle
+attacks|http://en.wikipedia.org/wiki/Machine-in-the-middle_attack>.
Certificate verification requires a file containing trusted CA certificates.
@@ -2060,9 +2070,7 @@ If the environment variable C<SSL_CERT_FILE> is present, HTTP::Tiny
will try to find a CA certificate file in that location.
If the L<Mozilla::CA> module is installed, HTTP::Tiny will use the CA file
-included with it as a source of trusted CA's. (This means you trust Mozilla,
-the author of Mozilla::CA, the CPAN mirror where you got Mozilla::CA, the
-toolchain used to install it, and your operating system security, right?)
+included with it as a source of trusted CA's.
If that module is not available, then HTTP::Tiny will search several
system-specific default locations for a CA certificate file:
@@ -2081,13 +2089,33 @@ system-specific default locations for a CA certificate file:
/etc/ssl/ca-bundle.pem
+=item *
+
+/etc/openssl/certs/ca-certificates.crt
+
+=item *
+
+/etc/ssl/cert.pem
+
+=item *
+
+/usr/local/share/certs/ca-root-nss.crt
+
+=item *
+
+/etc/pki/tls/cacert.pem
+
+=item *
+
+/etc/certs/ca-certificates.crt
+
=back
An exception will be raised if C<verify_SSL> is true and no CA certificate file
is available.
-If you desire complete control over SSL connections, the C<SSL_options> attribute
-lets you provide a hash reference that will be passed through to
+If you desire complete control over TLS/SSL connections, the C<SSL_options>
+attribute lets you provide a hash reference that will be passed through to
C<IO::Socket::SSL::start_SSL()>, overriding any options set by HTTP::Tiny. For
example, to provide your own trusted CA file:
@@ -2097,7 +2125,7 @@ example, to provide your own trusted CA file:
The C<SSL_options> attribute could also be used for such things as providing a
client certificate for authentication to a server or controlling the choice of
-cipher used for the SSL connection. See L<IO::Socket::SSL> documentation for
+cipher used for the TLS/SSL connection. See L<IO::Socket::SSL> documentation for
details.
=head1 PROXY SUPPORT
--
2.40.0

View File

@@ -0,0 +1,36 @@
From a22785783b17cbaa28afaee4a024d81a1903701d
From: Stig Palmquist <git@stig.io>
Date: Sun Jun 18 11:36:05 2023 +0200
Subject: [PATCH] Fix incorrect env var name for verify_SSL default
The variable to override the verify_SSL default differed slightly in the
documentation from what was checked for in the code.
This commit makes the code use `PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT`
as documented, instead of `PERL_HTTP_TINY_INSECURE_BY_DEFAULT` which was
missing `SSL_`
CVE: CVE-2023-31486
Upstream-Status: Backport [https://github.com/chansen/p5-http-tiny/commit/a22785783b17cbaa28afaee4a024d81a1903701d]
Signed-off-by: Soumya <soumya.sambu@windriver.com>
---
cpan/HTTP-Tiny/lib/HTTP/Tiny.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm b/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
index ebc34a1..65ac8ff 100644
--- a/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
+++ b/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
@@ -148,7 +148,7 @@ sub _verify_SSL_default {
my ($self) = @_;
# Check if insecure default certificate verification behaviour has been
# changed by the user by setting PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT=1
- return (($ENV{PERL_HTTP_TINY_INSECURE_BY_DEFAULT} || '') eq '1') ? 0 : 1;
+ return (($ENV{PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT} || '') eq '1') ? 0 : 1;
}
sub _set_proxies {
--
2.40.0

View File

@@ -19,6 +19,8 @@ SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \
file://0001-cpan-Sys-Syslog-Makefile.PL-Fix-_PATH_LOG-for-determ.patch \
file://0001-Fix-build-with-gcc-12.patch \
file://CVE-2023-31484.patch \
file://CVE-2023-31486-0001.patch \
file://CVE-2023-31486-0002.patch \
"
SRC_URI:append:class-native = " \
file://perl-configpm-switch.patch \

View File

@@ -1,50 +0,0 @@
From 72d356e3584ebfb8e813a8e9f2cd3dccf233c0d9 Mon Sep 17 00:00:00 2001
From: "Miss Islington (bot)"
<31488909+miss-islington@users.noreply.github.com>
Date: Sun, 13 Nov 2022 11:00:25 -0800
Subject: [PATCH] gh-99418: Make urllib.parse.urlparse enforce that a scheme
must begin with an alphabetical ASCII character. (GH-99421)
Prevent urllib.parse.urlparse from accepting schemes that don't begin with an alphabetical ASCII character.
RFC 3986 defines a scheme like this: `scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )`
RFC 2234 defines an ALPHA like this: `ALPHA = %x41-5A / %x61-7A`
The WHATWG URL spec defines a scheme like this:
`"A URL-scheme string must be one ASCII alpha, followed by zero or more of ASCII alphanumeric, U+002B (+), U+002D (-), and U+002E (.)."`
(cherry picked from commit 439b9cfaf43080e91c4ad69f312f21fa098befc7)
Co-authored-by: Ben Kallus <49924171+kenballus@users.noreply.github.com>
--- end original header ---
CVE: CVE-2023-24329
Upstream-Status: Backport [see below]
Taken from https://github.com/python/cpython.git
commit 72d356e3584ebfb8e813a8e9f2cd3dccf233c0d9
CVE fix extracted; test case and update to NEWS abandoned.
Defuzzed.
Signed-off-by: Joe Slater <joe.slater@windriver.com>
---
Lib/urllib/parse.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Lib/urllib/parse.py b/Lib/urllib/parse.py
index 26ddf30..1c53acb 100644
--- a/Lib/urllib/parse.py
+++ b/Lib/urllib/parse.py
@@ -469,7 +469,7 @@ def urlsplit(url, scheme='', allow_fragments=True):
clear_cache()
netloc = query = fragment = ''
i = url.find(':')
- if i > 0:
+ if i > 0 and url[0].isascii() and url[0].isalpha():
for c in url[:i]:
if c not in scheme_chars:
break
--
2.25.1

View File

@@ -32,7 +32,7 @@ def fix_path(dep_path):
dep_path = dep_path[dep_path.find(pivot)+len(pivot):]
if '/usr/bin' in dep_path:
dep_path = dep_path.replace('/usr/bin''${bindir}')
dep_path = dep_path.replace('/usr/bin','${bindir}')
# Handle multilib, is there a better way?
if '/usr/lib32' in dep_path:

View File

@@ -4,7 +4,7 @@ DESCRIPTION = "Python is a programming language that lets you work more quickly
LICENSE = "PSF-2.0"
SECTION = "devel/python"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a1822df8d0f068628ca6090aedc5bfc8"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fcf6b249c2641540219a727f35d8d2c2"
SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
file://run-ptest \
@@ -35,7 +35,6 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
file://0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch \
file://deterministic_imports.patch \
file://0001-Avoid-shebang-overflow-on-python-config.py.patch \
file://cve-2023-24329.patch \
"
SRC_URI:append:class-native = " \
@@ -44,7 +43,7 @@ SRC_URI:append:class-native = " \
file://12-distutils-prefix-is-inside-staging-area.patch \
file://0001-Don-t-search-system-for-headers-libraries.patch \
"
SRC_URI[sha256sum] = "5ae03e308260164baba39921fdb4dbf8e6d03d8235a939d4582b33f0b5e46a83"
SRC_URI[sha256sum] = "afb74bf19130e7a47d10312c8f5e784f24e0527981eab68e20546cfb865830b8"
# exclude pre-releases for both python 2.x and 3.x
UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
@@ -61,6 +60,8 @@ CVE_CHECK_IGNORE += "CVE-2020-15523 CVE-2022-26488"
# The mailcap module is insecure by design, so this can't be fixed in a meaningful way.
# The module will be removed in the future and flaws documented.
CVE_CHECK_IGNORE += "CVE-2015-20107"
# Not an issue, in fact expected behaviour
CVE_CHECK_IGNORE += "CVE-2023-36632"
PYTHON_MAJMIN = "3.10"

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