Compare commits

...

161 Commits

Author SHA1 Message Date
Richard Purdie
424296bf9b build-appliance-image: Update to dunfell head revision
(From OE-Core rev: b885888df67eb5cdb3b82f4f0a07369a449e223b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-25 23:25:40 +00:00
Lee Chee Yang
235dff8227 qemu: fix CVE-2020-24352
(From OE-Core rev: 7610ffec71e20556bde32f00a08c4c5a40cd31ce)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-24 13:17:59 +00:00
Lee Chee Yang
9c5ec3fd7b python3: fix CVE-2020-27619
(From OE-Core rev: 001ee91818642ddac7c1b8e5236baa5c4c542b72)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-24 13:17:59 +00:00
Lee Chee Yang
17d7d64ebe python3: whitelist CVE-2020-15523
This CVE is issue on _Py_CheckPython3 uses uninitialized dllpath when embedder sets module path with Py_SetPath.
Since it is .dll issue (on windows only), hence whitelist it.

https://bugs.python.org/issue29778

(From OE-Core rev: c216431d0704bd8be237e860bbdc32be34a82aee)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-24 13:17:59 +00:00
Lee Chee Yang
4dfddb155e bison: update to 3.5.4 for CVE-2020-14150
Release notes:
https://lists.gnu.org/archive/html/info-gnu/2020-04/msg00000.html

(From OE-Core rev: 6e1647fe60004bd4989a65824f0bf02d37f5aeba)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-24 13:17:59 +00:00
Lee Chee Yang
c0ca5c54fb libproxy: fix CVE-2020-26154
(From OE-Core rev: 9b5ae61015637c1bf790a0700069da9e65bafefc)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-24 13:17:58 +00:00
Mingli Yu
75997e9e80 python3: add ldconfig rdepends for python3-ctypes
The ctypes module needs to use "ldconfig -p" to find the
library path and it simply has below logic if no ldconfig
installed.
  except OSError:
      pass

Before the patch:
  >>> from ctypes.util import find_library
  >>> lib_path = find_library('archive')
  >>> print(lib_path)
  None

After the patch:
  >>> from ctypes.util import find_library
  >>> lib_path = find_library('archive')
  >>> print(lib_path)
  libarchive.so.13

(From OE-Core rev: 84e1a32096db9deb98d282a652beec95dbfe80f1)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ddb96902a124a6e1f035f0fd868b0139989bc1bc)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-22 13:27:37 +00:00
Alexander Kanavin
58bc577ef8 glib-2.0: correct build with latest meson
(From OE-Core rev: b95d8fa49f26d48e821017e555f90887974c89b7)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6a91d2b7d463abfd8f39a9f9d5ddde40a939d6e3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-22 13:27:37 +00:00
Khem Raj
4d2be9145d ptest-runner: Backport patch to fix inappropriate ioctl error
The srcrev bump is actually bring single commit [1] on top of 2.4.0 which fixes ptest
runs with messges like

ERROR: Unable to detach from controlling tty, Inappropriate ioctl for device

[1] https://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/commit/?id=834670317bd3f6e427e1ac461c07ada6b8936dfd

(From OE-Core rev: a724eeeead28cbe7cfb8ffbcf40f6ac29e22ff61)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 791da075619139fa55751f8013c73d2fbf0cf64c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-22 13:27:37 +00:00
Alexander Kanavin
057c7a2a66 ptest-runner: fix upstream version check
(From OE-Core rev: 83e9731584de86662c009201873759d1b1b3c317)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit fd180d21ec907726b2fcd7709b93cb8e464390d5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-22 13:27:37 +00:00
Anibal Limon
4a58a7660c ptest-runner: Bump to 2.4.0
Add support for un ptests in multiple directories, useful in multilib
builds.

Changes,

1e9a845 Add support to specify multiple folder for ptest-runner
287ba30 Makefile: Fix TEST_LDFLAGS gcc cmdline position

[YOCTO #12604]

(From OE-Core rev: bd7de7dd0992e0d7a6cc322a54cf9e69b052acca)

Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1203ee86e3cf4d73f6ba513452717f1c4f78c501)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-22 13:27:37 +00:00
Joshua Watt
a0a4838076 lib/oe/reproducible.py: Fix git HEAD check
The check for a git HEAD still wasn't quite correct because it was using
the .git directory as the current working directory. Instead, it should
be passed as the --git-dir argument when running git. Running `git
rev-parse HEAD` in a .git directory with no HEAD reports 'HEAD' and
exits with success but then 'git log' will fail, which is not what we
want.

(From OE-Core rev: 31f00ec9c6ab5fe74f1ba59f79322497ef8f4dc7)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cdbd47dd7e1657b91b65a0940b7cbf119764240f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-22 13:27:37 +00:00
Joshua Watt
0d4dea0189 lib/oe/reproducible: Fix error when no git HEAD
Fixes an error that occurs when attempting to get the timestamp of the
latest commit when there is no HEAD in the git repository. The easiest
way to trigger this condition is to use the 'subdir=' option when
specifying a 'git://' SRC_URI.

(From OE-Core rev: 02e42107e1c6145c215bfd74fe17fd8abc2db04f)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a64caca5b5dbe4a76acd0b5709b2c3e75b245863)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-22 13:27:37 +00:00
Joshua Watt
9f46c1a1ad classes/reproducible: Move to library code
Moves most of the python code used for dealing with the source date
epoch to library code.

(From OE-Core rev: bb957547fbd3f6670220706642b49fee560c6b75)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a7ede90955bc0c8bec1cbb3cab498ef2583b2f4e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-22 13:27:37 +00:00
Mark Jonas
4cd047d6e3 libbsd: Remove BSD-4-Clause from main package
libbsd contains a multitude of licenses. For (commercial) projects the
3rd clause of the BSD-4-Clause license can be problematic. But only a
few man pages use this license. This means that the main package
containing the binary library itself is not under BSD-4-Clause ruling.

(From OE-Core rev: 5ff745ae91540e1a664647aff7ad5ea8bd39c01f)

Signed-off-by: Mark Jonas <toertel@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9c3e3f83b5fb162d161a7b9773d426418a22c05f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-22 13:27:37 +00:00
Steve Sakoman
5db0cb5e2f poky.conf: Bump version for 3.1.4 release
(From meta-yocto rev: c1c79c1a122b053fb3ce0187b3cc89df1bb3bdd6)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 15:05:32 +00:00
Diego Santa Cruz
eac703a29b freetype: fix CVE-2020-15999, backport from 2.10.4
(From OE-Core rev: b4a92a20a683a74423fd5a833d5c016f63dba2b4)

Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
Steve Sakoman
99d3367dd8 openssh: whitelist CVE-2014-9278
The OpenSSH server, as used in Fedora and Red Hat Enterprise
Linux 7 and when running in a Kerberos environment, allows remote
authenticated users to log in as another user when they are listed
in the .k5users file of that user, which might bypass intended
authentication requirements that would force a local login.

Whitelist the CVE since this issue is Redhat specific.

(From OE-Core rev: 49955248b6011450a8767496783fb9f4738c9a99)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 309132e50d23b1e3f15ef8db1a101166b35f7ca4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
Denys Zagorui
a48175131e binutils: reproducibility: reuse debug-prefix-map for stabs
powerpc 32bit Linux Kernel widely uses .stabs pseudo-op to
produce debugging information in stabs format. Faced an issue
that during Linux Kernel build with Yocto build system for 32bit
powerpc platform resulting vmlinux contains absolute path in
.stabstr section that cannot be remapped with -fdebug-prefix-map
option.

Yocto uses scripts/mkmakefile Linux Kernel build approach that
allows to store all generated files outside of kernel source
tree. With this approach each compilier invocation is performed
with an absolute path to a file that will be compiled and this
absolute path is recorded in init stab. There is no way to remap
this path.

Reuse remap_debug_filename api to make -fdebug-prefix-map flag
aplicable for init stab.

(From OE-Core rev: b90799fd0f38cd013bebadbe5b9c50b4f93e84af)

Signed-off-by: Denys Zagorui <dzagorui@cisco.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
Konrad Weihmann
8148892fee testimage: print results for interrupted runs
When a run is ended by overall timeout, print the already executed
testcases, to provide some hints which testcase might made the
test suite reach global timeout.
Nonetheless make the testrun exit with an error

(From OE-Core rev: aca4b863c2878b31c3cb506b05d1e19ef525e4af)

Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2bcc643195a3b3c66d698fac8b7af037c08545ac)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
Konrad Weihmann
199d43ac1e oeqa/core/context: initialize _run_end_time
with _run_start_time as value. For partial results of interrupted runs,
this info might be otherwise missing for at least one testcase

(From OE-Core rev: 4ebf97e36d9def38fb869cbbbd5ce10f5d2669a3)

Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1c5e8baf57fa2a33b9ef507b11d9ea9acaa77238)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
Konrad Weihmann
51e39a58b4 oeqa/core/context: expose results as variable
register an unittest handler for testresults and expose it as
variable result.
With this even partial results from an interrupted test suite run
can be made available

(From OE-Core rev: 07a3ea1aece5c67d75b60417ee0978cc0e15719a)

Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a97ae47525157871b6c098ffc352293e365a4335)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
akash hadke
81c52d0fab systemd: udev SECLABEL{selinux} crash fix
Adding SECLABEL{selinux}="some value" causes systemd-udev
to crash.
So applied below available patch to fix the issue.

systemd-udev-seclabel-options-crash-fix.patch

Link: 0335d110af.patch
(From OE-Core rev: fde72d75175d2a258e5095addd73d3da0998fc3f)

Signed-off-by: akash hadke <akash.hadke@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
Jose Quaresma
7dbe91c58e gstreamer1.0: warn the user when something is wrong with GstBufferPool
This is not a critical bug fix but it can be usefull in some BSP
with exotic drivers like on nvidia tegra bsp.

(From OE-Core rev: 2237b8a536c8c13ad59d7e93d96f6602881dc4f2)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
Alexander Kanavin
4c90fb0c55 clutter-gst-3.0: do not call out to host gstreamer plugin scanner
This is host contamination and can also fail for all kinds of
reasons when running under usermode qemu.

(From OE-Core rev: a88495acd867ba1268428cebe0d2d6c672d24b38)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit fb60d0920b660dffb346b2212dc6f8ba2a0b9fde)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
Nathan Rossi
20d036e815 diffstat: add nativesdk to BBCLASSEXTEND
The diffstat tool is part of HOSTTOOLS. To support hosts that do not
have it installed with buildtools-tarball it must be enabled for
nativesdk.

(From OE-Core rev: 537847e60b2d0a04a1a15a857201be9f8c2aa9b4)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0ed002422bc46539f1d71ed19ee17358b6691bf0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
Ross Burton
a541594e0a syslinux: add link to upstream discussion in patch
(From OE-Core rev: d3fa8eb74252c1ccaeac761b5ff3d0e9255c5070)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit dfc2b114e9d62f0eee04129009a24a8edb2a8dd1)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
Gratian Crisan
8d40fce484 kernel-module-split.bbclass: identify kernel modconf files as configuration files
Currently the modconf fragments representing the configuration for
kernel modules are written out to appropriate .conf files and added to
the FILES variable. However they are not identified as 'configuration
files' and installing a new version of a kernel module results in a
conflict and a failed installed because the respective .conf file is
already in place from a previous install.

Add the generated .conf files to the CONFFILES variable denoting their
true nature.

(From OE-Core rev: b5a113273dc4c062a4b734a403a3bb4a5e92c8ee)

Signed-off-by: Gratian Crisan <gratian.crisan@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1a70a92d1f1006be115429a4262259c9084f484d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
Richard Purdie
d81bae241c alsa-utils: Fix license to GPLv2 only
Parts of alsa-utils are v2 only, parts are v2 or later. The effect is
the end result is GPLv2 and there seems little value in marking everything
as being a mixture of both. Fix LICENSE to match reality.

(From OE-Core rev: 23f482ba5e6f2b0ab093ad73c4b22978f4bde543)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a9a17a991174b732597e21045763ea851f486a01)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
Richard Purdie
ae875dd834 libdnf: Fix license as it contains 'or later' clause
The license headers are clear that the code is "or later", fix LICENSE
to match.

(From OE-Core rev: f46aac0fb7c4f1777a19720b05cf0eb83f4dd988)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e565e0b908c71ad5106d1c6c73d269b819787e55)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
Richard Purdie
5ff1ab8faa ptest-runner: Fix license as it contains 'or later' clause
The license headers are clear that the code is "or later", fix LICENSE
to match.

(From OE-Core rev: c0d1eb1efad160b7832abd87a168ca547c296d94)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5f0b5cdfcb104ac50222a47652e090ad8770e49f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
Ricardo Salveti
58369db211 dosfstools: add mkfs.vfat to ALTERNATIVE
The mkfs.vfat tool can also be provided by busybox via the CONFIG_MKFS_VFAT
configuration (not enabled by default in OE but can be enabled on
systems avoiding components based on GPLv3).

(From OE-Core rev: 4afa9f08123df819e53b5d9d586f7a34dcde1ef1)

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1227a29974671fd52014deaca7ac859a037cdeb5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-20 10:44:34 +00:00
Steve Sakoman
d3ad6a22db Documenation: Prepared for the 3.1.4 release
(From yocto-docs rev: 8910ac1c7425bf6f3e1309571c620960d4456033)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-13 17:02:36 +00:00
Yongxin Liu
da5ad8a423 grub: clean up CVE patches
Clean up several patches introduced in commit 6732918498 ("grub:fix
several CVEs in grub 2.04").

1) Add CVE tags to individual patches.
2) Rename upstream patches and prefix them with CVE tags.
3) Add description of reference to upstream patch.

(From OE-Core rev: 4f395ad49ef9035954d0fda7b7df14dea18b49a0)

Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bcb8b6719beaf6625e6b703e91958fe8afba5819)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Yongxin Liu
5b716fa8e2 grub: fix several CVEs in grub 2.04
Backport patches from https://git.savannah.gnu.org/git/grub.git
to fix some CVEs. Here is the list.

CVE-2020-14308:
0001-calloc-Make-sure-we-always-have-an-overflow-checking.patch
0002-lvm-Add-LVM-cache-logical-volume-handling.patch
0003-calloc-Use-calloc-at-most-places.patch

CVE-2020-14309, CVE-2020-14310, CVE-2020-14311:
0004-safemath-Add-some-arithmetic-primitives-that-check-f.patch
0005-malloc-Use-overflow-checking-primitives-where-we-do-.patch

CVE-2020-15706:
0006-script-Remove-unused-fields-from-grub_script_functio.patch
0007-script-Avoid-a-use-after-free-when-redefining-a-func.patch

CVE-2020-15707:
0008-linux-Fix-integer-overflows-in-initrd-size-handling.patch

(From OE-Core rev: af52a1f1f3a2ab61fea263c3dd17628f359ec906)

Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 67329184985a03534f11f95e9df5f9fb2305a261)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Chee Yang Lee
59c65998c8 ruby: fix CVE-2020-25613
(From OE-Core rev: 80077479fd687a887cd321fe2e65dfd58edb5832)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Steve Sakoman
33d8059992 netbase: bump PE to purge bogus hash equivalence from autobuilder
(From OE-Core rev: 2c4607edf1c4509ffc4935887388604538552d26)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Steve Sakoman
f5225d4f3a netbase: update SRC_URI to reflect new file name
The netbase_6.1.tar.xz file was removed and replaced with
netbase_6.1_bpo10+1.tar.xz.  File contents are identical except
for the changelog:

$ diff -rup netbase-6.1 netbase-6.1~bpo10+1/
 diff -rup netbase-6.1/debian/changelog netbase-6.1~bpo10+1/debian/changelog
 --- netbase-6.1/debian/changelog	2020-02-16 13:22:04.000000000 -1000
 +++ netbase-6.1~bpo10+1/debian/changelog	2020-08-26 23:10:59.000000000 -1000
 @@ -1,3 +1,9 @@
 +netbase (6.1~bpo10+1) buster-backports; urgency=medium
 +
 +  * Rebuild for buster-backports. (Closes: #969058)
 +
 + -- Arturo Borrero Gonzalez <arturo@debian.org>  Thu, 27 Aug 2020 11:10:59 +0200
 +
  netbase (6.1) unstable; urgency=medium

    * services: added isakmp (500/udp) which was removed by mistake in

[YOCTO #14084]

(From OE-Core rev: ba9a77477a3f278afd8ac8615fb19d187a799dd0)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d8a09c2fcf2f8c91b7e3fea16f5c484e56187bbf)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Alexander Kanavin
feb56671e9 linux-firmware: upgrade 20200817 -> 20201022
License-Update: WHENCE file names updates
(From OE-Core rev: 6d53fe9a67f3d6736e66ef00a01be80aa18b1612)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bca259699d79bb16a6f07afa80f2768f9c62ceec)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Max Krummenacher
a832f84208 linux-firmware: package nvidia firmware
Add packages for the firmware required by the Nvidia chipsets.
Split it in Tegra K1, all other Tegras and desktop GPU packages.

(From OE-Core rev: 0671d049785708044491927ce65ef527d2603639)

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f03b7bc5f164afd9cbb0c2bd3a932bb85d968bf7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Max Krummenacher
1cfd60eb84 linux-firmware: package marvel sdio 8997 firmware
Add package for the firmware required by the Marvell 8997 chipset when
connected over SDIO.

(From OE-Core rev: 37a815399aaa216b1c498dd8b82416c4df471755)

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d8b69d826702db9f5a3482754db8967c924a156d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Neil Armstrong
2cfe59ae3a linux-firmware: add Amlogic VDEC firmware package
Add package for the Amlogic VDEC firmwares.

(From OE-Core rev: 9d30f3ff95ba3461f473903a79a1ca5a334c9a07)

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit aeb014b50433f254ced275711bee940cde9c1c8a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Mingli Yu
7153e26724 update_udev_hwdb: clean hwdb.bin
Steps to reproduce:
echo "IMAGE_INSTALL_append = \" udev-hwdb lib32-udev-hwdb\"" >> conf/local.conf

When install both udev-hwdb and lib32-udev-hwdb as above,
there comes below do_populate_sdk error:
 $ bitbake core-image-sato  -c populate_sdk
 ERROR: Task (/path/core-image-sato.bb:do_populate_sdk) failed with exit code '134'
 NOTE: Tasks Summary: Attempted 5554 tasks of which 0 didn't need to be rerun and 1 failed.

 $ cat /path/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0-r5/pseudo/pseudo.log
 [snip]
 inode mismatch: '/path/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0-r5/sdk/image/usr/local/oecore-x86_64/sysroots/core2-64-poky-linux/lib/udev/hwdb.bin' ino 427383040 in db, 427383042 in request.
 [snip]

It is because both udev-hwdb and lib32-udev-hwdb will generate
${SDK_OUTPUT}/${SDKTARGETSYSROOT}/lib/udev/hwdb.bin during do_populate_sdk
and it triggers pseudo error.

So clean hwdb.bin before generate hwdb.bin to avoid conflict to
fix the above do_populate_sdk error.

(From OE-Core rev: 10413cf013ae5a92ef12f33dab8e67f0bfb0ae25)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c7472925feb53ce92c1799feba2b7a9104e3f38f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Khem Raj
38af949d80 qemuboot.bbclass: Fix a typo
(From OE-Core rev: 04c13fc4670fb0b4675c8e714a9e61c9c8ea60c2)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2b5fb66344432390aa0cc199ad3f9ec2a4da26bb)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Maxime Roussin-Bélanger
cb050b05d6 meta: fix some unresponsive homepages and bugtracker links
remove some extra whitespaces

(From OE-Core rev: 3ac10faff7ef00f68031400e86a6882ce0d5090a)

Signed-off-by: Maxime Roussin-Bélanger <maxime.roussinbelanger@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 32ce3716761165b9df12306249418645724122cc)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Steve Sakoman
9bf3399388 sqlite3: fix CVE-2020-13632
CVE: CVE-2020-13632

Reference: https://nvd.nist.gov/vuln/detail/CVE-2020-13632

(From OE-Core rev: 8d54034bb8e522f9827ec6422b32cbd4e5bf1346)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Steve Sakoman
1a057dcc73 sqlite3: fix CVE-2020-13631
CVE: CVE-2020-13631

Reference: https://nvd.nist.gov/vuln/detail/CVE-2020-13631

(From OE-Core rev: 582f253d6781a006841a436a49c3f7fdddc5bb7b)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Steve Sakoman
0d86d58505 sqlite3: fix CVE-2020-13630
CVE: CVE-2020-13630

Reference: https://nvd.nist.gov/vuln/detail/CVE-2020-13630

(From OE-Core rev: 5780879dec867bdb3c7eeeffb7a958a8b50188a4)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Steve Sakoman
e70374e51d sqlite3: fix CVE-2020-13435
CVE: CVE-2020-13435

Reference: https://nvd.nist.gov/vuln/detail/CVE-2020-13435

(From OE-Core rev: 4780662ebaba0931ac0084d40670d9be93c0da9b)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Steve Sakoman
74d50ba1bd sqlite3: fix CVE-2020-13434
CVE: CVE-2020-13434

Reference: https://nvd.nist.gov/vuln/detail/CVE-2020-13434

(From OE-Core rev: 0338c2eb099532eb3b9a9de038f6b1a757348513)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Chee Yang Lee
aa2f4b2011 bluez5: update to 5.55 to fix CVE-2020-27153
Version 5.55 is a security/bug fix release

Release note:
5a180f2ec9

CVE reference:

https://nvd.nist.gov/vuln/detail/CVE-2020-27153

(From OE-Core rev: 698c0cbf77ebce6b336f823f826aaece0cc9ca32)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c2895e3e4eabca64cbcc8682e72d25026df5e5f0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Joshua Watt
c2e06f2387 jquery: Upgrade 3.4.1 -> 3.5.0 to fix CVE-2020-11022 and CVE-2020-11023
Version 3.5.0 is a security release

Reference:
https://blog.jquery.com/2020/04/10/jquery-3-5-0-released/

The primary purpose of the jquery recipe is to make the diffoscope
output from the autobuilder easier to navigate.

Master branch has been using 3.5.X for some time now so this should
be a safe upgrade.

(From OE-Core rev: 555cfcf53acf5e7ebe64874de33fa696670ce18c)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d0f883c4cbdcf722767b437a69002244be4cf8d9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Mark Jonas
ae202197ed libsdl2: Fix directfb SDL_RenderFillRect
Refactoring of SDL2 internal API has broken SDL_RenderFillRect for
DirectFB. The problem has already been fixed upstream.

(From OE-Core rev: e0201460f7888d220555e84ce2981ff5578114d4)

Signed-off-by: Mark Jonas <toertel@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a7c8dfc1f9beebeb9da7f61b323d85fba82ec1cb)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Mark Jonas
ca81c2a52d libsdl2: Fix directfb syntax error
Build of libsdl2 with directfb is broken due to a spurious '}' and a
missing 'E' since version 2.0.12. The upstream is already fixed.

(From OE-Core rev: f8d552be2e0bceb18ada28d34e962355050d9dae)

Signed-off-by: Mark Jonas <toertel@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8963daba093c3c5e2c60e1e4e057862971b84cb0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Mark Jonas
7a7ce159c6 Map license names PSF and PSFv2 to PSF-2.0
According to SDPX.org "Python License 2.0" is the overall Python
license, which is comprised of several licenses. "Python Software
Foundation License 2.0" is part of the complete Python license, but is
also used independently by some projects.

So far the license names PSF and PSFv2 found in LICENSE are mapped to
to Python-2.0. This patch maps PSF and PSFv2 to PSF-2.0 und thus
corrects the impression that Python-2.0 and PSF-2.0 are synonymous.

(From OE-Core rev: 0898bd34fa79c34704b63d21806d7738af06abb8)

Signed-off-by: Mark Jonas <toertel@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ef89f176d10ee82738aa050282d93b68dd2c4eb5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Mark Jonas
a07f413a83 Add license text for PSF-2.0
(From OE-Core rev: 9f452e54e94d574f55d40b7e028259c3283bdba8)

Signed-off-by: Mark Jonas <toertel@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 37983b3706bda0c466e7e99e1d088089854f5648)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Andrey Zhizhikin
7fd071d829 insane: add GitLab /archive/ tests
Archives produced by GitLab should be avoided in the same way as those
produced by GitHub.

Extend SRC_URI check to include GitLab and inform user that recipe
should be converted to use git protocol.

Link: https://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg73109.html
Link: https://lists.openembedded.org/g/openembedded-core/message/144035
Cc: Martin Jansa <martin.jansa@gmail.com>
(From OE-Core rev: 72f2c45880afbba1745e5e0cbd841d7fd666f374)

Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d76b33c6a8489378a1f5500554367127199ae19d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Yann E. MORIN
b7a3c102b4 recipes-core/busybox: fixup licensing information
Commit 7d32417b4d (busybox: Correct the name of the bzip2 license)
changes the licesne from 'bzip2' to 'bzip2-1.0.6' on the rationale
that the 'bzip2 license was renamed from "bzip2" to "bzip2-1.0.6"
[...] to match the official SPDX identifier.'

Though the above is true for the bzip2 and pbzip2 packages, the bzip2
code bundled in busybox is a copy from the bzip2 1.0.4 version, not the
1.0.6 version.

As such, using bzip2-1.0.6 is wrong.

Unfortunately, there is no official SPDX license identifier for this
bzip2 1.0.4 version, so we just mimick the existing ones (bzip2-1.0.5
and bzip2-1.0.6) by using bzip2-1.0.4.

Also, there is a license file attached to that, so we add it to the
list.

(From OE-Core rev: 61959632cb1ba4f20e6ecf1077e4d95ac1df26c1)

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: Alexandre BELLONI <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6238ee3ecd385cbadd8e75eb8b22a96d9cb13639)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Yann E. MORIN
906f182bf7 common-licenses: add bzip2-1.0.4
The bzip2 license changes with each version; the changes are subtle, but
that makes it a different license everytime:
  - copyright year
  - authorship identification and address
  - version of the release
  - date of the release

Although we currently only have bzip2 and pbzip2 packages, we're going
to need this license for busybox, which uses code from bzip2-1.0.4.

Add it, as copied from the upstream bzip2 git tree at tag 'bzip2-1.0.4'
(commit f10a33538e9bab6deb61779b3d8aae168824ef48).

(From OE-Core rev: d395630a026c16f47541082c8e1279492cfd95be)

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Khem Raj <raj.khem@gmail.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f303c31b813f371737c9a9d7a93e9f920f84e75a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Changqing Li
f98d1ec4b5 timezone: upgrade to 2020d
(From OE-Core rev: e40068578ec403df84527cd4ac7acd336cce6a08)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 365787658cffc3b2dedb88db311a33012be9d70d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Richard Purdie
5d3de28c9d sstatesig: Log timestamps for hashequiv in reprodubile builds for do_package
Currently if a task generates the same output with different timestamps,
hasequiv won't detect it but reproducibile builds will fail tests due
to the different timestamps.

Add do_package timestamps to the hash when reproducibile builds are enabled
to avoid this.

(From OE-Core rev: cda769ed7c120edd7db0ff77e34fa1aa611a3082)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 11e8200ccec765ff6a4263e06512e5751eca261a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Martin Jansa
2bb40f8c23 Revert "lib/oe/patch: fix handling of patches with no header"
* This reverts commit d9971f5dc8eb7de551fd6f5e058fd24770ef5d78.

* With the missing Subject line fixed in GitApplyTree.prepareCommit()
  we should be able to revert, the fix which was trying to help it by
  parsing GitApplyTree.patch_line_prefix ("%% original patch:") also
  from Subject line, now GitApplyTree.patch_line_prefix should always
  end on separate line which is then skipped when copying the lines to
  resulting patch, see original commit message from Paul:

    lib/oe/patch: fix handling of patches with no header

    If a patch applied by a recipe has no header and we turn the recipe's
    source into a git tree (when PATCHTOOL = "git" or when using devtool
    extract / modify / upgrade), the commit message ends up consisting only
    of the original filename marker ("%% original patch: filename.patch").
    When we come to do turn the commits back into a set of patches in
    extractPatches(), this first line ends up in the "Subject: " part of
    the file, but we were ignoring it because the line didn't start with the
    marker text. The end result was we weren't able to get the original
    patch name. Strip off any "Subject [PATCH x/y]" part before looking for
    the marker text to fix.

    This caused "devtool modify openssl" followed by "devtool update-recipe
    openssl" (without any changes in-between) to remove version-script.patch
    because that patch has no header and we weren't able to determine the
    original filename.

(From OE-Core rev: 419d45ad6a72c6e296e27f9ae36ddf2a45671bfe)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Martin Jansa
0fefc17507 lib/oe/patch: GitApplyTree: save 1 echo in commit-msg hook
* also remove the extra blank lines which is often added to patches
  when refreshed with devtool (GitApplyTree.patch_line_prefix lines
  are ignored when refreshing .patch files, but newly added blank
  lines aren't - the leading blank line wasneeded for patches with
  just the subject line (to prevent the GitApplyTree.patch_line_prefix
  line ending appended to the commit summary), but we can add it
  in prepareCommit instead

(From OE-Core rev: bbd467c393af5fa34a0b92d5461ff0bf427b3933)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Martin Jansa
f79d69a6a6 lib/oe/patch: prevent applying patches without any subject
* this was discovered with
  $ devtool finish --force-patch-refresh
  where it was removing some patches and replacing them with
  patch in filename called "patch:"

  e.g. this .patch file:
  311067d2d8/dynamic-layers/rust-layer/recipes-browser/firefox/firefox/fixes/fix-camera-permission-dialg-doesnot-close.patch
  confuses devtool which results to create new .patch file called "patch:"

  $ devtool finish --force-patch-refresh firefox meta-browser
  NOTE: Starting bitbake server...
  WARNING: Host distribution "ubuntu-20.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
  Loading cache: 100% |###################################################################################################################################################################################################################################| Time: 0:00:00
  Loaded 2480 entries from dependency cache.
  Parsing recipes: 100% |#################################################################################################################################################################################################################################| Time: 0:00:00
  Parsing of 1718 .bb files complete (1717 cached, 1 parsed). 2480 targets, 68 skipped, 0 masked, 0 errors.

  Summary: There was 1 WARNING message shown.
  INFO: Updating patch 0001-Bug-1554949-Fix-WebRTC-build-failure-with-newer-linu.patch
  ...
  INFO: Updating patch pre-generated-old-configure.patch
  INFO: Adding new patch patch:
  INFO: Updating recipe firefox_68.0esr.bb
  INFO: Removing file /OE/build/test-oe-build-time/poky/meta-browser/dynamic-layers/rust-layer/recipes-browser/firefox/firefox/fixes/fix-camera-permission-dialg-doesnot-close.patch
  INFO: Cleaning sysroot for recipe firefox...
  INFO: Leaving source tree /OE/build/test-oe-build-time/poky/build/workspace/sources/firefox as-is; if you no longer need it then please delete it manually

  this looked like incorrect parsing of the git format-patch
  files exported from workspace/sources (the git format-patch
  version of fix-camera-permission-dialg-doesnot-close.patch
  starts like this:

  $ head 0008-original-patch-fix-camera-permission-dialg-doesnot-c.patch
  From 37dfa11961b48024bedcfb9336f49107c9535638 Mon Sep 17 00:00:00 2001
  From: Takuro Ashie <ashie@clear-code.com>
  Date: Mon, 20 Aug 2018 10:16:20 +0900
  Subject: [PATCH 08/34] %% original patch:
   fix-camera-permission-dialg-doesnot-close.patch

  so first I've modified GitApplyTree.extractPatches() to be able to
  parse the original patch name correctly even in this case where subject
  is wrapped, but then it still wasn't right, because we ended with
  correctly named .patch file, but all we could use for Subject line
  was the name of the original .patch file (instead of the Subject
  from metadata commit which introduced this .patch files as some other
  .patch files get when refreshed with devtool.

  In the end the issue happens even sooner in GitApplyTree.prepareCommit()
  where it correctly found the Subject from metadata commit, but then
  didn't apply it when there weren't any other outlines from patch headers.

(From OE-Core rev: f4349c395749c30e70587fc276913530e518836b)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Richard Leitner
75e33acd40 xcb-proto: backport fix for python gcd function
This backports the fix [1] for the following build error for nativesdk on
Fedora 33 which is caused by the removal of fractions.gcd() in favor of
math.gcd() in python 3.9 [2]:

ImportError: cannot import name 'gcd' from 'fractions' (/usr/lib64/python3.9/fractions.py)

[1] 426ae35bee
[2] https://bugs.python.org/issue39350

(From OE-Core rev: 0f688c1419b1e2dfddff3c985f89a3f1949fc9fb)

Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-12 13:07:52 +00:00
Alexander Kanavin
40e448301e nasm: update 2.14.02 -> 2.15.03 for CVE fixes
Fixes:

CVE-2018-16517: nasm-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2018-16517
CVE-2019-20334: nasm-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-20334
CVE-2019-6290: nasm-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-6290
CVE-2019-6291: nasm-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-6291
CVE-2019-8343: nasm-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-8343

Remove backported patches, rebase the rest.

Switch to using (mostly) standard autotools build.

(From OE-Core rev: 5f644082fc3c2bbd89b898d5ca7cd4414cda4a64)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4d13e2713efd5f6cbdc6cf1f86edd0b336ba3ba2)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-03 08:19:34 +00:00
Steve Sakoman
a34ac11f38 qemu: fix CVE-2019-20175
CVE: CVE-2019-20175

(From OE-Core rev: dc91e39e6a5c117a2fec7afc2bab683ff0ab096a)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-03 08:19:34 +00:00
Ross Burton
7fa8250827 glib-2.0: fix parsing of slim encoded tzdata
As of tzcode 2020b the timezone data is encoded using the 'slim' format
instead of the previous 'fat'.  This exposes a number of bugs in GLib,
so backport the fixes to improve the parser.

[ YOCTO #14106 ]

(From OE-Core rev: 8a367cbbf092339a8c82c680a2565567b594b6c6)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:20 +00:00
Jose Quaresma
5c4af66278 gst-validate: Update 1.16.2 -> Update 1.16.3
(From OE-Core rev: d0dd153b0ab3da27985a47db8cdb4e26f94b893d)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:20 +00:00
Jose Quaresma
efd0dcee46 gstreamer1.0-python: Update 1.16.2 -> Update 1.16.3
(From OE-Core rev: 5e93456e8e03d457173d7b07ba030b86d50b7335)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:20 +00:00
Jose Quaresma
b50bd0dbd5 gstreamer1.0-omx: Update 1.16.2 -> Update 1.16.3
(From OE-Core rev: 559751de088c4632a37950b220b33dc207ce4900)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:20 +00:00
Jose Quaresma
f2adc7b021 gstreamer1.0-rtsp-server: Update 1.16.2 -> Update 1.16.3
(From OE-Core rev: 9cc8c658239c664221ffbde7391feb6122a200e8)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:20 +00:00
Jose Quaresma
0cd9726530 gstreamer1.0-vaapi: Update 1.16.2 -> Update 1.16.3
(From OE-Core rev: 38954536906616663b446cb5074c2db2bf3246f0)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:20 +00:00
Jose Quaresma
a85e744aa0 gstreamer1.0-libav: Update 1.16.2 -> Update 1.16.3
(From OE-Core rev: cc27832fb7fb88ed9c97da742b54eaff760f0018)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:20 +00:00
Jose Quaresma
89bb085978 gstreamer1.0-plugins-ugly: Update 1.16.2 -> Update 1.16.3
(From OE-Core rev: cb759c9a077ae8e4c4a5e8235b7b86bd5304ed23)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:20 +00:00
Jose Quaresma
4fda9ef1df gstreamer1.0-plugins-bad: Update 1.16.2 -> Update 1.16.3
(From OE-Core rev: 8ef5803a8591ab2104d35f5d3143c9b43b6a741a)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:20 +00:00
Jose Quaresma
043a1afeec gstreamer1.0-plugins-good: Update 1.16.2 -> Update 1.16.3
(From OE-Core rev: ae0f8a8895de9731e8506e4a84e9f7a3957c6c47)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:20 +00:00
Jose Quaresma
ec879c96b1 gstreamer1.0-plugins-base: Update 1.16.2 -> Update 1.16.3
(From OE-Core rev: 595625b70908dd28ae4f8b16a9a9756d2b3729f3)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:20 +00:00
Jose Quaresma
363cb3c752 gstreamer1.0: Update 1.16.2 -> Update 1.16.3
(From OE-Core rev: d7e74eb1e3ae859f917cf19d7594ba08a76596ea)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:20 +00:00
Jose Quaresma
24438d0954 gstreamer1.0: Fix reproducibility issue around libcap
Currently gstreamer configuration depends libcap and on whether
setcap is found on the host system.

Removing libcap from DEPENDS and only use it when the 'setcap' is enabled.

    * 0004-capfix.patch
      Removed as the same goals can be achieved only with the PACKAGECONFIG 'setcap'

(From OE-Core rev: 62ecf9737c31f0128096a4c70417bca1778c73ed)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:20 +00:00
Lee Chee Yang
d548397dd0 ffmpeg: fix CVE-2020-12284
(From OE-Core rev: 326541919ba0d0e5a0c00cbda7dd6308230ff719)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:20 +00:00
Ross Burton
f3be15a8a0 gcc: mitigate the Straight-line Speculation attack
Straight-line Speculation is a SPECTRE-like attack on Armv8-A, further
details can be found in the white paper here:

https://developer.arm.com/support/arm-security-updates/speculative-processor-vulnerability/downloads/straight-line-speculation

Backport the GCC patches to mitigate the attack.

CVE: CVE-2020-13844

(From OE-Core rev: 406a1636e1111729e3bb0fe804ef28c8a51c22e3)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:19 +00:00
Richard Purdie
13936f5f35 oeqa: Add sync call to command execution
We previously put a sync call into devtool to try and combat the bitbake
timeout issues on the autobuilder. It isn't enough as the timeouts occur
mid test. They are also occurring on non-devtool tests.

Add in sync calls around command execution instead.

(From OE-Core rev: ed912771ea98c42f61bf927b1ca708650b0bed4c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ceca5ed121e2b54415a7ab3a217882e4ea86923a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 17:23:19 +00:00
Victor Kamensky
e91f098c19 qemu: change TLBs number to 64 in 34Kf mips cpu model
Replace OE private qemu patch with one that got upstreamed
and solves the same problem: increase qemumips CI performance
by increasing number of TLBs in CPU model and reduce need to
run software TLB refill code.

(From OE-Core rev: 89e6fc44a378cb3489376d7193672cdf94c504b6)

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a99dace7463d310688f4098a51316dc0743651e2)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-27 22:42:20 +00:00
Khem Raj
dd6f90da50 packagegroup-core-tools-debug: Disable for rv32/glibc as well
strace for rv32 is not yet ported

(From OE-Core rev: 83787094dfecc1696fe9c23a5daaebc5a010e12b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bec777887e7eed9a12b08231a612aaf19b622614)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-27 22:42:20 +00:00
Alexander Kanavin
2083a3ad07 selftest/virgl: drop the custom 30 sec timeout
This is occasionally reached on the AB; I am not sure if it is due to
host overload, or guest malfunction, but let's use the default 300 sec and
see if it helps.

[YOCTO #14097]

(From OE-Core rev: 4f77fe468f2ad225e2a89b5e3a4c84f0b93dab2a)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 93a0352e2e8539d109f6d3ddc0ed02b3b9256e86)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-27 22:42:20 +00:00
Lee Chee Yang
e4fb573838 grub2: fix CVE-2020-10713
(From OE-Core rev: 0a22c2a37f5971ea472894fcd83044feda807cb1)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-27 22:42:20 +00:00
Lee Chee Yang
002113701a python3: fix CVE-2020-26116
(From OE-Core rev: 2f607a61a820bfbc369f779c3161a339f088d04f)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-27 22:42:20 +00:00
Lee Chee Yang
781175443f libproxy: fix CVE-2020-25219
(From OE-Core rev: f2e07dcf2c8ced2efcb6b67db45b9c5dc5ca5309)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-27 22:42:20 +00:00
Martin Jansa
de51f3e570 siteinfo: Recognize bigendian sh3be and sh4be
* seems to be broken for many years, does someone still use sh3/sh4?

  scripts/tune/log.fake-sh3.sh3eb:
  Parsing recipes...
  ERROR: /OE/build/oe-core/openembedded-core/meta/recipes-devtools/vala/vala_0.48.9.bb: Unable to determine endianness for architecture 'sh3eb'
  ERROR: /OE/build/oe-core/openembedded-core/meta/recipes-devtools/vala/vala_0.48.9.bb: Please add your architecture to siteinfo.bbclass

  scripts/tune/log.fake-sh4.sh4aeb
  scripts/tune/log.fake-sh4.sh4eb:
  Parsing recipes...
  ERROR: /OE/build/oe-core/openembedded-core/meta/recipes-support/vim/vim-tiny_8.2.bb: Unable to determine endianness for architecture 'sh4eb'
  ERROR: /OE/build/oe-core/openembedded-core/meta/recipes-support/vim/vim-tiny_8.2.bb: Please add your architecture to siteinfo.bbclass

(From OE-Core rev: 197b405dd098f6b214837d224f40d33b018b7c16)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1f26495884b8f567aecadc5936651846dfeed3f5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-27 22:42:20 +00:00
Martin Jansa
bb91c33810 siteinfo: Recognize 32bit PPC LE
* since this commit, all powerpc little-endians (both 32bit and 64bit) use "le" suffix:
  commit b6ac40f1cbabb20896bf113568f7735a462ed1a6
  Author: Khem Raj <raj.khem@gmail.com>
  Date:   Sun Dec 29 10:44:03 2019 -0800

    powerpc, powerpc64: Append little-endianness to tune arch

* 64bit variants were already fixed in:
  commit e62cdb9b88b575b5cfcdd65ca558edc237c43b2a
  Author: Khem Raj <raj.khem@gmail.com>
  Date:   Sun Dec 29 10:44:02 2019 -0800

    siteinfo: Recognize 64bit PPC LE

* but 32bit are still failing:
  scripts/tune/log.fake-power5.powerpcle
  scripts/tune/log.fake-power5.powerpcle-nf
  scripts/tune/log.fake-power6.powerpcle
  scripts/tune/log.fake-power6.powerpcle-nf
  scripts/tune/log.fake-power7.powerpcle
  scripts/tune/log.fake-power7.powerpcle-nf
  scripts/tune/log.fake-power9.powerpcle
  scripts/tune/log.fake-power9.powerpcle-nf
  scripts/tune/log.fake-power9.ppcp9le
  scripts/tune/log.fake-ppc476.powerpcle
  scripts/tune/log.fake-ppc476.powerpcle-nf
  scripts/tune/log.fake-ppc603e.powerpcle
  scripts/tune/log.fake-ppc603e.powerpcle-nf
  scripts/tune/log.fake-ppc7400.powerpcle
  scripts/tune/log.fake-ppc7400.powerpcle-nf
  scripts/tune/log.fake-ppce300c2.powerpcle
  scripts/tune/log.fake-ppce300c2.powerpcle-nf
  scripts/tune/log.fake-ppce300c3.powerpcle
  scripts/tune/log.fake-ppce300c3.powerpcle-nf
  scripts/tune/log.fake-ppce500.powerpcle
  scripts/tune/log.fake-ppce500.powerpcle-nf
  scripts/tune/log.fake-ppce500mc.powerpcle
  scripts/tune/log.fake-ppce500mc.powerpcle-nf
  scripts/tune/log.fake-ppce500v2.powerpcle
  scripts/tune/log.fake-ppce500v2.powerpcle-nf
  scripts/tune/log.fake-ppce5500.powerpcle
  scripts/tune/log.fake-ppce5500.powerpcle-nf
  scripts/tune/log.fake-ppce6500.powerpcle
  scripts/tune/log.fake-ppce6500.powerpcle-nf

  Parsing recipes...
  ERROR: /OE/build/oe-core/openembedded-core/meta/recipes-support/debianutils/debianutils_4.11.1.bb: Unable to determine endianness for architecture 'powerpcle'
  ERROR: /OE/build/oe-core/openembedded-core/meta/recipes-support/debianutils/debianutils_4.11.1.bb: Please add your architecture to siteinfo.bbclass
  ...

(From OE-Core rev: 8c602978de9fd57ab19019856ad6cee1065b5c01)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a31436f38da27883b42810adf3066ea498ca4a5d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-27 22:42:20 +00:00
Changqing Li
7bd122dea4 toolchain-shar-extract.sh: don't print useless info
useless info "gcc: command not found" is printed when run
buildtools-extended on system without gcc.

(From OE-Core rev: 1bdaf40c02791fd2c22c19414f554a3c8d26e476)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 289a58ddbbd8bb3f5ae0d3421cfe8e75b60b0fbe)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-27 22:42:19 +00:00
Martin Jansa
3f15d1ae82 tune-riscv.inc: use nf suffix also for TUNE_PKGARCH
* broken since introduction:
  commit 5263b2ebc57fe289d64c74bfb10da39ed7c98828
  Author: Alistair Francis <alistair.francis@wdc.com>
  Date:   Thu Dec 19 13:24:10 2019 -0800

    tune-riscv: Add support for no float

* fixes:
  scripts/tune/log.fake-riscv.riscv32nf:    Error, the PACKAGE_ARCHS variable (all any noarch riscv32nf fake_riscv) for DEFAULTTUNE (riscv32nf) does not contain TUNE_PKGARCH (riscv32).
  scripts/tune/log.fake-riscv.riscv64nf:    Error, the PACKAGE_ARCHS variable (all any noarch riscv64nf fake_riscv) for DEFAULTTUNE (riscv64nf) does not contain TUNE_PKGARCH (riscv64).

(From OE-Core rev: 8d2702b7fe51474764c7392ef6386b8d199b88a6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 58088dce12775e325df8428b750e19616d264464)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-27 22:42:19 +00:00
Martin Jansa
48ad4122e8 tune-ep9312.inc: add t suffix for thumb to PACKAGE_EXTRA_ARCHS_tune-ep9312
* broken since:
  commit 805dd4807d322dc70cef97edd68fdb3142b60fb1
  Author: Andre McCurdy <armccurdy@gmail.com>
  Date:   Fri Aug 23 13:51:36 2019 -0700

    feature-arm-thumb.inc: fix ARM_THUMB_SUFFIX

* since this commit the 't' suffix is set ARM_THUMB_SUFFIX by
  armv4 override (which does apply for ep9312 tune) instead of
  armv4 in TUNE_FEATURES - so the comment in the file was no
  longer correct and ep9312 wasn't usable

* fixes:
  scripts/tune/log.fake-ep9312:    Error, the PACKAGE_ARCHS variable (all any noarch arm armv4 armv4t ep9312 fake_ep9312) for DEFAULTTUNE (ep9312) does not contain TUNE_PKGARCH (ep9312t).

(From OE-Core rev: 6243df4e8daf78c7b5004f9e123894a2d4027392)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f23c7f23c64cbd70d38a01dfda3a4d0809b33bdd)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-27 22:42:19 +00:00
Martin Jansa
475e4e00e7 tune-mips64r6.inc: fix typo in mipsisa64r6-nf
(From OE-Core rev: 5a5abae29fb0538fe92b29b8f708d147f207d3b4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 63cf38058283395eca1324a2c68701218a2a3768)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-27 22:42:19 +00:00
Martin Jansa
61af11fddb arch-mips.inc: remove duplicated mips64el-o32 from PACKAGE_EXTRA_ARCHS_tune-mips64el-o32
* broken since:
  commit ae5073c4abd8935c01d14d3e6395124f815bd10b
  Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
  Date:   Fri Sep 23 15:28:08 2016 +0100

    arch-mips: Add mips64-o32 tunes

* fixes:
  scripts/tune/log.fake-mips-24k.mips64el-o32:    Error, the PACKAGE_ARCHS variable contains duplicates. The following archs are listed more than once: mips64el-o32
  scripts/tune/log.fake-mips32.mips64el-o32:    Error, the PACKAGE_ARCHS variable contains duplicates. The following archs are listed more than once: mips64el-o32
  scripts/tune/log.fake-mips32r2.mips64el-o32:    Error, the PACKAGE_ARCHS variable contains duplicates. The following archs are listed more than once: mips64el-o32
  scripts/tune/log.fake-mips32r6.mips64el-o32:    Error, the PACKAGE_ARCHS variable contains duplicates. The following archs are listed more than once: mips64el-o32
  scripts/tune/log.fake-mips64.mips64el-o32:    Error, the PACKAGE_ARCHS variable contains duplicates. The following archs are listed more than once: mips64el-o32
  scripts/tune/log.fake-mips64r2.mips64el-o32:    Error, the PACKAGE_ARCHS variable contains duplicates. The following archs are listed more than once: mips64el-o32
  scripts/tune/log.fake-mips64r6.mips64el-o32:    Error, the PACKAGE_ARCHS variable contains duplicates. The following archs are listed more than once: mips64el-o32
  scripts/tune/log.fake-mips-74k.mips64el-o32:    Error, the PACKAGE_ARCHS variable contains duplicates. The following archs are listed more than once: mips64el-o32
  scripts/tune/log.fake-octeon.mips64el-o32:    Error, the PACKAGE_ARCHS variable contains duplicates. The following archs are listed more than once: mips64el-o32

(From OE-Core rev: c1bc580dc4b4d0743c3939e3415e3c40d623b799)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f8f07d1249a9a86307c1121edd4df3b64162c61b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-27 22:42:19 +00:00
Martin Jansa
645b47294d arch-armv7a.inc: fix typo
* broken since:
  commit 594f8584268d5179c18512beada2bae4a21325de
  Author: Phil Edworthy <phil.edworthy@renesas.com>
  Date:   Wed Nov 28 10:09:57 2018 +0000

    arch-armv7*.inc: Add Cortex vfpv4-d16 support

    Some ARM Cortex devices have the VFPv4-D16, but no NEON.

* fixes:
  scripts/tune/log.fake-cortexa15.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa15) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa17.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa17) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa32.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa32) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa34.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa34) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa35.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa35) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa53.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa53) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa55.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa55) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa57.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa57) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa57-cortexa53.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa57_cortexa53) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa5.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa5) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa65ae.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa65ae) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa65.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa65) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa72.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa72) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa72-cortexa53.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa72_cortexa53) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa73.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa73) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa73-cortexa35.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa73_cortexa35) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa73-cortexa53.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa73_cortexa53) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa75.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa75) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa75-cortexa55.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa75_cortexa55) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa76ae.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa76ae) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa76.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa76) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa76-cortexa55.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa76_cortexa55) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa77.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa77) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa7.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa7) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa8.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa8) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-cortexa9.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_cortexa9) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-neoversee1.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_neoversee1) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-neoversen1.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_neoversen1) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).
  scripts/tune/log.fake-thunderx.armv7atb-vfpv4d16:    Error, the PACKAGE_ARCHS variable (all any noarch ${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16} fake_thunderx) for DEFAULTTUNE (armv7atb-vfpv4d16) does not contain TUNE_PKGARCH (armv7at2b-vfpv4d16).

(From OE-Core rev: 96efcd0d1271d4f412bf7e59d048e84c0df9d46d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1c01e2b1c68bad89c5c9bba5b731fd5da4435e5b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-27 22:42:19 +00:00
Richard Purdie
88bfe1811e bitbake: tests/fetch: Update upstream master->main branchname transition
(Bitbake rev: 89fc9450abefd682266efcbfa031d1ef115ff1a7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-26 22:18:51 +00:00
Naoki Hayama
2181825a62 uninative: Fix typo in error message
Fix typo in an error message.
s/verson/version/

(From OE-Core rev: 3ee9590f96cb50e93864db768b254773e2ff9465)

Signed-off-by: Naoki Hayama <naoki.hayama@lineo.co.jp>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bc96db2e0b5b8a9cc2c909ea70df290e03a50b94)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-22 12:16:42 +01:00
Yoann Congal
cb186c76b9 bitbake-bblayers/create: Make the example recipe print its message
The example recipe is setup to print a message using bb.plain() in the
"do_build" task but this task is "noexec" so the message never prints.
This might be confusing.

This moves the message printing into another "do_display_banner" task
and add it to the do_build "before" list.

(From OE-Core rev: 2387f968b8dd90de9f0907ee571ec6207ffa9a19)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 252385bef9b226f32691b8513869ea3e41813b40)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-22 12:16:42 +01:00
Richard Purdie
7a2bbca3da oe-build-perf-report: Ensure correct data is shown for multiple branch options
If --branch and --branch2 are the same, there is extra confusing data plotted
onto the graph. Only do that if the branches are actually different.

(From OE-Core rev: e2240d0a93a9a2932506a356315ad6702ecee9b6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c263d810b7eb47ee90f2adeb5ab6decf7332bec2)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-22 12:16:42 +01:00
Richard Purdie
97ac0a2f7c scripts/oe-build-perf-report: Allow operation with no buildstats
If buildstats is missing, avoid a backtrace.

(From OE-Core rev: a518443e6799d56b899536d853282182eff4822a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 23c4b21f947c7aae1303ca6526fc5aaaa9fc7bb8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-22 12:16:41 +01:00
Armin Kuster
080877f37c timezone: update to 2020b
For more info see: https://github.com/eggert/tz/blob/master/NEWS

(From OE-Core rev: 2cf640f9a634fe8ecc061f55252ce015b15a6880)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b19bc7ae71a59673bd725e1de3251667c2026ed5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-22 12:16:41 +01:00
Bruce Ashfield
2aed817e09 linux-yocto/5.4: update to v5.4.69
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    a9518c1aec5b Linux 5.4.69
    9fb8e10b0519 ata: sata_mv, avoid trigerrable BUG_ON
    e11c83520cd0 ata: make qc_prep return ata_completion_errors
    b6e503c0a0ff ata: define AC_ERR_OK
    b4a9fdf062e8 kprobes: Fix compiler warning for !CONFIG_KPROBES_ON_FTRACE
    3d9f39d274ea dm: fix bio splitting and its bio completion order for regular IO
    c9bfb7b4d944 KVM: arm64: Assume write fault on S1PTW permission fault on instruction fetch
    5dcb66f970a8 s390/zcrypt: Fix ZCRYPT_PERDEV_REQCNT ioctl
    4f5260ee0ce3 mm/gup: fix gup_fast with dynamic page table folding
    20a5e4272b65 mm, THP, swap: fix allocating cluster for swapfile by mistake
    198d9f7e905c dmabuf: fix NULL pointer dereference in dma_buf_release()
    aded5dee7fb2 btrfs: fix overflow when copying corrupt csums for a message
    c4ab0a837093 kprobes: tracing/kprobes: Fix to kill kprobes on initmem after boot
    3995f7a60fec kprobes: Fix to check probe enabled before disarm_kprobe_ftrace()
    31efa3b5b592 s390/dasd: Fix zero write for FBA devices
    e92c490f1049 tracing: fix double free
    f05f667f8764 lib/string.c: implement stpcpy
    26a6452b27ec ALSA: hda/realtek: Enable front panel headset LED on Lenovo ThinkStation P520
    2a2ae4831ff7 ALSA: hda/realtek - Couldn't detect Mic if booting with headset plugged
    86f6af05ffa0 ALSA: usb-audio: Add delay quirk for H570e USB headsets
    4cb7f229823c scsi: lpfc: Fix initial FLOGI failure due to BBSCN not supported
    6890a6f5665f x86/ioapic: Unbreak check_timer()
    361a4b17e88d arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback
    fe932d4c9ea2 mm: validate pmd after splitting
    5d4431c9de06 KVM: SVM: Add a dedicated INVD intercept routine
    16788dc19fa1 KVM: x86: Reset MMU context if guest toggles CR4.SMAP or CR4.PKE
    87f7a4910e57 regulator: axp20x: fix LDO2/4 description
    5c58104841fe MIPS: Add the missing 'CPU_1074K' into __get_cpu_type()
    283a3234550c regmap: fix page selection for noinc writes
    47fef0ebc150 regmap: fix page selection for noinc reads
    a8cebb4a5931 ALSA: asihpi: fix iounmap in error handler
    83b9a250d774 lib80211: fix unmet direct dependendices config warning when !CRYPTO
    43cdb648e1da bpf: Fix a rcu warning for bpffs map pretty-print
    d9fadccbf25e batman-adv: mcast: fix duplicate mcast packets from BLA backbone to mesh
    5d8774492819 batman-adv: mcast: fix duplicate mcast packets in BLA backbone from mesh
    24e5e941d804 batman-adv: mcast: fix duplicate mcast packets in BLA backbone from LAN
    b0632590cbec nvme-tcp: fix kconfig dependency warning when !CRYPTO
    8c6ba1878a92 batman-adv: Add missing include for in_interrupt()
    248c25e7725a drm/sun4i: sun8i-csc: Secondary CSC register correction
    12bea822dbe6 net: qed: RDMA personality shouldn't fail VF load
    7e74a6d6f99c net: qede: Disable aRFS for NPAR and 100G
    82dfe9c32dea net: qed: Disable aRFS for NPAR and 100G
    f301585195a0 drm/vc4/vc4_hdmi: fill ASoC card owner
    5e77009e33a1 bpf: Fix clobbering of r2 in bpf_gen_ld_abs
    2e1a95f450d8 mac802154: tx: fix use-after-free
    eb5f810e06da netfilter: conntrack: nf_conncount_init is failing with IPv6 disabled
    b6112ff05f5f batman-adv: mcast/TT: fix wrongly dropped or rerouted packets
    5b0a13a03b8b atm: eni: fix the missed pci_disable_device() for eni_init_one()
    e0117ad11b3e batman-adv: bla: fix type misuse for backbone_gw hash indexing
    a63798d53489 mwifiex: Increase AES key storage size to 256 bits
    f43500892470 clocksource/drivers/h8300_timer8: Fix wrong return value in h8300_8timer_init()
    f77f4586bdd7 ieee802154/adf7242: check status of adf7242_read_reg
    22936fa7a295 ieee802154: fix one possible memleak in ca8210_dev_com_init
    d85044145fdd objtool: Fix noreturn detection for ignored functions
    a53d9b3ae9c8 i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()
    65f452b7a2c1 drm/amdgpu/dc: Require primary plane to be enabled whenever the CRTC is
    8c48b7617b7c drm/amd/display: update nv1x stutter latencies
    c48363d19fcb drm/amdkfd: fix a memory leak issue
    b11f2d6b80f4 EDAC/ghes: Check whether the driver is on the safe list correctly
    c7be1f4d4e60 lockdep: fix order in trace_hardirqs_off_caller()
    43d750a0994c s390/init: add missing __init annotations
    fdd60315b931 i2c: aspeed: Mask IRQ status to relevant bits
    66d987b80dc3 RISC-V: Take text_mutex in ftrace_init_nop()
    487e3a1bc9ab ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN Converter9 2-in-1
    4a07fbecfa55 ASoC: wm8994: Ensure the device is resumed in wm89xx_mic_detect functions
    7cdb35fc858f ASoC: wm8994: Skip setting of the WM8994_MICBIAS register for WM1811
    927a024487dc ASoC: pcm3168a: ignore 0 Hz settings
    8ebf2b77d7e5 device_cgroup: Fix RCU list debugging warning
    5b84cd71c1da nvme: explicitly update mpath disk capacity on revalidation
    765f47c425aa net: openvswitch: use div_u64() for 64-by-32 divisions
    caa44b67f4d3 ALSA: hda: Workaround for spurious wakeups on some Intel platforms
    862dd508c6f2 ALSA: hda: Always use jackpoll helper for jack update after resume
    1f160738d9a8 perf parse-events: Use strcmp() to compare the PMU name
    4d8d6f71b60f opp: Increase parsed_static_opps in _of_add_opp_table_v1()
    87e6e1957cf0 mt76: fix LED link time failure
    ca1704f177dc ubi: fastmap: Free unused fastmap anchor peb during detach
    74924e407bf7 scsi: qla2xxx: Retry PLOGI on FC-NVMe PRLI failure
    e1ad5cf63e40 perf tests: Fix test 68 zstd compression for s390
    85c417050fc7 btrfs: qgroup: fix data leak caused by race between writeback and truncate
    af60d80598b3 vfio/pci: fix racy on error and request eventfd ctx
    eb7833e0ee01 selftests/x86/syscall_nt: Clear weird flags after each test
    7292e6e9d82c scsi: libfc: Skip additional kref updating work event
    1e15d5237c1e scsi: libfc: Handling of extra kref
    2ad1397c8815 mac80211: skip mpath lookup also for control port tx
    8bfd43a5180f nvme: fix possible deadlock when I/O is blocked
    8b85da354c74 cifs: Fix double add page to memcg when cifs_readpages
    3bb9b0ad76e5 vfio/pci: Clear error and request eventfd ctx after releasing
    781a4bf652b8 NFS: nfs_xdr_status should record the procedure name
    bc65336acddc x86/speculation/mds: Mark mds_user_clear_cpu_buffers() __always_inline
    c63613b93479 mtd: parser: cmdline: Support MTD names containing one or more colons
    f7b07311ff0f rapidio: avoid data race between file operation callbacks and mport_cdev_add().
    92514a7bb941 mm: memcontrol: fix stat-corrupting race in charge moving
    a9e87c5beeb9 mm/swap_state: fix a data race in swapin_nr_pages
    3e4ca8bf5809 ceph: fix potential race in ceph_check_caps
    dac34dd4efc6 PCI: tegra: Fix runtime PM imbalance on error
    5cddba546a00 mtd: rawnand: omap_elm: Fix runtime PM imbalance on error
    63f600d87b05 mtd: rawnand: gpmi: Fix runtime PM imbalance on error
    ec705f9ffbba wlcore: fix runtime pm imbalance in wlcore_regdomain_config
    a0f8499fba8d wlcore: fix runtime pm imbalance in wl1271_tx_work
    7555bb003417 ASoC: img-i2s-out: Fix runtime PM imbalance on error
    13e1951aa3b8 PCI: tegra194: Fix runtime PM imbalance on error
    7415f52e2e95 perf kcore_copy: Fix module map when there are no modules loaded
    ff793fe02ca8 perf metricgroup: Free metric_events on error
    2076ee4ae512 perf util: Fix memory leak of prefix_if_not_in
    b10dd4b3c104 perf stat: Fix duration_time value for higher intervals
    eddcc70de8da perf trace: Fix the selection for architectures to generate the errno name tables
    feaaa88ffce7 perf evsel: Fix 2 memory leaks
    ad9940e377fd KVM: PPC: Book3S HV: Close race with page faults around memslot flushes
    f9c47a0cc513 vfio/pci: fix memory leaks of eventfd ctx
    bb6e9827da75 gpio: rcar: Fix runtime PM imbalance on error
    1aa9de56d762 btrfs: fix double __endio_write_update_ordered in direct I/O
    b3b21823d68e btrfs: don't force read-only after error in drop snapshot
    859748f8cd8c usb: dwc3: Increase timeout for CmdAct cleared by device controller
    5c7f727e8ad6 printk: handle blank console arguments passed in.
    482466b67d87 drm/nouveau/dispnv50: fix runtime pm imbalance on error
    bd39447bad06 drm/nouveau: fix runtime pm imbalance on error
    f6331bfcccc8 drm/nouveau/debugfs: fix runtime pm imbalance on error
    2477158bfd3e e1000: Do not perform reset in reset_task if we are already down
    62962e08b9c3 drm/amdkfd: fix restore worker race condition
    180e60f154a3 arm64/cpufeature: Drop TraceFilt feature exposure from ID_DFR0 register
    196d14cea6a3 scsi: cxlflash: Fix error return code in cxlflash_probe()
    af02933d59bd arm64: acpi: Make apei_claim_sea() synchronise with APEI's irq work
    502bd98a8e27 coresight: etm4x: Fix use-after-free of per-cpu etm drvdata
    c3fa2949c272 USB: EHCI: ehci-mv: fix less than zero comparison of an unsigned int
    89e6cf1c0ab5 fuse: update attr_version counter on fuse_notify_inval_inode()
    e431e923c8a6 fuse: don't check refcount after stealing page
    55c3e7fac92e svcrdma: Fix backchannel return code
    7c972122cab5 powerpc/traps: Make unrecoverable NMIs die instead of panic
    004cb15b1e4c ipmi:bt-bmc: Fix error handling and status check
    09197d39cab3 drm/exynos: dsi: Remove bridge node reference in error handling path in probe function
    7ce7dd0a6f1d ALSA: hda: Fix potential race in unsol event handler
    942a6ff2146a tty: serial: samsung: Correct clock selection logic
    202ae05859ea tipc: fix memory leak in service subscripting
    97cf50cc4e5c KVM: x86: handle wrap around 32-bit address space
    c7a403d16fd7 USB: EHCI: ehci-mv: fix error handling in mv_ehci_probe()
    3515b56cc0b7 Bluetooth: Handle Inquiry Cancel error after Inquiry Complete
    b5a49bb741e9 phy: samsung: s5pv210-usb2: Add delay after reset
    e3d47125a42c power: supply: max17040: Correct voltage reading
    44a3faa00887 i2c: tegra: Restore pinmux on system resume
    00519f4da8da mm/slub: fix incorrect interpretation of s->offset
    0eb69a66083e perf mem2node: Avoid double free related to realloc
    bd60439f4950 media: venus: vdec: Init registered list unconditionally
    fa7c336dd1c8 atm: fix a memory leak of vcc->user_back
    9325e9e5abf6 devlink: Fix reporter's recovery condition
    4ac87b6af491 dt-bindings: sound: wm8994: Correct required supplies based on actual implementaion
    8ff65ea6c77c dpaa2-eth: fix error return code in setup_dpni()
    527378a0dfd7 sched/fair: Eliminate bandwidth race between throttling and distribution
    8e32fed034ed arm64: cpufeature: Relax checks for AArch32 support at EL[0-2]
    294e26f89163 sparc64: vcc: Fix error return code in vcc_probe()
    f1723949cf81 staging:r8188eu: avoid skb_clone for amsdu to msdu conversion
    b6cee18cba12 scsi: aacraid: Fix error handling paths in aac_probe_one()
    cd6f892ba542 net: openvswitch: use u64 for meter bucket
    545c261f22b4 KVM: arm64: vgic-its: Fix memory leak on the error path of vgic_add_lpi()
    beb8e0254197 KVM: arm64: vgic-v3: Retire all pending LPIs on vcpu destroy
    4998dc5ff868 drivers: char: tlclk.c: Avoid data race between init and interrupt handler
    a48b609c8dfd bdev: Reduce time holding bd_mutex in sync in blkdev_close()
    c8317e9fc412 perf stat: Force error in fallback on :k events
    4f4e29789525 KVM: Remove CREATE_IRQCHIP/SET_PIT2 race
    e4e024e89cca btrfs: fix setting last_trans for reloc roots
    26d261f32f43 serial: uartps: Wait for tx_empty in console setup
    ab1d9bad6097 scsi: qedi: Fix termination timeouts in session logout
    61192ac4a1f2 ALSA: hda: Skip controller resume if not needed
    51396da04425 mm/mmap.c: initialize align_offset explicitly for vm_unmapped_area
    cb1dfad688ef drm/amdgpu/sriov add amdgpu_amdkfd_pre_reset in gpu reset
    644148cd1537 workqueue: Remove the warning in wq_worker_sleeping()
    74c28abcb301 nvmet-rdma: fix double free of rdma queue
    5e3c0dae5f96 SUNRPC: Don't start a timer on an already queued rpc task
    19b9ff11464e mm/vmscan.c: fix data races using kswapd_classzone_idx
    b569d92b1d03 mm/swapfile: fix data races in try_to_unuse()
    6eed4b3392c6 mm/filemap.c: clear page error before actual read
    336df1dcf92d mm/kmemleak.c: use address-of operator on section symbols
    685a1e317a64 powerpc/perf: Implement a global lock to avoid races between trace, core and thread imc events.
    7cafcc37c57e drm/amdgpu/vcn2.0: stall DPG when WPTR/RPTR reset
    24c56b6fe0ba NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests()
    4667358dab9c PCI: pciehp: Fix MSI interrupt race
    ca767cf0152d ALSA: usb-audio: Fix case when USB MIDI interface has more than one extra endpoint descriptor
    af574e78e7e4 ubifs: Fix out-of-bounds memory access caused by abnormal value of node_len
    49bc26b7653f ubifs: ubifs_add_orphan: Fix a memory leak bug
    17bc3bff02a7 ubifs: ubifs_jnl_write_inode: Fix a memory leak bug
    535943c46dfc PCI: Use ioremap(), not phys_to_virt() for platform ROM
    aa325ff72c80 netfilter: nf_tables: silence a RCU-list warning in nft_table_lookup()
    cf2d7883e84c svcrdma: Fix leak of transport addresses
    5f8174bfb9ff SUNRPC: Fix a potential buffer overflow in 'svc_print_xprts()'
    4f7b6eef7921 scsi: hpsa: correct race condition in offload enabled
    6e3b662d86a5 IB/iser: Always check sig MR before putting it to the free pool
    d5e7198bcf7e RDMA/rxe: Set sys_image_guid to be aligned with HW IB devices
    f812e43e727f xfs: prohibit fs freezing when using empty transactions
    1ed8ad923787 brcmfmac: Fix double freeing in the fmac usb data path
    9aca5e655a29 nvme: Fix controller creation races with teardown flow
    509730002abc nvme: Fix ctrl use-after-free during sysfs deletion
    eef1e9e876e9 nvme-multipath: do not reset on unknown status
    a48cf1c921a7 perf: Use new infrastructure to fix deadlocks in execve
    ba7eb0e48e76 proc: io_accounting: Use new infrastructure to fix deadlocks in execve
    4301db49e556 proc: Use new infrastructure to fix deadlocks in execve
    0cd97836869e kernel/kcmp.c: Use new infrastructure to fix deadlocks in execve
    2f7a0de4e5da selftests/ptrace: add test cases for dead-locks
    d8d15a4c445a exec: Fix a deadlock in strace
    b796d94921ce exec: Add exec_update_mutex to replace cred_guard_mutex
    32d9453c208c tools: gpio-hammer: Avoid potential overflow in main
    3b63e4b7045b cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_work_fn
    1ad72297146d net: axienet: Propagate failure of DMA descriptor setup
    468f2bc2bb5b net: axienet: Convert DMA error handler to a work queue
    79f60d5bd0dd perf cpumap: Fix snprintf overflow check
    47e276e1c40e serial: 8250: 8250_omap: Terminate DMA before pushing data on RX timeout
    09a2cf677105 serial: 8250_omap: Fix sleeping function called from invalid context during probe
    93ec0b575aca serial: 8250_port: Don't service RX FIFO if throttled
    0557e5f8d69c r8169: improve RTL8168b FIFO overflow workaround
    5dc170aee1d1 btrfs: free the reloc_control in a consistent way
    c88596d593ab btrfs: do not init a reloc root if we aren't relocating
    98c921e6be06 perf parse-events: Fix 3 use after frees found with clang ASAN
    048892dfab4d KVM: LAPIC: Mark hrtimer for period or oneshot mode to expire in hard interrupt context
    157ff88660c8 thermal: rcar_thermal: Handle probe error gracefully
    e978d00a3d16 tracing: Use address-of operator on section symbols
    cb9841c5119c drm/msm/a5xx: Always set an OPP supported hardware value
    8db4810dd5cc drm/msm: fix leaks if initialization fails
    5d09e3edf5d9 KVM: PPC: Book3S HV: Treat TM-related invalid form instructions on P9 like the valid ones
    63b7647dd0e1 intel_th: Disallow multi mode on devices where it's broken
    c3e39fa0aa10 RDMA/cm: Remove a race freeing timewait_info
    0300cda5009a nfsd: Don't add locks to closed or closing open stateids
    cdb785710edd rtc: ds1374: fix possible race condition
    45c1212d91f7 rtc: sa1100: fix possible race condition
    22de4a5d5791 tpm: ibmvtpm: Wait for buffer to be set before proceeding
    be4ff3a49c5d ext4: mark block bitmap corrupted when found instead of BUGON
    152875a0f094 xfs: mark dir corrupt when lookup-by-hash fails
    cb72c9f84219 xfs: don't ever return a stale pointer from __xfs_dir3_free_read
    b1f5989a23c1 tty: sifive: Finish transmission before changing the clock
    abbe59ca91f3 media: tda10071: fix unsigned sign extension overflow
    b432ea85ab84 Bluetooth: L2CAP: handle l2cap config request during open state
    ae3dffdbe42b scsi: aacraid: Disabling TM path and only processing IOP reset
    62602774e5aa ath10k: use kzalloc to read for ath10k_sdio_hif_diag_read
    f6acb4ae6b6c perf cs-etm: Correct synthesizing instruction samples
    f7ba2eeb0c6f perf cs-etm: Swap packets for instruction samples
    fc1d08a2023d s390/irq: replace setup_irq() by request_irq()
    37b972bf8070 cpu-topology: Fix the potential data corruption
    2d4e6ce22c58 clk: imx: Fix division by zero warning on pfdv2
    6fc325a4d35d drm/amd/display: Stop if retimer is not available
    10a144b77f64 ARM: OMAP2+: Handle errors for cpu_pm
    d1a749c01d03 drm/amdgpu: increase atombios cmd timeout
    3a220956aaaf mm: avoid data corruption on CoW fault into PFN-mapped VMA
    2da77d2d0d89 perf jevents: Fix leak of mapfile memory
    26005b604cef ext4: fix a data race at inode->i_disksize
    d0c298030382 drm/amd/display: fix image corruption with ODM 2:1 DSC 2 slice
    f2118308295d powerpc/book3s64: Fix error handling in mm_iommu_do_alloc()
    efc95f2ef743 timekeeping: Prevent 32bit truncation in scale64_check_overflow()
    202e2ff9de40 Bluetooth: guard against controllers sending zero'd events
    a94159403430 media: go7007: Fix URB type for interrupt handling
    657e50f8cdbf ASoC: SOF: ipc: check ipc return value before data copy
    29c25e69492b bus: hisi_lpc: Fixup IO ports addresses to avoid use-after-free in host removal
    3193035ec136 random: fix data races at timer_rand_state
    1edfaecc30a9 firmware: arm_sdei: Use cpus_read_lock() to avoid races with cpuhp
    21e2f6bf0863 iavf: use tc_cls_can_offload_and_chain0() instead of chain check
    0d5984ba936b drm/omap: dss: Cleanup DSS ports on initialisation failure
    b4bca7b2a6e2 drm/amd/display: dal_ddc_i2c_payloads_create can fail causing panic
    3e6f9c20bd32 soundwire: bus: disable pm_runtime in sdw_slave_delete
    c4b62a7e52ee dmaengine: tegra-apb: Prevent race conditions on channel's freeing
    cdf63c29af1e dmaengine: stm32-dma: use vchan_terminate_vdesc() in .terminate_all
    f60007c9e914 bpf: Remove recursion prevention from rcu free callback
    e8b95c29cdef x86/pkeys: Add check for pkey "overflow"
    321c5b279313 media: staging/imx: Missing assignment in imx_media_capture_device_register()
    5132f9f3d3e2 dmaengine: stm32-mdma: use vchan_terminate_vdesc() in .terminate_all
    484de771d637 KVM: nVMX: Hold KVM's srcu lock when syncing vmcs12->shadow
    d1da39644709 KVM: x86: fix incorrect comparison in trace event
    a4d17715a852 RDMA/rxe: Fix configuration of atomic queue pair attributes
    45901923749f perf test: Fix test trace+probe_vfs_getname.sh on s390
    e2d439c2000d ALSA: usb-audio: Don't create a mixer element with bogus volume range
    78344a4dc43e mt76: fix handling full tx queues in mt76_dma_tx_queue_skb_raw
    9b42bfb06d37 mt76: clear skb pointers from rx aggregation reorder buffer during cleanup
    1841613e97e7 crypto: chelsio - This fixes the kernel panic which occurs during a libkcapi test
    671e6c9c6b7b clk: stratix10: use do_div() for 64-bit calculation
    ef6eb8121321 locking/lockdep: Decrement IRQ context counters when removing lock chain
    8e88cdd3223a drm/omap: fix possible object reference leak
    41b71eff2777 scsi: lpfc: Fix coverity errors in fmdi attribute handling
    e0ddd176a302 scsi: lpfc: Fix release of hwq to clear the eq relationship
    4935732e8821 scsi: lpfc: Fix RQ buffer leakage when no IOCBs available
    f72a51eab2de selinux: sel_avc_get_stat_idx should increase position index
    d96fcfd58c21 audit: CONFIG_CHANGE don't log internal bookkeeping as an event
    26eae6def780 drm/amd/display: fix workaround for incorrect double buffer register for DLG ADL and TTU
    1f483c3ef050 nfsd: Fix a perf warning
    980040c7ae69 skbuff: fix a data race in skb_queue_len()
    2b22cead0478 ALSA: hda: Clear RIRB status before reading WP
    a13d21ed8526 KVM: fix overflow of zero page refcount with ksm running
    54d9839877f2 Bluetooth: prefetch channel before killing sock
    4c67f0b1eabb mm: pagewalk: fix termination condition in walk_pte_range()
    dac81f1ddce5 mm/swapfile.c: swap_next should increase position index
    8f54d39da5f4 Bluetooth: Fix refcount use-after-free issue
    60d539ff1cd8 tools/power/x86/intel_pstate_tracer: changes for python 3 compatibility
    f15dd13158ad selftests/ftrace: fix glob selftest
    379deeac55da ceph: ensure we have a new cap before continuing in fill_inode
    5a5fa8876291 ar5523: Add USB ID of SMCWUSBT-G2 wireless adapter
    47634c0fc94c ARM: 8948/1: Prevent OOB access in stacktrace
    5093d01f0809 tracing: Set kernel_stack's caller size properly
    0c81861ae903 Bluetooth: btrtl: Use kvmalloc for FW allocations
    821bf0bf652c powerpc/eeh: Only dump stack once if an MMIO loop is detected
    fed639f7e1d5 nfsd: Fix a soft lockup race in nfsd_file_mark_find_or_create()
    4f726a2afb99 s390/cpum_sf: Use kzalloc and minor changes
    26966e89ca14 dmaengine: zynqmp_dma: fix burst length configuration
    d64f6dfdf4ab btrfs: tree-checker: Check leaf chunk item size
    2bbe85d911fe i2c: tegra: Prevent interrupt triggering after transfer timeout
    1e4a6a0e03bc drm/amd/display: Initialize DSC PPS variables to 0
    65f2f192526f scsi: ufs: Fix a race condition in the tracing code
    1ac994f80be2 scsi: ufs: Make ufshcd_add_command_trace() easier to read
    3d05b3072232 ACPI: EC: Reference count query handlers under lock
    95ceefc6f0ce sctp: move trace_sctp_probe_path into sctp_outq_sack
    a9e53499f4de scsi: lpfc: Fix incomplete NVME discovery when target
    64d2887486d1 scsi: qla2xxx: Fix stuck session in GNL
    9f7d28075ae4 opp: Replace list_kref with a local counter
    8c324ef0b466 media: ti-vpe: cal: Restrict DMA to avoid memory corruption
    4a4c78cf0cf7 drm/scheduler: Avoid accessing freed bad job.
    06a90303633f seqlock: Require WRITE_ONCE surrounding raw_seqcount_barrier
    a9d4bca63493 drm/mcde: Handle pending vblank while disabling display
    c89925822f82 ipv6_route_seq_next should increase position index
    046e79cca228 rt_cpu_seq_next should increase position index
    2ba309f086b8 neigh_stat_seq_next() should increase position index
    f508c5d99343 vcc_seq_next should increase position index
    8c926e159afa tipc: fix link overflow issue at socket shutdown
    f99f4372f544 ALSA: hda: enable regmap internal locking
    b56212ddca0f xfs: fix log reservation overflows when allocating large rt extents
    16d40ce11521 module: Remove accidental change of module_enable_x()
    566b1bb7d393 KVM: arm/arm64: vgic: Fix potential double free dist->spis in __kvm_vgic_destroy()
    c306458a2bd0 kernel/sys.c: avoid copying possible padding bytes in copy_to_user
    e95e4ba3efd8 kernel/notifier.c: intercept duplicate registrations to avoid infinite loops
    425582bd448c selftests/bpf: De-flake test_tcpbpf
    3283bd6d19cd arm64: insn: consistently handle exit text
    c8662aa75a42 drm/amdgpu: fix calltrace during kmd unload(v3)
    6a74132beed2 xfs: fix realtime file data space leak
    a04223019c22 s390: avoid misusing CALL_ON_STACK for task stack setup
    a1a6f8a14cb0 xtensa: fix system_call interaction with ptrace
    f9f47ef869eb ASoC: max98090: remove msleep in PLL unlocked workaround
    273589e82cb1 f2fs: stop GC when the victim becomes fully valid
    84b15c4e1550 CIFS: Properly process SMB3 lease breaks
    2005c32ec99e CIFS: Use common error handling code in smb2_ioctl_query_info()
    3ce5297c0b40 SUNRPC: Capture completion of all RPC tasks
    80f766742244 debugfs: Fix !DEBUG_FS debugfs_create_automount
    14bbbfbafef1 mt76: add missing locking around ampdu action
    5eee23bc19a8 mt76: do not use devm API for led classdev
    773dc2922719 scsi: pm80xx: Cleanup command when a reset times out
    714dbaf2f814 gfs2: clean up iopen glock mess in gfs2_create_inode
    a21260928bd3 mmc: core: Fix size overflow for mmc partitions
    cbd2ee90d3c1 ubi: Fix producing anchor PEBs
    40afadc05771 RDMA/iw_cgxb4: Fix an error handling path in 'c4iw_connect()'
    be45bce4ad8e xfs: fix attr leaf header freemap.size underflow
    424388f0c534 fix dget_parent() fastpath race
    797f6c19abce PCI: Avoid double hpmemsize MMIO window assignment
    3161ea673382 RDMA/i40iw: Fix potential use after free
    f3ebf81ee634 RDMA/qedr: Fix potential use after free
    04f4f09502f1 x86/kdump: Always reserve the low 1M when the crashkernel option is specified
    21c82e8d4201 dmaengine: mediatek: hsdma_probe: fixed a memory leak when devm_request_irq fails
    fd3572bd5bc1 bcache: fix a lost wake-up problem caused by mca_cannibalize_lock
    9f81aa5d4493 tracing: Adding NULL checks for trace_array descriptor pointer
    8e0d54aa4005 tracing: Verify if trace array exists before destroying it.
    6405d5c5c5b8 tpm_crb: fix fTPM on AMD Zen+ CPUs
    b3a1fb675eb8 drm/amdgpu/powerplay/smu7: fix AVFS handling with custom powerplay table
    022a2a0728cb mfd: mfd-core: Protect against NULL call-back function pointer
    deb34c91ebd4 mtd: cfi_cmdset_0002: don't free cfi->cfiq in error path of cfi_amdstd_setup()
    bcd4bbf99535 ice: Fix to change Rx/Tx ring descriptor size via ethtool with DCBx
    3642887a4031 drm/amdgpu/powerplay: fix AVFS handling with custom powerplay table
    c5505813d01f clk/ti/adpll: allocate room for terminating null
    5eb67d3843ed f2fs: avoid kernel panic on corruption test
    5657f17bcd9c iomap: Fix overflow in iomap_page_mkwrite
    4c7d4dd210a1 dax: Fix alloc_dax_region() compile warning
    6670a2a397d4 net: silence data-races on sk_backlog.tail
    75a1c456944f powerpc/64s: Always disable branch profiling for prom_init.o
    f5abdca0c2ef scsi: lpfc: Fix kernel crash at lpfc_nvme_info_show during remote port bounce
    1a4c4df21728 scsi: fnic: fix use after free
    4241376371ad PM / devfreq: tegra30: Fix integer overflow on CPU's freq max out
    d550b07e1a3f dm table: do not allow request-based DM to stack on partitions
    e645b649c418 leds: mlxreg: Fix possible buffer overflow
    36f11775da75 xfs: properly serialise fallocate against AIO+DIO
    50afba5c129c drm/amd/display: Free gamma after calculating legacy transfer function
    252e8b514a98 media: smiapp: Fix error handling at NVM reading
    e0731a6503b0 soundwire: intel/cadence: fix startup sequence
    d9adb4deef16 ASoC: kirkwood: fix IRQ error handling
    8b4e9c1bb05a gma/gma500: fix a memory disclosure bug due to uninitialized bytes
    8c355ed61996 xfs: fix inode fork extent count overflow
    ff099d7c845d m68k: q40: Fix info-leak in rtc_ioctl
    bbe4f5e44a75 scsi: aacraid: fix illegal IO beyond last LBA
    2c25b9511178 mm: fix double page fault on arm64 if PTE_AF is cleared
    bdb830d101e7 PCI/IOV: Serialize sysfs sriov_numvfs reads vs writes
    a34a9a4c31e2 ath10k: fix memory leak for tpc_stats_final
    b8ef4aaf6e32 ath10k: fix array out-of-bounds access
    abc15be19f4c scsi: qla2xxx: Add error handling for PLOGI ELS passthrough
    ac559369050f dma-fence: Serialise signal enabling (dma_fence_enable_sw_signaling)
    3e7bf6336084 drm/amdkfd: Fix race in gfx10 context restore handler
    c08ecda2cf31 drm/amd/display: Do not double-buffer DTO adjustments
    1333ce263ad9 media: mc-device.c: fix memleak in media_device_register_entity
    b7316f505fe5 selinux: allow labeling before policy is loaded
    e14f1f8f1bfe scsi: mpt3sas: Free diag buffer without any status check
    6b8fbd9b2db0 scsi: lpfc: Fix pt2pt discovery on SLI3 HBAs
    03c4d42e3c14 kernel/sysctl-test: Add null pointer test for sysctl.c:proc_dointvec()

(From OE-Core rev: 656d2070f8448681cb69a3d43dbae84a681c1a75)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f9c04e164cc0f64fcb3df6cc893608668e66f93d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-15 13:45:50 +01:00
Bruce Ashfield
53c96536c0 linux-yocto/5.4: update to v5.4.68
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    5d087e3578cf Linux 5.4.68
    071f42defada iommu/amd: Use cmpxchg_double() when updating 128-bit IRTE
    a5bc1c7a9a6d mm: memcg: fix memcg reclaim soft lockup
    7f23aa7cabdd net: add __must_check to skb_put_padto()
    0d5a7af160bd net: qrtr: check skb_put_padto() return value
    e78590497f96 net: phy: Do not warn in phy_stop() on PHY_DOWN
    94f2dc7ad055 net: phy: Avoid NPD upon phy_detach() when driver is unbound
    8b6279822080 net: lantiq: Disable IRQs only if NAPI gets scheduled
    4c304ed93ad3 net: lantiq: Use napi_complete_done()
    9efed2a32a86 net: lantiq: use netif_tx_napi_add() for TX NAPI
    19dd093aa5b4 net: lantiq: Wake TX queue again
    743fead4d958 bnxt_en: Protect bnxt_set_eee() and bnxt_set_pauseparam() with mutex.
    e238cb110123 bnxt_en: return proper error codes in bnxt_show_temp
    1ee92ea9a1fb net/mlx5e: TLS, Do not expose FPGA TLS counter if not supported
    5b609d8e5beb net/mlx5e: Enable adding peer miss rules only if merged eswitch is supported
    825fc3167cf5 tipc: use skb_unshare() instead in tipc_buf_append()
    5efc178ebd12 tipc: fix shutdown() of connection oriented socket
    586b14ec481c tipc: Fix memory leak in tipc_group_create_member()
    83bd58952b2b taprio: Fix allowing too small intervals
    f705d35a0e93 nfp: use correct define to return NONE fec
    875f6478655b net: sctp: Fix IPv6 ancestor_size calc in sctp_copy_descendant
    884414196692 net: sch_generic: aviod concurrent reset and enqueue op for lockless qdisc
    891828a79bbc net/mlx5: Fix FTE cleanup
    242e12aecdd3 net: ipv6: fix kconfig dependency warning for IPV6_SEG6_HMAC
    d3c2188ee6e6 net: Fix bridge enslavement failure
    acd04a157b33 net: dsa: rtl8366: Properly clear member config
    9139f13e01a3 net: DCB: Validate DCB_ATTR_DCB_BUFFER argument
    450c0c00a5b0 net: bridge: br_vlan_get_pvid_rcu() should dereference the VLAN group under RCU
    d0b05f019f84 ipv6: avoid lockdep issue in fib6_del()
    860e2cc78c69 ipv4: Update exception handling for multipath routes via same device
    583ff79349f9 ipv4: Initialize flowi4_multipath_hash in data path
    f28bc7ea6978 ip: fix tos reflection in ack and reset packets
    c3de9daa6626 hdlc_ppp: add range checks in ppp_cp_parse_cr()
    745c24fd1d79 geneve: add transport ports in route lookup for geneve
    79cd5858ac05 cxgb4: Fix offset when clearing filter byte counters
    2583159735e4 cxgb4: fix memory leak during module unload
    6743a9b020fd bnxt_en: Fix NULL ptr dereference crash in bnxt_fw_reset_task()
    c7275d7a11ab bnxt_en: Avoid sending firmware messages when AER error is detected.
    61fd38db76ad act_ife: load meta modules before tcf_idr_check_alloc()
    263445256cd8 mm/thp: fix __split_huge_pmd_locked() for migration PMD
    e7b219bc7b59 kprobes: fix kill kprobe which has been marked as gone
    2906c6acda15 ibmvnic: add missing parenthesis in do_reset()
    c5ea71579254 ibmvnic fix NULL tx_pools and rx_tools issue at do_reset
    a769bff2333a af_key: pfkey_dump needs parameter validation

(From OE-Core rev: 4194dc3265ed3e2e032c0344e7f6427c0b7755dd)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 963a103e847e2ae3624e70e119920b51e6db13ad)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-15 13:45:50 +01:00
Bruce Ashfield
2f25605dc7 linux-yocto/5.4: update to v5.4.67
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    a4bea6a4f1e0 Linux 5.4.67
    ef6458fdbb5c dax: Fix compilation for CONFIG_DAX && !CONFIG_FS_DAX
    d6712eefc77e dm: Call proper helper to determine dax support
    6b02d0598554 mm/memory_hotplug: drain per-cpu pages again during memory offline
    908272a5e9e4 dm/dax: Fix table reference counts
    0df6aeac967f selftests/vm: fix display of page size in map_hugetlb
    5ed6a7e1a7e1 powerpc/dma: Fix dma_map_ops::get_required_mask
    264ae08bb774 ehci-hcd: Move include to keep CRC stable
    fceeea8b35cb s390/zcrypt: fix kmalloc 256k failure
    463a0d4c1b94 x86/boot/compressed: Disable relocation relaxation
    b703bd1e9285 serial: 8250_pci: Add Realtek 816a and 816b
    96e6de09097b Input: i8042 - add Entroware Proteus EL07R4 to nomux and reset lists
    c0190d14b9a8 Input: trackpoint - add new trackpoint variant IDs
    e44bd84cd2ab percpu: fix first chunk size calculation for populated bitmap
    32f60ecbb9b8 ALSA: hda/realtek - The Mic on a RedmiBook doesn't work
    dda1362d6bce ALSA: hda: fixup headset for ASUS GX502 laptop
    87e1dbe6c6c5 Revert "ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO"
    b0b68bfe729a i2c: i801: Fix resume bug
    7c96edc6e719 usb: typec: ucsi: Prevent mode overrun
    6c56942bd2e6 usblp: fix race between disconnect() and read()
    56ad2cab0845 USB: UAS: fix disconnect by unplugging a hub
    d8c0a033d9ce USB: quirks: Add USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk for BYD zhaoxin notebook
    a0fec594b0a5 drm/i915: Filter wake_flags passed to default_wake_function
    daf646fd3247 riscv: Add sfence.vma after early page table changes
    8a568d7fc295 i2c: mxs: use MXS_DMA_CTRL_WAIT4END instead of DMA_CTRL_ACK
    a55eec14a4e1 iommu/amd: Fix potential @entry null deref
    ecd219c72945 arm64: bpf: Fix branch offset in JIT
    c6fa55a3130d drm/mediatek: Add missing put_device() call in mtk_hdmi_dt_parse_pdata()
    566e86327754 drm/mediatek: Add exception handing in mtk_drm_probe() if component init fail
    549efeaa96d8 MIPS: SNI: Fix spurious interrupts
    73d58890be30 fbcon: Fix user font detection test at fbcon_resize().
    b7b136191170 perf test: Free formats for perf pmu parse test
    b116e2d37b03 perf parse-event: Fix memory leak in evsel->unit
    43d9473e7cd9 perf evlist: Fix cpu/thread map leak
    751930560ea4 MIPS: SNI: Fix MIPS_L1_CACHE_SHIFT
    b86434c072d4 perf test: Fix the "signal" test inline assembly
    e03e0498b453 Drivers: hv: vmbus: Add timeout to vmbus_wait_for_unload
    cdf990e2b24e arm64: Allow CPUs unffected by ARM erratum 1418040 to come in late
    09aadf403225 scsi: libsas: Fix error path in sas_notify_lldd_dev_found()
    9afe75149419 Drivers: hv: vmbus: hibernation: do not hang forever in vmbus_bus_resume()
    b12029411b25 ASoC: meson: axg-toddr: fix channel order on g12 platforms
    600cafd55bfd powerpc/book3s64/radix: Fix boot failure with large amount of guest memory
    f6d4afd008a6 ASoC: qcom: common: Fix refcount imbalance on error
    911c69245a27 ASoC: qcom: Set card->owner to avoid warnings
    cf111e31eae6 clk: rockchip: Fix initialization of mux_pll_src_4plls_p
    af8f780eee47 clk: davinci: Use the correct size when allocating memory
    d81d1306d6c9 KVM: MIPS: Change the definition of kvm type
    88a637d56567 spi: Fix memory leak on splited transfers
    9f09e86200fd i2c: algo: pca: Reapply i2c bus settings after reset
    78d48322dd54 f2fs: Return EOF on unaligned end of file DIO read
    e34313d1b7e9 f2fs: fix indefinite loop scanning for free nid
    7f07bbf9bc16 block: only call sched requeue_request() for scheduled requests
    373312e8513c nvme-tcp: cancel async events before freeing event struct
    89669cae6de8 nvme-rdma: cancel async events before freeing event struct
    103e82d5e82b nvme-fc: cancel async events before freeing event struct
    4951def1e258 openrisc: Fix cache API compile issue when not inlining
    5dda8b9b6ad7 cifs: fix DFS mount with cifsacl/modefromsid
    72efc1488dad rapidio: Replace 'select' DMAENGINES 'with depends on'
    b85406bf1bd7 SUNRPC: stop printk reading past end of string
    7b8fb2a4d373 NFS: Zero-stateid SETATTR should first return delegation
    7fa3ef52032e spi: spi-loopback-test: Fix out-of-bounds read
    8aeb6173e87f regulator: pwm: Fix machine constraints application
    618fcfb5e3f3 scsi: lpfc: Fix FLOGI/PLOGI receive race condition in pt2pt discovery
    f8f1eea08820 scsi: libfc: Fix for double free()
    4a9e028f6db0 scsi: pm8001: Fix memleak in pm8001_exec_internal_task_abort
    db081ee4d8c0 NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall
    9b6caf4ccb44 firmware_loader: fix memory leak for paged buffer
    51fe5c82c759 hv_netvsc: Remove "unlikely" from netvsc_select_queue
    78607d494c92 net: handle the return value of pskb_carve_frag_list() correctly
    b3dacce5025c dsa: Allow forwarding of redirected IGMP traffic
    cd171c18d3d5 e1000e: Add support for Comet Lake
    a73e9ea38d5d RDMA/bnxt_re: Restrict the max_gids to 256
    29dd419f56fc gfs2: initialize transaction tr_ailX_lists earlier
    bdc3a8f6a8e8 Linux 5.4.66
    d3c2b7d2856c gcov: add support for GCC 10.1
    fe79f1cf177a drm/msm: Disable the RPTR shadow
    8cbe9b765487 drm/msm/gpu: make ringbuffer readonly
    ebd9aff7b62a usb: typec: ucsi: acpi: Check the _DEP dependencies
    848eeb75c81d usb: Fix out of sync data toggle if a configured device is reconfigured
    224fa057d72a USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules
    dbbb21384fe6 USB: serial: option: support dynamic Quectel USB compositions
    38e75a99b486 USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter
    70a9c0352e21 usb: core: fix slab-out-of-bounds Read in read_descriptors
    83db8dd32b1d phy: qcom-qmp: Use correct values for ipq8074 PCIe Gen2 PHY init
    524e525fa73e staging: greybus: audio: fix uninitialized value issue
    3aa4c49c8d41 video: fbdev: fix OOB read in vga_8planes_imageblit()
    9dd48c399a81 ARM: dts: vfxxx: Add syscon compatible with OCOTP
    323159acb2b5 debugfs: Fix module state check condition
    41b2ea7a6a11 KVM: fix memory leak in kvm_io_bus_unregister_dev()
    d334a67d3ed0 KVM: arm64: Do not try to map PUDs when they are folded into PMD
    a86743ebe680 KVM: VMX: Don't freeze guest when event delivery causes an APIC-access exit
    087b6cb17df5 vgacon: remove software scrollback support
    0d123a8c64fd fbcon: remove now unusued 'softback_lines' cursor() argument
    cf5a7ded5365 fbcon: remove soft scrollback code
    a0f6bdafaa4c RDMA/mlx4: Read pkey table length instead of hardcoded value
    616a0c13e432 RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars
    ea3d3bf85669 rbd: require global CAP_SYS_ADMIN for mapping and unmapping
    c2fb443bde82 mmc: sdhci-of-esdhc: Don't walk device-tree on every interrupt
    c724eb78c1ec mmc: sdio: Use mmc_pre_req() / mmc_post_req()
    becb3bbb2911 drm/msm: Disable preemption on all 5xx targets
    404ab35baae4 drm/tve200: Stabilize enable/disable
    701b385f6877 drm/i915/gvt: do not check len & max_len for lri
    a5bfcf2455d4 scsi: target: iscsi: Fix hang in iscsit_access_np() when getting tpg->np_login_sem
    fa4372668f58 scsi: target: iscsi: Fix data digest calculation
    a467624aef02 regulator: core: Fix slab-out-of-bounds in regulator_unlock_recursive()
    dfbb9cea5a4b regulator: plug of_node leak in regulator_register()'s error path
    047a71ff5e9d regulator: push allocation in set_consumer_device_supply() out of lock
    31d89652c384 regulator: push allocations in create_regulator() outside of lock
    e7249ceb7ff8 regulator: push allocation in regulator_init_coupling() outside of lock
    b9fb631f6b03 kobject: Restore old behaviour of kobject_del(NULL)
    b85c64a7161f btrfs: fix wrong address when faulting in pages in the search ioctl
    524f3f303079 btrfs: fix lockdep splat in add_missing_dev
    1aaceffa5ace btrfs: require only sector size alignment for parent eb bytenr
    c570a3d660a2 staging: wlan-ng: fix out of bounds read in prism2sta_probe_usb()
    e9f7332b0040 iio:accel:mma8452: Fix timestamp alignment and prevent data leak.
    a6dc50f30129 iio:accel:mma7455: Fix timestamp alignment and prevent data leak.
    e94ec7f512cf iio: accel: kxsd9: Fix alignment of local buffer.
    b040ac56b264 iio:chemical:ccs811: Fix timestamp alignment and prevent data leak.
    cd1a2517b35e iio:light:max44000 Fix timestamp alignment and prevent data leak.
    176fb9423ab8 iio:magnetometer:ak8975 Fix alignment and data leak issues.
    c4b67a1dcba0 iio:adc:ti-adc081c Fix alignment and data leak issues
    e691d264ddf9 iio:adc:max1118 Fix alignment of timestamp and data leak issues
    24c4430c9b18 iio:adc:ina2xx Fix timestamp alignment issue.
    de2fa1f48a52 iio:adc:ti-adc084s021 Fix alignment and data leak issues.
    13a76aae01c7 iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak.
    66b8b8f75e35 iio:proximity:mb1232: Fix timestamp alignment and prevent data leak.
    0616d908aef5 iio:light:ltr501 Fix timestamp alignment issue.
    c80210735f31 iio: cros_ec: Set Gyroscope default frequency to 25Hz
    c71e70a85b4b iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set
    d4bdcf4f1154 gcov: Disable gcov build with GCC 10
    104bc6027b27 iommu/amd: Do not use IOMMUv2 functionality when SME is active
    cab731c6c873 drm/amdgpu: Fix bug in reporting voltage for CIK
    d6ccea92b1e1 ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled
    56117aa69301 ALSA: hda: hdmi - add Rocketlake support
    ff37a2636464 arm64/module: set trampoline section flags regardless of CONFIG_DYNAMIC_FTRACE
    2423f3a7ef52 cpufreq: intel_pstate: Fix intel_pstate_get_hwp_max() for turbo disabled
    1f1169474803 cpufreq: intel_pstate: Refuse to turn off with HWP enabled
    b011e41a8e48 ARC: [plat-hsdk]: Switch ethernet phy-mode to rgmii-id
    82d4cfa185a9 HID: elan: Fix memleak in elan_input_configured
    bc818ce2d51e drivers/net/wan/hdlc_cisco: Add hard_header_len
    052750976d03 HID: microsoft: Add rumble support for the 8bitdo SN30 Pro+ controller
    52fa4a63ab14 HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for all Saitek X52 devices
    9eef311eb524 nvme-pci: cancel nvme device request before disabling
    068f73f767a1 nvme-rdma: fix reset hang if controller died in the middle of a reset
    d409ed019236 nvme-rdma: fix timeout handler
    9cf1ee492f23 nvme-rdma: serialize controller teardown sequences
    bb018c73500b nvme-tcp: fix reset hang if controller died in the middle of a reset
    34b1b26b2d8f nvme-tcp: fix timeout handler
    7abff44756fe nvme-tcp: serialize controller teardown sequences
    7598a9d0a756 nvme: have nvme_wait_freeze_timeout return if it timed out
    35d841908c0b nvme-fabrics: don't check state NVME_CTRL_NEW for request acceptance
    f9af5758b19b nvmet-tcp: Fix NULL dereference when a connect data comes in h2cdata pdu
    6ce06caf6b44 irqchip/eznps: Fix build error for !ARC700 builds
    41ac2e8a6a1f xfs: initialize the shortform attr header padding entry
    a33cab0fbd2f cfg80211: Adjust 6 GHz frequency to channel conversion
    0aa356dde967 drivers/net/wan/lapbether: Set network_header before transmitting
    e91f2ec0bfbd xfs: fix off-by-one in inode alloc block reservation calculation
    983efe173e37 net: hns3: Fix for geneve tx checksum bug
    cb54984b7989 drivers/dma/dma-jz4780: Fix race condition between probe and irq handler
    bcdbb7c8c7f9 ALSA: hda/tegra: Program WAKEEN register for Tegra
    ad360686fcd2 ALSA: hda: Fix 2 channel swapping for Tegra
    1518c24b3265 firestream: Fix memleak in fs_open
    818c725c1241 NFC: st95hf: Fix memleak in st95hf_in_send_cmd
    0faee7f8c236 drivers/net/wan/lapbether: Added needed_tailroom
    59d2b1e5cb05 netfilter: conntrack: allow sctp hearbeat after connection re-use
    444bf09f2be4 dmaengine: acpi: Put the CSRT table after using it
    89c4339c4d35 ARC: HSDK: wireup perf irq
    75a81be8fb3e arm64: dts: ns2: Fixed QSPI compatible string
    cd0ffeb0b879 ARM: dts: BCM5301X: Fixed QSPI compatible string
    8a9383e277e4 ARM: dts: NSP: Fixed QSPI compatible string
    7a1e2c816acc ARM: dts: bcm: HR2: Fixed QSPI compatible string
    0f632bc48355 IB/isert: Fix unaligned immediate-data handling
    6736317f350a block: Set same_page to false in __bio_try_merge_page if ret is false
    45ffad151bae spi: stm32: fix pm_runtime_get_sync() error checking
    9ed3ab0c62d4 nvme-fabrics: allow to queue requests for live queues
    43b3d09c5142 spi: stm32: Rate-limit the 'Communication suspended' message
    15dc0695a3b0 mmc: sdhci-msm: Add retries when all tuning phases are found valid
    5bead6811610 mmc: sdhci-acpi: Clear amd_sdhci_host on reset
    c46eabd1e6cc drm/sun4i: backend: Disable alpha on the lowest plane on the A20
    f3c982d8e60a drm/sun4i: backend: Support alpha property on lowest plane
    fe0278843b64 soundwire: fix double free of dangling pointer
    122cdbd5019f scsi: mpt3sas: Don't call disable_irq from IRQ poll handler
    aa204e20f4d4 scsi: megaraid_sas: Don't call disable_irq from process IRQ poll
    0b4662709ced RDMA/core: Fix reported speed and width
    b3f6c2ca326b scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA
    5571056a5805 iio: adc: mcp3422: fix locking scope
    f7db02316a00 iio: adc: mcp3422: fix locking on error path
    376bc3643eeb drm/sun4i: Fix dsi dcs long write function
    af0d98184575 arm64: dts: imx8mq: Fix TMU interrupt property
    ddd3698271da drm/sun4i: add missing put_device() call in sun8i_r40_tcon_tv_set_mux()
    1a2d6e722b49 RDMA/bnxt_re: Do not report transparent vlan from QP1
    aaca68671376 RDMA/rxe: Fix panic when calling kmem_cache_create()
    d1878b298fc6 RDMA/rxe: Drop pointless checks in rxe_init_ports
    ca337b53fff3 RDMA/rxe: Fix memleak in rxe_mem_init_user
    af2e06b02575 ARM: dts: imx7ulp: Correct gpio ranges
    ab56ed56f8c8 ARM: dts: ls1021a: fix QuadSPI-memory reg range
    d5763bbf8664 selftests/timers: Turn off timeout setting
    6a2be713c78f ARM: dts: socfpga: fix register entry for timer3 on Arria10
    25915590865c regulator: remove superfluous lock in regulator_resolve_coupling()
    69163464bcd3 regulator: push allocation in regulator_ena_gpio_request() out of lock
    e9019af9b0cc ARM: dts: logicpd-som-lv-baseboard: Fix missing video
    678cde6f4e2b ARM: dts: logicpd-som-lv-baseboard: Fix broken audio
    06fb37a1725d ARM: dts: logicpd-torpedo-baseboard: Fix broken audio

(From OE-Core rev: ec411cb105efb755f0fc18db11cf7682761c796a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit eae616c0cca482a3ce720de3d7d1caded9f79942)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-15 13:45:50 +01:00
Bruce Ashfield
4ead81625b linux-yocto/5.4: fix kprobes build warning
Integrating the following commit(s) to linux-yocto/5.4:

    178189d65780 kprobes: Fix compiler warning for !CONFIG_KPROBES_ON_FTRACE

(From OE-Core rev: 350e5bdf0bb79750452bb57c1aba7e0b343c2634)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit aa2b309a938f4af5f5d95bc7e7f3c0e9d77f3dd3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-15 13:45:50 +01:00
Joshua Watt
ebd7185e95 classes/sanity: Bump minimum python version to 3.5
Bumps the minimum python version to 3.5 to match bitbake and the test
matrix

(From OE-Core rev: 346f0efdecdab81504d181092204e89e85835d4f)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit df13c0f2348898023fb7ee1b229e9b5ccc893609)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-15 13:45:50 +01:00
Richard Purdie
a976d65aba libtools-cross/shadow-sysroot: Use nopackages inherit
When testing pseudo changes I realised these recipes have packaging tasks
but don't generate packages. Drop the packages tasks for cleanliness.

(From OE-Core rev: 275d504b2f979901278141a4ba217d02a099f980)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ef9c11797b5d626bdb40b4509d8b2b0d461ff9ea)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-15 13:45:50 +01:00
Richard Purdie
2af64401a7 glibc: do_stash_locale must not delete files from ${D}
do_stash_locale doesn't run in fakeroot context, do_install does. We therefore
shouldn't delete files that do_install has added or it leaves potentially
problemtic entries in the fakeroot database. Leaving the files around
doesn't change or break anything else.

(From OE-Core rev: 7325222ce0dc8a75bc2d3eb7b6049f0d995ce17f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f18817f5340d06f7b4bb846a83b48731a1b9c4bc)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-15 13:45:49 +01:00
Marek Vasut
54066582a0 stress-ng: Upgrade 0.11.01 -> 0.11.17
Upgrade to the latest upstream version. This fixes at least one build
error, in which build fails due to undefined FS_IOC_GETFLAGS. See commit
d7b4301d ("stress-efivar: only exercise FS_IOC_*FLAGS if they are defined")
in stress-ng for details.

(From OE-Core rev: f99dc4e49d4ad4383c826dd8f8410c32f408e9bd)

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-15 13:45:49 +01:00
Marek Vasut
c89ad95ef5 lttng-ust: update to 2.11.1
Update to latest available.

(From OE-Core rev: 2d9c34f2dd0a2d22d251d4375d8be86f88044f1e)

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-15 13:45:49 +01:00
Marek Vasut
6388c3d684 lttng-tools: update to 2.11.5
Update to latest available.

(From OE-Core rev: a2c43b5e52708c013559a0ee9529efe5635e50d3)

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-15 13:45:49 +01:00
Marek Vasut
d748312f7a lttng-modules: update to 2.11.6
Update to latest available.

(From OE-Core rev: 3ba57b15b1eeb0756ab9bc6b317ead1a7a08d226)

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-15 13:45:49 +01:00
Steve Sakoman
f5497978c5 Revert "lttng-modules: backport writeback.h changes from 2.12.x to fix kernel 5.4.62+"
We'll be using an upstream version bump instead of this backport

This reverts commit 348c666b2dca230308c8462dac2117b04cca6ae7.

(From OE-Core rev: 49ab42d4dc93cee75ac7e9b3a4623ff1f42b306f)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-15 13:45:49 +01:00
Charlie Davies
cd38c4db87 bitbake: bitbake: tests/fetch: add unit tests for SRC_URI with spaces in url
(Bitbake rev: d8daad57bdbceec041c4c2d288ed5d487ad8e6dc)

Signed-off-by: Charlie Davies <charles.davies@whitetree.xyz>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e7dab75c8d1923abcbbc7c9ac7de215d720ccf26)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-13 09:40:10 +01:00
Charlie Davies
52daea2287 bitbake: bitbake: fetch/git: add support for SRC_URI containing spaces in url
Microsoft's TFS VCS system allows for spaces in a git repository url.
An example of a valid url is:

ssh://tfs-my-company.org:22/tfs/My Projects/FooBar

This commit adds support for such urls by implementing two changes.
Firstly, when bitbake makes a git command line call the url is
surrounded by quotes so that the url, regardless of spaces, is
treated as one argument. Secondly, additional parsing of various
filepath variables, which are based off of the url, are now
completed with any spaces in the url replaced with underscores.

(Bitbake rev: c4a51b7f4fd8a3c7d63c184675c014ec955d2606)

Signed-off-by: Charlie Davies <charles.davies@whitetree.xyz>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit eb38b6f0935763f7ba19e5618f376fcae1dac41a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-13 09:40:10 +01:00
Konrad Weihmann
aa2ba21a1a bitbake: bitbake-user-manual: Add BBFILES_DYNAMIC
- add missing entry for BBFILES_DYNAMIC, ported from yocto-docs
- add description for the new inverse mode

(Bitbake rev: c27a5cc80852595549ad4156e4bb7f5a05e4cd15)

Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9186ca47ce73b4d1c87eb69163698a04679fb55c)
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-13 09:40:10 +01:00
Chee Yang Lee
073b659383 perl: fix ptest test count
patche added in commit c271090385
failed ptest perl.t/re/pat. The patch updates incorrect test cases
count causes the ptest to fail.
864 test cases before apply the patch while the patch added only 4
test cases so it should be 868 instead of 873.

ptest-runner log :-
  PASS: t/re/overload
  # Looks like you planned 873 tests but ran 868.
  FAIL: t/re/pat
  PASS: t/re/pat_advanced

[YOCTO #14071]

(From OE-Core rev: 552739383321bd9b4780bd0026d6107ece530522)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com<mailto:chee.yang.lee@intel.com>>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-09 12:21:35 +01:00
Tim Orling
3c6611455c oeqa/selftest/cases/devtool.py: avoid .pyc race
In certain conditions, most likely under heavy load on the
AutoBuilder, the prebuilt .pyc files are attempting to be
executed before they have been completely copied. Avoid
this by not copying the .pyc files (nor the __pycache__
directory). The impact of python3-native recreating the .pyc
files should hopefully be negligible.

YOCTO#13421
YOCTO#13803

(From OE-Core rev: 1facb696140cc95ea3478654aedf1220459c825f)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-09 12:21:35 +01:00
Joshua Watt
181eeebd95 wic: Add 512 Byte alignment to --offset
Allows the --offset argument to use the "s" or "S" suffix to specify
that it is reporting the number of 512 byte sectors.

This is required for some SoCs where the mask ROM looks for an item at a
sector that isn't aligned to a 1KB boundary.

(From OE-Core rev: b9296bdeaacc1dce97aac9c9bf0d70555bb36646)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 938595d1dc4abaf5f7f3a7900add3f0492b805d0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:22 +01:00
Joshua Watt
3c4f891402 wic: Fix error message when reporting invalid offset
The error message was reporting the calculated offset instead of the
current offset, which made it confusing.

(From OE-Core rev: 0ff25797126772f40e357a2f3cf81eccf659adaf)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2be775cfe1b49ce3889b5dc326e2b67a9667f18a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:22 +01:00
Joshua Watt
c52e34c2bf wic: Fix --extra-space argument handling
467f84e12b ("wic: Add --offset argument for partitions") broke the
--extra-space argument handling in wic. Fix the option and add a unit
test for the argument.

(From OE-Core rev: 62a7a10c31bcf133cbd99d4de928f15a30e45ab1)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 87722a92c18f94917c8f70afc8cd0763462a5c25)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:22 +01:00
Joshua Watt
343a7e2c61 wic: Add --offset argument for partitions
Add support for an --offset argument when defining a partition. Many
SoCs require that boot partitions be located at specific offsets. Prior
to this argument, most WKS files were using the --align attribute to
specify the location of these fixed partitions but this is not ideal
because in the event that the partition couldn't be placed in the
specified location, wic would move it to the next sector with that
alignment, often preventing the device from booting. Unlike the --align
argument, wic will fail if a partition cannot be placed at the exact
offset specified with --offset.

Changes in V2:
* Fixed a small typo that prevented test_fixed_size_error from passing

(From OE-Core rev: 897aaff8961f7fe83634a3b0b94e19b43aea5857)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 467f84e12b96bc977d57575023517dd6f8ef7f29)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:22 +01:00
Bruce Ashfield
0026c1475f lttng-modules: backport writeback.h changes from 2.12.x to fix kernel 5.4.62+
Backporting the kernel version changes for writeback.h to fix
compilation against kernel stable versions 5.4.62+

This is a combination of upstream commits:

 87b2aff [fix: writeback: Fix sync livelock due to b_dirty_time processing (v5.9)]
 b74b25f [fix: version ranges for ext4_discard_preallocations and writeback_queue_io

Upstream-status: Backport

(From OE-Core rev: 348c666b2dca230308c8462dac2117b04cca6ae7)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:22 +01:00
Bruce Ashfield
0e9573808f linux-yocto/5.4: update to v5.4.65
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    6c3d34dea2fc Linux 5.4.65
    ddb279d64b72 net: disable netpoll on fresh napis
    09c45065257b tipc: fix shutdown() of connectionless socket
    b95eb482c288 taprio: Fix using wrong queues in gate mask
    20f8c874789a sctp: not disable bh in the whole sctp_get_port_local()
    8b61bb0b2d57 net: usb: dm9601: Add USB ID of Keenetic Plus DSL
    346fefa82325 netlabel: fix problems with mapping removal
    3f73dbf94f8f ipv6: Fix sysctl max for fib_multipath_hash_policy
    263e463358d3 ipv4: Silence suspicious RCU usage warning

(From OE-Core rev: d5b45e81adf16c8b15a981ca9ef79bfea3ffe2dd)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
(cherry picked from commit e2cb6e8b433614a8512739ea5583914d9ef978fc)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:22 +01:00
Bruce Ashfield
1f3b3b429f linux-yocto/5.4: update to v5.4.64
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    6ffabce36fc8 Linux 5.4.64
    beaf13ed8e97 net: usb: Fix uninit-was-stored issue in asix_read_phy_addr()
    58c3e86d42d2 cfg80211: regulatory: reject invalid hints
    08eeec445297 mm/khugepaged.c: fix khugepaged's request size in collapse_file
    af7786b20c71 mm/hugetlb: fix a race between hugetlb sysctl handlers
    f2cd86225c89 checkpatch: fix the usage of capture group ( ... )
    59ac5bfa82bc sdhci: tegra: Add missing TMCLK for data timeout
    e915b3b63dfd perf record: Correct the help info of option "--no-bpf-event"
    894a6f0be372 vfio/pci: Fix SR-IOV VF handling with MMIO blocking
    f4fa8d937edf mm: madvise: fix vma user-after-free
    87fb7b0c5266 mm: slub: fix conversion of freelist_corrupted()
    291144f1114d dm thin metadata: Fix use-after-free in dm_bm_set_read_only
    cfe85a4a8552 dm thin metadata: Avoid returning cmd->bm wild pointer on error
    392a6afcbf19 dm cache metadata: Avoid returning cmd->bm wild pointer on error
    9dd74db0bfd1 dm crypt: Initialize crypto wait structures
    e6ddb1d45c51 dm integrity: fix error reporting in bitmap mode after creation
    b30f628beec9 dm mpath: fix racey management of PG initialization
    226fb99eb59d dm writecache: handle DAX to partitions on persistent memory correctly
    6fb192c06a14 drm/amd/pm: avoid false alarm due to confusing softwareshutdowntemp setting
    f84804af09c7 dmaengine: dw-edma: Fix scatter-gather address calculation
    9f4ab0172e6c blk-iocost: ioc_pd_free() shouldn't assume irq disabled
    f7880745e91b libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks
    5f5f27228195 block: ensure bdi->io_pages is always initialized
    84c041c12442 block: allow for_each_bvec to support zero len bvec
    b6e4827c04b0 affs: fix basic permission bits to actually work
    2d89e44dc932 media: rc: uevent sysfs file races with rc_unregister_device()
    5925179bbc64 media: rc: do not access device via sysfs after rc_unregister_device()
    3d77c12f3040 mmc: sdhci-pci: Fix SDHCI_RESET_ALL for CQHCI for Intel GLK-based controllers
    ed48704c36a8 mmc: cqhci: Add cqhci_deactivate()
    a69047c01eb4 mmc: dt-bindings: Add resets/reset-names for Mediatek MMC bindings
    5876ee035ba6 mmc: mediatek: add optional module reset property
    2816ccd07145 arm64: dts: mt7622: add reset node for mmc device
    d074d9d52fe0 ALSA: hda/realtek - Improved routing for Thinkpad X1 7th/8th Gen
    7de2f56ef51a ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion NT950XCJ-X716A
    a253fe35666d ALSA; firewire-tascam: exclude Tascam FE-8 from detection
    982505615063 ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO
    cebaed033037 ALSA: firewire-digi00x: exclude Avid Adrenaline from detection
    4fa06a43bf9f ALSA: hda/hdmi: always check pin power status in i915 pin fixup
    2ebb83a259a8 ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check
    79124b1b912c ALSA: usb-audio: Add implicit feedback quirk for UR22C
    a3b94af5117b ALSA: ca0106: fix error code handling
    156dd7c73a9b Revert "ALSA: hda: Add support for Loongson 7A1000 controller"
    62db427bf8ca Revert "net: dsa: microchip: set the correct number of ports"
    4254a4f7988c btrfs: fix potential deadlock in the search ioctl
    de53545e8d4c net: core: use listified Rx for GRO_NORMAL in napi_gro_receive()
    df0c47585cea btrfs: tree-checker: fix the error message for transid error
    650275310f3b btrfs: set the lockdep class for log tree extent buffers
    7e0ffb0d9d9f btrfs: set the correct lockdep class for new nodes
    c37cc199da2b btrfs: allocate scrub workqueues outside of locks
    eb29635ba68a btrfs: drop path before adding new uuid tree entry
    20b591fd00c0 ARC: perf: don't bail setup if pct irq missing in device-tree
    ce690fa1d5d0 xfs: don't update mtime on COW faults
    12cd8fccc9ed ext2: don't update mtime on COW faults
    cc6c4d81d6ad tracing/kprobes, x86/ptrace: Fix regs argument order for i386
    036a857bb57d iommu/vt-d: Handle 36bit addressing for x86-32
    8f747b0149c5 vfio-pci: Invalidate mmaps and block MMIO access on disabled memory
    b0f5096b281a vfio-pci: Fault mmaps to enable vma tracking
    270c35d0723a vfio/type1: Support faulting PFNMAP vmas
    5629bb21ce20 include/linux/log2.h: add missing () around n in roundup_pow_of_two()
    bc846b58fe5c net/packet: fix overflow in tpacket_rcv
    e3d109c3484e iommu/amd: Restore IRTE.RemapEn bit after programming IRTE
    7ce6bc1b549e thermal: qcom-spmi-temp-alarm: Don't suppress negative temp
    f5b3bd38ae91 thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430
    0c21f1bcafc1 iommu/vt-d: Serialize IOMMU GCMD register modifications
    920d9ffcd481 x86, fakenuma: Fix invalid starting node ID
    1a7e03867a37 tg3: Fix soft lockup when tg3_reset_task() fails.
    b0c40f8a7a0e perf jevents: Fix suspicious code in fixregex()
    6c4ad5444a26 xfs: fix xfs_bmap_validate_extent_raw when checking attr fork of rt files
    58591dd6afda MIPS: add missing MSACSR and upper MSA initialization
    612e2b7ec962 net: gemini: Fix another missing clk_disable_unprepare() in probe
    88405cf0f2bd fix regression in "epoll: Keep a reference on files added to the check list"
    901d22c6b6dc net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init()
    8e2660c834e3 perf tools: Correct SNOOPX field offset
    37f0a08a3a83 cxgb4: fix thermal zone device registration
    50d284778427 nvme: fix controller instance leak
    f4b830c61b5b nvmet-fc: Fix a missed _irqsave version of spin_lock in 'nvmet_fc_fod_op_done()'
    9ff9f74ed462 netfilter: nfnetlink: nfnetlink_unicast() reports EAGAIN instead of ENOBUFS
    498575898ec4 net: dsa: mt7530: fix advertising unsupported 1000baseT_Half
    c4a427b71cd7 selftests/bpf: Fix massive output from test_maps
    e0a1bebc332d media: cedrus: Add missing v4l2_ctrl_request_hdl_put()
    3fe12f4be001 media: vicodec: add missing v4l2_ctrl_request_hdl_put()
    f28f3cffff27 bnxt: don't enable NAPI until rings are ready
    da7a1676d6c1 xfs: fix boundary test in xfs_attr_shortform_verify
    8227199ceafd bnxt_en: fix HWRM error when querying VF temperature
    927a7629bedd bnxt_en: Fix possible crash in bnxt_fw_reset_task().
    70699d3cc77c bnxt_en: Fix PCI AER error recovery flow
    87547923b6c6 bnxt_en: Check for zero dir entries in NVRAM.
    e7cbba4db7da bnxt_en: Don't query FW when netif_running() is false.
    c11510bb8898 net: ethernet: ti: cpsw: fix clean up of vlan mc entries for host port
    0bd92cdc04e6 gtp: add GTPA_LINK info to msg sent to userspace
    24249fab08c6 dmaengine: pl330: Fix burst length if burst size is smaller than bus width
    719f92de3fff net: arc_emac: Fix memleak in arc_mdio_probe
    268fe5a4c040 ravb: Fixed to be able to unload modules
    8123fa897e65 net: systemport: Fix memleak in bcm_sysport_probe
    a49c0aebf9c4 net: hns: Fix memleak in hns_nic_dev_probe
    210b889fd8ef netfilter: nf_tables: fix destination register zeroing
    576fbd4902fb netfilter: nf_tables: incorrect enum nft_list_attributes definition
    929d07feb94f netfilter: nf_tables: add NFTA_SET_USERDATA if not null
    fb1e97674aa8 mmc: sdhci-acpi: Fix HS400 tuning for AMDI0040
    da8e3e507d2f MIPS: BMIPS: Also call bmips_cpu_setup() for secondary cores
    c5e9e36fc2f8 MIPS: mm: BMIPS5000 has inclusive physical caches
    5f7798f05311 rxrpc: Make rxrpc_kernel_get_srtt() indicate validity
    43cf7e7dfa7b rxrpc: Keep the ACK serial in a var in rxrpc_input_ack()
    242a7ab0ac52 dmaengine: at_hdmac: check return value of of_find_device_by_node() in at_dma_xlate()
    2f2786bb9d40 batman-adv: bla: use netif_rx_ni when not in interrupt context
    fd8b3ef644a4 batman-adv: Fix own OGM check in aggregated OGMs
    2344f2f186fd batman-adv: Avoid uninitialized chaddr when handling DHCP
    89cb604c4226 dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling
    1a89606baf31 fsldma: fix very broken 32-bit ppc ioread64 functionality
    6eb88c42dcc9 xen/xenbus: Fix granting of vmalloc'd memory
    0878655a9880 drm/amd/display: Fix memleak in amdgpu_dm_mode_config_init
    b014f2846e6f drm/amd/display: Retry AUX write when fail occurs
    9947928e619a drivers: gpu: amd: Initialize amdgpu_dm_backlight_caps object to 0 in amdgpu_dm_update_backlight_caps
    79d31527dfc3 drm/amd/display: Reject overlay plane configurations in multi-display scenarios
    29bade8e2fc9 s390: don't trace preemption in percpu macros
    c756635246e9 nbd: restore default timeout when setting it to zero
    c1e333e7b8da cpuidle: Fixup IRQ state
    ad3a4efc8c56 drm/omap: fix incorrect lock state
    0a8dcad24424 ceph: don't allow setlease on cephfs
    755fd63ae163 drm/msm/a6xx: fix gmu start on newer firmware
    7a55cf8a20c7 habanalabs: check correct vmalloc return code
    c9436de020a4 habanalabs: validate FW file size
    dddd5003c707 drm/msm: enable vblank during atomic commits
    2c9bc7d9600c nvmet: Disable keep-alive timer when kato is cleared to 0h
    e94a3d76305b hwmon: (applesmc) check status earlier.
    19583b280801 drm/msm: add shutdown support for display platform_driver
    8bc25dea70fe tty: serial: qcom_geni_serial: Drop __init from qcom_geni_console_setup
    28ffe70a2e33 drm/msm/dpu: Fix scale params in plane validation
    b2fc347e2126 HID: quirks: Always poll three more Lenovo PixArt mice
    e32f4fa1b24d Linux 5.4.63
    5153710a5ecc scsi: target: tcmu: Optimize use of flush_dcache_page
    bb9949fdfddd scsi: target: tcmu: Fix size in calls to tcmu_flush_dcache_range
    6d2e274f60fc sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra186
    0176db2f2ad5 sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra210
    eda97e9d90db arm64: tegra: Add missing timeout clock to Tegra210 SDMMC
    5cd8c5979e72 arm64: tegra: Add missing timeout clock to Tegra186 SDMMC nodes
    ef8b5f333780 arm64: tegra: Add missing timeout clock to Tegra194 SDMMC nodes
    9d806d68bf97 dt-bindings: mmc: tegra: Add tmclk for Tegra210 and later
    d2ac42e61ecd KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception
    ffad02f9e3ea KVM: arm64: Survive synchronous exceptions caused by AT instructions
    1744237ca047 KVM: arm64: Add kvm_extable for vaxorcism code
    538caddbe635 drm/etnaviv: fix TS cache flushing on GPUs with BLT engine
    80743b4bde09 drm/sched: Fix passing zero to 'PTR_ERR' warning v2
    6cadd1e2d8c5 perf record/stat: Explicitly call out event modifiers in the documentation
    4bae1afed432 HID: core: Sanitize event code and type when mapping input
    667514df10a0 HID: core: Correctly handle ReportSize being zero
    933cf1c2c075 Linux 5.4.62
    54ee77961e79 io_uring: Fix NULL pointer dereference in io_sq_wq_submit_work()
    44cf62d388fb ALSA: usb-audio: Update documentation comment for MS2109 quirk
    851d0813ab80 HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage()
    c98b6ebd9b55 kbuild: fix broken builds because of GZIP,BZIP2,LZOP variables
    37432a83faab kbuild: add variables for compression tools
    47a41f65afb6 kheaders: explain why include/config/autoconf.h is excluded from md5sum
    7caddaa9f88b kheaders: remove the last bashism to allow sh to run it
    18f48708c3f5 kheaders: optimize header copy for in-tree builds
    a1d0c6e2f334 kheaders: optimize md5sum calculation for in-tree builds
    eb914bae6e17 kheaders: remove unneeded 'cat' command piped to 'head' / 'tail'
    376810e5e9e1 fbmem: pull fbcon_update_vcs() out of fb_set_var()
    6a862aa31ec3 usb: dwc3: gadget: Handle ZLP for sg requests
    7c8b5685662b usb: dwc3: gadget: Fix handling ZLP
    4bc5d90a7dce usb: dwc3: gadget: Don't setup more than requested
    f8e4c5297fcd drm/i915: Fix cmd parser desc matching with masks
    73992639ec78 usb: storage: Add unusual_uas entry for Sony PSZ drives
    2add73c8c00d USB: cdc-acm: rework notification_buffer resizing
    e2e02f260496 USB: gadget: u_f: Unbreak offset calculation in VLAs
    4f529c4d1e43 USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb()
    f47ab852bea3 USB: gadget: u_f: add overflow checks to VLA macros
    2534d3dec376 usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe()
    de24343880a6 USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge
    ca29a2a53953 USB: quirks: Ignore duplicate endpoint on Sound Devices MixPre-D
    20b3564c6748 USB: quirks: Add no-lpm quirk for another Raydium touchscreen
    b32ec919ee37 usb: uas: Add quirk for PNY Pro Elite
    ad0bc424fc0a USB: yurex: Fix bad gfp argument
    3623dab2959e drm/amd/pm: correct the thermal alert temperature limit settings
    85ca6f199c77 drm/amd/pm: correct Vega20 swctf limit setting
    9afabefd42fc drm/amd/pm: correct Vega12 swctf limit setting
    60cffee2d951 drm/amd/pm: correct Vega10 swctf limit setting
    2809cf7f6eba drm/amd/powerplay: Fix hardmins not being sent to SMU for RV
    20700b352d10 drm/amdgpu/gfx10: refine mgcg setting
    8fc7a66619e1 drm/amdgpu: Fix buffer overflow in INFO ioctl
    1adf8c19f974 x86/hotplug: Silence APIC only after all interrupts are migrated
    47c8387a963e irqchip/stm32-exti: Avoid losing interrupts due to clearing pending bits by mistake
    927aa9a10f12 genirq/matrix: Deal with the sillyness of for_each_cpu() on UP
    70957a10e1db crypto: af_alg - Work around empty control messages without MSG_MORE
    aca10ab0568a device property: Fix the secondary firmware node handling in set_primary_fwnode()
    df2a6a4a9d68 powerpc/perf: Fix crashes with generic_compat_pmu & BHRB
    b260fb2a02b5 PM: sleep: core: Fix the handling of pending runtime resume requests
    7ded78a8c89e arm64: vdso32: make vdso32 install conditional
    3b7087e07730 xhci: Always restore EP_SOFT_CLEAR_TOGGLE even if ep reset failed
    02166fea639f xhci: Do warm-reset when both CAS and XDEV_RESUME are set
    3ac8545b29ae usb: host: xhci: fix ep context print mismatch in debugfs
    4d3e2a3a0c64 XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN data pointer which contains XEN specific information.
    6623c19042b6 writeback: Fix sync livelock due to b_dirty_time processing
    cb0c74450072 writeback: Avoid skipping inode writeback
    8eab2b531fd3 writeback: Protect inode->i_io_list with inode->i_lock
    2e76a3a1667c serial: 8250: change lock order in serial8250_do_startup()
    f53ebc7c2922 serial: 8250_exar: Fix number of ports for Commtech PCIe cards
    fbb55ec82dd6 serial: stm32: avoid kernel warning on absence of optional IRQ
    64a05aadf936 serial: pl011: Don't leak amba_ports entry on driver register error
    0806b49bba20 serial: pl011: Fix oops on -EPROBE_DEFER
    daae6b962a13 serial: samsung: Removes the IRQ not found warning
    7c57237d74a0 vt_ioctl: change VT_RESIZEX ioctl to check for error return from vc_resize()
    adb76f3f7732 vt: defer kfree() of vc_screenbuf in vc_do_resize()
    db1bb352cc08 USB: lvtest: return proper error code in probe
    96e41fc29e8a fbcon: prevent user font height or width change from causing potential out-of-bounds access
    cd1d270e3e4f btrfs: detect nocow for swap after snapshot delete
    eb576fc43a43 btrfs: fix space cache memory leak after transaction abort
    1d08edc70154 btrfs: check the right error variable in btrfs_del_dir_entries_in_log
    8a3509486f08 btrfs: reset compression level for lzo on remount
    b1a83ee0cbbf blk-mq: order adding requests to hctx->dispatch and checking SCHED_RESTART
    c2035d1e55aa HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands
    db4542b6617b block: loop: set discard granularity and alignment for block device backed loop
    f09dbec9c0c6 block: fix get_max_io_size()
    2f4b202eb1b1 arm64: Allow booting of late CPUs affected by erratum 1418040
    82b05f0838aa arm64: Move handling of erratum 1418040 into C code
    7d44b707aaff powerpc/perf: Fix soft lockups due to missed interrupt accounting
    9c0305c0cfa2 net: gianfar: Add of_node_put() before goto statement
    c656534e5c45 macvlan: validate setting of multiple remote source MAC addresses
    19f669a3609c Revert "scsi: qla2xxx: Fix crash on qla2x00_mailbox_command"
    48765b780ace scsi: qla2xxx: Fix null pointer access during disconnect from subsystem
    36a139cf4146 scsi: qla2xxx: Check if FW supports MQ before enabling
    88274626d110 scsi: qla2xxx: Fix login timeout
    37528b3ee9e1 scsi: ufs: Clean up completed request without interrupt notification
    a39ba0fdcdfd scsi: ufs: Improve interrupt handling for shared interrupts
    d895b0be701c scsi: ufs: Fix possible infinite loop in ufshcd_hold
    1778bebd06b4 scsi: fcoe: Fix I/O path allocation
    a8d26145e112 selftests: disable rp_filter for icmp_redirect.sh
    957066143e6c ASoC: wm8994: Avoid attempts to read unreadable registers
    1d63737b0777 s390/cio: add cond_resched() in the slow_eval_known_fn() loop
    2a8c6149a49a ALSA: hda/realtek: Add model alc298-samsung-headphone
    021a98a87864 can: j1939: transport: j1939_xtp_rx_dat_one(): compare own packets to detect corruptions
    3803312a3c55 netfilter: avoid ipv6 -> nf_defrag_ipv6 module dependency
    35238963c972 drm/amd/display: Switch to immediate mode for updating infopackets
    b92b415fa7b7 drm/amd/powerplay: correct UVD/VCE PG state on custom pptable uploading
    73a0e6280a32 drm/amd/powerplay: correct Vega20 cached smu feature state
    d2da80e0a3e7 spi: stm32: always perform registers configuration prior to transfer
    2844685c661a spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate
    a6daa863d15e spi: stm32: fix fifo threshold level in case of short transfer
    3c15a3c4b155 spi: stm32h7: fix race condition at end of transfer
    a08e95e83e6f fs: prevent BUG_ON in submit_bh_wbc()
    28a56c26a00d ext4: correctly restore system zone info when remount fails
    8e63c86f6580 ext4: handle error of ext4_setup_system_zone() on remount
    e579635669da ext4: handle option set by mount flags correctly
    3a53d012bd26 jbd2: abort journal if free a async write error metadata buffer
    1b36d4fa4b66 ext4: handle read only external journal device
    2e7312ddaf62 ext4: don't BUG on inconsistent journal feature
    40827caf954c jbd2: make sure jh have b_transaction set in refile/unfile_buffer
    e4351ad44d7e spi: stm32: clear only asserted irq flags on interrupt
    d63728afe947 usb: gadget: f_tcm: Fix some resource leaks in some error paths
    262f5fbad941 i2c: rcar: in slave mode, clear NACK earlier
    883ed72723ef i2c: core: Don't fail PRP0001 enumeration when no ID table exist
    2fc8fa50ebee null_blk: fix passing of REQ_FUA flag in null_handle_rq
    88994acafd96 nvme: multipath: round-robin: fix single non-optimized path case
    97f30414a2e0 nvme-fc: Fix wrong return value in __nvme_fc_init_request()
    05c608f630b9 blkcg: fix memleak for iolatency
    872a2b3182ee blk-mq: insert request not through ->queue_rq into sw/scheduler queue
    9054d5844092 hwmon: (nct7904) Correct divide by 0
    1475314530bb bfq: fix blkio cgroup leakage v4
    2295664518c3 block: Fix page_is_mergeable() for compound pages
    3e9eb1e893ba drm/msm/adreno: fix updating ring fence
    effd3b89f7e5 block: virtio_blk: fix handling single range discard request
    cc3a73f245cb block: respect queue limit of max discard segment
    8f409e764c4b media: gpio-ir-tx: improve precision of transmitted signal due to scheduling
    6ba04701b801 ALSA: usb-audio: Add capture support for Saffire 6 (USB 1.1)
    5861e84d7145 cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode
    1b7b2d45b31e PCI: qcom: Add missing reset for ipq806x
    ea552383a9d5 PCI: qcom: Change duplicate PCI reset to phy reset
    29ecf28be997 PCI: qcom: Add missing ipq806x clocks in PCIe driver
    6d11320bed41 EDAC/{i7core,sb,pnd2,skx}: Fix error event severity
    87cc96bb11b9 EDAC: skx_common: get rid of unused type var
    3bf42b2e8d67 EDAC: sb_edac: get rid of unused vars
    75aaa8fa7672 mm/vunmap: add cond_resched() in vunmap_pmd_range
    a2038eb833a5 drm/amd/display: Fix dmesg warning from setting abm level
    8522b1bec88e drm/amd/display: Add additional config guards for DCN
    992e51ff0e4b drm/amd/display: Trigger modesets on MST DSC connectors
    b730fb14434f drm/ingenic: Fix incorrect assumption about plane->index
    8dc47d858fea gpu/drm: ingenic: Use the plane's src_[x,y] to configure DMA length
    302b9e189962 cma: don't quit at first error when activating reserved areas
    aed14b1b5c0e mm/cma.c: switch to bitmap_zalloc() for cma bitmap allocation
    965d3d5ce355 mm: fix kthread_use_mm() vs TLB invalidate
    72574434da87 mm/shuffle: don't move pages between zones and don't read garbage memmaps
    483b956a16a0 btrfs: only commit delayed items at fsync if we are logging a directory
    3eddcc71fe8a btrfs: only commit the delayed inode when doing a full fsync
    d5f5b15d3ea4 btrfs: factor out inode items copy loop from btrfs_log_inode()
    a0cfda9cb3a1 s390/numa: set node distance to LOCAL_DISTANCE
    67f8b390b15e drm/xen-front: Fix misused IS_ERR_OR_NULL checks
    02611bcaafe5 drm/xen: fix passing zero to 'PTR_ERR' warning
    fe376f1b12d2 PM / devfreq: rk3399_dmc: Fix kernel oops when rockchip,pmu is absent
    b7cca731b486 PM / devfreq: rk3399_dmc: Disable devfreq-event device when fails
    a0f69c6f5e0b PM / devfreq: rk3399_dmc: Add missing of_node_put()
    961bfe1277ae usb: cdns3: gadget: always zeroed TRB buffer when enable endpoint
    2c0000f409ec sched/uclamp: Fix a deadlock when enabling uclamp static key
    88435320ebc1 sched/uclamp: Protect uclamp fast path code with static key
    93709d8ade00 Revert "ath10k: fix DMA related firmware crashes on multiple devices"
    da56eb03ea94 arm64: Fix __cpu_logical_map undefined issue
    12a9bec2bd4e efi: provide empty efi_enter_virtual_mode implementation
    b2defeb19bff brcmfmac: Set timeout value when configuring power save
    7aac56d8b0ee USB: sisusbvga: Fix a potential UB casued by left shifting a negative value
    e77f71c6341a powerpc/spufs: add CONFIG_COREDUMP dependency
    653ae33b030b KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe
    a84a6eb935ba media: davinci: vpif_capture: fix potential double free
    6b0010ed7140 hugetlbfs: prevent filesystem stacking of hugetlbfs
    c67c6e1f54aa EDAC/ie31200: Fallback if host bridge device is already initialized
    41191f8c57a1 scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del()
    a002274db527 ceph: do not access the kiocb after aio requests
    01540d5e7c1b ceph: fix potential mdsc use-after-free crash
    9da791b5410e scsi: iscsi: Do not put host in iscsi_set_flashnode_param()
    050292f138a3 btrfs: make btrfs_qgroup_check_reserved_leak take btrfs_inode
    1f52b85f6c79 btrfs: file: reserve qgroup space after the hole punch range is locked
    7d6689df48de locking/lockdep: Fix overflow in presentation of average lock-time
    2adf6ec63db2 drm/nouveau: Fix reference count leak in nouveau_connector_detect
    19e81f6325a9 drm/nouveau: fix reference count leak in nv50_disp_atomic_commit
    d23d52e38cc9 drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open
    45e30390f50f f2fs: fix use-after-free issue
    4cba87943046 HID: quirks: add NOGET quirk for Logitech GROUP
    6734eeb6c2f0 cec-api: prevent leaking memory through hole in structure
    bd4593030332 ALSA: hda: Add support for Loongson 7A1000 controller
    f4107f633a29 mips/vdso: Fix resource leaks in genvdso.c
    71e7e02c0590 rtlwifi: rtl8192cu: Prevent leaking urb
    3a84491364e1 ARM: dts: ls1021a: output PPS signal on FIPER2
    4410fd0c378e PCI: Fix pci_create_slot() reference count leak
    201838142c52 omapfb: fix multiple reference count leaks due to pm_runtime_get_sync
    22d859fe1bdc f2fs: fix error path in do_recover_data()
    110c5a5a6854 selftests/powerpc: Purge extra count_pmc() calls of ebb selftests
    0450a50c914e scsi: target: Fix xcopy sess release leak
    774cc7c882f8 xfs: Don't allow logging of XFS_ISTALE inodes
    40b450375c80 scsi: lpfc: Fix shost refcount mismatch when deleting vport
    815060a8ec2a drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails
    8290f9d4695f drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config
    3753eff4c69a drm/amd/display: fix ref count leak in amdgpu_drm_ioctl
    c911da7b6673 drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms
    40d0bf2b6e99 drm/radeon: fix multiple reference count leak
    9c88b27ac444 drm/amdkfd: Fix reference count leaks.
    1174ed705dda iommu/iova: Don't BUG on invalid PFNs
    f0a066af0f37 mfd: intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs
    d98ea48810e6 scsi: target: tcmu: Fix crash on ARM during cmd completion
    ab2d90e58ae1 blktrace: ensure our debugfs dir exists
    fc93c091de22 media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA value in debiirq()
    1dc0ed18219a powerpc/xive: Ignore kmemleak false positives
    88eb00cb39ce arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep
    d8cc881483d8 mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs
    fd5908860a17 ASoC: tegra: Fix reference count leaks.
    7d60cd2a6e08 ASoC: img-parallel-out: Fix a reference count leak
    8150a0e3d796 ASoC: img: Fix a reference count leak in img_i2s_in_set_fmt
    a53f67368c98 ALSA: hda/hdmi: Use force connectivity quirk on another HP desktop
    348da2f8566b ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged
    bcf40820b4fd ALSA: pci: delete repeated words in comments
    b45944e2b39e ALSA: hda/hdmi: Add quirk to force connectivity
    266d21a57093 ipvlan: fix device features
    e1334c4f4aec net/sched: act_ct: Fix skb double-free in tcf_ct_handle_fragments() error flow
    97a74349cf82 net: ena: Make missed_tx stat incremental
    6c2e795f95cd tipc: fix uninit skb->data in tipc_nl_compat_dumpit()
    d429362b3de4 net/smc: Prevent kernel-infoleak in __smc_diag_dump()
    4d2fe0addc38 net: sctp: Fix negotiation of the number of data streams.
    4ef63e365466 net: qrtr: fix usage of idr in port assignment to socket
    4ae9ebf9e8ea net: nexthop: don't allow empty NHA_GROUP
    6ed89176755c net: Fix potential wrong skb->protocol in skb_vlan_untag()
    b5e34120b06a gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY
    730443f4c48a binfmt_flat: revert "binfmt_flat: don't offset the data start"
    669fc3b38ce2 powerpc/64s: Don't init FSCR_DSCR in __init_FSCR()

(From OE-Core rev: e4c1ab07a50015fd85b4f5e78b62ac0fdebad969)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
(cherry picked from commit 4090a909ade3ac38bb14b978776daffc152f64d0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:22 +01:00
Bruce Ashfield
a75f77bb77 linux-yocto/config: netfilter: Enable nat for ipv4 and ipv6
Integrating the following commit(s):

    80452c7c245 netfilter: Enable nat for ipv4 and ipv6

(From OE-Core rev: 271ed4e1c3528310518b1729759c92959ac41e8c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
(cherry picked from commit 788623ab2913e760da9405de1c3a2633140122eb)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:22 +01:00
Bruce Ashfield
01ef240aed kernel-yocto: add KBUILD_DEFCONFIG search location to failure message
It was pointed out that since the check for the existence of
KBUILD_DEFCONFIG knows where it is looking, that should be part of
the error/log message.

We only look in one location for the defconfigs, so add where we
checked to the message.

(From OE-Core rev: 9f0e7c1a17542aa36d4245f15f6ffbafcbaf9bd3)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1d4d80be41d273abd1fb6416976603d924457973)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:22 +01:00
Norman Stetter
08fb02b12f sstate.bbclass: Check file ownership before doing 'touch -a'
In contrast to 'touching' a file without parameters 'touch -a' can only be
performed by the file owner. In case of a shared sstate-cache served
locally (e.g. over NFS),  where the user running bitbake is not the
owner of sstate-cache files, even if he has write access on group level,
the sstate_unpack_package task will fail.
Checking if the file is owned by the user before attempting to run
'touch -a' on it solves this.

(From OE-Core rev: 8e7bb01564d5b06bcbda402cf4d29d7a0ff170c5)

Signed-off-by: Norman Stetter <norman.stetter@garz-fricke.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f1554e8bd40c640fd58daac18ecf7b458e754109)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:22 +01:00
Otavio Salvador
f2d6fa90b6 openssh: Allow enable/disable of rng-tools recommendation on sshd
We are adding a new PACKAGECONFIG option ('rng-tools') to control if we
wish the openssh-sshd to RRECOMMENDS the 'rng-tools' package. We are
enabling it by default so there is no behavior change.

(From OE-Core rev: ff61cf5777c63a7ebecde5ada1cf01d7bafe265d)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit fe99349c1bd72b69d22ab0dc52b8825d3157b8e7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Michael Gloff
027d451239 sysvinit rc: Use PSPLASH_FIFO_DIR for progress fifo
psplash expects the fifo to be in /run or specified
by PSPLASH_FIFO_DIR. This patch allows psplash to
quit normally. Also, fix the work around of using
echo directly into the fifo and use psplash-write.

(From OE-Core rev: 0f395ab9d276595e75233dbdbb9ebb610bd1d3af)

Signed-off-by: Michael Gloff <mgloff@emacinc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2b48bbd0a8de17df74d1fae12b5e4eb3c2c0fb90)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Christian Eggers
7a6cd694bd packagegroup: rrecommend perf also for musl on ARM
The perf recipe builds fine for musl on ARM.

Fixes: d758a4445a ("packagegroup: Disable packages not available on musl")
(From OE-Core rev: 1edbd19cea9cfaaa10b89d870787c3126b521294)

Signed-off-by: Christian Eggers <ceggers@arri.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7a905f66d3a6d9018b18c1a8021c1cb8bf7d12ac)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
De Huo
0ff8b73db4 bash: fix CVE-2019-18276
An issue was discovered in disable_priv_mode in shell.c in GNU Bash
through 5.0 patch 11. By default, if Bash is run with its effective UID
not equal to its real UID, it will drop privileges by setting its
effective UID to its real UID. However, it does so incorrectly. On Linux
and other systems that support "saved UID" functionality, the saved UID
is not dropped. An attacker with command execution in the shell can use
"enable -f" for runtime loading of a new builtin, which can be a shared
object that calls setuid() and therefore regains privileges. However,
binaries running with an effective UID of 0 are unaffected.

Get the patch from [1] to fix the issue.

[1] https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=951bdaa

(From OE-Core rev: aee0f56a9b3b510649672d0b4427a0e94a001ec4)

Signed-off-by: De Huo <De.Huo@windriver.com>
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6f01acae9c279e0a580f46d1ba4c015caa3f8c2c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Richard Purdie
a88aa7cf7e ssh-pregen-hostkeys: Add a recipe with pregenerated ssh host keys
Host keys are getting bigger and taking an ever increasing amount of time
to generate. Whilst we do need to test that works, we don't need to test
it in every image. Add a recipe which can be added to images with
pre-generated keys, allowing us to speed up tests on the autobuilder
where it makes sense to.

(From OE-Core rev: 130695364281f62b9e00d311c21f7acb5a1204a1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c6c7d16437cbd5ccbee1b99a2154c33fdbac9299)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Richard Purdie
c4c7c7d5c8 oeqa/selftest/containerimage: Update to match assumptions in configuration
Assumptions in the test mean it doesn't work with ssh-pregen-hostkeys.
It also doesn't work with systemd. Update the configuration to make
sure neither of these effect the test.

(From OE-Core rev: 7dc649ba9abef2f9f2f863f568f8f808adbbff38)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e2f277657f1db6a0f805ac07d318a3850535d695)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Richard Purdie
fa085535f5 oeqa/selftest/incompatible_lib: Fix append usage
It's pure luck this has worked so far, add a missing space to the append.

(From OE-Core rev: 0c9437beb64aa294a1863de10a6c4b44612fa9e4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 793e0575b1cebb953276b5f93ff31e48c19779c8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Richard Purdie
24e771e354 oeqa/qemurunner: Increase serial timeout
Increase the serial login timeout from 60 to 120s. This seems like a
long time, however for a qemumips image with systemd+PAM and openssh,
(e.g. core-image-sato-sdk + DISTRO=poky-altcfg), the getty connects
to systemd's pam module which waits on logind and 45s for all this
to happen at the same time as things like ssh key generation happens
is not unknown.

Increase the timeout to match the longer times we know these things
can take in the worst case scenarios since we're tired of intermittent
issues related to the serial login affecting the autobuilder.

(From OE-Core rev: 1c5f304ad8d7d5deb85b3a5135556f9e38a9326b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d8b4292db741de660f756dfb766210814d587b7a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Richard Purdie
9dfed6a194 buildtools-tarball: Fix conflicts with oe-selftest and other tooling
OECORE_NATIVE_SYSROOT is used by tools like oe-run-native and hence
we were seeing selftest failures when newer buildtools-tarballs that
use this were run on the autobuilder.

Unset the variable after use to avoid these issues.

(From OE-Core rev: d00bab16aefb3f200b01ad6baee15bc9cca7b6ce)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ea5128fde10eb9be7fefbbb87ae6181edd2bcdff)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Richard Purdie
d092baeef2 buildtools: Handle generic environment setup injection
Currently buildtools has its own hacked environment setup. We added
capability for generic script fragements but this code was never updated
to use it even if several components it contains needs it.

Remove a hardcoded variable in favour of the generic scripts to
avoid bugs in this area in future. The others should probably be
migrated to environment files in future too but there isn't such
a file for those at present.

(From OE-Core rev: b62ced32772d21c689998c5995f31550db51466d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit eb210cee4bd71614dd108027e6d5aa8f8d451b27)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Ross Burton
5fb7913c5e meta: add/fix invalid Upstream-Status tags
(From OE-Core rev: 4dbae5c7c28a2cd6ebb601f984a54ca33d19afaf)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 630ce8130598e2bca7231ac28a7cc18b5b942544)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Randy MacLeod
02470d9ab0 curl: Change SRC_URI from http to https
The official links on:
   https://curl.haxx.se/download.html
use https now and we're seeing this warning:
   WARNING: curl-native-7.72.0-r0 do_fetch: Failed to fetch URL http://curl.haxx.se/download/curl-7.72.0.tar.bz2, attempting MIRRORS if available

(From OE-Core rev: 9f39e53b0e1bf74b233b3e33a9996934a198f533)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0aa24abf6c4d68efa63026d2496b6adc16734d35)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Khem Raj
ee87dbac9b packagegroups: remove strace and lttng-tools for rv32/musl
These tools are not yet ported to rv32/musl

(From OE-Core rev: d5173d1fb27d9ed050aa278ed83b28a757248f0d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cf963ef65d524256c2d00e0588cd3b8b7ef56ff4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Konrad Weihmann
78127d85bc testexport: rename create_tarball method
as otherwise when using it in combination with archiver.bbclass we would
have 2 methods of the same name but with different signatures
leading to various hard to understand exceptions

(From OE-Core rev: fa240a4d8ede066980cec70f479548d5df502ded)

Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ce0c1cb2fc67881d2edcbe269ea934917ccfb48a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Richard Purdie
74e4da095e dropbear/openssh: Lower priority of key generation
Where we have images with PAM+systemd, serial login can be extremely
slow. The load generated by key generation does slow down the rest
of the boot process.

Lower the priority level of these systemd services, since we'd
prefer to have the rest of the system boot more effectively.

This doesn't "solve" the slow systemd boot issues but does help.

(From OE-Core rev: c5394e65972ac21b1c7f68db100754939ecaef8c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 087700665284c08ba846e52b6b86276629f5f1cd)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Steve Sakoman
421f361d0d xinput-calibrator: change SRC_URI to branch with libinput support
Since "conf: Use xf86-input-libinput by default" [1] there are
reports [2] of xinput-calibrator failing because it expects
xf86-input-evdev and with the above patch xf86-input-libinput
takes precedence.

Fix this issue by using a branch of xinput calibrator which supports
xf86-input-libinput.

[1] https://git.openembedded.org/openembedded-core/commit/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc?id=2d005faff6341a81a2afae28860101ba9db51ae8
[2] https://www.yoctoproject.org/pipermail/yocto/2018-December/043487.html

(From OE-Core rev: 9ef52d226a783557cdeb995df423a9ed932f3e44)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d3b2302bcc1594e663183134793cf4aca8f4df41)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Andrey Zhizhikin
0d5448d77d insane: check for missing update-alternatives inherit
Add a package QA check to test if the recipe sets ALTERNATIVE variable
for any of its packages, and does not inherit update-alternatives class.
This causes the do_rootfs to fail since a proper alternative cannot be
created.

(From OE-Core rev: 0845f6b09716d927c586be5be878d08fa53b31d1)

Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 24b5ccc76d5660fac38ac5346666380a0ecce359)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Jacob Kroon
4608021610 insane: Check for feature check variables not being used
Add a package QA check for wether any of the variables used by
features_check.bbclass is set while not inheriting the class itself.

(From OE-Core rev: 02fa8637195447f38b4ce96086197490ce814987)

Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c06489d102682504afe33f9fee3facd9628b3f57)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Ross Burton
9f8853f2b5 sato-screenshot: improve .la removal
Don't assume that the .la files are installed, because some libtool
alternatives don't install these.

(From OE-Core rev: 07910054c75a084dcfb10c86c1bf69b68989f587)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e545ae3a7961111ceb4e2a468e9ec53cebfed721)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Ross Burton
dc497577e9 alsa-plugins: improve .la removal
Don't assume that the .la files are installed, because some libtool
alternatives don't install these.

(From OE-Core rev: d888a11a372be5886c6894e5b38514e44498934d)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e92b24368b71e4b178f81097b2a8d141c3b65481)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Chris Laplante
bd9cedf925 cve-update-db-native: remove unused variable
(From OE-Core rev: e9d24bae963aae93a1ace55c681b2d7de4ea935d)

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 790f8a5bfbd1851226fa5fc5b09e79f6396e747d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Chris Laplante
0ebe61887a cve-update-db-native: move -journal checking into do_fetch
It was always questionable to do this in an anonymous function, but now
with multiconfig it is a critical mistake and leads to more strange
"Exception: sqlite3.OperationalError: disk I/O error" errors.

(From OE-Core rev: 0e11c37e49272b967010df7dcebbe73a76f70edb)

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit fcbc9d0e8421a3a559db05005ba042337cd5d864)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Chris Laplante
b623ea2d29 cve-update-db-native: be less magical about checking whether the cve-check class is enabled
(From OE-Core rev: ec2a17001a2a0180ecdb0b946ff8f7673e14ba24)

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cbc717350b21fb417fa6f83621022ac633a26124)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Chee Yang Lee
275a0baa72 libx11: fix CVE-2020-14363
(From OE-Core rev: 5919afe43083d9d0b818c26ca4d6c175efa0f7b5)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Chee Yang Lee
0b214cad54 xserver-xorg: fix CVE-2020-14346/14361/14362
fix :
CVE-2020-14346
c940cc8b6c

CVE-2020-14361
144849ea27

CVE-2020-14362
2902b78535

(From OE-Core rev: d485870543fbc111832735ae713b2ec405ce78fa)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Chee Yang Lee
4557652c4f bash : inlcude patch 17 & 18
(From OE-Core rev: bf8f33c62f6fe98777248fb05ce3105e9f63d03a)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Chee Yang Lee
d51df4da28 qemu : fix CVE-2020-16092
(From OE-Core rev: 6007398a0ff468c0b15c4982d7f04e6186d6d700)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Khem Raj
e3a6561373 site: Make sys_siglist default to no
glibc 2.32 has deprecated sys_siglist [1]

since no is default for musl as well, therefore elevate it to common
site file for all

[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=b1ccfc061feee9ce616444ded8e1cd5acf9fa97f

(From OE-Core rev: 766e1565f3d33d9222323076cd57c22994bc25bf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7c19f30849e9a73a7497d8e6c4719a2e57017086)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Richard Purdie
177dab780a buildtools-tarball: Add python3-jinja2
This is used by various pieces of the result handling code, particularly the
performance testing and we're seeing autobuilder failures that are
easiest resolved using this.

Acked-by: Tim Orling <ticotimo@gmail.com>
(From OE-Core rev: 5dc390658f0839911d85fe7f3f3ce8bf006e69eb)

Signed-off-by: Tim Orling <ticotimo@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit dc6d4d438b71365f5c6f54b8482d4f01f1d0dc8e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Richard Purdie
993615ffec python3-jinja2: Import from meta-oe/meta-python
This is used by some of the results handling code and needed as part of
buildtools tarball on various autobuilder worker for testing.

ptest is disabled for OE-Core, at least for now since it depends on
python3-pytest which in turn has may other dependencies.

Acked-by: Tim Orling <ticotimo@gmail.com>
(From OE-Core rev: cc0f56a788c33ad3fd2bb5402dee497234fb06bb)

Signed-off-by: Tim Orling <ticotimo@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b5156e95e9e80e3e0f7eea181cd12f85e03a111d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
Richard Purdie
d7dfbbfb43 python3-markupsafe: Import from meta-oe/meta-python
Needed as a dependency of python3-jinja2. ptest is disabled for OE-Core, at
least for now since it depends on python3-pytest which in turn has may other
dependencies.

Acked-by: Tim Orling <ticotimo@gmail.com>
(From OE-Core rev: ec222f6af5f8629453ac8e71a1dd6c44ec9a88c8)

Signed-off-by: Tim Orling <ticotimo@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a6f2727fd309b8b46a7ac1b8d99ae1d77a6ee74c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-06 14:15:21 +01:00
209 changed files with 9282 additions and 724 deletions

View File

@@ -1124,6 +1124,67 @@
</glossdef>
</glossentry>
<glossentry id='var-BBFILES_DYNAMIC'><glossterm>BBFILES_DYNAMIC</glossterm>
<info>
BBFILES_DYNAMIC[doc] = "Activates content depending on presence of identified layers."
</info>
<glossdef>
<para role="glossdeffirst">
Activates content depending on presence of identified layers.
You identify the layers by the collections that the layers
define.
</para>
<para>
Use the <filename>BBFILES_DYNAMIC</filename> variable to
avoid <filename>.bbappend</filename> files whose
corresponding <filename>.bb</filename> file is in a layer
that attempts to modify other layers through
<filename>.bbappend</filename> but does not want to
introduce a hard dependency on those other layers.
</para>
<para>
Additionally you can prefix the rule with "!" to add
<filename>.bbappend</filename> and <filename>.bb</filename> files
in case a layer is not present.
Use this avoid hard dependency on those other layers.
</para>
<para>
Use the following form for
<filename>BBFILES_DYNAMIC</filename>:
<literallayout class='monospaced'>
<replaceable>collection_name</replaceable>:<replaceable>filename_pattern</replaceable>
</literallayout>
The following example identifies two collection names and
two filename patterns:
<literallayout class='monospaced'>
BBFILES_DYNAMIC += "\
clang-layer:${LAYERDIR}/bbappends/meta-clang/*/*/*.bbappend \
core:${LAYERDIR}/bbappends/openembedded-core/meta/*/*/*.bbappend \
"
</literallayout>
When the collection name is prefixed with "!" it will add the file pattern in case
the layer is absent:
<literallayout class='monospaced'>
BBFILES_DYNAMIC += "\
!clang-layer:${LAYERDIR}/backfill/meta-clang/*/*/*.bb \
"
</literallayout>
This next example shows an error message that occurs
because invalid entries are found, which cause parsing to
abort:
<literallayout class='monospaced'>
ERROR: BBFILES_DYNAMIC entries must be of the form {!}&lt;collection name&gt;:&lt;filename pattern&gt;, not:
/work/my-layer/bbappends/meta-security-isafw/*/*/*.bbappend
/work/my-layer/bbappends/openembedded-core/meta/*/*/*.bbappend
</literallayout>
</para>
</glossdef>
</glossentry>
<glossentry id='var-bb-BBINCLUDED'><glossterm>BBINCLUDED</glossterm>
<glossdef>
<para>

View File

@@ -236,7 +236,7 @@ class Git(FetchMethod):
ud.unresolvedrev[name] = ud.revisions[name]
ud.revisions[name] = self.latest_revision(ud, d, name)
gitsrcname = '%s%s' % (ud.host.replace(':', '.'), ud.path.replace('/', '.').replace('*', '.'))
gitsrcname = '%s%s' % (ud.host.replace(':', '.'), ud.path.replace('/', '.').replace('*', '.').replace(' ','_'))
if gitsrcname.startswith('.'):
gitsrcname = gitsrcname[1:]
@@ -342,7 +342,7 @@ class Git(FetchMethod):
# We do this since git will use a "-l" option automatically for local urls where possible
if repourl.startswith("file://"):
repourl = repourl[7:]
clone_cmd = "LANG=C %s clone --bare --mirror %s %s --progress" % (ud.basecmd, repourl, ud.clonedir)
clone_cmd = "LANG=C %s clone --bare --mirror \"%s\" %s --progress" % (ud.basecmd, repourl, ud.clonedir)
if ud.proto.lower() != 'file':
bb.fetch2.check_network_access(d, clone_cmd, ud.url)
progresshandler = GitProgressHandler(d)
@@ -354,8 +354,8 @@ class Git(FetchMethod):
if "origin" in output:
runfetchcmd("%s remote rm origin" % ud.basecmd, d, workdir=ud.clonedir)
runfetchcmd("%s remote add --mirror=fetch origin %s" % (ud.basecmd, repourl), d, workdir=ud.clonedir)
fetch_cmd = "LANG=C %s fetch -f --progress %s refs/*:refs/*" % (ud.basecmd, repourl)
runfetchcmd("%s remote add --mirror=fetch origin \"%s\"" % (ud.basecmd, repourl), d, workdir=ud.clonedir)
fetch_cmd = "LANG=C %s fetch -f --progress \"%s\" refs/*:refs/*" % (ud.basecmd, repourl)
if ud.proto.lower() != 'file':
bb.fetch2.check_network_access(d, fetch_cmd, ud.url)
progresshandler = GitProgressHandler(d)
@@ -501,7 +501,7 @@ class Git(FetchMethod):
raise bb.fetch2.UnpackError("No up to date source found: " + "; ".join(source_error), ud.url)
repourl = self._get_repo_url(ud)
runfetchcmd("%s remote set-url origin %s" % (ud.basecmd, repourl), d, workdir=destdir)
runfetchcmd("%s remote set-url origin \"%s\"" % (ud.basecmd, repourl), d, workdir=destdir)
if self._contains_lfs(ud, d, destdir):
if need_lfs and not self._find_git_lfs(d):
@@ -613,7 +613,7 @@ class Git(FetchMethod):
d.setVar('_BB_GIT_IN_LSREMOTE', '1')
try:
repourl = self._get_repo_url(ud)
cmd = "%s ls-remote %s %s" % \
cmd = "%s ls-remote \"%s\" %s" % \
(ud.basecmd, repourl, search)
if ud.proto.lower() != 'file':
bb.fetch2.check_network_access(d, cmd, repourl)

View File

@@ -223,6 +223,21 @@ class URITest(unittest.TestCase):
'query': {},
'relative': False
},
"git://tfs-example.org:22/tfs/example%20path/example.git": {
'uri': 'git://tfs-example.org:22/tfs/example%20path/example.git',
'scheme': 'git',
'hostname': 'tfs-example.org',
'port': 22,
'hostport': 'tfs-example.org:22',
'path': '/tfs/example path/example.git',
'userinfo': '',
'userinfo': '',
'username': '',
'password': '',
'params': {},
'query': {},
'relative': False
},
"http://somesite.net;someparam=1": {
'uri': 'http://somesite.net;someparam=1',
'scheme': 'http',
@@ -903,7 +918,7 @@ class FetcherNetworkTest(FetcherTest):
def test_git_submodule_dbus_broker(self):
# The following external repositories have show failures in fetch and unpack operations
# We want to avoid regressions!
url = "gitsm://github.com/bus1/dbus-broker;protocol=git;rev=fc874afa0992d0c75ec25acb43d344679f0ee7d2"
url = "gitsm://github.com/bus1/dbus-broker;protocol=git;rev=fc874afa0992d0c75ec25acb43d344679f0ee7d2;branch=main"
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
# Previous cwd has been deleted
@@ -2080,6 +2095,38 @@ class GitLfsTest(FetcherTest):
shutil.rmtree(self.gitdir, ignore_errors=True)
fetcher.unpack(self.d.getVar('WORKDIR'))
class GitURLWithSpacesTest(FetcherTest):
test_git_urls = {
"git://tfs-example.org:22/tfs/example%20path/example.git" : {
'url': 'git://tfs-example.org:22/tfs/example%20path/example.git',
'gitsrcname': 'tfs-example.org.22.tfs.example_path.example.git',
'path': '/tfs/example path/example.git'
},
"git://tfs-example.org:22/tfs/example%20path/example%20repo.git" : {
'url': 'git://tfs-example.org:22/tfs/example%20path/example%20repo.git',
'gitsrcname': 'tfs-example.org.22.tfs.example_path.example_repo.git',
'path': '/tfs/example path/example repo.git'
}
}
def test_urls(self):
# Set fake SRCREV to stop git fetcher from trying to contact non-existent git repo
self.d.setVar('SRCREV', '82ea737a0b42a8b53e11c9cde141e9e9c0bd8c40')
for test_git_url, ref in self.test_git_urls.items():
fetcher = bb.fetch.Fetch([test_git_url], self.d)
ud = fetcher.ud[fetcher.urls[0]]
self.assertEqual(ud.url, ref['url'])
self.assertEqual(ud.path, ref['path'])
self.assertEqual(ud.localfile, os.path.join(self.dldir, "git2", ref['gitsrcname']))
self.assertEqual(ud.localpath, os.path.join(self.dldir, "git2", ref['gitsrcname']))
self.assertEqual(ud.lockfile, os.path.join(self.dldir, "git2", ref['gitsrcname'] + '.lock'))
self.assertEqual(ud.clonedir, os.path.join(self.dldir, "git2", ref['gitsrcname']))
self.assertEqual(ud.fullmirror, os.path.join(self.dldir, "git2_" + ref['gitsrcname'] + '.tar.gz'))
class NPMTest(FetcherTest):
def skipIfNoNpm():
import shutil

View File

@@ -142,9 +142,14 @@
</revision>
<revision>
<revnumber>3.1.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>October 2020</date>
<revremark>Released with the Yocto Project 3.1.3 Release.</revremark>
</revision>
<revision>
<revnumber>3.1.4</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 3.1.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -132,9 +132,14 @@
</revision>
<revision>
<revnumber>3.1.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>October 2020</date>
<revremark>Released with the Yocto Project 3.1.3 Release.</revremark>
</revision>
<revision>
<revnumber>3.1.4</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 3.1.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -117,9 +117,14 @@
</revision>
<revision>
<revnumber>3.1.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>October 2020</date>
<revremark>Released with the Yocto Project 3.1.3 Release.</revremark>
</revision>
<revision>
<revnumber>3.1.4</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 3.1.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -108,9 +108,14 @@
</revision>
<revision>
<revnumber>3.1.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>October 2020</date>
<revremark>Released with the Yocto Project 3.1.3 Release.</revremark>
</revision>
<revision>
<revnumber>3.1.4</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 3.1.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -67,9 +67,14 @@
</revision>
<revision>
<revnumber>3.1.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>October 2020</date>
<revremark>Released with the Yocto Project 3.1.3 Release.</revremark>
</revision>
<revision>
<revnumber>3.1.4</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 3.1.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -1,17 +1,17 @@
<!ENTITY DISTRO "3.1.3">
<!ENTITY DISTRO_COMPRESSED "313">
<!ENTITY DISTRO "3.1.4">
<!ENTITY DISTRO_COMPRESSED "314">
<!ENTITY DISTRO_NAME_NO_CAP "dunfell">
<!ENTITY DISTRO_NAME "Dunfell">
<!ENTITY DISTRO_NAME_NO_CAP_MINUS_ONE "zeus">
<!ENTITY DISTRO_NAME_MINUS_ONE "Zeus">
<!ENTITY YOCTO_DOC_VERSION "3.1.3">
<!ENTITY YOCTO_DOC_VERSION "3.1.4">
<!ENTITY YOCTO_DOC_VERSION_MINUS_ONE "3.0.2">
<!ENTITY DISTRO_REL_TAG "yocto-3.1.3">
<!ENTITY DISTRO_REL_TAG "yocto-3.1.4">
<!ENTITY METAINTELVERSION "12.0">
<!ENTITY REL_MONTH_YEAR "September 2020">
<!ENTITY REL_MONTH_YEAR "November 2020">
<!ENTITY META_INTEL_REL_TAG "&METAINTELVERSION;-&DISTRO_NAME_NO_CAP;-&YOCTO_DOC_VERSION;">
<!ENTITY POKYVERSION "23.0.3">
<!ENTITY POKYVERSION_COMPRESSED "2303">
<!ENTITY POKYVERSION "23.0.4">
<!ENTITY POKYVERSION_COMPRESSED "2304">
<!ENTITY YOCTO_POKY "poky-&DISTRO_NAME_NO_CAP;-&POKYVERSION;">
<!ENTITY COPYRIGHT_YEAR "2010-2020">
<!ENTITY ORGNAME "The Yocto Project">

View File

@@ -117,9 +117,14 @@
</revision>
<revision>
<revnumber>3.1.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>October 2020</date>
<revremark>Released with the Yocto Project 3.1.3 Release.</revremark>
</revision>
<revision>
<revnumber>3.1.4</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 3.1.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -143,9 +143,14 @@
</revision>
<revision>
<revnumber>3.1.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>October 2020</date>
<revremark>Released with the Yocto Project 3.1.3 Release.</revremark>
</revision>
<revision>
<revnumber>3.1.4</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 3.1.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -87,9 +87,14 @@
</revision>
<revision>
<revnumber>3.1.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>October 2020</date>
<revremark>Released with the Yocto Project 3.1.3 Release.</revremark>
</revision>
<revision>
<revnumber>3.1.4</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 3.1.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -97,9 +97,14 @@
</revision>
<revision>
<revnumber>3.1.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>October 2020</date>
<revremark>Released with the Yocto Project 3.1.3 Release.</revremark>
</revision>
<revision>
<revnumber>3.1.4</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 3.1.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -1,36 +1,36 @@
# Processes bitbake-user-manual (<word>-<word>-<word> style).
# This style is for manual three-word folders, which currently is only the BitBake User Manual.
# We used to have the "yocto-project-qs" and "poky-ref-manual" folders but no longer do.
# s@"ulink" href="http://www.yoctoproject.org/docs/3.1.3/[a-z]*-[a-z]*-[a-z]*/[a-z]*-[a-z]*-[a-z]*.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.3/bitbake-user-manual/bitbake-user-manual.html#@"link" href="#@g
# s@"ulink" href="http://www.yoctoproject.org/docs/3.1.4/[a-z]*-[a-z]*-[a-z]*/[a-z]*-[a-z]*-[a-z]*.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.4/bitbake-user-manual/bitbake-user-manual.html#@"link" href="#@g
# Processes all other manuals (<word>-<word> style).
# This style is for manual folders that use two word, which is the standard now (e.g. "ref-manual").
# Here is the one-liner:
# s@"ulink" href="http://www.yoctoproject.org/docs/3.1.3/[a-z]*-[a-z]*/[a-z]*-[a-z]*.html#@"link" href="#@g
# s@"ulink" href="http://www.yoctoproject.org/docs/3.1.4/[a-z]*-[a-z]*/[a-z]*-[a-z]*.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.3/sdk-manual/sdk-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.3/bsp-guide/bsp-guide.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.3/dev-manual/dev-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.3/overview-manual/overview-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.3/brief-yoctoprojectqs/brief-yoctoprojectqs.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.3/kernel-dev/kernel-dev.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.3/profile-manual/profile-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.3/ref-manual/ref-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.3/toaster-manual/toaster-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.4/sdk-manual/sdk-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.4/bsp-guide/bsp-guide.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.4/dev-manual/dev-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.4/overview-manual/overview-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.4/brief-yoctoprojectqs/brief-yoctoprojectqs.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.4/kernel-dev/kernel-dev.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.4/profile-manual/profile-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.4/ref-manual/ref-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/3.1.4/toaster-manual/toaster-manual.html#@"link" href="#@g
# Process cases where just an external manual is referenced without an id anchor
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.3/brief-yoctoprojectqs/brief-yoctoprojectqs.html" target="_top">Yocto Project Quick Build</a>@Yocto Project Quick Build@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.3/bitbake-user-manual/bitbake-user-manual.html" target="_top">BitBake User Manual</a>@BitBake User Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.3/dev-manual/dev-manual.html" target="_top">Yocto Project Development Tasks Manual</a>@Yocto Project Development Tasks Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.3/overview-manual/overview-manual.html" target="_top">Yocto Project Overview and Concepts Manual</a>@Yocto project Overview and Concepts Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.3/sdk-manual/sdk-manual.html" target="_top">Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</a>@Yocto Project Application Development and the Extensible Software Development Kit (eSDK)@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.3/bsp-guide/bsp-guide.html" target="_top">Yocto Project Board Support Package (BSP) Developer's Guide</a>@Yocto Project Board Support Package (BSP) Developer's Guide@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.3/profile-manual/profile-manual.html" target="_top">Yocto Project Profiling and Tracing Manual</a>@Yocto Project Profiling and Tracing Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.3/kernel-dev/kernel-dev.html" target="_top">Yocto Project Linux Kernel Development Manual</a>@Yocto Project Linux Kernel Development Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.3/ref-manual/ref-manual.html" target="_top">Yocto Project Reference Manual</a>@Yocto Project Reference Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.3/toaster-manual/toaster-manual.html" target="_top">Toaster User Manual</a>@Toaster User Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.4/brief-yoctoprojectqs/brief-yoctoprojectqs.html" target="_top">Yocto Project Quick Build</a>@Yocto Project Quick Build@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.4/bitbake-user-manual/bitbake-user-manual.html" target="_top">BitBake User Manual</a>@BitBake User Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.4/dev-manual/dev-manual.html" target="_top">Yocto Project Development Tasks Manual</a>@Yocto Project Development Tasks Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.4/overview-manual/overview-manual.html" target="_top">Yocto Project Overview and Concepts Manual</a>@Yocto project Overview and Concepts Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.4/sdk-manual/sdk-manual.html" target="_top">Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</a>@Yocto Project Application Development and the Extensible Software Development Kit (eSDK)@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.4/bsp-guide/bsp-guide.html" target="_top">Yocto Project Board Support Package (BSP) Developer's Guide</a>@Yocto Project Board Support Package (BSP) Developer's Guide@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.4/profile-manual/profile-manual.html" target="_top">Yocto Project Profiling and Tracing Manual</a>@Yocto Project Profiling and Tracing Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.4/kernel-dev/kernel-dev.html" target="_top">Yocto Project Linux Kernel Development Manual</a>@Yocto Project Linux Kernel Development Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.4/ref-manual/ref-manual.html" target="_top">Yocto Project Reference Manual</a>@Yocto Project Reference Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.4/toaster-manual/toaster-manual.html" target="_top">Toaster User Manual</a>@Toaster User Manual@g
# Process a single, rouge occurrence of a linked reference to the Mega-Manual.
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.3/mega-manual/mega-manual.html" target="_top">Yocto Project Mega-Manual</a>@Yocto Project Mega-Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/3.1.4/mega-manual/mega-manual.html" target="_top">Yocto Project Mega-Manual</a>@Yocto Project Mega-Manual@g

View File

@@ -1,6 +1,6 @@
DISTRO = "poky"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
DISTRO_VERSION = "3.1.3"
DISTRO_VERSION = "3.1.4"
DISTRO_CODENAME = "dunfell"
SDK_VENDOR = "-pokysdk"
SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${DATE}', 'snapshot')}"

View File

@@ -13,6 +13,6 @@ class VirglTest(OERuntimeTestCase):
@OETestDepends(['virgl.VirglTest.test_kernel_driver'])
def test_kmscube(self):
status, output = self.target.run('kmscube', timeout=30)
status, output = self.target.run('kmscube')
self.assertEqual(status, 0, "kmscube exited with non-zero status %d and output:\n%s" %(status, output))
self.assertIn('renderer: "virgl"', output, "kmscube does not seem to use virgl:\n%s" %(output))

View File

@@ -28,7 +28,8 @@ WARN_QA ?= "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi \
pn-overrides infodir build-deps src-uri-bad \
unknown-configure-option symlink-to-sysroot multilib \
invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \
mime mime-xdg unlisted-pkg-lics \
mime mime-xdg unlisted-pkg-lics unhandled-features-check \
missing-update-alternatives \
"
ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
@@ -974,9 +975,27 @@ def package_qa_check_src_uri(pn, d, messages):
package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses PN not BPN" % pn, d)
for url in d.getVar("SRC_URI").split():
if re.search(r"github\.com/.+/.+/archive/.+", url):
package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub archives" % pn, d)
if re.search(r"git(hu|la)b\.com/.+/.+/archive/.+", url):
package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol" % pn, d)
QARECIPETEST[unhandled-features-check] = "package_qa_check_unhandled_features_check"
def package_qa_check_unhandled_features_check(pn, d, messages):
if not bb.data.inherits_class('features_check', d):
var_set = False
for kind in ['DISTRO', 'MACHINE', 'COMBINED']:
for var in ['ANY_OF_' + kind + '_FEATURES', 'REQUIRED_' + kind + '_FEATURES', 'CONFLICT_' + kind + '_FEATURES']:
if d.getVar(var) is not None or d.overridedata.get(var) is not None:
var_set = True
if var_set:
package_qa_handle_error("unhandled-features-check", "%s: recipe doesn't inherit features_check" % pn, d)
QARECIPETEST[missing-update-alternatives] = "package_qa_check_missing_update_alternatives"
def package_qa_check_missing_update_alternatives(pn, d, messages):
# Look at all packages and find out if any of those sets ALTERNATIVE variable
# without inheriting update-alternatives class
for pkg in (d.getVar('PACKAGES') or '').split():
if d.getVar('ALTERNATIVE_%s' % pkg) and not bb.data.inherits_class('update-alternatives', d):
package_qa_handle_error("missing-update-alternatives", "%s: recipe defines ALTERNATIVE_%s but doesn't inherit update-alternatives. This might fail during do_rootfs later!" % (pn, pkg), d)
# The PACKAGE FUNC to scan each package
python do_package_qa () {

View File

@@ -120,6 +120,7 @@ python split_kernel_module_packages () {
files = d.getVar('FILES_%s' % pkg)
files = "%s /etc/modules-load.d/%s.conf /etc/modprobe.d/%s.conf" % (files, basename, basename)
d.setVar('FILES_%s' % pkg, files)
d.setVar('CONFFILES_%s' % pkg, files)
if "description" in vals:
old_desc = d.getVar('DESCRIPTION_' + pkg) or ""

View File

@@ -148,7 +148,7 @@ do_kernel_metadata() {
fi
in_tree_defconfig="${WORKDIR}/defconfig"
else
bbfatal "A KBUILD_DEFCONFIG '${KBUILD_DEFCONFIG}' was specified, but not present in the source tree"
bbfatal "A KBUILD_DEFCONFIG '${KBUILD_DEFCONFIG}' was specified, but not present in the source tree (${S}/arch/${ARCH}/configs/)"
fi
fi

View File

@@ -40,7 +40,7 @@
# QB_NETWORK_DEVICE_prepend might be used, since Qemu enumerates the eth*
# devices in reverse order to -device arguments.
#
# QB_TAP_OPT: netowrk option for 'tap' mode, e.g.,
# QB_TAP_OPT: network option for 'tap' mode, e.g.,
# "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
# Note, runqemu will replace "@TAP@" with the one which is used, such as tap0, tap1 ...
#

View File

@@ -70,100 +70,16 @@ do_deploy_source_date_epoch[sstate-plaindirs] = "${SDE_DEPLOYDIR}"
addtask do_deploy_source_date_epoch_setscene
addtask do_deploy_source_date_epoch before do_configure after do_patch
def get_source_date_epoch_from_known_files(d, sourcedir):
source_date_epoch = None
newest_file = None
known_files = set(["NEWS", "ChangeLog", "Changelog", "CHANGES"])
for file in known_files:
filepath = os.path.join(sourcedir, file)
if os.path.isfile(filepath):
mtime = int(os.lstat(filepath).st_mtime)
# There may be more than one "known_file" present, if so, use the youngest one
if not source_date_epoch or mtime > source_date_epoch:
source_date_epoch = mtime
newest_file = filepath
if newest_file:
bb.debug(1, "SOURCE_DATE_EPOCH taken from: %s" % newest_file)
return source_date_epoch
def find_git_folder(d, sourcedir):
# First guess: WORKDIR/git
# This is the default git fetcher unpack path
workdir = d.getVar('WORKDIR')
gitpath = os.path.join(workdir, "git/.git")
if os.path.isdir(gitpath):
return gitpath
# Second guess: ${S}
gitpath = os.path.join(sourcedir, ".git")
if os.path.isdir(gitpath):
return gitpath
# Perhaps there was a subpath or destsuffix specified.
# Go looking in the WORKDIR
exclude = set(["build", "image", "license-destdir", "patches", "pseudo",
"recipe-sysroot", "recipe-sysroot-native", "sysroot-destdir", "temp"])
for root, dirs, files in os.walk(workdir, topdown=True):
dirs[:] = [d for d in dirs if d not in exclude]
if '.git' in dirs:
return root
bb.warn("Failed to find a git repository in WORKDIR: %s" % workdir)
return None
def get_source_date_epoch_from_git(d, sourcedir):
source_date_epoch = None
if "git://" in d.getVar('SRC_URI'):
gitpath = find_git_folder(d, sourcedir)
if gitpath:
import subprocess
source_date_epoch = int(subprocess.check_output(['git','log','-1','--pretty=%ct'], cwd=gitpath))
bb.debug(1, "git repository: %s" % gitpath)
return source_date_epoch
def get_source_date_epoch_from_youngest_file(d, sourcedir):
if sourcedir == d.getVar('WORKDIR'):
# These sources are almost certainly not from a tarball
return None
# Do it the hard way: check all files and find the youngest one...
source_date_epoch = None
newest_file = None
for root, dirs, files in os.walk(sourcedir, topdown=True):
files = [f for f in files if not f[0] == '.']
for fname in files:
filename = os.path.join(root, fname)
try:
mtime = int(os.lstat(filename).st_mtime)
except ValueError:
mtime = 0
if not source_date_epoch or mtime > source_date_epoch:
source_date_epoch = mtime
newest_file = filename
if newest_file:
bb.debug(1, "Newest file found: %s" % newest_file)
return source_date_epoch
def fixed_source_date_epoch():
bb.debug(1, "No tarball or git repo found to determine SOURCE_DATE_EPOCH")
return 0
python create_source_date_epoch_stamp() {
import oe.reproducible
epochfile = d.getVar('SDE_FILE')
# If it exists we need to regenerate as the sources may have changed
if os.path.isfile(epochfile):
bb.debug(1, "Deleting existing SOURCE_DATE_EPOCH from: %s" % epochfile)
os.remove(epochfile)
sourcedir = d.getVar('S')
source_date_epoch = (
get_source_date_epoch_from_git(d, sourcedir) or
get_source_date_epoch_from_known_files(d, sourcedir) or
get_source_date_epoch_from_youngest_file(d, sourcedir) or
fixed_source_date_epoch() # Last resort
)
source_date_epoch = oe.reproducible.get_source_date_epoch(d, d.getVar('S'))
bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch)
bb.utils.mkdirhier(d.getVar('SDE_DIR'))

View File

@@ -769,8 +769,8 @@ def check_sanity_everybuild(status, d):
# Check the Python version, we now have a minimum of Python 3.4
import sys
if sys.hexversion < 0x03040000:
status.addresult('The system requires at least Python 3.4 to run. Please update your Python interpreter.\n')
if sys.hexversion < 0x030500F0:
status.addresult('The system requires at least Python 3.5 to run. Please update your Python interpreter.\n')
# Check the bitbake version meets minimum requirements
from distutils.version import LooseVersion

View File

@@ -45,6 +45,7 @@ def siteinfo_data_for_machine(arch, os, d):
"mipsisa32r6": "endian-big bit-32 mips-common",
"mipsisa32r6el": "endian-little bit-32 mips-common",
"powerpc": "endian-big bit-32 powerpc-common",
"powerpcle": "endian-little bit-32 powerpc-common",
"nios2": "endian-little bit-32 nios2-common",
"powerpc64": "endian-big bit-64 powerpc-common",
"powerpc64le": "endian-little bit-64 powerpc-common",
@@ -54,7 +55,9 @@ def siteinfo_data_for_machine(arch, os, d):
"riscv32": "endian-little bit-32 riscv-common",
"riscv64": "endian-little bit-64 riscv-common",
"sh3": "endian-little bit-32 sh-common",
"sh3eb": "endian-big bit-32 sh-common",
"sh4": "endian-little bit-32 sh-common",
"sh4eb": "endian-big bit-32 sh-common",
"sparc": "endian-big bit-32",
"viac3": "endian-little bit-32 ix86-common",
"x86_64": "endian-little", # bitinfo specified in targetinfo
@@ -100,6 +103,8 @@ def siteinfo_data_for_machine(arch, os, d):
"mipsisa64r6el-linux-gnun32": "mipsisa32r6el-linux bit-32",
"powerpc-linux": "powerpc32-linux",
"powerpc-linux-musl": "powerpc-linux powerpc32-linux",
"powerpcle-linux": "powerpc32-linux",
"powerpcle-linux-musl": "powerpc-linux powerpc32-linux",
"powerpc-linux-gnuspe": "powerpc-linux powerpc32-linux",
"powerpc-linux-muslspe": "powerpc-linux powerpc32-linux",
"powerpc64-linux-gnuspe": "powerpc-linux powerpc64-linux",

View File

@@ -847,7 +847,7 @@ python sstate_report_unihash() {
sstate_unpack_package () {
tar -xvzf ${SSTATE_PKG}
# update .siginfo atime on local/NFS mirror
[ -w ${SSTATE_PKG}.siginfo ] && [ -h ${SSTATE_PKG}.siginfo ] && touch -a ${SSTATE_PKG}.siginfo
[ -O ${SSTATE_PKG}.siginfo ] && [ -w ${SSTATE_PKG}.siginfo ] && [ -h ${SSTATE_PKG}.siginfo ] && touch -a ${SSTATE_PKG}.siginfo
# Use "! -w ||" to return true for read only files
[ ! -w ${SSTATE_PKG} ] || touch --no-dereference ${SSTATE_PKG}
[ ! -w ${SSTATE_PKG}.sig ] || [ ! -e ${SSTATE_PKG}.sig ] || touch --no-dereference ${SSTATE_PKG}.sig

View File

@@ -137,7 +137,7 @@ def copy_needed_files(d, tc):
shutil.rmtree(os.path.join(subdir, dir))
# Create tar file for common parts of testexport
create_tarball(d, "testexport.tar.gz", d.getVar("TEST_EXPORT_DIR"))
testexport_create_tarball(d, "testexport.tar.gz", d.getVar("TEST_EXPORT_DIR"))
# Copy packages needed for runtime testing
package_extraction(d, tc.suites)
@@ -146,7 +146,7 @@ def copy_needed_files(d, tc):
export_pkg_dir = os.path.join(d.getVar("TEST_EXPORT_DIR"), "packages")
oe.path.copytree(test_pkg_dir, export_pkg_dir)
# Create tar file for packages needed by the DUT
create_tarball(d, "testexport_packages_%s.tar.gz" % d.getVar("MACHINE"), export_pkg_dir)
testexport_create_tarball(d, "testexport_packages_%s.tar.gz" % d.getVar("MACHINE"), export_pkg_dir)
# Copy SDK
if d.getVar("TEST_EXPORT_SDK_ENABLED") == "1":
@@ -159,11 +159,11 @@ def copy_needed_files(d, tc):
shutil.copy2(tarball_path, export_sdk_dir)
# Create tar file for the sdk
create_tarball(d, "testexport_sdk_%s.tar.gz" % d.getVar("SDK_ARCH"), export_sdk_dir)
testexport_create_tarball(d, "testexport_sdk_%s.tar.gz" % d.getVar("SDK_ARCH"), export_sdk_dir)
bb.plain("Exported tests to: %s" % export_path)
def create_tarball(d, tar_name, src_dir):
def testexport_create_tarball(d, tar_name, src_dir):
import tarfile

View File

@@ -364,6 +364,7 @@ def testimage_main(d):
package_extraction(d, tc.suites)
results = None
complete = False
orig_sigterm_handler = signal.signal(signal.SIGTERM, sigterm_exception)
try:
# We need to check if runqemu ends unexpectedly
@@ -375,6 +376,7 @@ def testimage_main(d):
except ValueError:
pass
results = tc.runTests()
complete = True
except (KeyboardInterrupt, BlockingIOError) as err:
if isinstance(err, KeyboardInterrupt):
bb.error('testimage interrupted, shutting down...')
@@ -382,20 +384,21 @@ def testimage_main(d):
bb.error('runqemu failed, shutting down...')
if results:
results.stop()
results = None
results = tc.results
finally:
signal.signal(signal.SIGTERM, orig_sigterm_handler)
tc.target.stop()
# Show results (if we have them)
if not results:
if results:
configuration = get_testimage_configuration(d, 'runtime', machine)
results.logDetails(get_testimage_json_result_dir(d),
configuration,
get_testimage_result_id(configuration),
dump_streams=d.getVar('TESTREPORT_FULLLOGS'))
results.logSummary(pn)
if not results or not complete:
bb.fatal('%s - FAILED - tests were interrupted during execution' % pn, forcelog=True)
configuration = get_testimage_configuration(d, 'runtime', machine)
results.logDetails(get_testimage_json_result_dir(d),
configuration,
get_testimage_result_id(configuration),
dump_streams=d.getVar('TESTREPORT_FULLLOGS'))
results.logSummary(pn)
if not results.wasSuccessful():
bb.fatal('%s - FAILED - check the task log and the ssh log' % pn, forcelog=True)

View File

@@ -89,7 +89,7 @@ python uninative_event_fetchloader() {
# ldd output is "ldd (Ubuntu GLIBC 2.23-0ubuntu10) 2.23", extract last option from first line
glibcver = subprocess.check_output(["ldd", "--version"]).decode('utf-8').split('\n')[0].split()[-1]
if bb.utils.vercmp_string(d.getVar("UNINATIVE_MAXGLIBCVERSION"), glibcver) < 0:
raise RuntimeError("Your host glibc verson (%s) is newer than that in uninative (%s). Disabling uninative so that sstate is not corrupted." % (glibcver, d.getVar("UNINATIVE_MAXGLIBCVERSION")))
raise RuntimeError("Your host glibc version (%s) is newer than that in uninative (%s). Disabling uninative so that sstate is not corrupted." % (glibcver, d.getVar("UNINATIVE_MAXGLIBCVERSION")))
cmd = d.expand("\
mkdir -p ${UNINATIVE_STAGING_DIR}-uninative; \

View File

@@ -582,9 +582,11 @@ RECIPE_MAINTAINER_pn-python3-extras = "Oleksandr Kravchuk <open.source@oleksandr
RECIPE_MAINTAINER_pn-python3-git = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-gitdb = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-iniparse = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-jinja2 = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-python3-libarchive-c = "Joshua Watt <JPEWhacker@gmail.com>"
RECIPE_MAINTAINER_pn-python3-magic = "Joshua Watt <JPEWhacker@gmail.com>"
RECIPE_MAINTAINER_pn-python3-mako = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-markupsafe = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-python3-nose = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-numpy = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-pbr = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
@@ -640,6 +642,7 @@ RECIPE_MAINTAINER_pn-speex = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-speexdsp = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-sqlite3 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-squashfs-tools = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-ssh-pregen-hostkeys = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-startup-notification = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-strace = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-stress-ng = "Anuj Mittal <anuj.mittal@intel.com>"

View File

@@ -45,9 +45,11 @@ SPDXLICENSEMAP[MIT-style] = "MIT"
#Openssl variations
SPDXLICENSEMAP[openssl] = "OpenSSL"
#PSF variations
SPDXLICENSEMAP[PSF] = "PSF-2.0"
SPDXLICENSEMAP[PSFv2] = "PSF-2.0"
#Python variations
SPDXLICENSEMAP[PSF] = "Python-2.0"
SPDXLICENSEMAP[PSFv2] = "Python-2.0"
SPDXLICENSEMAP[Python-2] = "Python-2.0"
#Apache variations

View File

@@ -120,7 +120,7 @@ PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7
PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3d16} armv7ab-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3d16} armv7ab-vfpv3 armv7at2b-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-vfpv4d16"
PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfp43d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-vfpv4d16 armv7at2b-vfpv4d16"
PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv4d16 = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-vfpv4d16 armv7at2b-vfpv4d16"
PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-neon armv7at2b-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon-vfpv4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon} armv7ab-neon-vfpv4"

View File

@@ -135,7 +135,7 @@ PACKAGE_EXTRA_ARCHS_tune-mips64-o32 = "mips mips64-o32"
TUNE_FEATURES_tune-mips64el-o32 = "o32 fpu-hard"
BASE_LIB_tune-mips64el-o32 = "lib"
MIPSPKGSFX_VARIANT_tune-mips64el-o32 = "${TUNE_ARCH}"
PACKAGE_EXTRA_ARCHS_tune-mips64el-o32 = "mipsel mips64el-o32 mips64el-o32"
PACKAGE_EXTRA_ARCHS_tune-mips64el-o32 = "mipsel mips64el-o32"
# MIPS 64 o32 and Soft Float
AVAILTUNES += "mips64-nf-o32 mips64el-nf-o32"

View File

@@ -24,10 +24,10 @@ PACKAGE_EXTRA_ARCHS_tune-riscv32 = "riscv32"
# No float
TUNE_FEATURES_tune-riscv64nf = "${TUNE_FEATURES_tune-riscv64} riscv64nf"
TUNE_ARCH_tune-riscv64nf = "riscv64"
TUNE_PKGARCH_tune-riscv64nf = "riscv64"
TUNE_PKGARCH_tune-riscv64nf = "riscv64nf"
PACKAGE_EXTRA_ARCHS_tune-riscv64nf = "riscv64nf"
TUNE_FEATURES_tune-riscv32nf = "${TUNE_FEATURES_tune-riscv32} riscv32nf"
TUNE_ARCH_tune-riscv32nf = "riscv32"
TUNE_PKGARCH_tune-riscv32nf = "riscv32"
TUNE_PKGARCH_tune-riscv32nf = "riscv32nf"
PACKAGE_EXTRA_ARCHS_tune-riscv32nf = "riscv32nf"

View File

@@ -8,6 +8,5 @@ MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', 'armv4:', '
AVAILTUNES += "ep9312"
ARMPKGARCH_tune-ep9312 = "ep9312"
# this tune does not include TUNE_FEATURES_tune-armv4t, so there is no armv4 TUNE_FEATURES => no 't' in ARMPKGSFX_THUMB
TUNE_FEATURES_tune-ep9312 = "thumb ep9312"
PACKAGE_EXTRA_ARCHS_tune-ep9312 = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} ep9312"
PACKAGE_EXTRA_ARCHS_tune-ep9312 = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} ep9312t"

View File

@@ -24,7 +24,7 @@ AVAILTUNES += "mipsisa64r6-nf mipsisa64r6el-nf"
TUNE_FEATURES_tune-mipsisa64r6-nf = "bigendian r6 n64 mipsisa64r6"
MIPSPKGSFX_VARIANT_tune-mipsisa64r6-nf = "${TUNE_ARCH}"
BASE_LIB_tune-mipsisa64r6-nf = "lib64"
PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6-nf = "mipsisa64r6"
PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6-nf = "mipsisa64r6-nf"
TUNE_FEATURES_tune-mipsisa64r6el-nf = "r6 n64 mipsisa64r6"
MIPSPKGSFX_VARIANT_tune-mipsisa64r6el-nf = "${TUNE_ARCH}"

View File

@@ -0,0 +1,49 @@
PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
--------------------------------------------
1. This LICENSE AGREEMENT is between the Python Software Foundation
("PSF"), and the Individual or Organization ("Licensee") accessing and
otherwise using this software ("Python") in source or binary form and
its associated documentation.
2. Subject to the terms and conditions of this License Agreement, PSF
hereby grants Licensee a nonexclusive, royalty-free, world-wide
license to reproduce, analyze, test, perform and/or display publicly,
prepare derivative works, distribute, and otherwise use Python
alone or in any derivative version, provided, however, that PSF's
License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights
Reserved" are retained in Python alone or in any derivative version
prepared by Licensee.
3. In the event Licensee prepares a derivative work that is based on
or incorporates Python or any part thereof, and wants to make
the derivative work available to others as provided herein, then
Licensee hereby agrees to include in any such work a brief summary of
the changes made to Python.
4. PSF is making Python available to Licensee on an "AS IS"
basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
INFRINGE ANY THIRD PARTY RIGHTS.
5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
6. This License Agreement will automatically terminate upon a material
breach of its terms and conditions.
7. Nothing in this License Agreement shall be deemed to create any
relationship of agency, partnership, or joint venture between PSF and
Licensee. This License Agreement does not grant permission to use PSF
trademarks or trade name in a trademark sense to endorse or promote
products or services of Licensee, or any third party.
8. By copying, installing or otherwise using Python, Licensee
agrees to be bound by the terms and conditions of this License
Agreement.

View File

@@ -0,0 +1,43 @@
--------------------------------------------------------------------------
This program, "bzip2", the associated library "libbzip2", and all
documentation, are copyright (C) 1996-2006 Julian R Seward. All
rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. The origin of this software must not be misrepresented; you must
not claim that you wrote the original software. If you use this
software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
3. Altered source versions must be plainly marked as such, and must
not be misrepresented as being the original software.
4. The name of the author may not be used to endorse or promote
products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Julian Seward, Cambridge, UK.
jseward@bzip.org
bzip2/libbzip2 version 1.0.4 of 20 December 2006
--------------------------------------------------------------------------

View File

@@ -26,7 +26,7 @@ tweakpath /sbin
INST_ARCH=$(uname -m | sed -e "s/i[3-6]86/ix86/" -e "s/x86[-_]64/x86_64/")
SDK_ARCH=$(echo @SDK_ARCH@ | sed -e "s/i[3-6]86/ix86/" -e "s/x86[-_]64/x86_64/")
INST_GCC_VER=$(gcc --version | sed -ne 's/.* \([0-9]\+\.[0-9]\+\)\.[0-9]\+.*/\1/p')
INST_GCC_VER=$(gcc --version 2>/dev/null | sed -ne 's/.* \([0-9]\+\.[0-9]\+\)\.[0-9]\+.*/\1/p')
SDK_GCC_VER='@SDK_GCC_VER@'
verlte () {

View File

@@ -2,10 +2,12 @@ SUMMARY = "bitbake-layers recipe"
DESCRIPTION = "Recipe created by bitbake-layers"
LICENSE = "MIT"
python do_build() {
python do_display_banner() {
bb.plain("***********************************************");
bb.plain("* *");
bb.plain("* Example recipe created by bitbake-layers *");
bb.plain("* *");
bb.plain("***********************************************");
}
addtask display_banner before do_build

View File

@@ -416,7 +416,7 @@ class GitApplyTree(PatchTree):
date = newdate
if not subject:
subject = newsubject
if subject and outlines and not outlines[0].strip() == subject:
if subject and not (outlines and outlines[0].strip() == subject):
outlines.insert(0, '%s\n\n' % subject.strip())
# Write out commit message to a file
@@ -439,7 +439,6 @@ class GitApplyTree(PatchTree):
def extractPatches(tree, startcommit, outdir, paths=None):
import tempfile
import shutil
import re
tempdir = tempfile.mkdtemp(prefix='oepatch')
try:
shellcmd = ["git", "format-patch", "--no-signature", "--no-numbered", startcommit, "-o", tempdir]
@@ -455,13 +454,10 @@ class GitApplyTree(PatchTree):
try:
with open(srcfile, 'r', encoding=encoding) as f:
for line in f:
checkline = line
if checkline.startswith('Subject: '):
checkline = re.sub(r'\[.+?\]\s*', '', checkline[9:])
if checkline.startswith(GitApplyTree.patch_line_prefix):
if line.startswith(GitApplyTree.patch_line_prefix):
outfile = line.split()[-1].strip()
continue
if checkline.startswith(GitApplyTree.ignore_commit_prefix):
if line.startswith(GitApplyTree.ignore_commit_prefix):
continue
patchlines.append(line)
except UnicodeDecodeError:
@@ -508,8 +504,7 @@ class GitApplyTree(PatchTree):
with open(commithook, 'w') as f:
# NOTE: the formatting here is significant; if you change it you'll also need to
# change other places which read it back
f.write('echo >> $1\n')
f.write('echo "%s: $PATCHFILE" >> $1\n' % GitApplyTree.patch_line_prefix)
f.write('echo "\n%s: $PATCHFILE" >> $1' % GitApplyTree.patch_line_prefix)
os.chmod(commithook, 0o755)
shutil.copy2(commithook, applyhook)
try:

104
meta/lib/oe/reproducible.py Normal file
View File

@@ -0,0 +1,104 @@
#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
import subprocess
import bb
def get_source_date_epoch_from_known_files(d, sourcedir):
source_date_epoch = None
newest_file = None
known_files = set(["NEWS", "ChangeLog", "Changelog", "CHANGES"])
for file in known_files:
filepath = os.path.join(sourcedir, file)
if os.path.isfile(filepath):
mtime = int(os.lstat(filepath).st_mtime)
# There may be more than one "known_file" present, if so, use the youngest one
if not source_date_epoch or mtime > source_date_epoch:
source_date_epoch = mtime
newest_file = filepath
if newest_file:
bb.debug(1, "SOURCE_DATE_EPOCH taken from: %s" % newest_file)
return source_date_epoch
def find_git_folder(d, sourcedir):
# First guess: WORKDIR/git
# This is the default git fetcher unpack path
workdir = d.getVar('WORKDIR')
gitpath = os.path.join(workdir, "git/.git")
if os.path.isdir(gitpath):
return gitpath
# Second guess: ${S}
gitpath = os.path.join(sourcedir, ".git")
if os.path.isdir(gitpath):
return gitpath
# Perhaps there was a subpath or destsuffix specified.
# Go looking in the WORKDIR
exclude = set(["build", "image", "license-destdir", "patches", "pseudo",
"recipe-sysroot", "recipe-sysroot-native", "sysroot-destdir", "temp"])
for root, dirs, files in os.walk(workdir, topdown=True):
dirs[:] = [d for d in dirs if d not in exclude]
if '.git' in dirs:
return root
bb.warn("Failed to find a git repository in WORKDIR: %s" % workdir)
return None
def get_source_date_epoch_from_git(d, sourcedir):
if not "git://" in d.getVar('SRC_URI'):
return None
gitpath = find_git_folder(d, sourcedir)
if not gitpath:
return None
# Check that the repository has a valid HEAD; it may not if subdir is used
# in SRC_URI
p = subprocess.run(['git', '--git-dir', gitpath, 'rev-parse', 'HEAD'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
if p.returncode != 0:
bb.debug(1, "%s does not have a valid HEAD: %s" % (gitpath, p.stdout.decode('utf-8')))
return None
bb.debug(1, "git repository: %s" % gitpath)
p = subprocess.run(['git', '--git-dir', gitpath, 'log', '-1', '--pretty=%ct'], check=True, stdout=subprocess.PIPE)
return int(p.stdout.decode('utf-8'))
def get_source_date_epoch_from_youngest_file(d, sourcedir):
if sourcedir == d.getVar('WORKDIR'):
# These sources are almost certainly not from a tarball
return None
# Do it the hard way: check all files and find the youngest one...
source_date_epoch = None
newest_file = None
for root, dirs, files in os.walk(sourcedir, topdown=True):
files = [f for f in files if not f[0] == '.']
for fname in files:
filename = os.path.join(root, fname)
try:
mtime = int(os.lstat(filename).st_mtime)
except ValueError:
mtime = 0
if not source_date_epoch or mtime > source_date_epoch:
source_date_epoch = mtime
newest_file = filename
if newest_file:
bb.debug(1, "Newest file found: %s" % newest_file)
return source_date_epoch
def fixed_source_date_epoch():
bb.debug(1, "No tarball or git repo found to determine SOURCE_DATE_EPOCH")
return 0
def get_source_date_epoch(d, sourcedir):
return (
get_source_date_epoch_from_git(d, sourcedir) or
get_source_date_epoch_from_known_files(d, sourcedir) or
get_source_date_epoch_from_youngest_file(d, sourcedir) or
fixed_source_date_epoch() # Last resort
)

View File

@@ -477,6 +477,9 @@ def OEOuthashBasic(path, sigfile, task, d):
h = hashlib.sha256()
prev_dir = os.getcwd()
include_owners = os.environ.get('PSEUDO_DISABLED') == '0'
include_timestamps = False
if task == "package":
include_timestamps = d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1'
extra_content = d.getVar('HASHEQUIV_HASH_VERSION')
try:
@@ -551,6 +554,9 @@ def OEOuthashBasic(path, sigfile, task, d):
bb.warn("KeyError in %s" % path)
raise
if include_timestamps:
update_hash(" %10d" % s.st_mtime)
update_hash(" ")
if stat.S_ISBLK(s.st_mode) or stat.S_ISCHR(s.st_mode):
update_hash("%9s" % ("%d.%d" % (os.major(s.st_rdev), os.minor(s.st_rdev))))

View File

@@ -31,6 +31,9 @@ class OETestContext(object):
self._registry = {}
self._registry['cases'] = collections.OrderedDict()
self.results = unittest.TestResult()
unittest.registerResult(self.results)
def _read_modules_from_manifest(self, manifest):
if not os.path.exists(manifest):
raise OEQAMissingManifest("Manifest does not exist on %s" % manifest)
@@ -82,6 +85,7 @@ class OETestContext(object):
self.skipTests(skips)
self._run_start_time = time.time()
self._run_end_time = self._run_start_time
if not processes:
self.runner.buffer = True
result = self.runner.run(self.prepareSuite(self.suites, processes))

View File

@@ -42,6 +42,9 @@ IMAGE_FSTYPES = "container"
PACKAGE_CLASSES = "package_ipk"
IMAGE_FEATURES = ""
IMAGE_BUILDINFO_FILE = ""
INIT_MANAGER = "sysvinit"
IMAGE_INSTALL_remove = "ssh-pregen-hostkeys"
""")
bbvars = get_bb_vars(['bindir', 'sysconfdir', 'localstatedir',

View File

@@ -56,7 +56,8 @@ def setUpModule():
if pth.startswith(canonical_layerpath):
if relpth.endswith('/'):
destdir = os.path.join(corecopydir, relpth)
shutil.copytree(pth, destdir)
# avoid race condition by not copying .pyc files YPBZ#13421,13803
shutil.copytree(pth, destdir, ignore=ignore_patterns('*.pyc', '__pycache__'))
else:
destdir = os.path.join(corecopydir, os.path.dirname(relpth))
bb.utils.mkdirhier(destdir)

View File

@@ -85,7 +85,7 @@ class IncompatibleLicenseTests(OESelftestTestCase):
class IncompatibleLicensePerImageTests(OESelftestTestCase):
def default_config(self):
return """
IMAGE_INSTALL_append = "bash"
IMAGE_INSTALL_append = " bash"
INCOMPATIBLE_LICENSE_pn-core-image-minimal = "GPL-3.0 LGPL-3.0"
"""

View File

@@ -64,12 +64,12 @@ class RunCmdTests(OESelftestTestCase):
runCmd, "echo foobar >&2; false", shell=True, assert_error=False)
def test_output(self):
result = runCmd("echo stdout; echo stderr >&2", shell=True)
result = runCmd("echo stdout; echo stderr >&2", shell=True, sync=False)
self.assertEqual("stdout\nstderr", result.output)
self.assertEqual("", result.error)
def test_output_split(self):
result = runCmd("echo stdout; echo stderr >&2", shell=True, stderr=subprocess.PIPE)
result = runCmd("echo stdout; echo stderr >&2", shell=True, stderr=subprocess.PIPE, sync=False)
self.assertEqual("stdout", result.output)
self.assertEqual("stderr", result.error)
@@ -77,7 +77,7 @@ class RunCmdTests(OESelftestTestCase):
numthreads = threading.active_count()
start = time.time()
# Killing a hanging process only works when not using a shell?!
result = runCmd(['sleep', '60'], timeout=self.TIMEOUT, ignore_status=True)
result = runCmd(['sleep', '60'], timeout=self.TIMEOUT, ignore_status=True, sync=False)
self.assertEqual(result.status, -signal.SIGTERM)
end = time.time()
self.assertLess(end - start, self.TIMEOUT + self.DELTA)
@@ -87,7 +87,7 @@ class RunCmdTests(OESelftestTestCase):
numthreads = threading.active_count()
start = time.time()
# Killing a hanging process only works when not using a shell?!
result = runCmd(['sleep', '60'], timeout=self.TIMEOUT, ignore_status=True, stderr=subprocess.PIPE)
result = runCmd(['sleep', '60'], timeout=self.TIMEOUT, ignore_status=True, stderr=subprocess.PIPE, sync=False)
self.assertEqual(result.status, -signal.SIGTERM)
end = time.time()
self.assertLess(end - start, self.TIMEOUT + self.DELTA)
@@ -95,7 +95,7 @@ class RunCmdTests(OESelftestTestCase):
def test_stdin(self):
numthreads = threading.active_count()
result = runCmd("cat", data=b"hello world", timeout=self.TIMEOUT)
result = runCmd("cat", data=b"hello world", timeout=self.TIMEOUT, sync=False)
self.assertEqual("hello world", result.output)
self.assertEqual(numthreads, threading.active_count(), msg="Thread counts were not equal before (%s) and after (%s), active threads: %s" % (numthreads, threading.active_count(), threading.enumerate()))
self.assertEqual(numthreads, 1)
@@ -103,7 +103,7 @@ class RunCmdTests(OESelftestTestCase):
def test_stdin_timeout(self):
numthreads = threading.active_count()
start = time.time()
result = runCmd(['sleep', '60'], data=b"hello world", timeout=self.TIMEOUT, ignore_status=True)
result = runCmd(['sleep', '60'], data=b"hello world", timeout=self.TIMEOUT, ignore_status=True, sync=False)
self.assertEqual(result.status, -signal.SIGTERM)
end = time.time()
self.assertLess(end - start, self.TIMEOUT + self.DELTA)
@@ -111,12 +111,12 @@ class RunCmdTests(OESelftestTestCase):
def test_log(self):
log = MemLogger()
result = runCmd("echo stdout; echo stderr >&2", shell=True, output_log=log)
result = runCmd("echo stdout; echo stderr >&2", shell=True, output_log=log, sync=False)
self.assertEqual(["Running: echo stdout; echo stderr >&2", "stdout", "stderr"], log.info_msgs)
self.assertEqual([], log.error_msgs)
def test_log_split(self):
log = MemLogger()
result = runCmd("echo stdout; echo stderr >&2", shell=True, output_log=log, stderr=subprocess.PIPE)
result = runCmd("echo stdout; echo stderr >&2", shell=True, output_log=log, stderr=subprocess.PIPE, sync=False)
self.assertEqual(["Running: echo stdout; echo stderr >&2", "stdout"], log.info_msgs)
self.assertEqual(["stderr"], log.error_msgs)

View File

@@ -639,41 +639,50 @@ class Wic2(WicTestCase):
tempf.write("part " \
"--source rootfs --ondisk hda --align 4 --fixed-size %d "
"--fstype=ext4\n" % size)
return wkspath
def _get_wic_partitions(self, wkspath, native_sysroot=None, ignore_status=False):
p = runCmd("wic create %s -e core-image-minimal -o %s" % (wkspath, self.resultdir),
ignore_status=ignore_status)
if p.status:
return (p, None)
wksname = os.path.splitext(os.path.basename(wkspath))[0]
return wkspath, wksname
def test_fixed_size(self):
"""
Test creation of a simple image with partition size controlled through
--fixed-size flag
"""
wkspath, wksname = Wic2._make_fixed_size_wks(200)
runCmd("wic create %s -e core-image-minimal -o %s" \
% (wkspath, self.resultdir))
os.remove(wkspath)
wicout = glob(self.resultdir + "%s-*direct" % wksname)
self.assertEqual(1, len(wicout))
if not wicout:
return (p, None)
wicimg = wicout[0]
native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "wic-tools")
if not native_sysroot:
native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "wic-tools")
# verify partition size with wic
res = runCmd("parted -m %s unit mib p 2>/dev/null" % wicimg,
res = runCmd("parted -m %s unit kib p 2>/dev/null" % wicimg,
native_sysroot=native_sysroot)
# parse parted output which looks like this:
# BYT;\n
# /var/tmp/wic/build/tmpfwvjjkf_-201611101222-hda.direct:200MiB:file:512:512:msdos::;\n
# 1:0.00MiB:200MiB:200MiB:ext4::;\n
partlns = res.output.splitlines()[2:]
return (p, res.output.splitlines()[2:])
self.assertEqual(1, len(partlns),
msg="Partition list '%s'" % res.output)
self.assertEqual("1:0.00MiB:200MiB:200MiB:ext4::;", partlns[0],
msg="Partition list '%s'" % res.output)
def test_fixed_size(self):
"""
Test creation of a simple image with partition size controlled through
--fixed-size flag
"""
wkspath = Wic2._make_fixed_size_wks(200)
_, partlns = self._get_wic_partitions(wkspath)
os.remove(wkspath)
self.assertEqual(partlns, [
"1:4.00kiB:204804kiB:204800kiB:ext4::;",
])
def test_fixed_size_error(self):
"""
@@ -681,13 +690,111 @@ class Wic2(WicTestCase):
--fixed-size flag. The size of partition is intentionally set to 1MiB
in order to trigger an error in wic.
"""
wkspath, wksname = Wic2._make_fixed_size_wks(1)
self.assertEqual(1, runCmd("wic create %s -e core-image-minimal -o %s" \
% (wkspath, self.resultdir), ignore_status=True).status)
wkspath = Wic2._make_fixed_size_wks(1)
p, _ = self._get_wic_partitions(wkspath, ignore_status=True)
os.remove(wkspath)
wicout = glob(self.resultdir + "%s-*direct" % wksname)
self.assertEqual(0, len(wicout))
self.assertNotEqual(p.status, 0, "wic exited successfully when an error was expected:\n%s" % p.output)
def test_offset(self):
native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "wic-tools")
with NamedTemporaryFile("w", suffix=".wks") as tempf:
# Test that partitions are placed at the correct offsets, default KB
tempf.write("bootloader --ptable gpt\n" \
"part / --source rootfs --ondisk hda --offset 32 --fixed-size 100M --fstype=ext4\n" \
"part /bar --ondisk hda --offset 102432 --fixed-size 100M --fstype=ext4\n")
tempf.flush()
_, partlns = self._get_wic_partitions(tempf.name, native_sysroot)
self.assertEqual(partlns, [
"1:32.0kiB:102432kiB:102400kiB:ext4:primary:;",
"2:102432kiB:204832kiB:102400kiB:ext4:primary:;",
])
with NamedTemporaryFile("w", suffix=".wks") as tempf:
# Test that partitions are placed at the correct offsets, same with explicit KB
tempf.write("bootloader --ptable gpt\n" \
"part / --source rootfs --ondisk hda --offset 32K --fixed-size 100M --fstype=ext4\n" \
"part /bar --ondisk hda --offset 102432K --fixed-size 100M --fstype=ext4\n")
tempf.flush()
_, partlns = self._get_wic_partitions(tempf.name, native_sysroot)
self.assertEqual(partlns, [
"1:32.0kiB:102432kiB:102400kiB:ext4:primary:;",
"2:102432kiB:204832kiB:102400kiB:ext4:primary:;",
])
with NamedTemporaryFile("w", suffix=".wks") as tempf:
# Test that partitions are placed at the correct offsets using MB
tempf.write("bootloader --ptable gpt\n" \
"part / --source rootfs --ondisk hda --offset 32K --fixed-size 100M --fstype=ext4\n" \
"part /bar --ondisk hda --offset 101M --fixed-size 100M --fstype=ext4\n")
tempf.flush()
_, partlns = self._get_wic_partitions(tempf.name, native_sysroot)
self.assertEqual(partlns, [
"1:32.0kiB:102432kiB:102400kiB:ext4:primary:;",
"2:103424kiB:205824kiB:102400kiB:ext4:primary:;",
])
with NamedTemporaryFile("w", suffix=".wks") as tempf:
# Test that partitions can be placed on a 512 byte sector boundary
tempf.write("bootloader --ptable gpt\n" \
"part / --source rootfs --ondisk hda --offset 65s --fixed-size 99M --fstype=ext4\n" \
"part /bar --ondisk hda --offset 102432 --fixed-size 100M --fstype=ext4\n")
tempf.flush()
_, partlns = self._get_wic_partitions(tempf.name, native_sysroot)
self.assertEqual(partlns, [
"1:32.5kiB:101408kiB:101376kiB:ext4:primary:;",
"2:102432kiB:204832kiB:102400kiB:ext4:primary:;",
])
with NamedTemporaryFile("w", suffix=".wks") as tempf:
# Test that a partition can be placed immediately after a MSDOS partition table
tempf.write("bootloader --ptable msdos\n" \
"part / --source rootfs --ondisk hda --offset 1s --fixed-size 100M --fstype=ext4\n")
tempf.flush()
_, partlns = self._get_wic_partitions(tempf.name, native_sysroot)
self.assertEqual(partlns, [
"1:0.50kiB:102400kiB:102400kiB:ext4::;",
])
with NamedTemporaryFile("w", suffix=".wks") as tempf:
# Test that image creation fails if the partitions would overlap
tempf.write("bootloader --ptable gpt\n" \
"part / --source rootfs --ondisk hda --offset 32 --fixed-size 100M --fstype=ext4\n" \
"part /bar --ondisk hda --offset 102431 --fixed-size 100M --fstype=ext4\n")
tempf.flush()
p, _ = self._get_wic_partitions(tempf.name, ignore_status=True)
self.assertNotEqual(p.status, 0, "wic exited successfully when an error was expected:\n%s" % p.output)
with NamedTemporaryFile("w", suffix=".wks") as tempf:
# Test that partitions are not allowed to overlap with the booloader
tempf.write("bootloader --ptable gpt\n" \
"part / --source rootfs --ondisk hda --offset 8 --fixed-size 100M --fstype=ext4\n")
tempf.flush()
p, _ = self._get_wic_partitions(tempf.name, ignore_status=True)
self.assertNotEqual(p.status, 0, "wic exited successfully when an error was expected:\n%s" % p.output)
def test_extra_space(self):
native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "wic-tools")
with NamedTemporaryFile("w", suffix=".wks") as tempf:
tempf.write("bootloader --ptable gpt\n" \
"part / --source rootfs --ondisk hda --extra-space 200M --fstype=ext4\n")
tempf.flush()
_, partlns = self._get_wic_partitions(tempf.name, native_sysroot)
self.assertEqual(len(partlns), 1)
size = partlns[0].split(':')[3]
self.assertRegex(size, r'^[0-9]+kiB$')
size = int(size[:-3])
self.assertGreaterEqual(size, 204800)
@only_for_arch(['i586', 'i686', 'x86_64'])
def test_rawcopy_plugin_qemu(self):

View File

@@ -167,7 +167,7 @@ class Result(object):
pass
def runCmd(command, ignore_status=False, timeout=None, assert_error=True,
def runCmd(command, ignore_status=False, timeout=None, assert_error=True, sync=True,
native_sysroot=None, limit_exc_output=0, output_log=None, **options):
result = Result()
@@ -184,6 +184,12 @@ def runCmd(command, ignore_status=False, timeout=None, assert_error=True,
cmd = Command(command, timeout=timeout, output_log=output_log, **options)
cmd.run()
# tests can be heavy on IO and if bitbake can't write out its caches, we see timeouts.
# call sync around the tests to ensure the IO queue doesn't get too large, taking any IO
# hit here rather than in bitbake shutdown.
if sync:
os.system("sync")
result.command = command
result.status = cmd.status
result.output = cmd.output

View File

@@ -393,7 +393,7 @@ class QemuRunner:
# If we are not able to login the tests can continue
try:
(status, output) = self.run_serial(self.boot_patterns['send_login_user'], raw=True)
(status, output) = self.run_serial(self.boot_patterns['send_login_user'], raw=True, timeout=120)
if re.search(self.boot_patterns['search_login_succeeded'], output):
self.logged = True
self.logger.debug("Logged as root in serial console")

View File

@@ -0,0 +1,73 @@
From a4d3fbdff1e3ca8f87642af2ac8752c30c617a3e Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Wed, 15 Apr 2020 15:45:02 -0400
Subject: yylex: Make lexer fatal errors actually be fatal
When presented with a command that can't be tokenized to anything
smaller than YYLMAX characters, the parser calls YY_FATAL_ERROR(errmsg),
expecting that will stop further processing, as such:
#define YY_DO_BEFORE_ACTION \
yyg->yytext_ptr = yy_bp; \
yyleng = (int) (yy_cp - yy_bp); \
yyg->yy_hold_char = *yy_cp; \
*yy_cp = '\0'; \
if ( yyleng >= YYLMAX ) \
YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \
yy_flex_strncpy( yytext, yyg->yytext_ptr, yyleng + 1 , yyscanner); \
yyg->yy_c_buf_p = yy_cp;
The code flex generates expects that YY_FATAL_ERROR() will either return
for it or do some form of longjmp(), or handle the error in some way at
least, and so the strncpy() call isn't in an "else" clause, and thus if
YY_FATAL_ERROR() is *not* actually fatal, it does the call with the
questionable limit, and predictable results ensue.
Unfortunately, our implementation of YY_FATAL_ERROR() is:
#define YY_FATAL_ERROR(msg) \
do { \
grub_printf (_("fatal error: %s\n"), _(msg)); \
} while (0)
The same pattern exists in yyless(), and similar problems exist in users
of YY_INPUT(), several places in the main parsing loop,
yy_get_next_buffer(), yy_load_buffer_state(), yyensure_buffer_stack,
yy_scan_buffer(), etc.
All of these callers expect YY_FATAL_ERROR() to actually be fatal, and
the things they do if it returns after calling it are wildly unsafe.
Fixes: CVE-2020-10713
Signed-off-by: Peter Jones <pjones@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=a4d3fbdff1e3ca8f87642af2ac8752c30c617a3e]
CVE: CVE-2020-10713
Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
---
grub-core/script/yylex.l | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/grub-core/script/yylex.l b/grub-core/script/yylex.l
index 7b44c37b7..b7203c823 100644
--- a/grub-core/script/yylex.l
+++ b/grub-core/script/yylex.l
@@ -37,11 +37,11 @@
/*
* As we don't have access to yyscanner, we cannot do much except to
- * print the fatal error.
+ * print the fatal error and exit.
*/
#define YY_FATAL_ERROR(msg) \
do { \
- grub_printf (_("fatal error: %s\n"), _(msg)); \
+ grub_fatal (_("fatal error: %s\n"), _(msg));\
} while (0)
#define COPY(str, hint) \
--
cgit v1.2.1

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,117 @@
From c65fc7e75b7b7e880d90766057040011701e97f4 Mon Sep 17 00:00:00 2001
From: Chris Coulson <chris.coulson@canonical.com>
Date: Fri, 10 Jul 2020 14:41:45 +0100
Subject: [PATCH 8/9] script: Avoid a use-after-free when redefining a function
during execution
Defining a new function with the same name as a previously defined
function causes the grub_script and associated resources for the
previous function to be freed. If the previous function is currently
executing when a function with the same name is defined, this results
in use-after-frees when processing subsequent commands in the original
function.
Instead, reject a new function definition if it has the same name as
a previously defined function, and that function is currently being
executed. Although a behavioural change, this should be backwards
compatible with existing configurations because they can't be
dependent on the current behaviour without being broken.
Fixes: CVE-2020-15706
Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Upstream-Status: Backport
CVE: CVE-2020-15706
Reference to upstream patch:
https://git.savannah.gnu.org/cgit/grub.git/commit/?id=426f57383d647406ae9c628c472059c27cd6e040
Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
---
grub-core/script/execute.c | 2 ++
grub-core/script/function.c | 16 +++++++++++++---
grub-core/script/parser.y | 3 ++-
include/grub/script_sh.h | 2 ++
4 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c
index c8d6806..7e028e1 100644
--- a/grub-core/script/execute.c
+++ b/grub-core/script/execute.c
@@ -838,7 +838,9 @@ grub_script_function_call (grub_script_function_t func, int argc, char **args)
old_scope = scope;
scope = &new_scope;
+ func->executing++;
ret = grub_script_execute (func->func);
+ func->executing--;
function_return = 0;
active_loops = loops;
diff --git a/grub-core/script/function.c b/grub-core/script/function.c
index d36655e..3aad04b 100644
--- a/grub-core/script/function.c
+++ b/grub-core/script/function.c
@@ -34,6 +34,7 @@ grub_script_function_create (struct grub_script_arg *functionname_arg,
func = (grub_script_function_t) grub_malloc (sizeof (*func));
if (! func)
return 0;
+ func->executing = 0;
func->name = grub_strdup (functionname_arg->str);
if (! func->name)
@@ -60,10 +61,19 @@ grub_script_function_create (struct grub_script_arg *functionname_arg,
grub_script_function_t q;
q = *p;
- grub_script_free (q->func);
- q->func = cmd;
grub_free (func);
- func = q;
+ if (q->executing > 0)
+ {
+ grub_error (GRUB_ERR_BAD_ARGUMENT,
+ N_("attempt to redefine a function being executed"));
+ func = NULL;
+ }
+ else
+ {
+ grub_script_free (q->func);
+ q->func = cmd;
+ func = q;
+ }
}
else
{
diff --git a/grub-core/script/parser.y b/grub-core/script/parser.y
index 4f0ab83..f80b86b 100644
--- a/grub-core/script/parser.y
+++ b/grub-core/script/parser.y
@@ -289,7 +289,8 @@ function: "function" "name"
grub_script_mem_free (state->func_mem);
else {
script->children = state->scripts;
- grub_script_function_create ($2, script);
+ if (!grub_script_function_create ($2, script))
+ grub_script_free (script);
}
state->scripts = $<scripts>3;
diff --git a/include/grub/script_sh.h b/include/grub/script_sh.h
index b382bcf..6c48e07 100644
--- a/include/grub/script_sh.h
+++ b/include/grub/script_sh.h
@@ -361,6 +361,8 @@ struct grub_script_function
/* The next element. */
struct grub_script_function *next;
+
+ unsigned executing;
};
typedef struct grub_script_function *grub_script_function_t;
--
2.14.4

View File

@@ -0,0 +1,177 @@
From 68a09a74f6d726d79709847f3671c0a08e4fb5a0 Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Sat, 25 Jul 2020 12:15:37 +0100
Subject: [PATCH 9/9] linux: Fix integer overflows in initrd size handling
These could be triggered by a crafted filesystem with very large files.
Fixes: CVE-2020-15707
Signed-off-by: Colin Watson <cjwatson@debian.org>
Reviewed-by: Jan Setje-Eilers <jan.setjeeilers@oracle.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Upstream-Status: Backport
CVE: CVE-2020-15707
Reference to upstream patch:
https://git.savannah.gnu.org/cgit/grub.git/commit/?id=e7b8856f8be3292afdb38d2e8c70ad8d62a61e10
Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
---
grub-core/loader/linux.c | 74 +++++++++++++++++++++++++++++++++++-------------
1 file changed, 54 insertions(+), 20 deletions(-)
diff --git a/grub-core/loader/linux.c b/grub-core/loader/linux.c
index 471b214..8c8565a 100644
--- a/grub-core/loader/linux.c
+++ b/grub-core/loader/linux.c
@@ -4,6 +4,7 @@
#include <grub/misc.h>
#include <grub/file.h>
#include <grub/mm.h>
+#include <grub/safemath.h>
struct newc_head
{
@@ -98,13 +99,13 @@ free_dir (struct dir *root)
grub_free (root);
}
-static grub_size_t
+static grub_err_t
insert_dir (const char *name, struct dir **root,
- grub_uint8_t *ptr)
+ grub_uint8_t *ptr, grub_size_t *size)
{
struct dir *cur, **head = root;
const char *cb, *ce = name;
- grub_size_t size = 0;
+ *size = 0;
while (1)
{
for (cb = ce; *cb == '/'; cb++);
@@ -130,14 +131,22 @@ insert_dir (const char *name, struct dir **root,
ptr = make_header (ptr, name, ce - name,
040777, 0);
}
- size += ALIGN_UP ((ce - (char *) name)
- + sizeof (struct newc_head), 4);
+ if (grub_add (*size,
+ ALIGN_UP ((ce - (char *) name)
+ + sizeof (struct newc_head), 4),
+ size))
+ {
+ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
+ grub_free (n->name);
+ grub_free (n);
+ return grub_errno;
+ }
*head = n;
cur = n;
}
root = &cur->next;
}
- return size;
+ return GRUB_ERR_NONE;
}
grub_err_t
@@ -173,26 +182,33 @@ grub_initrd_init (int argc, char *argv[],
eptr = grub_strchr (ptr, ':');
if (eptr)
{
+ grub_size_t dir_size, name_len;
+
initrd_ctx->components[i].newc_name = grub_strndup (ptr, eptr - ptr);
- if (!initrd_ctx->components[i].newc_name)
+ if (!initrd_ctx->components[i].newc_name ||
+ insert_dir (initrd_ctx->components[i].newc_name, &root, 0,
+ &dir_size))
{
grub_initrd_close (initrd_ctx);
return grub_errno;
}
- initrd_ctx->size
- += ALIGN_UP (sizeof (struct newc_head)
- + grub_strlen (initrd_ctx->components[i].newc_name),
- 4);
- initrd_ctx->size += insert_dir (initrd_ctx->components[i].newc_name,
- &root, 0);
+ name_len = grub_strlen (initrd_ctx->components[i].newc_name);
+ if (grub_add (initrd_ctx->size,
+ ALIGN_UP (sizeof (struct newc_head) + name_len, 4),
+ &initrd_ctx->size) ||
+ grub_add (initrd_ctx->size, dir_size, &initrd_ctx->size))
+ goto overflow;
newc = 1;
fname = eptr + 1;
}
}
else if (newc)
{
- initrd_ctx->size += ALIGN_UP (sizeof (struct newc_head)
- + sizeof ("TRAILER!!!") - 1, 4);
+ if (grub_add (initrd_ctx->size,
+ ALIGN_UP (sizeof (struct newc_head)
+ + sizeof ("TRAILER!!!") - 1, 4),
+ &initrd_ctx->size))
+ goto overflow;
free_dir (root);
root = 0;
newc = 0;
@@ -208,19 +224,29 @@ grub_initrd_init (int argc, char *argv[],
initrd_ctx->nfiles++;
initrd_ctx->components[i].size
= grub_file_size (initrd_ctx->components[i].file);
- initrd_ctx->size += initrd_ctx->components[i].size;
+ if (grub_add (initrd_ctx->size, initrd_ctx->components[i].size,
+ &initrd_ctx->size))
+ goto overflow;
}
if (newc)
{
initrd_ctx->size = ALIGN_UP (initrd_ctx->size, 4);
- initrd_ctx->size += ALIGN_UP (sizeof (struct newc_head)
- + sizeof ("TRAILER!!!") - 1, 4);
+ if (grub_add (initrd_ctx->size,
+ ALIGN_UP (sizeof (struct newc_head)
+ + sizeof ("TRAILER!!!") - 1, 4),
+ &initrd_ctx->size))
+ goto overflow;
free_dir (root);
root = 0;
}
return GRUB_ERR_NONE;
+
+ overflow:
+ free_dir (root);
+ grub_initrd_close (initrd_ctx);
+ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
}
grub_size_t
@@ -261,8 +287,16 @@ grub_initrd_load (struct grub_linux_initrd_context *initrd_ctx,
if (initrd_ctx->components[i].newc_name)
{
- ptr += insert_dir (initrd_ctx->components[i].newc_name,
- &root, ptr);
+ grub_size_t dir_size;
+
+ if (insert_dir (initrd_ctx->components[i].newc_name, &root, ptr,
+ &dir_size))
+ {
+ free_dir (root);
+ grub_initrd_close (initrd_ctx);
+ return grub_errno;
+ }
+ ptr += dir_size;
ptr = make_header (ptr, initrd_ctx->components[i].newc_name,
grub_strlen (initrd_ctx->components[i].newc_name),
0100777,
--
2.14.4

View File

@@ -0,0 +1,246 @@
From c005f62f5c4b26a77b916c8f76a852324439ecb3 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Mon, 15 Jun 2020 12:15:29 -0400
Subject: [PATCH 2/9] calloc: Make sure we always have an overflow-checking
calloc() available
This tries to make sure that everywhere in this source tree, we always have
an appropriate version of calloc() (i.e. grub_calloc(), xcalloc(), etc.)
available, and that they all safely check for overflow and return NULL when
it would occur.
Upstream-Status: Backport [commit 64e26162ebfe68317c143ca5ec996c892019f8f8
from https://git.savannah.gnu.org/git/grub.git]
Signed-off-by: Peter Jones <pjones@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
---
grub-core/kern/emu/misc.c | 12 ++++++++++++
grub-core/kern/emu/mm.c | 10 ++++++++++
grub-core/kern/mm.c | 40 ++++++++++++++++++++++++++++++++++++++
grub-core/lib/libgcrypt_wrap/mem.c | 11 +++++++++--
grub-core/lib/posix_wrap/stdlib.h | 8 +++++++-
include/grub/emu/misc.h | 1 +
include/grub/mm.h | 6 ++++++
7 files changed, 85 insertions(+), 3 deletions(-)
diff --git a/grub-core/kern/emu/misc.c b/grub-core/kern/emu/misc.c
index 65db79b..dfd8a8e 100644
--- a/grub-core/kern/emu/misc.c
+++ b/grub-core/kern/emu/misc.c
@@ -85,6 +85,18 @@ grub_util_error (const char *fmt, ...)
exit (1);
}
+void *
+xcalloc (grub_size_t nmemb, grub_size_t size)
+{
+ void *p;
+
+ p = calloc (nmemb, size);
+ if (!p)
+ grub_util_error ("%s", _("out of memory"));
+
+ return p;
+}
+
void *
xmalloc (grub_size_t size)
{
diff --git a/grub-core/kern/emu/mm.c b/grub-core/kern/emu/mm.c
index f262e95..145b01d 100644
--- a/grub-core/kern/emu/mm.c
+++ b/grub-core/kern/emu/mm.c
@@ -25,6 +25,16 @@
#include <string.h>
#include <grub/i18n.h>
+void *
+grub_calloc (grub_size_t nmemb, grub_size_t size)
+{
+ void *ret;
+ ret = calloc (nmemb, size);
+ if (!ret)
+ grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory"));
+ return ret;
+}
+
void *
grub_malloc (grub_size_t size)
{
diff --git a/grub-core/kern/mm.c b/grub-core/kern/mm.c
index ee88ff6..f2822a8 100644
--- a/grub-core/kern/mm.c
+++ b/grub-core/kern/mm.c
@@ -67,8 +67,10 @@
#include <grub/dl.h>
#include <grub/i18n.h>
#include <grub/mm_private.h>
+#include <grub/safemath.h>
#ifdef MM_DEBUG
+# undef grub_calloc
# undef grub_malloc
# undef grub_zalloc
# undef grub_realloc
@@ -375,6 +377,30 @@ grub_memalign (grub_size_t align, grub_size_t size)
return 0;
}
+/*
+ * Allocate NMEMB instances of SIZE bytes and return the pointer, or error on
+ * integer overflow.
+ */
+void *
+grub_calloc (grub_size_t nmemb, grub_size_t size)
+{
+ void *ret;
+ grub_size_t sz = 0;
+
+ if (grub_mul (nmemb, size, &sz))
+ {
+ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
+ return NULL;
+ }
+
+ ret = grub_memalign (0, sz);
+ if (!ret)
+ return NULL;
+
+ grub_memset (ret, 0, sz);
+ return ret;
+}
+
/* Allocate SIZE bytes and return the pointer. */
void *
grub_malloc (grub_size_t size)
@@ -561,6 +587,20 @@ grub_mm_dump (unsigned lineno)
grub_printf ("\n");
}
+void *
+grub_debug_calloc (const char *file, int line, grub_size_t nmemb, grub_size_t size)
+{
+ void *ptr;
+
+ if (grub_mm_debug)
+ grub_printf ("%s:%d: calloc (0x%" PRIxGRUB_SIZE ", 0x%" PRIxGRUB_SIZE ") = ",
+ file, line, size);
+ ptr = grub_calloc (nmemb, size);
+ if (grub_mm_debug)
+ grub_printf ("%p\n", ptr);
+ return ptr;
+}
+
void *
grub_debug_malloc (const char *file, int line, grub_size_t size)
{
diff --git a/grub-core/lib/libgcrypt_wrap/mem.c b/grub-core/lib/libgcrypt_wrap/mem.c
index beeb661..74c6eaf 100644
--- a/grub-core/lib/libgcrypt_wrap/mem.c
+++ b/grub-core/lib/libgcrypt_wrap/mem.c
@@ -4,6 +4,7 @@
#include <grub/crypto.h>
#include <grub/dl.h>
#include <grub/env.h>
+#include <grub/safemath.h>
GRUB_MOD_LICENSE ("GPLv3+");
@@ -36,7 +37,10 @@ void *
gcry_xcalloc (size_t n, size_t m)
{
void *ret;
- ret = grub_zalloc (n * m);
+ size_t sz;
+ if (grub_mul (n, m, &sz))
+ grub_fatal ("gcry_xcalloc would overflow");
+ ret = grub_zalloc (sz);
if (!ret)
grub_fatal ("gcry_xcalloc failed");
return ret;
@@ -56,7 +60,10 @@ void *
gcry_xcalloc_secure (size_t n, size_t m)
{
void *ret;
- ret = grub_zalloc (n * m);
+ size_t sz;
+ if (grub_mul (n, m, &sz))
+ grub_fatal ("gcry_xcalloc would overflow");
+ ret = grub_zalloc (sz);
if (!ret)
grub_fatal ("gcry_xcalloc failed");
return ret;
diff --git a/grub-core/lib/posix_wrap/stdlib.h b/grub-core/lib/posix_wrap/stdlib.h
index 3b46f47..7a8d385 100644
--- a/grub-core/lib/posix_wrap/stdlib.h
+++ b/grub-core/lib/posix_wrap/stdlib.h
@@ -21,6 +21,7 @@
#include <grub/mm.h>
#include <grub/misc.h>
+#include <grub/safemath.h>
static inline void
free (void *ptr)
@@ -37,7 +38,12 @@ malloc (grub_size_t size)
static inline void *
calloc (grub_size_t size, grub_size_t nelem)
{
- return grub_zalloc (size * nelem);
+ grub_size_t sz;
+
+ if (grub_mul (size, nelem, &sz))
+ return NULL;
+
+ return grub_zalloc (sz);
}
static inline void *
diff --git a/include/grub/emu/misc.h b/include/grub/emu/misc.h
index ce464cf..ff9c48a 100644
--- a/include/grub/emu/misc.h
+++ b/include/grub/emu/misc.h
@@ -47,6 +47,7 @@ grub_util_device_is_mapped (const char *dev);
#define GRUB_HOST_PRIuLONG_LONG "llu"
#define GRUB_HOST_PRIxLONG_LONG "llx"
+void * EXPORT_FUNC(xcalloc) (grub_size_t nmemb, grub_size_t size) WARN_UNUSED_RESULT;
void * EXPORT_FUNC(xmalloc) (grub_size_t size) WARN_UNUSED_RESULT;
void * EXPORT_FUNC(xrealloc) (void *ptr, grub_size_t size) WARN_UNUSED_RESULT;
char * EXPORT_FUNC(xstrdup) (const char *str) WARN_UNUSED_RESULT;
diff --git a/include/grub/mm.h b/include/grub/mm.h
index 28e2e53..9c38dd3 100644
--- a/include/grub/mm.h
+++ b/include/grub/mm.h
@@ -29,6 +29,7 @@
#endif
void grub_mm_init_region (void *addr, grub_size_t size);
+void *EXPORT_FUNC(grub_calloc) (grub_size_t nmemb, grub_size_t size);
void *EXPORT_FUNC(grub_malloc) (grub_size_t size);
void *EXPORT_FUNC(grub_zalloc) (grub_size_t size);
void EXPORT_FUNC(grub_free) (void *ptr);
@@ -48,6 +49,9 @@ extern int EXPORT_VAR(grub_mm_debug);
void grub_mm_dump_free (void);
void grub_mm_dump (unsigned lineno);
+#define grub_calloc(nmemb, size) \
+ grub_debug_calloc (GRUB_FILE, __LINE__, nmemb, size)
+
#define grub_malloc(size) \
grub_debug_malloc (GRUB_FILE, __LINE__, size)
@@ -63,6 +67,8 @@ void grub_mm_dump (unsigned lineno);
#define grub_free(ptr) \
grub_debug_free (GRUB_FILE, __LINE__, ptr)
+void *EXPORT_FUNC(grub_debug_calloc) (const char *file, int line,
+ grub_size_t nmemb, grub_size_t size);
void *EXPORT_FUNC(grub_debug_malloc) (const char *file, int line,
grub_size_t size);
void *EXPORT_FUNC(grub_debug_zalloc) (const char *file, int line,
--
2.14.4

View File

@@ -0,0 +1,287 @@
From 8eb02bcb5897b238b29ff762402bb0c3028f0eab Mon Sep 17 00:00:00 2001
From: Michael Chang <mchang@suse.com>
Date: Thu, 19 Mar 2020 13:56:13 +0800
Subject: [PATCH 3/9] lvm: Add LVM cache logical volume handling
The LVM cache logical volume is the logical volume consisting of the original
and the cache pool logical volume. The original is usually on a larger and
slower storage device while the cache pool is on a smaller and faster one. The
performance of the original volume can be improved by storing the frequently
used data on the cache pool to utilize the greater performance of faster
device.
The default cache mode "writethrough" ensures that any data written will be
stored both in the cache and on the origin LV, therefore grub can be straight
to read the original lv as no data loss is guarenteed.
The second cache mode is "writeback", which delays writing from the cache pool
back to the origin LV to have increased performance. The drawback is potential
data loss if losing the associated cache device.
During the boot time grub reads the LVM offline i.e. LVM volumes are not
activated and mounted, hence it should be fine to read directly from original
lv since all cached data should have been flushed back in the process of taking
it offline.
It is also not much helpful to the situation by adding fsync calls to the
install code. The fsync did not force to write back dirty cache to the original
device and rather it would update associated cache metadata to complete the
write transaction with the cache device. IOW the writes to cached blocks still
go only to the cache device.
To write back dirty cache, as LVM cache did not support dirty cache flush per
block range, there'no way to do it for file. On the other hand the "cleaner"
policy is implemented and can be used to write back "all" dirty blocks in a
cache, which effectively drain all dirty cache gradually to attain and last in
the "clean" state, which can be useful for shrinking or decommissioning a
cache. The result and effect is not what we are looking for here.
In conclusion, as it seems no way to enforce file writes to the original
device, grub may suffer from power failure as it cannot assemble the cache
device and read the dirty data from it. However since the case is only
applicable to writeback mode which is sensitive to data lost in nature, I'd
still like to propose my (relatively simple) patch and treat reading dirty
cache as improvement.
Upstream-Status: Backport [commit 0454b0445393aafc5600e92ef0c39494e333b135
from https://git.savannah.gnu.org/git/grub.git]
Signed-off-by: Michael Chang <mchang@suse.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
---
grub-core/disk/lvm.c | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 190 insertions(+)
diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
index 7b265c7..dc6b83b 100644
--- a/grub-core/disk/lvm.c
+++ b/grub-core/disk/lvm.c
@@ -33,6 +33,14 @@
GRUB_MOD_LICENSE ("GPLv3+");
+struct cache_lv
+{
+ struct grub_diskfilter_lv *lv;
+ char *cache_pool;
+ char *origin;
+ struct cache_lv *next;
+};
+
/* Go the string STR and return the number after STR. *P will point
at the number. In case STR is not found, *P will be NULL and the
@@ -95,6 +103,34 @@ grub_lvm_check_flag (char *p, const char *str, const char *flag)
}
}
+static void
+grub_lvm_free_cache_lvs (struct cache_lv *cache_lvs)
+{
+ struct cache_lv *cache;
+
+ while ((cache = cache_lvs))
+ {
+ cache_lvs = cache_lvs->next;
+
+ if (cache->lv)
+ {
+ unsigned int i;
+
+ for (i = 0; i < cache->lv->segment_count; ++i)
+ if (cache->lv->segments)
+ grub_free (cache->lv->segments[i].nodes);
+ grub_free (cache->lv->segments);
+ grub_free (cache->lv->fullname);
+ grub_free (cache->lv->idname);
+ grub_free (cache->lv->name);
+ }
+ grub_free (cache->lv);
+ grub_free (cache->origin);
+ grub_free (cache->cache_pool);
+ grub_free (cache);
+ }
+}
+
static struct grub_diskfilter_vg *
grub_lvm_detect (grub_disk_t disk,
struct grub_diskfilter_pv_id *id,
@@ -242,6 +278,8 @@ grub_lvm_detect (grub_disk_t disk,
if (! vg)
{
+ struct cache_lv *cache_lvs = NULL;
+
/* First time we see this volume group. We've to create the
whole volume group structure. */
vg = grub_malloc (sizeof (*vg));
@@ -671,6 +709,106 @@ grub_lvm_detect (grub_disk_t disk,
seg->nodes[seg->node_count - 1].name = tmp;
}
}
+ else if (grub_memcmp (p, "cache\"",
+ sizeof ("cache\"") - 1) == 0)
+ {
+ struct cache_lv *cache = NULL;
+
+ char *p2, *p3;
+ grub_size_t sz;
+
+ cache = grub_zalloc (sizeof (*cache));
+ if (!cache)
+ goto cache_lv_fail;
+ cache->lv = grub_zalloc (sizeof (*cache->lv));
+ if (!cache->lv)
+ goto cache_lv_fail;
+ grub_memcpy (cache->lv, lv, sizeof (*cache->lv));
+
+ if (lv->fullname)
+ {
+ cache->lv->fullname = grub_strdup (lv->fullname);
+ if (!cache->lv->fullname)
+ goto cache_lv_fail;
+ }
+ if (lv->idname)
+ {
+ cache->lv->idname = grub_strdup (lv->idname);
+ if (!cache->lv->idname)
+ goto cache_lv_fail;
+ }
+ if (lv->name)
+ {
+ cache->lv->name = grub_strdup (lv->name);
+ if (!cache->lv->name)
+ goto cache_lv_fail;
+ }
+
+ skip_lv = 1;
+
+ p2 = grub_strstr (p, "cache_pool = \"");
+ if (!p2)
+ goto cache_lv_fail;
+
+ p2 = grub_strchr (p2, '"');
+ if (!p2)
+ goto cache_lv_fail;
+
+ p3 = ++p2;
+ p3 = grub_strchr (p3, '"');
+ if (!p3)
+ goto cache_lv_fail;
+
+ sz = p3 - p2;
+
+ cache->cache_pool = grub_malloc (sz + 1);
+ if (!cache->cache_pool)
+ goto cache_lv_fail;
+ grub_memcpy (cache->cache_pool, p2, sz);
+ cache->cache_pool[sz] = '\0';
+
+ p2 = grub_strstr (p, "origin = \"");
+ if (!p2)
+ goto cache_lv_fail;
+
+ p2 = grub_strchr (p2, '"');
+ if (!p2)
+ goto cache_lv_fail;
+
+ p3 = ++p2;
+ p3 = grub_strchr (p3, '"');
+ if (!p3)
+ goto cache_lv_fail;
+
+ sz = p3 - p2;
+
+ cache->origin = grub_malloc (sz + 1);
+ if (!cache->origin)
+ goto cache_lv_fail;
+ grub_memcpy (cache->origin, p2, sz);
+ cache->origin[sz] = '\0';
+
+ cache->next = cache_lvs;
+ cache_lvs = cache;
+ break;
+
+ cache_lv_fail:
+ if (cache)
+ {
+ grub_free (cache->origin);
+ grub_free (cache->cache_pool);
+ if (cache->lv)
+ {
+ grub_free (cache->lv->fullname);
+ grub_free (cache->lv->idname);
+ grub_free (cache->lv->name);
+ }
+ grub_free (cache->lv);
+ grub_free (cache);
+ }
+ grub_lvm_free_cache_lvs (cache_lvs);
+ goto fail4;
+ }
else
{
#ifdef GRUB_UTIL
@@ -747,6 +885,58 @@ grub_lvm_detect (grub_disk_t disk,
}
}
+
+ {
+ struct cache_lv *cache;
+
+ for (cache = cache_lvs; cache; cache = cache->next)
+ {
+ struct grub_diskfilter_lv *lv;
+
+ for (lv = vg->lvs; lv; lv = lv->next)
+ if (grub_strcmp (lv->name, cache->origin) == 0)
+ break;
+ if (lv)
+ {
+ cache->lv->segments = grub_malloc (lv->segment_count * sizeof (*lv->segments));
+ if (!cache->lv->segments)
+ {
+ grub_lvm_free_cache_lvs (cache_lvs);
+ goto fail4;
+ }
+ grub_memcpy (cache->lv->segments, lv->segments, lv->segment_count * sizeof (*lv->segments));
+
+ for (i = 0; i < lv->segment_count; ++i)
+ {
+ struct grub_diskfilter_node *nodes = lv->segments[i].nodes;
+ grub_size_t node_count = lv->segments[i].node_count;
+
+ cache->lv->segments[i].nodes = grub_malloc (node_count * sizeof (*nodes));
+ if (!cache->lv->segments[i].nodes)
+ {
+ for (j = 0; j < i; ++j)
+ grub_free (cache->lv->segments[j].nodes);
+ grub_free (cache->lv->segments);
+ cache->lv->segments = NULL;
+ grub_lvm_free_cache_lvs (cache_lvs);
+ goto fail4;
+ }
+ grub_memcpy (cache->lv->segments[i].nodes, nodes, node_count * sizeof (*nodes));
+ }
+
+ if (cache->lv->segments)
+ {
+ cache->lv->segment_count = lv->segment_count;
+ cache->lv->vg = vg;
+ cache->lv->next = vg->lvs;
+ vg->lvs = cache->lv;
+ cache->lv = NULL;
+ }
+ }
+ }
+ }
+
+ grub_lvm_free_cache_lvs (cache_lvs);
if (grub_diskfilter_vg_register (vg))
goto fail4;
}
--
2.14.4

View File

@@ -0,0 +1,94 @@
From 06c361a71c4998635493610e5d76d0d223925251 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Mon, 15 Jun 2020 10:58:42 -0400
Subject: [PATCH 5/9] safemath: Add some arithmetic primitives that check for
overflow
This adds a new header, include/grub/safemath.h, that includes easy to
use wrappers for __builtin_{add,sub,mul}_overflow() declared like:
bool OP(a, b, res)
where OP is grub_add, grub_sub or grub_mul. OP() returns true in the
case where the operation would overflow and res is not modified.
Otherwise, false is returned and the operation is executed.
These arithmetic primitives require newer compiler versions. So, bump
these requirements in the INSTALL file too.
Upstream-Status: Backport [commit 68708c4503018d61dbcce7ac11cbb511d6425f4d
from https://git.savannah.gnu.org/git/grub.git]
Signed-off-by: Peter Jones <pjones@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
[YL: omit the change to INSTALL from original patch]
Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
---
include/grub/compiler.h | 8 ++++++++
include/grub/safemath.h | 37 +++++++++++++++++++++++++++++++++++++
2 files changed, 45 insertions(+)
create mode 100644 include/grub/safemath.h
diff --git a/include/grub/compiler.h b/include/grub/compiler.h
index c9e1d7a..8f3be3a 100644
--- a/include/grub/compiler.h
+++ b/include/grub/compiler.h
@@ -48,4 +48,12 @@
# define WARN_UNUSED_RESULT
#endif
+#if defined(__clang__) && defined(__clang_major__) && defined(__clang_minor__)
+# define CLANG_PREREQ(maj,min) \
+ ((__clang_major__ > (maj)) || \
+ (__clang_major__ == (maj) && __clang_minor__ >= (min)))
+#else
+# define CLANG_PREREQ(maj,min) 0
+#endif
+
#endif /* ! GRUB_COMPILER_HEADER */
diff --git a/include/grub/safemath.h b/include/grub/safemath.h
new file mode 100644
index 0000000..c17b89b
--- /dev/null
+++ b/include/grub/safemath.h
@@ -0,0 +1,37 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2020 Free Software Foundation, Inc.
+ *
+ * GRUB is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GRUB is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Arithmetic operations that protect against overflow.
+ */
+
+#ifndef GRUB_SAFEMATH_H
+#define GRUB_SAFEMATH_H 1
+
+#include <grub/compiler.h>
+
+/* These appear in gcc 5.1 and clang 3.8. */
+#if GNUC_PREREQ(5, 1) || CLANG_PREREQ(3, 8)
+
+#define grub_add(a, b, res) __builtin_add_overflow(a, b, res)
+#define grub_sub(a, b, res) __builtin_sub_overflow(a, b, res)
+#define grub_mul(a, b, res) __builtin_mul_overflow(a, b, res)
+
+#else
+#error gcc 5.1 or newer or clang 3.8 or newer is required
+#endif
+
+#endif /* GRUB_SAFEMATH_H */
--
2.14.4

View File

@@ -0,0 +1,37 @@
From e219bad8cee67b2bb21712df8f055706f8da25d2 Mon Sep 17 00:00:00 2001
From: Chris Coulson <chris.coulson@canonical.com>
Date: Fri, 10 Jul 2020 11:21:14 +0100
Subject: [PATCH 7/9] script: Remove unused fields from grub_script_function
struct
Upstream-Status: Backport [commit 1a8d9c9b4ab6df7669b5aa36a56477f297825b96
from https://git.savannah.gnu.org/git/grub.git]
Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
---
include/grub/script_sh.h | 5 -----
1 file changed, 5 deletions(-)
diff --git a/include/grub/script_sh.h b/include/grub/script_sh.h
index 360c2be..b382bcf 100644
--- a/include/grub/script_sh.h
+++ b/include/grub/script_sh.h
@@ -359,13 +359,8 @@ struct grub_script_function
/* The script function. */
struct grub_script *func;
- /* The flags. */
- unsigned flags;
-
/* The next element. */
struct grub_script_function *next;
-
- int references;
};
typedef struct grub_script_function *grub_script_function_t;
--
2.14.4

View File

@@ -18,6 +18,15 @@ SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \
file://autogen.sh-exclude-pc.patch \
file://grub-module-explicitly-keeps-symbole-.module_license.patch \
file://0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch \
file://CVE-2020-10713.patch \
file://calloc-Make-sure-we-always-have-an-overflow-checking.patch \
file://lvm-Add-LVM-cache-logical-volume-handling.patch \
file://CVE-2020-14308-calloc-Use-calloc-at-most-places.patch \
file://safemath-Add-some-arithmetic-primitives-that-check-f.patch \
file://CVE-2020-14309-CVE-2020-14310-CVE-2020-14311-malloc-Use-overflow-checking-primitives-where-we-do-.patch \
file://script-Remove-unused-fields-from-grub_script_functio.patch \
file://CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch \
file://CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch \
"
SRC_URI[md5sum] = "5ce674ca6b2612d8939b9e6abed32934"
SRC_URI[sha256sum] = "f10c85ae3e204dbaec39ae22fa3c5e99f0665417e91c2cb49b7e5031658ba6ea"

View File

@@ -1,5 +1,5 @@
SUMMARY = "User support binary for the uvesafb kernel module"
HOMEPAGE = "http://dev.gentoo.org/~spock/projects/uvesafb/"
HOMEPAGE = "https://tracker.debian.org/pkg/v86d"
# the copyright info is at the bottom of README, expect break
LICENSE = "GPLv2"

View File

@@ -1,5 +1,5 @@
SUMMARY = "ISC Internet Domain Name Server"
HOMEPAGE = "http://www.isc.org/sw/bind/"
HOMEPAGE = "https://www.isc.org/bind/"
SECTION = "console/network"
LICENSE = "ISC & BSD"

View File

@@ -1,7 +1,7 @@
require bluez5.inc
SRC_URI[md5sum] = "e637feb2dbb7582bbbff1708367a847c"
SRC_URI[sha256sum] = "68cdab9e63e8832b130d5979dc8c96fdb087b31278f342874d992af3e56656dc"
SRC_URI[md5sum] = "94972b8bc7ade60c72b0ffa6ccff2c0a"
SRC_URI[sha256sum] = "8863717113c4897e2ad3271fc808ea245319e6fd95eed2e934fae8e0894e9b88"
# noinst programs in Makefile.tools that are conditional on READLINE
# support

View File

@@ -2,7 +2,7 @@ SUMMARY = "nl80211 based CLI configuration utility for wireless devices"
DESCRIPTION = "iw is a new nl80211 based CLI configuration utility for \
wireless devices. It supports almost all new drivers that have been added \
to the kernel recently. "
HOMEPAGE = "http://wireless.kernel.org/en/users/Documentation/iw"
HOMEPAGE = "https://wireless.wiki.kernel.org/en/users/documentation/iw"
SECTION = "base"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=878618a5c4af25e9b93ef0be1a93f774"

View File

@@ -6,3 +6,4 @@ RequiresMountsFor=/var /run
ExecStart=@LIBEXECDIR@/sshd_check_keys
Type=oneshot
RemainAfterExit=yes
Nice=10

View File

@@ -28,6 +28,10 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
SRC_URI[md5sum] = "3076e6413e8dbe56d33848c1054ac091"
SRC_URI[sha256sum] = "43925151e6cf6cee1450190c0e9af4dc36b41c12737619edff8bcebdff64e671"
# This CVE is specific to OpenSSH server, as used in Fedora and Red Hat Enterprise Linux 7
# and when running in a Kerberos environment. As such it is not relevant to OpenEmbedded
CVE_CHECK_WHITELIST += "CVE-2014-9278"
PAM_SRC_URI = "file://sshd"
inherit manpages useradd update-rc.d update-alternatives systemd
@@ -43,12 +47,15 @@ SYSTEMD_SERVICE_${PN}-sshd = "sshd.socket"
inherit autotools-brokensep ptest
PACKAGECONFIG ??= ""
PACKAGECONFIG ??= "rng-tools"
PACKAGECONFIG[kerberos] = "--with-kerberos5,--without-kerberos5,krb5"
PACKAGECONFIG[ldns] = "--with-ldns,--without-ldns,ldns"
PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
PACKAGECONFIG[manpages] = "--with-mantype=man,--with-mantype=cat"
# Add RRECOMMENDS to rng-tools for sshd package
PACKAGECONFIG[rng-tools] = ""
EXTRA_AUTORECONF += "--exclude=aclocal"
# login path is hardcoded in sshd
@@ -150,7 +157,10 @@ FILES_${PN}-keygen = "${bindir}/ssh-keygen"
RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}"
RRECOMMENDS_${PN}-sshd_append_class-target = " rng-tools"
RRECOMMENDS_${PN}-sshd_append_class-target = "\
${@bb.utils.filter('PACKAGECONFIG', 'rng-tools', d)} \
"
# gdb would make attach-ptrace test pass rather than skip but not worth the build dependencies
RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed sudo coreutils"

View File

@@ -0,0 +1,9 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS
1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQRJR6iZxr/NTqQN9NOwV+WPtu42r2eF
rJ0xsnlqw5bpmfz6aDR8RQvVHUZjRGQfR/RXPbQ5x+bjjdm176TuXNhHAAAAqAoE27MKBN
uzAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBElHqJnGv81OpA30
07BX5Y+27javZ4WsnTGyeWrDlumZ/PpoNHxFC9UdRmNEZB9H9Fc9tDnH5uON2bXvpO5c2E
cAAAAgLiHv/IWhxwosz9BiNILOOPlXaueL5hVTBKUJkpOi48sAAAANcm9vdEBxZW11bWlw
cwECAw==
-----END OPENSSH PRIVATE KEY-----

View File

@@ -0,0 +1 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBElHqJnGv81OpA3007BX5Y+27javZ4WsnTGyeWrDlumZ/PpoNHxFC9UdRmNEZB9H9Fc9tDnH5uON2bXvpO5c2Ec= root@qemupregen

View File

@@ -0,0 +1,7 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACDHSFTAbJ3OTd1r1E8G5JleCmsJEpQHmdTGtMcYqwWbbwAAAJChFtV0oRbV
dAAAAAtzc2gtZWQyNTUxOQAAACDHSFTAbJ3OTd1r1E8G5JleCmsJEpQHmdTGtMcYqwWbbw
AAAEA8UiUsygsTbP0HkDi5leXpQaVXihDyCHeitkBCItJGhcdIVMBsnc5N3WvUTwbkmV4K
awkSlAeZ1Ma0xxirBZtvAAAADXJvb3RAcWVtdW1pcHM=
-----END OPENSSH PRIVATE KEY-----

View File

@@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMdIVMBsnc5N3WvUTwbkmV4KawkSlAeZ1Ma0xxirBZtv root@qemupregen

View File

@@ -0,0 +1,38 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn
NhAAAAAwEAAQAAAYEA2Q6dzF1xziCQCFq+e+Fv6w0607gNlyKnkhuoRq8G7/HEqXU2eEtC
i3AMUrAP8k7s9kP5vI5CyfSgFuC9MxDV2YL2bsmvRxBSKgg6KbNxkoTaFBqyqHopuWQca8
KRahvzt5dh9fsmeqamIwgMWKTSwtDHcsbyt84nmO2Z2ZrNXobgueMIj+HiJVgmWn86FQFL
EoONAA+qb4SciPsxvmTlaQ/DMAh3llVo/IMLD9oyAyAI2kbHNnZttlYv5TmY7ICd3yCW8z
PXrxNcEF3Qs1d68gVJxLjLKTlYGzJW2J+RwY+1DJZ0w4lozeQiZXTXVtzcJB0tm2DcvQMz
kqyARmncSUwcPbEClEW6Y2xQnLeSHjexzlCCndiUbBTeG5iRl4OL6DN40iI9Lw2VROtj2Y
59n9PCfaoUs08dsgJLaNrDbRHrCRLSdZJ6OQFiC/nAx/t4e4+wdUgNOqLyJqomdNdaLXPq
tzr9ssrcY5j1DmmwKtzfTI5VM9LRQo+REIiUCNTFAAAFiFh232tYdt9rAAAAB3NzaC1yc2
EAAAGBANkOncxdcc4gkAhavnvhb+sNOtO4DZcip5IbqEavBu/xxKl1NnhLQotwDFKwD/JO
7PZD+byOQsn0oBbgvTMQ1dmC9m7Jr0cQUioIOimzcZKE2hQasqh6KblkHGvCkWob87eXYf
X7JnqmpiMIDFik0sLQx3LG8rfOJ5jtmdmazV6G4LnjCI/h4iVYJlp/OhUBSxKDjQAPqm+E
nIj7Mb5k5WkPwzAId5ZVaPyDCw/aMgMgCNpGxzZ2bbZWL+U5mOyAnd8glvMz168TXBBd0L
NXevIFScS4yyk5WBsyVtifkcGPtQyWdMOJaM3kImV011bc3CQdLZtg3L0DM5KsgEZp3ElM
HD2xApRFumNsUJy3kh43sc5Qgp3YlGwU3huYkZeDi+gzeNIiPS8NlUTrY9mOfZ/Twn2qFL
NPHbICS2jaw20R6wkS0nWSejkBYgv5wMf7eHuPsHVIDTqi8iaqJnTXWi1z6rc6/bLK3GOY
9Q5psCrc30yOVTPS0UKPkRCIlAjUxQAAAAMBAAEAAAGAGIj+bUtiwdoMbeVUAszIydkE/U
mgv6S7LFjT/KlsL1M017LYJWDcdMaFnhMouksRngSxBg9OnWV5cxyURmFwytVy5bMGjRHb
N8UWTgBqphU+UWdzKngkn0AhtkyYA1aFhgsml5d8EgEkZnFSc/KtoDfZU7AJX519/FtfOK
m27Shx3pE7Nohh97avHyuidR1gTwdvuMIMke57g0BhrxPYmredaKCMZAHjjCeD6JbRcGj+
ly3I9u8MF8BGSbLpBlLDUFCwP8G5CdmMua8bPJYhPSRqMLQhclI7hc6FaYk+gZV9B74Iv/
SAxcCwI97dNbE0IAsbbWoUdoKGpAYQ5gOdhu5ioqZwKWjNjB3Xx48mq8xtmIR9HEnYzEnk
b/tDWNRWrGkvNK7vpLvnbsSSKBqOAbMzmQdJxogTgjE5doSmu2/krIMR6KUcUox2ZrR8Ot
JM6bXyNFBviiXmYvw/SZTDrVJu8BPMu5EMS5pBl8jPFBGI/ePk4qg7lWAJeQ89ThtBAAAA
wQDEU4HjomWwJsn9UWdoodXTV5aPY9B1OPkmYnRPtsjSAcXgtBzUXMEOsmXODOK3aQjsE0
jQKpWDAUcUf6KKZKRehxUN4MlwujCG9czn65S6B8BsP1YUfZQjpNyub8vDBfeKzlxKBEEM
lb4iBT+LEGkihK13H5CbqRg1GDAThZzwrV4pj3S40zgyHhn8JjK4x4djEY6NwkWH8E2DgD
8vYG/FKh5E/VIZtCgtAHa4QNAgGB4VMRn1VpSJzxjCxb1wancAAADBAPT7F34WYEI3Vc52
p1U5rPa6dZtg5QM14V0+KtMlb3frd0/F+JVj4t6COQ8J9pkOuD0YjOYJuFXIWAAYIjCdWt
cbTi/sSERawOWxrgSwJo2vjt5izrBQtr3N8tiB6KDGa5sdgJl5XzJ0SsdStfBbyhcJO4RV
p9lc+X8OsUfFsClmyIs45vlxBRH06DP6/zmYCAmqvlrfZJKqlpKAEWDDObRy/3+mSNhZ0J
BdmncASiASRlPPIoIHznyA1COUn6+TnwAAAMEA4tH89Dez2JauyPVeCyHAC680vrBKjmMx
WYdpq2Xzd/LNl2L9oc0IEZzerLTuaCh6qsbbk2wWj1nrYXvefz/xUtDR427tvRXckcsWhP
2HYohdYBkwTpp9QuscIV76GdwbTImuNEzvABH1hpTG6DSzqeyf/EVmSq07nptJIs5lpU49
tW2aWraSvswHR9xfts1U79w9f4BNDy1rTmfuLERTRNF/T9CIFsk9tArLUNT64mhHtoEs8F
9AyGuq6v49bN0bAAAADXJvb3RAcWVtdW1pcHMBAgMEBQ==
-----END OPENSSH PRIVATE KEY-----

View File

@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZDp3MXXHOIJAIWr574W/rDTrTuA2XIqeSG6hGrwbv8cSpdTZ4S0KLcAxSsA/yTuz2Q/m8jkLJ9KAW4L0zENXZgvZuya9HEFIqCDops3GShNoUGrKoeim5ZBxrwpFqG/O3l2H1+yZ6pqYjCAxYpNLC0MdyxvK3zieY7ZnZms1ehuC54wiP4eIlWCZafzoVAUsSg40AD6pvhJyI+zG+ZOVpD8MwCHeWVWj8gwsP2jIDIAjaRsc2dm22Vi/lOZjsgJ3fIJbzM9evE1wQXdCzV3ryBUnEuMspOVgbMlbYn5HBj7UMlnTDiWjN5CJldNdW3NwkHS2bYNy9AzOSrIBGadxJTBw9sQKURbpjbFCct5IeN7HOUIKd2JRsFN4bmJGXg4voM3jSIj0vDZVE62PZjn2f08J9qhSzTx2yAkto2sNtEesJEtJ1kno5AWIL+cDH+3h7j7B1SA06ovImqiZ011otc+q3Ov2yytxjmPUOabAq3N9MjlUz0tFCj5EQiJQI1MU= root@qemupregen

View File

@@ -0,0 +1,19 @@
SUMMARY = "Pre generated host keys mainly for speeding up our qemu tests"
SRC_URI = "file://dropbear_rsa_host_key \
file://openssh"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
INHIBIT_DEFAULT_DEPS = "1"
do_install () {
install -d ${D}${sysconfdir}/dropbear
install ${WORKDIR}/dropbear_rsa_host_key -m 0600 ${D}${sysconfdir}/dropbear/
install -d ${D}${sysconfdir}/ssh
install ${WORKDIR}/openssh/* ${D}${sysconfdir}/ssh/
chmod 0600 ${D}${sysconfdir}/ssh/*
chmod 0644 ${D}${sysconfdir}/ssh/*.pub
}

View File

@@ -5,10 +5,11 @@ BUGTRACKER = "https://bugs.busybox.net/"
DEPENDS += "kern-tools-native virtual/crypt"
# bzip2 applet in busybox is based on lightly-modified bzip2 source
# bzip2 applet in busybox is based on lightly-modified bzip2-1.0.4 source
# the GPL is version 2 only
LICENSE = "GPLv2 & bzip2-1.0.6"
LIC_FILES_CHKSUM = "file://LICENSE;md5=de10de48642ab74318e893a61105afbb"
LICENSE = "GPLv2 & bzip2-1.0.4"
LIC_FILES_CHKSUM = "file://LICENSE;md5=de10de48642ab74318e893a61105afbb \
file://archival/libarchive/bz/LICENSE;md5=28e3301eae987e8cfe19988e98383dae"
SECTION = "base"

View File

@@ -11,3 +11,4 @@ Type=oneshot
ExecStart=@BASE_BINDIR@/mkdir -p ${DROPBEAR_RSAKEY_DIR}
ExecStart=@SBINDIR@/dropbearkey -t rsa -f ${DROPBEAR_RSAKEY_DIR}/dropbear_rsa_host_key
RemainAfterExit=yes
Nice=10

View File

@@ -2,4 +2,4 @@
have_proc_self_cmdline = true
[binaries]
env = "/usr/bin/env"
env = '/usr/bin/env'

View File

@@ -0,0 +1,458 @@
Backport a number of patches from upstream to fix reading of the new 'slim'
encoding for tzdata files.
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
commit 18cbd5e5a4812e9bd0b06a058322d2b44ed2ad92
Author: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu Jul 16 12:41:49 2020 -0700
Clarify memset in set_tz_name
* glib/gtimezone.c (set_tz_name): Use size, not NAME_SIZE,
to clear the buffer. Suggested by Philip Withnall in:
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1533#note_867859
commit 1ab3f927d6d09a8cf3349a3545f5351446f43d47
Author: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu Jul 16 12:41:49 2020 -0700
gtimezone: support footers in TZif files
Since tzcode95f (1995), TZif files have had a trailing
TZ string, used for timestamps after the last transition.
This string is specified in Internet RFC 8536 section 3.3.
init_zone_from_iana_info has ignored this string, causing it
to mishandle timestamps past the year 2038. With zic's new -b
slim flag, init_zone_from_iana_info would even mishandle current
timestamps. Fix this by parsing the trailing TZ string and adding
its transitions.
Closes #2129
commit e8b763e35235a2c6b4bdd48a5099c00f72741059
Author: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu Jul 16 12:41:49 2020 -0700
gtimezone: add support for RFC 8536 time zone transitions
Time zone transition times can range from -167:59:59 through
+167:59:59, according to Internet RFC 8536 section 3.3.1;
this is an extension to POSIX. It is needed for proper
support of TZif version 3 files.
commit 1c65dd48b8ebd31af8bc9b2263f83c0c411f7519
Author: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu Jul 16 12:41:49 2020 -0700
gtimezone: allow hh to be 24, as per POSIX
POSIX allows hh to be 24; see
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03
commit 368b65cb4cb17e29a4f55654149f554a14f48bc6
Author: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu Jul 16 12:41:49 2020 -0700
gtimezone: support POSIX 1003.1-2001 quoted TZ abbreviations
TZ strings like '<-03>3' were introduced in POSIX 1003.1-2001 and
are currently specified in:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03
commit fd528aaab6bb077c6d217e62f2228ec9fe3ed760
Author: Paul Eggert <eggert@cs.ucla.edu>
Date: Thu Jul 16 12:41:49 2020 -0700
gtimezone: get 64-bit data from version-3 TZif files
Version 3 was introduced in tzdb 2013e (2013).
See Internet RFC 8536 section 3.1 under "ver(sion)".
diff --git a/glib/gtimezone.c b/glib/gtimezone.c
index 5a835dea9..f9eee1967 100644
--- a/glib/gtimezone.c
+++ b/glib/gtimezone.c
@@ -142,9 +142,7 @@ typedef struct
gint mday;
gint wday;
gint week;
- gint hour;
- gint min;
- gint sec;
+ gint32 offset; /* hour*3600 + min*60 + sec; can be negative. */
} TimeZoneDate;
/* POSIX Timezone abbreviations are typically 3 or 4 characters, but
@@ -205,6 +203,10 @@ static GTimeZone *tz_local = NULL;
there's no point in getting carried
away. */
+#ifdef G_OS_UNIX
+static GTimeZone *parse_footertz (const gchar *, size_t);
+#endif
+
/**
* g_time_zone_unref:
* @tz: a #GTimeZone
@@ -286,13 +288,20 @@ g_time_zone_ref (GTimeZone *tz)
/* fake zoneinfo creation (for RFC3339/ISO 8601 timezones) {{{1 */
/*
* parses strings of the form h or hh[[:]mm[[[:]ss]]] where:
- * - h[h] is 0 to 23
+ * - h[h] is 0 to 24
* - mm is 00 to 59
* - ss is 00 to 59
+ * If RFC8536, TIME_ is a transition time sans sign,
+ * so colons are required before mm and ss, and hh can be up to 167.
+ * See Internet RFC 8536 section 3.3.1:
+ * https://tools.ietf.org/html/rfc8536#section-3.3.1
+ * and POSIX Base Definitions 8.3 TZ rule time:
+ * https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03
*/
static gboolean
parse_time (const gchar *time_,
- gint32 *offset)
+ gint32 *offset,
+ gboolean rfc8536)
{
if (*time_ < '0' || '9' < *time_)
return FALSE;
@@ -310,7 +319,20 @@ parse_time (const gchar *time_,
*offset *= 10;
*offset += 60 * 60 * (*time_++ - '0');
- if (*offset > 23 * 60 * 60)
+ if (rfc8536)
+ {
+ /* Internet RFC 8536 section 3.3.1 and POSIX 8.3 TZ together say
+ that a transition time must be of the form [+-]hh[:mm[:ss]] where
+ the hours part can range from -167 to 167. */
+ if ('0' <= *time_ && *time_ <= '9')
+ {
+ *offset *= 10;
+ *offset += 60 * 60 * (*time_++ - '0');
+ }
+ if (*offset > 167 * 60 * 60)
+ return FALSE;
+ }
+ else if (*offset > 24 * 60 * 60)
return FALSE;
if (*time_ == '\0')
@@ -319,6 +341,8 @@ parse_time (const gchar *time_,
if (*time_ == ':')
time_++;
+ else if (rfc8536)
+ return FALSE;
if (*time_ < '0' || '5' < *time_)
return FALSE;
@@ -335,6 +359,8 @@ parse_time (const gchar *time_,
if (*time_ == ':')
time_++;
+ else if (rfc8536)
+ return FALSE;
if (*time_ < '0' || '5' < *time_)
return FALSE;
@@ -351,28 +377,32 @@ parse_time (const gchar *time_,
static gboolean
parse_constant_offset (const gchar *name,
- gint32 *offset)
+ gint32 *offset,
+ gboolean rfc8536)
{
- if (g_strcmp0 (name, "UTC") == 0)
+ /* Internet RFC 8536 section 3.3.1 and POSIX 8.3 TZ together say
+ that a transition time must be numeric. */
+ if (!rfc8536 && g_strcmp0 (name, "UTC") == 0)
{
*offset = 0;
return TRUE;
}
if (*name >= '0' && '9' >= *name)
- return parse_time (name, offset);
+ return parse_time (name, offset, rfc8536);
switch (*name++)
{
case 'Z':
*offset = 0;
- return !*name;
+ /* Internet RFC 8536 section 3.3.1 requires a numeric zone. */
+ return !rfc8536 && !*name;
case '+':
- return parse_time (name, offset);
+ return parse_time (name, offset, rfc8536);
case '-':
- if (parse_time (name, offset))
+ if (parse_time (name, offset, rfc8536))
{
*offset = -*offset;
return TRUE;
@@ -391,7 +421,7 @@ zone_for_constant_offset (GTimeZone *gtz, const gchar *name)
gint32 offset;
TransitionInfo info;
- if (name == NULL || !parse_constant_offset (name, &offset))
+ if (name == NULL || !parse_constant_offset (name, &offset, FALSE))
return;
info.gmt_offset = offset;
@@ -529,12 +559,17 @@ init_zone_from_iana_info (GTimeZone *gtz,
guint8 *tz_transitions, *tz_type_index, *tz_ttinfo;
guint8 *tz_abbrs;
gsize timesize = sizeof (gint32);
- const struct tzhead *header = g_bytes_get_data (zoneinfo, &size);
+ gconstpointer header_data = g_bytes_get_data (zoneinfo, &size);
+ const gchar *data = header_data;
+ const struct tzhead *header = header_data;
+ GTimeZone *footertz = NULL;
+ guint extra_time_count = 0, extra_type_count = 0;
+ gint64 last_explicit_transition_time;
g_return_if_fail (size >= sizeof (struct tzhead) &&
memcmp (header, "TZif", 4) == 0);
- if (header->tzh_version == '2')
+ if (header->tzh_version >= '2')
{
/* Skip ahead to the newer 64-bit data if it's available. */
header = (const struct tzhead *)
@@ -550,6 +585,30 @@ init_zone_from_iana_info (GTimeZone *gtz,
time_count = guint32_from_be(header->tzh_timecnt);
type_count = guint32_from_be(header->tzh_typecnt);
+ if (header->tzh_version >= '2')
+ {
+ const gchar *footer = (((const gchar *) (header + 1))
+ + guint32_from_be(header->tzh_ttisgmtcnt)
+ + guint32_from_be(header->tzh_ttisstdcnt)
+ + 12 * guint32_from_be(header->tzh_leapcnt)
+ + 9 * time_count
+ + 6 * type_count
+ + guint32_from_be(header->tzh_charcnt));
+ const gchar *footerlast;
+ size_t footerlen;
+ g_return_if_fail (footer <= data + size - 2 && footer[0] == '\n');
+ footerlast = memchr (footer + 1, '\n', data + size - (footer + 1));
+ g_return_if_fail (footerlast);
+ footerlen = footerlast + 1 - footer;
+ if (footerlen != 2)
+ {
+ footertz = parse_footertz (footer, footerlen);
+ g_return_if_fail (footertz);
+ extra_type_count = footertz->t_info->len;
+ extra_time_count = footertz->transitions->len;
+ }
+ }
+
tz_transitions = ((guint8 *) (header) + sizeof (*header));
tz_type_index = tz_transitions + timesize * time_count;
tz_ttinfo = tz_type_index + time_count;
@@ -557,9 +616,9 @@ init_zone_from_iana_info (GTimeZone *gtz,
gtz->name = g_steal_pointer (&identifier);
gtz->t_info = g_array_sized_new (FALSE, TRUE, sizeof (TransitionInfo),
- type_count);
+ type_count + extra_type_count);
gtz->transitions = g_array_sized_new (FALSE, TRUE, sizeof (Transition),
- time_count);
+ time_count + extra_time_count);
for (index = 0; index < type_count; index++)
{
@@ -574,15 +633,50 @@ init_zone_from_iana_info (GTimeZone *gtz,
for (index = 0; index < time_count; index++)
{
Transition trans;
- if (header->tzh_version == '2')
+ if (header->tzh_version >= '2')
trans.time = gint64_from_be (((gint64_be*)tz_transitions)[index]);
else
trans.time = gint32_from_be (((gint32_be*)tz_transitions)[index]);
+ last_explicit_transition_time = trans.time;
trans.info_index = tz_type_index[index];
g_assert (trans.info_index >= 0);
g_assert ((guint) trans.info_index < gtz->t_info->len);
g_array_append_val (gtz->transitions, trans);
}
+
+ if (footertz)
+ {
+ /* Append footer time types. Don't bother to coalesce
+ duplicates with existing time types. */
+ for (index = 0; index < extra_type_count; index++)
+ {
+ TransitionInfo t_info;
+ TransitionInfo *footer_t_info
+ = &g_array_index (footertz->t_info, TransitionInfo, index);
+ t_info.gmt_offset = footer_t_info->gmt_offset;
+ t_info.is_dst = footer_t_info->is_dst;
+ t_info.abbrev = g_steal_pointer (&footer_t_info->abbrev);
+ g_array_append_val (gtz->t_info, t_info);
+ }
+
+ /* Append footer transitions that follow the last explicit
+ transition. */
+ for (index = 0; index < extra_time_count; index++)
+ {
+ Transition *footer_transition
+ = &g_array_index (footertz->transitions, Transition, index);
+ if (time_count <= 0
+ || last_explicit_transition_time < footer_transition->time)
+ {
+ Transition trans;
+ trans.time = footer_transition->time;
+ trans.info_index = type_count + footer_transition->info_index;
+ g_array_append_val (gtz->transitions, trans);
+ }
+ }
+
+ g_time_zone_unref (footertz);
+ }
}
#elif defined (G_OS_WIN32)
@@ -590,9 +684,8 @@ init_zone_from_iana_info (GTimeZone *gtz,
static void
copy_windows_systemtime (SYSTEMTIME *s_time, TimeZoneDate *tzdate)
{
- tzdate->sec = s_time->wSecond;
- tzdate->min = s_time->wMinute;
- tzdate->hour = s_time->wHour;
+ tzdate->offset
+ = s_time->wHour * 3600 + s_time->wMinute * 60 + s_time->wSecond;
tzdate->mon = s_time->wMonth;
tzdate->year = s_time->wYear;
tzdate->wday = s_time->wDayOfWeek ? s_time->wDayOfWeek : 7;
@@ -979,7 +1072,7 @@ boundary_for_year (TimeZoneDate *boundary,
g_date_clear (&date, 1);
g_date_set_dmy (&date, buffer.mday, buffer.mon, buffer.year);
return ((g_date_get_julian (&date) - unix_epoch_start) * seconds_per_day +
- buffer.hour * 3600 + buffer.min * 60 + buffer.sec - offset);
+ buffer.offset - offset);
}
static void
@@ -1156,7 +1249,7 @@ init_zone_from_rules (GTimeZone *gtz,
* - N is 0 to 365
*
* time is either h or hh[[:]mm[[[:]ss]]]
- * - h[h] is 0 to 23
+ * - h[h] is 0 to 24
* - mm is 00 to 59
* - ss is 00 to 59
*/
@@ -1289,25 +1382,10 @@ parse_tz_boundary (const gchar *identifier,
/* Time */
if (*pos == '/')
- {
- gint32 offset;
-
- if (!parse_time (++pos, &offset))
- return FALSE;
-
- boundary->hour = offset / 3600;
- boundary->min = (offset / 60) % 60;
- boundary->sec = offset % 3600;
-
- return TRUE;
- }
-
+ return parse_constant_offset (pos + 1, &boundary->offset, TRUE);
else
{
- boundary->hour = 2;
- boundary->min = 0;
- boundary->sec = 0;
-
+ boundary->offset = 2 * 60 * 60;
return *pos == '\0';
}
}
@@ -1341,7 +1419,7 @@ parse_offset (gchar **pos, gint32 *target)
++(*pos);
buffer = g_strndup (target_pos, *pos - target_pos);
- ret = parse_constant_offset (buffer, target);
+ ret = parse_constant_offset (buffer, target, FALSE);
g_free (buffer);
return ret;
@@ -1366,21 +1444,32 @@ parse_identifier_boundary (gchar **pos, TimeZoneDate *target)
static gboolean
set_tz_name (gchar **pos, gchar *buffer, guint size)
{
+ gboolean quoted = **pos == '<';
gchar *name_pos = *pos;
guint len;
- /* Name is ASCII alpha (Is this necessarily true?) */
- while (g_ascii_isalpha (**pos))
- ++(*pos);
+ if (quoted)
+ {
+ name_pos++;
+ do
+ ++(*pos);
+ while (g_ascii_isalnum (**pos) || **pos == '-' || **pos == '+');
+ if (**pos != '>')
+ return FALSE;
+ }
+ else
+ while (g_ascii_isalpha (**pos))
+ ++(*pos);
- /* Name should be three or more alphabetic characters */
+ /* Name should be three or more characters */
if (*pos - name_pos < 3)
return FALSE;
- memset (buffer, 0, NAME_SIZE);
+ memset (buffer, 0, size);
/* name_pos isn't 0-terminated, so we have to limit the length expressly */
len = *pos - name_pos > size - 1 ? size - 1 : *pos - name_pos;
strncpy (buffer, name_pos, len);
+ *pos += quoted;
return TRUE;
}
@@ -1483,6 +1572,28 @@ rules_from_identifier (const gchar *identifier,
return create_ruleset_from_rule (rules, &tzr);
}
+#ifdef G_OS_UNIX
+static GTimeZone *
+parse_footertz (const gchar *footer, size_t footerlen)
+{
+ gchar *tzstring = g_strndup (footer + 1, footerlen - 2);
+ GTimeZone *footertz = NULL;
+ gchar *ident;
+ TimeZoneRule *rules;
+ guint rules_num = rules_from_identifier (tzstring, &ident, &rules);
+ g_free (ident);
+ g_free (tzstring);
+ if (rules_num > 1)
+ {
+ footertz = g_slice_new0 (GTimeZone);
+ init_zone_from_rules (footertz, rules, rules_num, NULL);
+ footertz->ref_count++;
+ }
+ g_free (rules);
+ return footertz;
+}
+#endif
+
/* Construction {{{1 */
/**
* g_time_zone_new:

View File

@@ -16,6 +16,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
file://0001-meson-Run-atomics-test-on-clang-as-well.patch \
file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
file://tzdata-update.patch \
"
SRC_URI_append_class-native = " file://relocate-modules.patch"

View File

@@ -192,7 +192,6 @@ do_stash_locale () {
fi
cp -fpPR ${D}${datadir}/* $dest${datadir}
rm -rf ${D}${datadir}/locale/
cp -fpPR ${WORKDIR}/SUPPORTED $dest
target=$dest/scripts

View File

@@ -24,7 +24,7 @@ IMAGE_FSTYPES = "wic.vmdk"
inherit core-image module-base setuptools3
SRCREV ?= "5ad59495782e8dbcb2b9d18e27ca4bde131465b4"
SRCREV ?= "235dff82276a8a2ff4d0ee1cf93243925537551c"
SRC_URI = "git://git.yoctoproject.org/poky;branch=dunfell \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \

View File

@@ -10,6 +10,7 @@ TOOLCHAIN_HOST_TASK ?= "\
nativesdk-python3-modules \
nativesdk-python3-misc \
nativesdk-python3-git \
nativesdk-python3-jinja2 \
nativesdk-python3-testtools \
nativesdk-python3-subunit \
nativesdk-ncurses-terminfo-base \
@@ -66,16 +67,22 @@ create_sdk_files_append () {
script=${1:-${SDK_OUTPUT}/${SDKPATH}/environment-setup-${SDK_SYS}}
touch $script
echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:$PATH' >> $script
# In order for the self-extraction script to correctly extract and set up things,
# we need a 'OECORE_NATIVE_SYSROOT=xxx' line in environment setup script.
# However, buildtools-tarball is inherently a tool set instead of a fully functional SDK,
# so instead of exporting the variable, we use a comment here.
echo '#OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script
toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${SDK_SYS}
echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script
echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script
echo 'export SSL_CERT_FILE="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script
echo 'export OPENSSL_CONF="${SDKPATHNATIVE}${sysconfdir}/ssl/openssl.cnf"' >>$script
toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${SDK_SYS}
cat >> $script <<EOF
if [ -d "\$OECORE_NATIVE_SYSROOT/environment-setup.d" ]; then
for envfile in \$OECORE_NATIVE_SYSROOT/environment-setup.d/*.sh; do
. \$envfile
done
fi
# We have to unset this else it can confuse oe-selftest and other tools
# which may also use the overlapping namespace.
unset OECORE_NATIVE_SYSROOT
EOF
mkdir -p ${SDK_OUTPUT}/${SDKPATHNATIVE}${sysconfdir}/
echo '${SDKPATHNATIVE}${libdir}

View File

@@ -13,15 +13,8 @@ deltask do_install
deltask do_populate_sysroot
python () {
cve_check_db_file = d.getVar("CVE_CHECK_DB_FILE")
if not cve_check_db_file:
if not bb.data.inherits_class("cve-check", d):
raise bb.parse.SkipRecipe("Skip recipe when cve-check class is not loaded.")
if os.path.exists("%s-journal" % cve_check_db_file ):
os.remove("%s-journal" % cve_check_db_file)
if os.path.exists(cve_check_db_file):
os.remove(cve_check_db_file)
}
python do_populate_cve_db() {
@@ -40,7 +33,14 @@ python do_populate_cve_db() {
db_file = d.getVar("CVE_CHECK_DB_FILE")
db_dir = os.path.dirname(db_file)
json_tmpfile = os.path.join(db_dir, 'nvd.json.gz')
if os.path.exists("{0}-journal".format(db_file)):
# If a journal is present the last update might have been interrupted. In that case,
# just wipe any leftovers and force the DB to be recreated.
os.remove("{0}-journal".format(db_file))
if os.path.exists(db_file):
os.remove(db_file)
# Don't refresh the database more than once an hour
try:

View File

@@ -4,12 +4,13 @@ HOMEPAGE = "http://packages.debian.org/netbase"
SECTION = "base"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://debian/copyright;md5=3dd6192d306f582dee7687da3d8748ab"
PE = "1"
PE = "2"
SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.tar.xz"
SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}~bpo10+1.tar.xz"
S = "${WORKDIR}/${BPN}-${PV}~bpo10+1"
SRC_URI[md5sum] = "e5871a3a5c8390557b8033cf19316a55"
SRC_URI[sha256sum] = "084d743bd84d4d9380bac4c71c51e57406dce44f5a69289bb823c903e9b035d8"
SRC_URI[md5sum] = "4fa7517285b4045ac0dc8dbf6730dd7a"
SRC_URI[sha256sum] = "4e9c3082dff8896cb6b6bea9bb2200d82fb0d7c8d8c8fc9b18704fe553316237"
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/netbase/"
do_install () {

View File

@@ -13,9 +13,12 @@ PR = "r3"
MTRACE = ""
MTRACE_libc-glibc = "libc-mtrace"
STRACE = "strace"
STRACE_riscv32 = ""
RDEPENDS_${PN} = "\
gdb \
gdbserver \
strace \
${MTRACE} \
${STRACE} \
"

View File

@@ -28,6 +28,7 @@ PROFILETOOLS = "\
"
PERF = "perf"
PERF_libc-musl = ""
PERF_libc-musl_arm = "perf"
# systemtap needs elfutils which is not fully buildable on some arches/libcs
SYSTEMTAP = "systemtap"
@@ -41,6 +42,7 @@ LTTNGUST_arc = ""
LTTNGTOOLS = "lttng-tools"
LTTNGTOOLS_arc = ""
LTTNGTOOLS_riscv32_libc-musl = ""
LTTNGMODULES = "lttng-modules"
LTTNGMODULES_arc = ""

View File

@@ -4,7 +4,7 @@ command lines as they are typed in. Both Emacs and vi editing modes are availabl
additional functions to maintain a list of previously-entered command lines, to recall and perhaps reedit those \
lines, and perform csh-like history expansion on previous commands."
SECTION = "libs"
HOMEPAGE = "https://cnswww.cns.cwru.edu/php/chet/readline/rltop.html"
HOMEPAGE = "https://tiswww.case.edu/php/chet/readline/rltop.html"
# GPLv2+ (< 6.0), GPLv3+ (>= 6.0)
LICENSE = "GPLv3+"

View File

@@ -0,0 +1,30 @@
From 0335d110afc08baf47d76b7011ce02510dfdd524 Mon Sep 17 00:00:00 2001
From: Valery0xff <valery.chernous@gmail.com>
Date: Wed, 11 Mar 2020 02:20:36 +0200
Subject: [PATCH] udev: fix SECLABEL{selinux} issue (#15064)
Add SECLABEL{selinux}="some value" cause udevadm crash
systemd-udevd[x]: Worker [x] terminated by signal 11 (SEGV)
It happens since 25de7aa7b90 (Yu Watanabe 2019-04-25 01:21:11 +0200)
when udev rules processing changed to token model. Yu forgot store
attr to SECLABEL token so fix it.
---
src/udev/udev-rules.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Upstream-Status: Backport [https://github.com/systemd/systemd/commit/0335d110afc08baf47d76b7011ce02510dfdd524.patch]
---
diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
index b9b350d1ef..b990f68e93 100644
--- a/src/udev/udev-rules.c
+++ b/src/udev/udev-rules.c
@@ -921,7 +921,7 @@ static int parse_token(UdevRules *rules, const char *key, char *attr, UdevRuleOp
op = OP_ASSIGN;
}
- r = rule_line_add_token(rule_line, TK_A_SECLABEL, op, value, NULL);
+ r = rule_line_add_token(rule_line, TK_A_SECLABEL, op, value, attr);
} else if (streq(key, "RUN")) {
if (is_match || op == OP_REMOVE)
return log_token_invalid_op(rules, key);

View File

@@ -21,6 +21,7 @@ SRC_URI += "file://touchscreen.rules \
file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
file://0003-implment-systemd-sysv-install-for-OE.patch \
file://CVE-2020-13776.patch \
file://systemd-udev-seclabel-options-crash-fix.patch \
"
# patches needed by musl

View File

@@ -26,11 +26,8 @@ startup_progress() {
progress=$progress_size
fi
#echo "PROGRESS is $progress $runlevel $first_step + ($step of $num_steps) $step_change $progress_size"
#if type psplash-write >/dev/null 2>&1; then
# TMPDIR=/mnt/.psplash psplash-write "PROGRESS $progress" || true
#fi
if [ -e /mnt/.psplash/psplash_fifo ]; then
echo "PROGRESS $progress" > /mnt/.psplash/psplash_fifo
if type psplash-write >/dev/null 2>&1; then
PSPLASH_FIFO_DIR=/mnt/.psplash psplash-write "PROGRESS $progress" || true
fi
}
@@ -176,7 +173,7 @@ startup() {
#Uncomment to cause psplash to exit manually, otherwise it exits when it sees a VC switch
if [ "x$runlevel" != "xS" ] && [ ! -x /etc/rc${runlevel}.d/S??xserver-nodm ]; then
if type psplash-write >/dev/null 2>&1; then
TMPDIR=/mnt/.psplash psplash-write "QUIT" || true
PSPLASH_FIFO_DIR=/mnt/.psplash psplash-write "QUIT" || true
umount -l /mnt/.psplash
fi
fi

View File

@@ -1,5 +1,5 @@
SUMMARY = "A suite of basic system administration utilities"
HOMEPAGE = "http://userweb.kernel.org/~kzak/util-linux/"
HOMEPAGE = "https://en.wikipedia.org/wiki/Util-linux"
DESCRIPTION = "Util-linux includes a suite of basic system administration utilities \
commonly found on most Linux systems. Some of the more important utilities include \
disk partitioning, kernel message management, filesystem creation, and system login."
@@ -113,7 +113,7 @@ EXTRA_OECONF_append = " --disable-hwclock-gplv3"
#
PACKAGECONFIG ?= "pcre2"
PACKAGECONFIG_class-target ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
# inherit manpages requires this to be present, however util-linux does not have
# inherit manpages requires this to be present, however util-linux does not have
# configuration options, and installs manpages always
PACKAGECONFIG[manpages] = ""
PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam,"

View File

@@ -43,5 +43,6 @@ SRC_URI = "\
file://0016-Check-for-clang-before-checking-gcc-version.patch \
file://0017-binutils-drop-redundant-program_name-definition-fno-.patch \
file://CVE-2020-0551.patch \
file://0001-gas-improve-reproducibility-for-stabs-debugging-data.patch \
"
S = "${WORKDIR}/git"

View File

@@ -0,0 +1,32 @@
From 96882eb9263b6b1c953e33a6764a83f4a87a9a41 Mon Sep 17 00:00:00 2001
From: Denys Zagorui <dzagorui@cisco.com>
Date: Mon, 9 Nov 2020 15:39:10 +0000
Subject: [PATCH] gas: improve reproducibility for stabs debugging data format
* config/obj-elf (obj_elf_init_stab_section): Improve
reproducibility for stabs debugging data format
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0541201782c006c09d029d18a45c6e743cfea906]
---
gas/config/obj-elf.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index 7cf921c051..92b55e06c2 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -2186,12 +2186,13 @@ obj_elf_init_stab_section (segT seg)
p = frag_more (12);
/* Zero it out. */
memset (p, 0, 12);
- file = as_where (NULL);
+ file = remap_debug_filename (as_where (NULL));
stabstr_name = concat (segment_name (seg), "str", (char *) NULL);
stroff = get_stab_string_offset (file, stabstr_name, TRUE);
know (stroff == 1 || (stroff == 0 && file[0] == '\0'));
md_number_to_chars (p, stroff, 4);
seg_info (seg)->stabu.p = p;
+ xfree ((char *) file);
}
#endif

View File

@@ -14,7 +14,7 @@ SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \
file://add-with-bisonlocaledir.patch \
file://0001-bison-fix-the-parallel-build.patch \
"
SRC_URI[sha256sum] = "2bf85b5f88a5f2fa8069aed2a2dfc3a9f8d15a97e59c713e3906e5fdd982a7c4"
SRC_URI[sha256sum] = "4c17e99881978fa32c05933c5262457fa5b2b611668454f8dc2a695cd6b3720c"
# No point in hardcoding path to m4, just use PATH
EXTRA_OECONF += "M4=m4"

View File

@@ -2,8 +2,7 @@ SUMMARY = "Tool to edit rpath in ELF binaries"
DESCRIPTION = "chrpath allows you to change the rpath (where the \
application looks for libraries) in an application. It does not \
(yet) allow you to add an rpath if there isn't one already."
HOMEPAGE = "http://alioth.debian.org/projects/chrpath/"
BUGTRACKER = "http://alioth.debian.org/tracker/?atid=412807&group_id=31052"
HOMEPAGE = "https://tracker.debian.org/pkg/chrpath"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"

View File

@@ -27,3 +27,5 @@ LDFLAGS += "${TOOLCHAIN_OPTIONS}"
do_install_ptest() {
cp -r ${S}/testing ${D}${PTEST_PATH}
}
BBCLASSEXTEND = "nativesdk"

View File

@@ -16,7 +16,7 @@ SRC_URI[sha256sum] = "e6b2aca70ccc3fe3687365009dd94a2e18e82b688ed4e260e04b741247
UPSTREAM_CHECK_URI = "https://github.com/dosfstools/dosfstools/releases"
inherit autotools pkgconfig
inherit autotools pkgconfig update-alternatives
EXTRA_OECONF = "--without-udev --enable-compat-symlinks"
@@ -26,3 +26,7 @@ BBCLASSEXTEND = "native"
# Add codepage437 to avoid error from `dosfsck -l`
RRECOMMENDS_${PN}_append_libc-glibc = " glibc-gconv-ibm437"
ALTERNATIVE_PRIORITY = "100"
ALTERNATIVE_${PN} = "mkfs.vfat"
ALTERNATIVE_LINK_NAME[mkfs.vfat] = "${sbindir}/mkfs.vfat"

View File

@@ -69,6 +69,9 @@ SRC_URI = "\
file://0037-CVE-2019-14250-Check-zero-value-in-simple_object_elf.patch \
file://0038-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \
file://0039-process_alt_operands-Don-t-match-user-defined-regs-o.patch \
file://0001-aarch64-New-Straight-Line-Speculation-SLS-mitigation.patch \
file://0002-aarch64-Introduce-SLS-mitigation-for-RET-and-BR-inst.patch \
file://0003-aarch64-Mitigate-SLS-for-BLR-instruction.patch \
"
S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
SRC_URI[sha256sum] = "71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1"

View File

@@ -0,0 +1,204 @@
CVE: CVE-2020-13844
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
From 20da13e395bde597d8337167c712039c8f923c3b Mon Sep 17 00:00:00 2001
From: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu, 9 Jul 2020 09:11:58 +0100
Subject: [PATCH 1/3] aarch64: New Straight Line Speculation (SLS) mitigation
flags
Here we introduce the flags that will be used for straight line speculation.
The new flag introduced is `-mharden-sls=`.
This flag can take arguments of `none`, `all`, or a comma seperated list
of one or more of `retbr` or `blr`.
`none` indicates no special mitigation of the straight line speculation
vulnerability.
`all` requests all mitigations currently implemented.
`retbr` requests that the RET and BR instructions have a speculation
barrier inserted after them.
`blr` requests that BLR instructions are replaced by a BL to a function
stub using a BR with a speculation barrier after it.
Setting this on a per-function basis using attributes or the like is not
enabled, but may be in the future.
(cherry picked from commit a9ba2a9b77bec7eacaf066801f22d1c366a2bc86)
gcc/ChangeLog:
2020-06-02 Matthew Malcomson <matthew.malcomson@arm.com>
* config/aarch64/aarch64-protos.h (aarch64_harden_sls_retbr_p):
New.
(aarch64_harden_sls_blr_p): New.
* config/aarch64/aarch64.c (enum aarch64_sls_hardening_type):
New.
(aarch64_harden_sls_retbr_p): New.
(aarch64_harden_sls_blr_p): New.
(aarch64_validate_sls_mitigation): New.
(aarch64_override_options): Parse options for SLS mitigation.
* config/aarch64/aarch64.opt (-mharden-sls): New option.
* doc/invoke.texi: Document new option.
---
gcc/config/aarch64/aarch64-protos.h | 3 ++
gcc/config/aarch64/aarch64.c | 76 +++++++++++++++++++++++++++++
gcc/config/aarch64/aarch64.opt | 4 ++
gcc/doc/invoke.texi | 12 +++++
4 files changed, 95 insertions(+)
diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h
index c083cad53..31493f412 100644
--- a/gcc/config/aarch64/aarch64-protos.h
+++ b/gcc/config/aarch64/aarch64-protos.h
@@ -644,4 +644,7 @@ poly_uint64 aarch64_regmode_natural_size (machine_mode);
bool aarch64_high_bits_all_ones_p (HOST_WIDE_INT);
+extern bool aarch64_harden_sls_retbr_p (void);
+extern bool aarch64_harden_sls_blr_p (void);
+
#endif /* GCC_AARCH64_PROTOS_H */
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index b452a53af..269ff6c92 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -11734,6 +11734,79 @@ aarch64_validate_mcpu (const char *str, const struct processor **res,
return false;
}
+/* Straight line speculation indicators. */
+enum aarch64_sls_hardening_type
+{
+ SLS_NONE = 0,
+ SLS_RETBR = 1,
+ SLS_BLR = 2,
+ SLS_ALL = 3,
+};
+static enum aarch64_sls_hardening_type aarch64_sls_hardening;
+
+/* Return whether we should mitigatate Straight Line Speculation for the RET
+ and BR instructions. */
+bool
+aarch64_harden_sls_retbr_p (void)
+{
+ return aarch64_sls_hardening & SLS_RETBR;
+}
+
+/* Return whether we should mitigatate Straight Line Speculation for the BLR
+ instruction. */
+bool
+aarch64_harden_sls_blr_p (void)
+{
+ return aarch64_sls_hardening & SLS_BLR;
+}
+
+/* As of yet we only allow setting these options globally, in the future we may
+ allow setting them per function. */
+static void
+aarch64_validate_sls_mitigation (const char *const_str)
+{
+ char *token_save = NULL;
+ char *str = NULL;
+
+ if (strcmp (const_str, "none") == 0)
+ {
+ aarch64_sls_hardening = SLS_NONE;
+ return;
+ }
+ if (strcmp (const_str, "all") == 0)
+ {
+ aarch64_sls_hardening = SLS_ALL;
+ return;
+ }
+
+ char *str_root = xstrdup (const_str);
+ str = strtok_r (str_root, ",", &token_save);
+ if (!str)
+ error ("invalid argument given to %<-mharden-sls=%>");
+
+ int temp = SLS_NONE;
+ while (str)
+ {
+ if (strcmp (str, "blr") == 0)
+ temp |= SLS_BLR;
+ else if (strcmp (str, "retbr") == 0)
+ temp |= SLS_RETBR;
+ else if (strcmp (str, "none") == 0 || strcmp (str, "all") == 0)
+ {
+ error ("%<%s%> must be by itself for %<-mharden-sls=%>", str);
+ break;
+ }
+ else
+ {
+ error ("invalid argument %<%s%> for %<-mharden-sls=%>", str);
+ break;
+ }
+ str = strtok_r (NULL, ",", &token_save);
+ }
+ aarch64_sls_hardening = (aarch64_sls_hardening_type) temp;
+ free (str_root);
+}
+
/* Parses CONST_STR for branch protection features specified in
aarch64_branch_protect_types, and set any global variables required. Returns
the parsing result and assigns LAST_STR to the last processed token from
@@ -11972,6 +12045,9 @@ aarch64_override_options (void)
selected_arch = NULL;
selected_tune = NULL;
+ if (aarch64_harden_sls_string)
+ aarch64_validate_sls_mitigation (aarch64_harden_sls_string);
+
if (aarch64_branch_protection_string)
aarch64_validate_mbranch_protection (aarch64_branch_protection_string);
diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt
index 3c6d1cc90..d27ab6df8 100644
--- a/gcc/config/aarch64/aarch64.opt
+++ b/gcc/config/aarch64/aarch64.opt
@@ -71,6 +71,10 @@ mgeneral-regs-only
Target Report RejectNegative Mask(GENERAL_REGS_ONLY) Save
Generate code which uses only the general registers.
+mharden-sls=
+Target RejectNegative Joined Var(aarch64_harden_sls_string)
+Generate code to mitigate against straight line speculation.
+
mfix-cortex-a53-835769
Target Report Var(aarch64_fix_a53_err835769) Init(2) Save
Workaround for ARM Cortex-A53 Erratum number 835769.
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 2f7ffe456..5f04a7d2b 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -638,6 +638,7 @@ Objective-C and Objective-C++ Dialects}.
-mpc-relative-literal-loads @gol
-msign-return-address=@var{scope} @gol
-mbranch-protection=@var{none}|@var{standard}|@var{pac-ret}[+@var{leaf}]|@var{bti} @gol
+-mharden-sls=@var{opts} @gol
-march=@var{name} -mcpu=@var{name} -mtune=@var{name} @gol
-moverride=@var{string} -mverbose-cost-dump @gol
-mstack-protector-guard=@var{guard} -mstack-protector-guard-reg=@var{sysreg} @gol
@@ -15955,6 +15956,17 @@ argument @samp{leaf} can be used to extend the signing to include leaf
functions.
@samp{bti} turns on branch target identification mechanism.
+@item -mharden-sls=@var{opts}
+@opindex mharden-sls
+Enable compiler hardening against straight line speculation (SLS).
+@var{opts} is a comma-separated list of the following options:
+@table @samp
+@item retbr
+@item blr
+@end table
+In addition, @samp{-mharden-sls=all} enables all SLS hardening while
+@samp{-mharden-sls=none} disables all SLS hardening.
+
@item -msve-vector-bits=@var{bits}
@opindex msve-vector-bits
Specify the number of bits in an SVE vector register. This option only has
--
2.25.1

View File

@@ -0,0 +1,600 @@
CVE: CVE-2020-13844
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
From dc586a749228ecfb71f72ec2ca10e6f7b6874af3 Mon Sep 17 00:00:00 2001
From: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu, 9 Jul 2020 09:11:59 +0100
Subject: [PATCH 2/3] aarch64: Introduce SLS mitigation for RET and BR
instructions
Instructions following RET or BR are not necessarily executed. In order
to avoid speculation past RET and BR we can simply append a speculation
barrier.
Since these speculation barriers will not be architecturally executed,
they are not expected to add a high performance penalty.
The speculation barrier is to be SB when targeting architectures which
have this enabled, and DSB SY + ISB otherwise.
We add tests for each of the cases where such an instruction was seen.
This is implemented by modifying each machine description pattern that
emits either a RET or a BR instruction. We choose not to use something
like `TARGET_ASM_FUNCTION_EPILOGUE` since it does not affect the
`indirect_jump`, `jump`, `sibcall_insn` and `sibcall_value_insn`
patterns and we find it preferable to implement the functionality in the
same way for every pattern.
There is one particular case which is slightly tricky. The
implementation of TARGET_ASM_TRAMPOLINE_TEMPLATE uses a BR which needs
to be mitigated against. The trampoline template is used *once* per
compilation unit, and the TRAMPOLINE_SIZE is exposed to the user via the
builtin macro __LIBGCC_TRAMPOLINE_SIZE__.
In the future we may implement function specific attributes to turn on
and off hardening on a per-function basis.
The fixed nature of the trampoline described above implies it will be
safer to ensure this speculation barrier is always used.
Testing:
Bootstrap and regtest done on aarch64-none-linux
Used a temporary hack(1) to use these options on every test in the
testsuite and a script to check that the output never emitted an
unmitigated RET or BR.
1) Temporary hack was a change to the testsuite to always use
`-save-temps` and run a script on the assembly output of those
compilations which produced one to ensure every RET or BR is immediately
followed by a speculation barrier.
(cherry picked from be178ecd5ac1fe1510d960ff95c66d0ff831afe1)
gcc/ChangeLog:
* config/aarch64/aarch64-protos.h (aarch64_sls_barrier): New.
* config/aarch64/aarch64.c (aarch64_output_casesi): Emit
speculation barrier after BR instruction if needs be.
(aarch64_trampoline_init): Handle ptr_mode value & adjust size
of code copied.
(aarch64_sls_barrier): New.
(aarch64_asm_trampoline_template): Add needed barriers.
* config/aarch64/aarch64.h (AARCH64_ISA_SB): New.
(TARGET_SB): New.
(TRAMPOLINE_SIZE): Account for barrier.
* config/aarch64/aarch64.md (indirect_jump, *casesi_dispatch,
simple_return, *do_return, *sibcall_insn, *sibcall_value_insn):
Emit barrier if needs be, also account for possible barrier using
"sls_length" attribute.
(sls_length): New attribute.
(length): Determine default using any non-default sls_length
value.
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/sls-mitigation/sls-miti-retbr.c: New test.
* gcc.target/aarch64/sls-mitigation/sls-miti-retbr-pacret.c:
New test.
* gcc.target/aarch64/sls-mitigation/sls-mitigation.exp: New file.
* lib/target-supports.exp (check_effective_target_aarch64_asm_sb_ok):
New proc.
---
gcc/config/aarch64/aarch64-protos.h | 1 +
gcc/config/aarch64/aarch64.c | 41 +++++-
gcc/config/aarch64/aarch64.h | 10 +-
gcc/config/aarch64/aarch64.md | 75 ++++++++---
.../sls-mitigation/sls-miti-retbr-pacret.c | 15 +++
.../aarch64/sls-mitigation/sls-miti-retbr.c | 119 ++++++++++++++++++
.../aarch64/sls-mitigation/sls-mitigation.exp | 73 +++++++++++
gcc/testsuite/lib/target-supports.exp | 3 +-
8 files changed, 312 insertions(+), 25 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr-pacret.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-mitigation.exp
diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h
index 31493f412..885eae893 100644
--- a/gcc/config/aarch64/aarch64-protos.h
+++ b/gcc/config/aarch64/aarch64-protos.h
@@ -644,6 +644,7 @@ poly_uint64 aarch64_regmode_natural_size (machine_mode);
bool aarch64_high_bits_all_ones_p (HOST_WIDE_INT);
+const char *aarch64_sls_barrier (int);
extern bool aarch64_harden_sls_retbr_p (void);
extern bool aarch64_harden_sls_blr_p (void);
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 269ff6c92..dff61105c 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -8412,8 +8412,8 @@ aarch64_return_addr (int count, rtx frame ATTRIBUTE_UNUSED)
static void
aarch64_asm_trampoline_template (FILE *f)
{
- int offset1 = 16;
- int offset2 = 20;
+ int offset1 = 24;
+ int offset2 = 28;
if (aarch64_bti_enabled ())
{
@@ -8436,6 +8436,17 @@ aarch64_asm_trampoline_template (FILE *f)
}
asm_fprintf (f, "\tbr\t%s\n", reg_names [IP1_REGNUM]);
+ /* We always emit a speculation barrier.
+ This is because the same trampoline template is used for every nested
+ function. Since nested functions are not particularly common or
+ performant we don't worry too much about the extra instructions to copy
+ around.
+ This is not yet a problem, since we have not yet implemented function
+ specific attributes to choose between hardening against straight line
+ speculation or not, but such function specific attributes are likely to
+ happen in the future. */
+ asm_fprintf (f, "\tdsb\tsy\n\tisb\n");
+
/* The trampoline needs an extra padding instruction. In case if BTI is
enabled the padding instruction is replaced by the BTI instruction at
the beginning. */
@@ -8450,10 +8461,14 @@ static void
aarch64_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
{
rtx fnaddr, mem, a_tramp;
- const int tramp_code_sz = 16;
+ const int tramp_code_sz = 24;
/* Don't need to copy the trailing D-words, we fill those in below. */
- emit_block_move (m_tramp, assemble_trampoline_template (),
+ /* We create our own memory address in Pmode so that `emit_block_move` can
+ use parts of the backend which expect Pmode addresses. */
+ rtx temp = convert_memory_address (Pmode, XEXP (m_tramp, 0));
+ emit_block_move (gen_rtx_MEM (BLKmode, temp),
+ assemble_trampoline_template (),
GEN_INT (tramp_code_sz), BLOCK_OP_NORMAL);
mem = adjust_address (m_tramp, ptr_mode, tramp_code_sz);
fnaddr = XEXP (DECL_RTL (fndecl), 0);
@@ -8640,6 +8655,8 @@ aarch64_output_casesi (rtx *operands)
output_asm_insn (buf, operands);
output_asm_insn (patterns[index][1], operands);
output_asm_insn ("br\t%3", operands);
+ output_asm_insn (aarch64_sls_barrier (aarch64_harden_sls_retbr_p ()),
+ operands);
assemble_label (asm_out_file, label);
return "";
}
@@ -18976,6 +18993,22 @@ aarch64_file_end_indicate_exec_stack ()
#undef GNU_PROPERTY_AARCH64_FEATURE_1_BTI
#undef GNU_PROPERTY_AARCH64_FEATURE_1_AND
+/* Helper function for straight line speculation.
+ Return what barrier should be emitted for straight line speculation
+ mitigation.
+ When not mitigating against straight line speculation this function returns
+ an empty string.
+ When mitigating against straight line speculation, use:
+ * SB when the v8.5-A SB extension is enabled.
+ * DSB+ISB otherwise. */
+const char *
+aarch64_sls_barrier (int mitigation_required)
+{
+ return mitigation_required
+ ? (TARGET_SB ? "sb" : "dsb\tsy\n\tisb")
+ : "";
+}
+
/* Target-specific selftests. */
#if CHECKING_P
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index 772a97296..72ddc6fd9 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -235,6 +235,7 @@ extern unsigned aarch64_architecture_version;
#define AARCH64_ISA_F16FML (aarch64_isa_flags & AARCH64_FL_F16FML)
#define AARCH64_ISA_RCPC8_4 (aarch64_isa_flags & AARCH64_FL_RCPC8_4)
#define AARCH64_ISA_V8_5 (aarch64_isa_flags & AARCH64_FL_V8_5)
+#define AARCH64_ISA_SB (aarch64_isa_flags & AARCH64_FL_SB)
/* Crypto is an optional extension to AdvSIMD. */
#define TARGET_CRYPTO (TARGET_SIMD && AARCH64_ISA_CRYPTO)
@@ -285,6 +286,9 @@ extern unsigned aarch64_architecture_version;
#define TARGET_FIX_ERR_A53_835769_DEFAULT 1
#endif
+/* SB instruction is enabled through +sb. */
+#define TARGET_SB (AARCH64_ISA_SB)
+
/* Apply the workaround for Cortex-A53 erratum 835769. */
#define TARGET_FIX_ERR_A53_835769 \
((aarch64_fix_a53_err835769 == 2) \
@@ -931,8 +935,10 @@ typedef struct
#define RETURN_ADDR_RTX aarch64_return_addr
-/* BTI c + 3 insns + 2 pointer-sized entries. */
-#define TRAMPOLINE_SIZE (TARGET_ILP32 ? 24 : 32)
+/* BTI c + 3 insns
+ + sls barrier of DSB + ISB.
+ + 2 pointer-sized entries. */
+#define TRAMPOLINE_SIZE (24 + (TARGET_ILP32 ? 8 : 16))
/* Trampolines contain dwords, so must be dword aligned. */
#define TRAMPOLINE_ALIGNMENT 64
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index cc5a887d4..494aee964 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -331,10 +331,25 @@
;; Attribute that specifies whether the alternative uses MOVPRFX.
(define_attr "movprfx" "no,yes" (const_string "no"))
+;; Attribute to specify that an alternative has the length of a single
+;; instruction plus a speculation barrier.
+(define_attr "sls_length" "none,retbr,casesi" (const_string "none"))
+
(define_attr "length" ""
(cond [(eq_attr "movprfx" "yes")
(const_int 8)
- ] (const_int 4)))
+
+ (eq_attr "sls_length" "retbr")
+ (cond [(match_test "!aarch64_harden_sls_retbr_p ()") (const_int 4)
+ (match_test "TARGET_SB") (const_int 8)]
+ (const_int 12))
+
+ (eq_attr "sls_length" "casesi")
+ (cond [(match_test "!aarch64_harden_sls_retbr_p ()") (const_int 16)
+ (match_test "TARGET_SB") (const_int 20)]
+ (const_int 24))
+ ]
+ (const_int 4)))
;; Strictly for compatibility with AArch32 in pipeline models, since AArch64 has
;; no predicated insns.
@@ -370,8 +385,12 @@
(define_insn "indirect_jump"
[(set (pc) (match_operand:DI 0 "register_operand" "r"))]
""
- "br\\t%0"
- [(set_attr "type" "branch")]
+ {
+ output_asm_insn ("br\\t%0", operands);
+ return aarch64_sls_barrier (aarch64_harden_sls_retbr_p ());
+ }
+ [(set_attr "type" "branch")
+ (set_attr "sls_length" "retbr")]
)
(define_insn "jump"
@@ -657,7 +676,7 @@
"*
return aarch64_output_casesi (operands);
"
- [(set_attr "length" "16")
+ [(set_attr "sls_length" "casesi")
(set_attr "type" "branch")]
)
@@ -736,14 +755,18 @@
[(return)]
""
{
+ const char *ret = NULL;
if (aarch64_return_address_signing_enabled ()
&& TARGET_ARMV8_3
&& !crtl->calls_eh_return)
- return "retaa";
-
- return "ret";
+ ret = "retaa";
+ else
+ ret = "ret";
+ output_asm_insn (ret, operands);
+ return aarch64_sls_barrier (aarch64_harden_sls_retbr_p ());
}
- [(set_attr "type" "branch")]
+ [(set_attr "type" "branch")
+ (set_attr "sls_length" "retbr")]
)
(define_expand "return"
@@ -755,8 +778,12 @@
(define_insn "simple_return"
[(simple_return)]
"aarch64_use_simple_return_insn_p ()"
- "ret"
- [(set_attr "type" "branch")]
+ {
+ output_asm_insn ("ret", operands);
+ return aarch64_sls_barrier (aarch64_harden_sls_retbr_p ());
+ }
+ [(set_attr "type" "branch")
+ (set_attr "sls_length" "retbr")]
)
(define_insn "*cb<optab><mode>1"
@@ -947,10 +974,16 @@
(match_operand 1 "" ""))
(return)]
"SIBLING_CALL_P (insn)"
- "@
- br\\t%0
- b\\t%c0"
- [(set_attr "type" "branch, branch")]
+ {
+ if (which_alternative == 0)
+ {
+ output_asm_insn ("br\\t%0", operands);
+ return aarch64_sls_barrier (aarch64_harden_sls_retbr_p ());
+ }
+ return "b\\t%c0";
+ }
+ [(set_attr "type" "branch, branch")
+ (set_attr "sls_length" "retbr,none")]
)
(define_insn "*sibcall_value_insn"
@@ -960,10 +993,16 @@
(match_operand 2 "" "")))
(return)]
"SIBLING_CALL_P (insn)"
- "@
- br\\t%1
- b\\t%c1"
- [(set_attr "type" "branch, branch")]
+ {
+ if (which_alternative == 0)
+ {
+ output_asm_insn ("br\\t%1", operands);
+ return aarch64_sls_barrier (aarch64_harden_sls_retbr_p ());
+ }
+ return "b\\t%c1";
+ }
+ [(set_attr "type" "branch, branch")
+ (set_attr "sls_length" "retbr,none")]
)
;; Call subroutine returning any type.
diff --git a/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr-pacret.c b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr-pacret.c
new file mode 100644
index 000000000..7656123ee
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr-pacret.c
@@ -0,0 +1,15 @@
+/* Avoid ILP32 since pacret is only available for LP64 */
+/* { dg-do compile { target { ! ilp32 } } } */
+/* { dg-additional-options "-mharden-sls=retbr -mbranch-protection=pac-ret -march=armv8.3-a" } */
+
+/* Testing the do_return pattern for retaa. */
+long retbr_subcall(void);
+long retbr_do_return_retaa(void)
+{
+ return retbr_subcall()+1;
+}
+
+/* Ensure there are no BR or RET instructions which are not directly followed
+ by a speculation barrier. */
+/* { dg-final { scan-assembler-not {\t(br|ret|retaa)\tx[0-9][0-9]?\n\t(?!dsb\tsy\n\tisb)} } } */
+/* { dg-final { scan-assembler-not {ret\t} } } */
diff --git a/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr.c b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr.c
new file mode 100644
index 000000000..573b30cdc
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr.c
@@ -0,0 +1,119 @@
+/* We ensure that -Wpedantic is off since it complains about the trampolines
+ we explicitly want to test. */
+/* { dg-additional-options "-mharden-sls=retbr -Wno-pedantic " } */
+/*
+ Ensure that the SLS hardening of RET and BR leaves no unprotected RET/BR
+ instructions.
+ */
+typedef int (foo) (int, int);
+typedef void (bar) (int, int);
+struct sls_testclass {
+ foo *x;
+ bar *y;
+ int left;
+ int right;
+};
+
+int
+retbr_sibcall_value_insn (struct sls_testclass x)
+{
+ return x.x(x.left, x.right);
+}
+
+void
+retbr_sibcall_insn (struct sls_testclass x)
+{
+ x.y(x.left, x.right);
+}
+
+/* Aim to test two different returns.
+ One that introduces a tail call in the middle of the function, and one that
+ has a normal return. */
+int
+retbr_multiple_returns (struct sls_testclass x)
+{
+ int temp;
+ if (x.left % 10)
+ return x.x(x.left, 100);
+ else if (x.right % 20)
+ {
+ return x.x(x.left * x.right, 100);
+ }
+ temp = x.left % x.right;
+ temp *= 100;
+ temp /= 2;
+ return temp % 3;
+}
+
+void
+retbr_multiple_returns_void (struct sls_testclass x)
+{
+ if (x.left % 10)
+ {
+ x.y(x.left, 100);
+ }
+ else if (x.right % 20)
+ {
+ x.y(x.left * x.right, 100);
+ }
+ return;
+}
+
+/* Testing the casesi jump via register. */
+__attribute__ ((optimize ("Os")))
+int
+retbr_casesi_dispatch (struct sls_testclass x)
+{
+ switch (x.left)
+ {
+ case -5:
+ return -2;
+ case -3:
+ return -1;
+ case 0:
+ return 0;
+ case 3:
+ return 1;
+ case 5:
+ break;
+ default:
+ __builtin_unreachable ();
+ }
+ return x.right;
+}
+
+/* Testing the BR in trampolines is mitigated against. */
+void f1 (void *);
+void f3 (void *, void (*)(void *));
+void f2 (void *);
+
+int
+retbr_trampolines (void *a, int b)
+{
+ if (!b)
+ {
+ f1 (a);
+ return 1;
+ }
+ if (b)
+ {
+ void retbr_tramp_internal (void *c)
+ {
+ if (c == a)
+ f2 (c);
+ }
+ f3 (a, retbr_tramp_internal);
+ }
+ return 0;
+}
+
+/* Testing the indirect_jump pattern. */
+void
+retbr_indirect_jump (int *buf)
+{
+ __builtin_longjmp(buf, 1);
+}
+
+/* Ensure there are no BR or RET instructions which are not directly followed
+ by a speculation barrier. */
+/* { dg-final { scan-assembler-not {\t(br|ret|retaa)\tx[0-9][0-9]?\n\t(?!dsb\tsy\n\tisb|sb)} } } */
diff --git a/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-mitigation.exp b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-mitigation.exp
new file mode 100644
index 000000000..812250379
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-mitigation.exp
@@ -0,0 +1,73 @@
+# Regression driver for SLS mitigation on AArch64.
+# Copyright (C) 2020 Free Software Foundation, Inc.
+# Contributed by ARM Ltd.
+#
+# This file is part of GCC.
+#
+# GCC is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GCC is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING3. If not see
+# <http://www.gnu.org/licenses/>. */
+
+# Exit immediately if this isn't an AArch64 target.
+if {![istarget aarch64*-*-*] } then {
+ return
+}
+
+# Load support procs.
+load_lib gcc-dg.exp
+load_lib torture-options.exp
+
+# If a testcase doesn't have special options, use these.
+global DEFAULT_CFLAGS
+if ![info exists DEFAULT_CFLAGS] then {
+ set DEFAULT_CFLAGS " "
+}
+
+# Initialize `dg'.
+dg-init
+torture-init
+
+# Use different architectures as well as the normal optimisation options.
+# (i.e. use both SB and DSB+ISB barriers).
+
+set save-dg-do-what-default ${dg-do-what-default}
+# Main loop.
+# Run with torture tests (i.e. a bunch of different optimisation levels) just
+# to increase test coverage.
+set dg-do-what-default assemble
+gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]] \
+ "-save-temps" $DEFAULT_CFLAGS
+
+# Run the same tests but this time with SB extension.
+# Since not all supported assemblers will support that extension we decide
+# whether to assemble or just compile based on whether the extension is
+# supported for the available assembler.
+
+set templist {}
+foreach x $DG_TORTURE_OPTIONS {
+ lappend templist "$x -march=armv8.3-a+sb "
+ lappend templist "$x -march=armv8-a+sb "
+}
+set-torture-options $templist
+if { [check_effective_target_aarch64_asm_sb_ok] } {
+ set dg-do-what-default assemble
+} else {
+ set dg-do-what-default compile
+}
+gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]] \
+ "-save-temps" $DEFAULT_CFLAGS
+set dg-do-what-default ${save-dg-do-what-default}
+
+# All done.
+torture-finish
+dg-finish
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index ea9a50ccb..79482f9b6 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -8579,7 +8579,8 @@ proc check_effective_target_aarch64_tiny { } {
# Create functions to check that the AArch64 assembler supports the
# various architecture extensions via the .arch_extension pseudo-op.
-foreach { aarch64_ext } { "fp" "simd" "crypto" "crc" "lse" "dotprod" "sve"} {
+foreach { aarch64_ext } { "fp" "simd" "crypto" "crc" "lse" "dotprod" "sve"
+ "sb"} {
eval [string map [list FUNC $aarch64_ext] {
proc check_effective_target_aarch64_asm_FUNC_ok { } {
if { [istarget aarch64*-*-*] } {
--
2.25.1

View File

@@ -0,0 +1,659 @@
CVE: CVE-2020-13844
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
From 2155170525f93093b90a1a065e7ed71a925566e9 Mon Sep 17 00:00:00 2001
From: Matthew Malcomson <matthew.malcomson@arm.com>
Date: Thu, 9 Jul 2020 09:11:59 +0100
Subject: [PATCH 3/3] aarch64: Mitigate SLS for BLR instruction
This patch introduces the mitigation for Straight Line Speculation past
the BLR instruction.
This mitigation replaces BLR instructions with a BL to a stub which uses
a BR to jump to the original value. These function stubs are then
appended with a speculation barrier to ensure no straight line
speculation happens after these jumps.
When optimising for speed we use a set of stubs for each function since
this should help the branch predictor make more accurate predictions
about where a stub should branch.
When optimising for size we use one set of stubs for all functions.
This set of stubs can have human readable names, and we are using
`__call_indirect_x<N>` for register x<N>.
When BTI branch protection is enabled the BLR instruction can jump to a
`BTI c` instruction using any register, while the BR instruction can
only jump to a `BTI c` instruction using the x16 or x17 registers.
Hence, in order to ensure this transformation is safe we mov the value
of the original register into x16 and use x16 for the BR.
As an example when optimising for size:
a
BLR x0
instruction would get transformed to something like
BL __call_indirect_x0
where __call_indirect_x0 labels a thunk that contains
__call_indirect_x0:
MOV X16, X0
BR X16
<speculation barrier>
The first version of this patch used local symbols specific to a
compilation unit to try and avoid relocations.
This was mistaken since functions coming from the same compilation unit
can still be in different sections, and the assembler will insert
relocations at jumps between sections.
On any relocation the linker is permitted to emit a veneer to handle
jumps between symbols that are very far apart. The registers x16 and
x17 may be clobbered by these veneers.
Hence the function stubs cannot rely on the values of x16 and x17 being
the same as just before the function stub is called.
Similar can be said for the hot/cold partitioning of single functions,
so function-local stubs have the same restriction.
This updated version of the patch never emits function stubs for x16 and
x17, and instead forces other registers to be used.
Given the above, there is now no benefit to local symbols (since they
are not enough to avoid dealing with linker intricacies). This patch
now uses global symbols with hidden visibility each stored in their own
COMDAT section. This means stubs can be shared between compilation
units while still avoiding the PLT indirection.
This patch also removes the `__call_indirect_x30` stub (and
function-local equivalent) which would simply jump back to the original
location.
The function-local stubs are emitted to the assembly output file in one
chunk, which means we need not add the speculation barrier directly
after each one.
This is because we know for certain that the instructions directly after
the BR in all but the last function stub will be from another one of
these stubs and hence will not contain a speculation gadget.
Instead we add a speculation barrier at the end of the sequence of
stubs.
The global stubs are emitted in COMDAT/.linkonce sections by
themselves so that the linker can remove duplicates from multiple object
files. This means they are not emitted in one chunk, and each one must
include the speculation barrier.
Another difference is that since the global stubs are shared across
compilation units we do not know that all functions will be targeting an
architecture supporting the SB instruction.
Rather than provide multiple stubs for each architecture, we provide a
stub that will work for all architectures -- using the DSB+ISB barrier.
This mitigation does not apply for BLR instructions in the following
places:
- Some accesses to thread-local variables use a code sequence with a BLR
instruction. This code sequence is part of the binary interface between
compiler and linker. If this BLR instruction needs to be mitigated, it'd
probably be best to do so in the linker. It seems that the code sequence
for thread-local variable access is unlikely to lead to a Spectre Revalation
Gadget.
- PLT stubs are produced by the linker and each contain a BLR instruction.
It seems that at most only after the last PLT stub a Spectre Revalation
Gadget might appear.
Testing:
Bootstrap and regtest on AArch64
(with BOOT_CFLAGS="-mharden-sls=retbr,blr")
Used a temporary hack(1) in gcc-dg.exp to use these options on every
test in the testsuite, a slight modification to emit the speculation
barrier after every function stub, and a script to check that the
output never emitted a BLR, or unmitigated BR or RET instruction.
Similar on an aarch64-none-elf cross-compiler.
1) Temporary hack emitted a speculation barrier at the end of every stub
function, and used a script to ensure that:
a) Every RET or BR is immediately followed by a speculation barrier.
b) No BLR instruction is emitted by compiler.
(cherry picked from 96b7f495f9269d5448822e4fc28882edb35a58d7)
gcc/ChangeLog:
* config/aarch64/aarch64-protos.h (aarch64_indirect_call_asm):
New declaration.
* config/aarch64/aarch64.c (aarch64_regno_regclass): Handle new
stub registers class.
(aarch64_class_max_nregs): Likewise.
(aarch64_register_move_cost): Likewise.
(aarch64_sls_shared_thunks): Global array to store stub labels.
(aarch64_sls_emit_function_stub): New.
(aarch64_create_blr_label): New.
(aarch64_sls_emit_blr_function_thunks): New.
(aarch64_sls_emit_shared_blr_thunks): New.
(aarch64_asm_file_end): New.
(aarch64_indirect_call_asm): New.
(TARGET_ASM_FILE_END): Use aarch64_asm_file_end.
(TARGET_ASM_FUNCTION_EPILOGUE): Use
aarch64_sls_emit_blr_function_thunks.
* config/aarch64/aarch64.h (STB_REGNUM_P): New.
(enum reg_class): Add STUB_REGS class.
(machine_function): Introduce `call_via` array for
function-local stub labels.
* config/aarch64/aarch64.md (*call_insn, *call_value_insn): Use
aarch64_indirect_call_asm to emit code when hardening BLR
instructions.
* config/aarch64/constraints.md (Ucr): New constraint
representing registers for indirect calls. Is GENERAL_REGS
usually, and STUB_REGS when hardening BLR instruction against
SLS.
* config/aarch64/predicates.md (aarch64_general_reg): STUB_REGS class
is also a general register.
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c: New test.
* gcc.target/aarch64/sls-mitigation/sls-miti-blr.c: New test.
---
gcc/config/aarch64/aarch64-protos.h | 1 +
gcc/config/aarch64/aarch64.c | 225 +++++++++++++++++-
gcc/config/aarch64/aarch64.h | 15 ++
gcc/config/aarch64/aarch64.md | 11 +-
gcc/config/aarch64/constraints.md | 9 +
gcc/config/aarch64/predicates.md | 3 +-
.../aarch64/sls-mitigation/sls-miti-blr-bti.c | 40 ++++
.../aarch64/sls-mitigation/sls-miti-blr.c | 33 +++
8 files changed, 328 insertions(+), 9 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr.c
diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h
index 885eae893..2676e43ae 100644
--- a/gcc/config/aarch64/aarch64-protos.h
+++ b/gcc/config/aarch64/aarch64-protos.h
@@ -645,6 +645,7 @@ poly_uint64 aarch64_regmode_natural_size (machine_mode);
bool aarch64_high_bits_all_ones_p (HOST_WIDE_INT);
const char *aarch64_sls_barrier (int);
+const char *aarch64_indirect_call_asm (rtx);
extern bool aarch64_harden_sls_retbr_p (void);
extern bool aarch64_harden_sls_blr_p (void);
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index dff61105c..bc6c02c3a 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -8190,6 +8190,9 @@ aarch64_label_mentioned_p (rtx x)
enum reg_class
aarch64_regno_regclass (unsigned regno)
{
+ if (STUB_REGNUM_P (regno))
+ return STUB_REGS;
+
if (GP_REGNUM_P (regno))
return GENERAL_REGS;
@@ -8499,6 +8502,7 @@ aarch64_class_max_nregs (reg_class_t regclass, machine_mode mode)
unsigned int nregs;
switch (regclass)
{
+ case STUB_REGS:
case TAILCALL_ADDR_REGS:
case POINTER_REGS:
case GENERAL_REGS:
@@ -10693,10 +10697,12 @@ aarch64_register_move_cost (machine_mode mode,
= aarch64_tune_params.regmove_cost;
/* Caller save and pointer regs are equivalent to GENERAL_REGS. */
- if (to == TAILCALL_ADDR_REGS || to == POINTER_REGS)
+ if (to == TAILCALL_ADDR_REGS || to == POINTER_REGS
+ || to == STUB_REGS)
to = GENERAL_REGS;
- if (from == TAILCALL_ADDR_REGS || from == POINTER_REGS)
+ if (from == TAILCALL_ADDR_REGS || from == POINTER_REGS
+ || from == STUB_REGS)
from = GENERAL_REGS;
/* Moving between GPR and stack cost is the same as GP2GP. */
@@ -19009,6 +19015,215 @@ aarch64_sls_barrier (int mitigation_required)
: "";
}
+static GTY (()) tree aarch64_sls_shared_thunks[30];
+static GTY (()) bool aarch64_sls_shared_thunks_needed = false;
+const char *indirect_symbol_names[30] = {
+ "__call_indirect_x0",
+ "__call_indirect_x1",
+ "__call_indirect_x2",
+ "__call_indirect_x3",
+ "__call_indirect_x4",
+ "__call_indirect_x5",
+ "__call_indirect_x6",
+ "__call_indirect_x7",
+ "__call_indirect_x8",
+ "__call_indirect_x9",
+ "__call_indirect_x10",
+ "__call_indirect_x11",
+ "__call_indirect_x12",
+ "__call_indirect_x13",
+ "__call_indirect_x14",
+ "__call_indirect_x15",
+ "", /* "__call_indirect_x16", */
+ "", /* "__call_indirect_x17", */
+ "__call_indirect_x18",
+ "__call_indirect_x19",
+ "__call_indirect_x20",
+ "__call_indirect_x21",
+ "__call_indirect_x22",
+ "__call_indirect_x23",
+ "__call_indirect_x24",
+ "__call_indirect_x25",
+ "__call_indirect_x26",
+ "__call_indirect_x27",
+ "__call_indirect_x28",
+ "__call_indirect_x29",
+};
+
+/* Function to create a BLR thunk. This thunk is used to mitigate straight
+ line speculation. Instead of a simple BLR that can be speculated past,
+ we emit a BL to this thunk, and this thunk contains a BR to the relevant
+ register. These thunks have the relevant speculation barries put after
+ their indirect branch so that speculation is blocked.
+
+ We use such a thunk so the speculation barriers are kept off the
+ architecturally executed path in order to reduce the performance overhead.
+
+ When optimizing for size we use stubs shared by the linked object.
+ When optimizing for performance we emit stubs for each function in the hope
+ that the branch predictor can better train on jumps specific for a given
+ function. */
+rtx
+aarch64_sls_create_blr_label (int regnum)
+{
+ gcc_assert (STUB_REGNUM_P (regnum));
+ if (optimize_function_for_size_p (cfun))
+ {
+ /* For the thunks shared between different functions in this compilation
+ unit we use a named symbol -- this is just for users to more easily
+ understand the generated assembly. */
+ aarch64_sls_shared_thunks_needed = true;
+ const char *thunk_name = indirect_symbol_names[regnum];
+ if (aarch64_sls_shared_thunks[regnum] == NULL)
+ {
+ /* Build a decl representing this function stub and record it for
+ later. We build a decl here so we can use the GCC machinery for
+ handling sections automatically (through `get_named_section` and
+ `make_decl_one_only`). That saves us a lot of trouble handling
+ the specifics of different output file formats. */
+ tree decl = build_decl (BUILTINS_LOCATION, FUNCTION_DECL,
+ get_identifier (thunk_name),
+ build_function_type_list (void_type_node,
+ NULL_TREE));
+ DECL_RESULT (decl) = build_decl (BUILTINS_LOCATION, RESULT_DECL,
+ NULL_TREE, void_type_node);
+ TREE_PUBLIC (decl) = 1;
+ TREE_STATIC (decl) = 1;
+ DECL_IGNORED_P (decl) = 1;
+ DECL_ARTIFICIAL (decl) = 1;
+ make_decl_one_only (decl, DECL_ASSEMBLER_NAME (decl));
+ resolve_unique_section (decl, 0, false);
+ aarch64_sls_shared_thunks[regnum] = decl;
+ }
+
+ return gen_rtx_SYMBOL_REF (Pmode, thunk_name);
+ }
+
+ if (cfun->machine->call_via[regnum] == NULL)
+ cfun->machine->call_via[regnum]
+ = gen_rtx_LABEL_REF (Pmode, gen_label_rtx ());
+ return cfun->machine->call_via[regnum];
+}
+
+/* Helper function for aarch64_sls_emit_blr_function_thunks and
+ aarch64_sls_emit_shared_blr_thunks below. */
+static void
+aarch64_sls_emit_function_stub (FILE *out_file, int regnum)
+{
+ /* Save in x16 and branch to that function so this transformation does
+ not prevent jumping to `BTI c` instructions. */
+ asm_fprintf (out_file, "\tmov\tx16, x%d\n", regnum);
+ asm_fprintf (out_file, "\tbr\tx16\n");
+}
+
+/* Emit all BLR stubs for this particular function.
+ Here we emit all the BLR stubs needed for the current function. Since we
+ emit these stubs in a consecutive block we know there will be no speculation
+ gadgets between each stub, and hence we only emit a speculation barrier at
+ the end of the stub sequences.
+
+ This is called in the TARGET_ASM_FUNCTION_EPILOGUE hook. */
+void
+aarch64_sls_emit_blr_function_thunks (FILE *out_file)
+{
+ if (! aarch64_harden_sls_blr_p ())
+ return;
+
+ bool any_functions_emitted = false;
+ /* We must save and restore the current function section since this assembly
+ is emitted at the end of the function. This means it can be emitted *just
+ after* the cold section of a function. That cold part would be emitted in
+ a different section. That switch would trigger a `.cfi_endproc` directive
+ to be emitted in the original section and a `.cfi_startproc` directive to
+ be emitted in the new section. Switching to the original section without
+ restoring would mean that the `.cfi_endproc` emitted as a function ends
+ would happen in a different section -- leaving an unmatched
+ `.cfi_startproc` in the cold text section and an unmatched `.cfi_endproc`
+ in the standard text section. */
+ section *save_text_section = in_section;
+ switch_to_section (function_section (current_function_decl));
+ for (int regnum = 0; regnum < 30; ++regnum)
+ {
+ rtx specu_label = cfun->machine->call_via[regnum];
+ if (specu_label == NULL)
+ continue;
+
+ targetm.asm_out.print_operand (out_file, specu_label, 0);
+ asm_fprintf (out_file, ":\n");
+ aarch64_sls_emit_function_stub (out_file, regnum);
+ any_functions_emitted = true;
+ }
+ if (any_functions_emitted)
+ /* Can use the SB if needs be here, since this stub will only be used
+ by the current function, and hence for the current target. */
+ asm_fprintf (out_file, "\t%s\n", aarch64_sls_barrier (true));
+ switch_to_section (save_text_section);
+}
+
+/* Emit shared BLR stubs for the current compilation unit.
+ Over the course of compiling this unit we may have converted some BLR
+ instructions to a BL to a shared stub function. This is where we emit those
+ stub functions.
+ This function is for the stubs shared between different functions in this
+ compilation unit. We share when optimizing for size instead of speed.
+
+ This function is called through the TARGET_ASM_FILE_END hook. */
+void
+aarch64_sls_emit_shared_blr_thunks (FILE *out_file)
+{
+ if (! aarch64_sls_shared_thunks_needed)
+ return;
+
+ for (int regnum = 0; regnum < 30; ++regnum)
+ {
+ tree decl = aarch64_sls_shared_thunks[regnum];
+ if (!decl)
+ continue;
+
+ const char *name = indirect_symbol_names[regnum];
+ switch_to_section (get_named_section (decl, NULL, 0));
+ ASM_OUTPUT_ALIGN (out_file, 2);
+ targetm.asm_out.globalize_label (out_file, name);
+ /* Only emits if the compiler is configured for an assembler that can
+ handle visibility directives. */
+ targetm.asm_out.assemble_visibility (decl, VISIBILITY_HIDDEN);
+ ASM_OUTPUT_TYPE_DIRECTIVE (out_file, name, "function");
+ ASM_OUTPUT_LABEL (out_file, name);
+ aarch64_sls_emit_function_stub (out_file, regnum);
+ /* Use the most conservative target to ensure it can always be used by any
+ function in the translation unit. */
+ asm_fprintf (out_file, "\tdsb\tsy\n\tisb\n");
+ ASM_DECLARE_FUNCTION_SIZE (out_file, name, decl);
+ }
+}
+
+/* Implement TARGET_ASM_FILE_END. */
+void
+aarch64_asm_file_end ()
+{
+ aarch64_sls_emit_shared_blr_thunks (asm_out_file);
+ /* Since this function will be called for the ASM_FILE_END hook, we ensure
+ that what would be called otherwise (e.g. `file_end_indicate_exec_stack`
+ for FreeBSD) still gets called. */
+#ifdef TARGET_ASM_FILE_END
+ TARGET_ASM_FILE_END ();
+#endif
+}
+
+const char *
+aarch64_indirect_call_asm (rtx addr)
+{
+ gcc_assert (REG_P (addr));
+ if (aarch64_harden_sls_blr_p ())
+ {
+ rtx stub_label = aarch64_sls_create_blr_label (REGNO (addr));
+ output_asm_insn ("bl\t%0", &stub_label);
+ }
+ else
+ output_asm_insn ("blr\t%0", &addr);
+ return "";
+}
+
/* Target-specific selftests. */
#if CHECKING_P
@@ -19529,6 +19744,12 @@ aarch64_libgcc_floating_mode_supported_p
#define TARGET_RUN_TARGET_SELFTESTS selftest::aarch64_run_selftests
#endif /* #if CHECKING_P */
+#undef TARGET_ASM_FILE_END
+#define TARGET_ASM_FILE_END aarch64_asm_file_end
+
+#undef TARGET_ASM_FUNCTION_EPILOGUE
+#define TARGET_ASM_FUNCTION_EPILOGUE aarch64_sls_emit_blr_function_thunks
+
struct gcc_target targetm = TARGET_INITIALIZER;
#include "gt-aarch64.h"
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index 72ddc6fd9..60682a100 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -540,6 +540,16 @@ extern unsigned aarch64_architecture_version;
#define GP_REGNUM_P(REGNO) \
(((unsigned) (REGNO - R0_REGNUM)) <= (R30_REGNUM - R0_REGNUM))
+/* Registers known to be preserved over a BL instruction. This consists of the
+ GENERAL_REGS without x16, x17, and x30. The x30 register is changed by the
+ BL instruction itself, while the x16 and x17 registers may be used by
+ veneers which can be inserted by the linker. */
+#define STUB_REGNUM_P(REGNO) \
+ (GP_REGNUM_P (REGNO) \
+ && (REGNO) != R16_REGNUM \
+ && (REGNO) != R17_REGNUM \
+ && (REGNO) != R30_REGNUM) \
+
#define FP_REGNUM_P(REGNO) \
(((unsigned) (REGNO - V0_REGNUM)) <= (V31_REGNUM - V0_REGNUM))
@@ -561,6 +571,7 @@ enum reg_class
{
NO_REGS,
TAILCALL_ADDR_REGS,
+ STUB_REGS,
GENERAL_REGS,
STACK_REG,
POINTER_REGS,
@@ -580,6 +591,7 @@ enum reg_class
{ \
"NO_REGS", \
"TAILCALL_ADDR_REGS", \
+ "STUB_REGS", \
"GENERAL_REGS", \
"STACK_REG", \
"POINTER_REGS", \
@@ -596,6 +608,7 @@ enum reg_class
{ \
{ 0x00000000, 0x00000000, 0x00000000 }, /* NO_REGS */ \
{ 0x00030000, 0x00000000, 0x00000000 }, /* TAILCALL_ADDR_REGS */\
+ { 0x3ffcffff, 0x00000000, 0x00000000 }, /* STUB_REGS */ \
{ 0x7fffffff, 0x00000000, 0x00000003 }, /* GENERAL_REGS */ \
{ 0x80000000, 0x00000000, 0x00000000 }, /* STACK_REG */ \
{ 0xffffffff, 0x00000000, 0x00000003 }, /* POINTER_REGS */ \
@@ -735,6 +748,8 @@ typedef struct GTY (()) machine_function
struct aarch64_frame frame;
/* One entry for each hard register. */
bool reg_is_wrapped_separately[LAST_SAVED_REGNUM];
+ /* One entry for each general purpose register. */
+ rtx call_via[SP_REGNUM];
bool label_is_assembled;
} machine_function;
#endif
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index 494aee964..ed8cf8ece 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -908,15 +908,14 @@
)
(define_insn "*call_insn"
- [(call (mem:DI (match_operand:DI 0 "aarch64_call_insn_operand" "r, Usf"))
+ [(call (mem:DI (match_operand:DI 0 "aarch64_call_insn_operand" "Ucr, Usf"))
(match_operand 1 "" ""))
(clobber (reg:DI LR_REGNUM))]
""
"@
- blr\\t%0
+ * return aarch64_indirect_call_asm (operands[0]);
bl\\t%c0"
- [(set_attr "type" "call, call")]
-)
+ [(set_attr "type" "call, call")])
(define_expand "call_value"
[(parallel [(set (match_operand 0 "" "")
@@ -934,12 +933,12 @@
(define_insn "*call_value_insn"
[(set (match_operand 0 "" "")
- (call (mem:DI (match_operand:DI 1 "aarch64_call_insn_operand" "r, Usf"))
+ (call (mem:DI (match_operand:DI 1 "aarch64_call_insn_operand" "Ucr, Usf"))
(match_operand 2 "" "")))
(clobber (reg:DI LR_REGNUM))]
""
"@
- blr\\t%1
+ * return aarch64_indirect_call_asm (operands[1]);
bl\\t%c1"
[(set_attr "type" "call, call")]
)
diff --git a/gcc/config/aarch64/constraints.md b/gcc/config/aarch64/constraints.md
index 21f9549e6..7756dbe83 100644
--- a/gcc/config/aarch64/constraints.md
+++ b/gcc/config/aarch64/constraints.md
@@ -24,6 +24,15 @@
(define_register_constraint "Ucs" "TAILCALL_ADDR_REGS"
"@internal Registers suitable for an indirect tail call")
+(define_register_constraint "Ucr"
+ "aarch64_harden_sls_blr_p () ? STUB_REGS : GENERAL_REGS"
+ "@internal Registers to be used for an indirect call.
+ This is usually the general registers, but when we are hardening against
+ Straight Line Speculation we disallow x16, x17, and x30 so we can use
+ indirection stubs. These indirection stubs cannot use the above registers
+ since they will be reached by a BL that may have to go through a linker
+ veneer.")
+
(define_register_constraint "w" "FP_REGS"
"Floating point and SIMD vector registers.")
diff --git a/gcc/config/aarch64/predicates.md b/gcc/config/aarch64/predicates.md
index 8e1b78421..4250aecb3 100644
--- a/gcc/config/aarch64/predicates.md
+++ b/gcc/config/aarch64/predicates.md
@@ -32,7 +32,8 @@
(define_predicate "aarch64_general_reg"
(and (match_operand 0 "register_operand")
- (match_test "REGNO_REG_CLASS (REGNO (op)) == GENERAL_REGS")))
+ (match_test "REGNO_REG_CLASS (REGNO (op)) == STUB_REGS
+ || REGNO_REG_CLASS (REGNO (op)) == GENERAL_REGS")))
;; Return true if OP a (const_int 0) operand.
(define_predicate "const0_operand"
diff --git a/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c
new file mode 100644
index 000000000..b1fb754c7
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c
@@ -0,0 +1,40 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-mharden-sls=blr -mbranch-protection=bti" } */
+/*
+ Ensure that the SLS hardening of BLR leaves no BLR instructions.
+ Here we also check that there are no BR instructions with anything except an
+ x16 or x17 register. This is because a `BTI c` instruction can be branched
+ to using a BLR instruction using any register, but can only be branched to
+ with a BR using an x16 or x17 register.
+ */
+typedef int (foo) (int, int);
+typedef void (bar) (int, int);
+struct sls_testclass {
+ foo *x;
+ bar *y;
+ int left;
+ int right;
+};
+
+/* We test both RTL patterns for a call which returns a value and a call which
+ does not. */
+int blr_call_value (struct sls_testclass x)
+{
+ int retval = x.x(x.left, x.right);
+ if (retval % 10)
+ return 100;
+ return 9;
+}
+
+int blr_call (struct sls_testclass x)
+{
+ x.y(x.left, x.right);
+ if (x.left % 10)
+ return 100;
+ return 9;
+}
+
+/* { dg-final { scan-assembler-not {\tblr\t} } } */
+/* { dg-final { scan-assembler-not {\tbr\tx(?!16|17)} } } */
+/* { dg-final { scan-assembler {\tbr\tx(16|17)} } } */
+
diff --git a/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr.c b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr.c
new file mode 100644
index 000000000..88baffffe
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr.c
@@ -0,0 +1,33 @@
+/* { dg-additional-options "-mharden-sls=blr -save-temps" } */
+/* Ensure that the SLS hardening of BLR leaves no BLR instructions.
+ We only test that all BLR instructions have been removed, not that the
+ resulting code makes sense. */
+typedef int (foo) (int, int);
+typedef void (bar) (int, int);
+struct sls_testclass {
+ foo *x;
+ bar *y;
+ int left;
+ int right;
+};
+
+/* We test both RTL patterns for a call which returns a value and a call which
+ does not. */
+int blr_call_value (struct sls_testclass x)
+{
+ int retval = x.x(x.left, x.right);
+ if (retval % 10)
+ return 100;
+ return 9;
+}
+
+int blr_call (struct sls_testclass x)
+{
+ x.y(x.left, x.right);
+ if (x.left % 10)
+ return 100;
+ return 9;
+}
+
+/* { dg-final { scan-assembler-not {\tblr\t} } } */
+/* { dg-final { scan-assembler {\tbr\tx[0-9][0-9]?} } } */
--
2.25.1

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