Compare commits

...

125 Commits

Author SHA1 Message Date
Richard Purdie
74b22db687 build-appliance-image: Update to dunfell head revision
(From OE-Core rev: c7d2281eb6cda9c1637c20b3540b142073bca235)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-15 18:34:21 +01:00
Richard Purdie
67dbe8a1c2 poky: Use SDKPATHINSTALL instead of SDKPATH
SDKPATHINSTALL is the default installation path used for the SDK but is not
the path encoded into every SDK binary as the default path. This change
allows it to contain things like dates without requiring every nativesdk
recipe to rebuild.

Partially fixes [YOCTO #14100]

(From meta-yocto rev: 7eac76587428202db781f269439ad9d719017289)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a62175ee581bd05661717f0fb89dad2a297b4034)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-15 18:34:13 +01:00
Richard Purdie
80b8fc829f build-appliance-image: Update to dunfell head revision
(From OE-Core rev: 49ca1f62cc17c951b7737a4ee3c236f732bc8ebe)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-15 10:42:30 +01:00
Armin Kuster
9bae357b12 go: Several Security fixes
Source: golang.org
MR: 111958, 112390, 112393
Type: Security Fix
Disposition: Backport from https://github.com/golang/go.git
ChangeID: 662d021814f025b3d768a04864498486f94819a7
Description:

Affects < 1.16.5

Fixes:
CVE-2021-33196
CVE-2021-33197
CVE-2021-34558

(From OE-Core rev: 1eaac89b0384cc39ea489a3b7ea58eab6b23240b)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-14 17:27:42 +01:00
Armin Kuster
d3f4731220 xserver-xorg: Security fix for CVE-2020-14360/-25712
Source: https://gitlab.freedesktop.org/xorg/xserver
MR: 108223,
Type: Security Fix
Disposition: Backport from 446ff2d317 and 87c64fc5b0
ChangeID: 496c2a2d80e4f8fff9b0d3148fca70c090cec31e
Description:

affects < 1.20.10
Fixes CVE-2020-14360 and  CVE-2020-25712

(From OE-Core rev: ee4a4f9053909f820de48a48750bda92170aaf86)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-14 17:27:42 +01:00
Richard Purdie
7f73831fde go: Exclude CVE-2021-29923 from report list
Upstream don't believe it is a signifiant real world issue and will only
fix in 1.17 onwards. Therefore exclude it from our reports.

https://github.com/golang/go/issues/30999#issuecomment-910470358

(From OE-Core rev: 9dfc6abbb83f8792fbfa1acb9c0fe4ab23872d8f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5bd5faf0c34b47b2443975d66b71482d2380a01a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-14 17:27:42 +01:00
Richard Purdie
6aa55dd279 flex: Add CVE-2019-6293 to exclusions for checks
CVE is effectively disputed - yes there is stack exhaustion but no bug and it
is building the parser, not running it, effectively similar to a compiler ICE.
Upstream no plans to address and there is no security issue.

https://github.com/westes/flex/issues/414

(From OE-Core rev: b939b005b06be58a276d565f755ee2d8f3e5dfc1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0cae5d7a24bedf6784781b62cbb3795a44bab4d1)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-14 17:27:42 +01:00
Wang Mingyu
50ea49f3d9 dbus: upgrade 1.12.18 -> 1.12.20
Source: https://git.openembedded.org/openembedded-core
MR: 108825
Type: Security Fix
Disposition: Backport from https://git.openembedded.org/openembedded-core/commit/meta/recipes-core/dbus?id=bfaef91e77cd54e4f642e966903aac3f3291c325
ChangeID: bfaef91e77cd54e4f642e966903aac3f3291c325
Description:

Bugz only update
Includes fix for CVE-2020-35512

ab88811768 (HEAD, tag: dbus-1.12.20) v1.12.20
5757fd5480 Update NEWS
f3b2574f0c userdb: Reference-count DBusUserInfo, DBusGroupInfo <- cve fix
37b36d49a6 userdb: Make lookups return a const pointer
732284d530 Solaris and derivatives do not adjust cmsg_len on MSG_CTRUNC
1f8c42c7cd Start 1.12.20 development

(From OE-Core rev: bfaef91e77cd54e4f642e966903aac3f3291c325)

(From OE-Core rev: 4cebabf1007762872510c5065a2a718a89687734)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bfaef91e77cd54e4f642e966903aac3f3291c325)
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-14 17:27:42 +01:00
Ovidiu Panait
65ccb30159 dbus,dbus-test: Move common parts to dbus.inc
dbus and dbus-test share the same source code and base configuration options,
so factor out the common parts into dbus.inc.

This way we can eliminate the need to keep the two recipes in sync. When they
are not properly in sync (e.g. when dbus recipe has extra patches/config
options that are not duplicated in dbus-test) ptest testsuite will actually
test a slightly different codebase. This is due to the fact that dbus-test does
not run the testsuite against the system libdbus library, but instead it
generates a local libdbus.so that needs to configured/compiled as close as
possible to the system one.

(From OE-Core rev: 1cde2935526d2eec7d6b17a6c622647b0c132439)

(From OE-Core rev: 6c90e4dd59eb06058d14deeb9aa87717fd88ab09)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 44ae5d8d6f)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-14 17:27:42 +01:00
Ovidiu Panait
9317b4771c dbus-test: Remove EXTRA_OECONF_X configs
X specific configs are already handled through PACKAGECONFIG:
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}"
...
PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x
                      --disable-x11-autolaunch, virtual/libx11 libsm"

Remove duplicated EXTRA_OECONF_X args.

(From OE-Core rev: 7dc107b05a29f8a3e8903d73f84ef8069f68af6f)

(From OE-Core rev: d747c666ed563488af0b894d4e3236335aa2a8bf)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 036e3436e5)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-14 17:27:42 +01:00
Wang Mingyu
955ae70225 dbus-test: upgrade 1.12.16 -> 1.12.18
(From OE-Core rev: 839695e0c1b0c0fcfbb924c2b174c4a638067a32)

(From OE-Core rev: 296746f58dd1b4839c953a7b1eb4aed22e407c29)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5cbf053481)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-14 17:27:42 +01:00
Wang Mingyu
871a373527 dbus: upgrade 1.12.16 -> 1.12.18
(From OE-Core rev: 8d33a2a4e4b6ff8f831523e5b1b16ead6b29cc79)

(From OE-Core rev: 7337d7e4faf20a513c065c44d7d9d472334452b2)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a62471f064)
[Bug fix only update, drop cve patch now included

a0926ef86f (tag: dbus-1.12.18) Prepare 1.12.18
8bc1381819 fdpass test: Assert that we don't leak file descriptors
272d484283 sysdeps-unix: On MSG_CTRUNC, close the fds we did receive <- cve fix
31297172f1 Update NEWS
041d579139 dbus-daemon test: Don't test fd limits if in an unprivileged container
55b3f71376 Update NEWS
ced04aabc7 doxygen: fix example for dbus_message_append_args
3e40637b10 Update NEWS
3e0ea34966 cmake: Add X11 include path for tools
d0992805d7 doc: replace dbus-send's --address with --peer and --bus
dd32f6b617 Update NEWS
d251fe7850 Merge branch 'cherry-pick-b034b83b' into 'dbus-1.12'
2c6b0ad7f6 bus: Don't explicitly clear BusConnections.monitors
df0c675b93 Merge branch 'cherry-pick-bf71a58e' into 'dbus-1.12'
beb79b94fb doc: Fix environment variable name in dbus-daemon(1)
eab5d4a420 Start 1.12.18 development]
Signed-off-by: Armin Kuster <akuster808@gmail.com>

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-14 17:27:42 +01:00
Nicolas Dechesne
d1a9079782 rt-tests: set branch name in SRC_URI
Upstream repo no longer has 'master' branch, and switched to
'main'. To avoid issue such as:

ERROR: rt-tests-1_1.1-r0 do_fetch: Fetcher failure: Unable to find
revision dff174f994f547a5785d32454865f140daacb0f5 in branch master
even from upstream

we need to set the default branch name to 'main' in the recipe.

(From OE-Core rev: ed52bea54f135b7b5367a24bb3861d9bc0c53117)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-10 16:21:36 +01:00
Richard Purdie
7369788009 oeqa/runtime/parselogs: Make DVD ata error apply to all qemux86 machines
This log checking fix is needed for both qemux86 and qemux86-64 so move
to the common section.

[YOCTO #14528]

(From OE-Core rev: e47fcdd767f97d788b5bf749815d902215520edc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2475ce68f0bc1f342c75364dfcfaf7f30499badf)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-10 16:21:36 +01:00
Purushottam Choudhary
468ac59e9c lighttpd: Add patch for reuse large memory chunks
Added 0001-core-reuse-large-mem-chunks-fix-mem-usage-fixes-3033.patch
to fix large memory usage for large file downloads
from dynamic backends reuse or release large memory chunks.

Also, added patch to set default chunk size 8k earlier it was 4k.

This issue is caused by a bug in the lighttpd 1.4.55 version and
has been fixed in lighttpd 1.4.58. Hence, it is not needed for
master and hardknott branch because lighttpd has 1.4.59 version.

Link: 7ba521ffb4
Link: 304e46d4f8

(From OE-Core rev: d3ac63230b98251d67a75a67456b769b6a002df0)

Signed-off-by: Purushottam Choudhary <purushottamchoudhary29@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-10 16:21:36 +01:00
Richard Purdie
2c00edba7f xdg-utils: Add fix for CVE-2020-27748
Backport an upstream patch for the CVE.

(From OE-Core rev: 5042a4116a024bbc320d97ea29b21a589dea9942)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 87191ed0303f6552865ad1edcacd674c57f2010c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-10 16:21:36 +01:00
Changqing Li
cf9e68db31 gdk-pixbuf: fix CVE-2021-20240
Source: https://git.openembedded.org/openembedded-core
MR: 111543
Type: Security Fix
Disposition: Backport from https://git.openembedded.org/openembedded-core/commit/meta/recipes-gnome/gdk-pixbuf?h=hardknott&id=bd08e4d179979937604c196b4047f59c5499a960
ChangeID: bd08e4d179979937604c196b4047f59c5499a960
Description:

(From OE-Core rev: bd08e4d179979937604c196b4047f59c5499a960)

(From OE-Core rev: c7b6a3fef6aa04bb1d264326e483e8a3d3350ca2)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit de631334cc)
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-10 16:21:36 +01:00
Matt Madison
60cfe38b51 layer.conf: fix syntax error in PATH setting
Commit 05a87be51b44608ce4f77ac332df90a3cd2445ef introduced
a Python conditional expression when updating PATH that
generates syntax warnings in bitbake-cookerdaemon.log:

  Var <PATH[:=]>:1: SyntaxWarning: "is not" with a literal. Did you mean "!="?

Fix this by using the more appropriate '!=' comparison
operator.

(From OE-Core rev: b46b059a306b2823624e64adecded9f76430471a)

Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2e753a12cf6bb98f9e0940e5ed6255ce8c538eed)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-08 23:47:30 +01:00
Andrej Valek
b35ee4a64e vim: add option to disable NLS support
- Some distributions with UTF-8 locale have problem when National Language
Support is enabled. Add there an option to disable it.

(From OE-Core rev: 9224b01eaa46986b1c363a541e88f20387d8c30b)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit da630d6d81a396c3e1635fbd7b8103df47ed2732)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-08 23:47:30 +01:00
Armin Kuster
2a01b629de lz4: Security Fix for CVE-2021-3520
Source: https://github.com/lz4/lz4
MR: 111604
Type: Security Fix
Disposition: Backport from 8301a21773 (diff-7055e9cf14c488aea9837aaf9f528b58ee3c22988d7d0d81d172ec62d94a88a7)
ChangeID: 58492f950164e75954a97cf084df6f9af3d88244
Description:

(From OE-Core rev: 00acbc19a48e2b03c910ff5dc62e51eda32bdf03)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-08 23:47:30 +01:00
Ross Burton
043cb19a0d cpio: backport fix for CVE-2021-38185
(From OE-Core rev: d1b4b4b6104e7b94ba49e61774c772a9181a67f6)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4accf77ea5b5810cb2330acc6773690ec1b1c71b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-08 23:47:30 +01:00
Richard Purdie
6fef2a1c2c sdk: Decouple default install path from built in path
Add SDKPATHINSTALL which is used as the default install location of the SDK
instead of SDKPATH. This means the default install path isn't encoded into
every SDK binary, meaning if a date is used there the entire SDK doesn't
have to rebuild. Most distros can switch to only customise SDKPATHINSTALL
meaning more sstate reuse too.

[YOCTO #14100]

(From OE-Core rev: 33a5714592bf41a26fcd7e8ff595b45538082431)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bc4ee5453560dcefc4a4ecc5657df5cc1666e153)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-08 23:47:30 +01:00
Steve Sakoman
7721fa8185 poky.conf: Bump version for 3.1.11 release
(From meta-yocto rev: 2cbc8ba3dfd928f69f023f38984d58b5252a43df)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-07 22:34:59 +01:00
Steve Sakoman
7c1bc90654 documentation: prepare for 3.1.11 release
(From yocto-docs rev: cc226593701bd5a93c0bcefc0c41da1a32849912)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-07 22:34:58 +01:00
Alexander Kanavin
bdd30be1a3 selftest: disable virgl headless test
Crashes in mesa when using vgem kernel module (in the absence of real GPU)
have been observed in dunfell (they do not happen in master):

https://bugzilla.yoctoproject.org/show_bug.cgi?id=14527

Let's focus on making host-accelerated virtualized graphics work well in master
and upcoming releases (the issue is not seen there).

(From OE-Core rev: 448e0271ed831582bb5833486fc17b131676fb53)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Bruce Ashfield
ffcdd251ff parselogs.py: ignore intermittent CD/DVDROM identification failure
We don't use the CD/DVD ROM drive in any of our tests, but it
periodically fails discovery and that leads to a QA error:

    [    6.403477] ata3.00: failed to IDENTIFY (I/O error, err_mask=0x4)

The only way to disable the optical ROM drive in qemu is to use
the '-nodefaults' option, which disables the CDROM (among other things).
We can't be sure that none of our tests, or extended users are relying
on default devices, so using that option is more of a risk than adding
the message to our ignore list.

To date, no one has sent a patch to just disable the optical drive
(either in qemu or the BIOS), but that is something we could consider
in the future.

[YOCTO #14528]

(From OE-Core rev: ae65f4a6a10ad9ca7cf94d653b3b07039b483e72)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 143fc5504539c69752ca87717507c197a8920ce5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Alexander Kanavin
4e28505e23 qemurunner.py: handle getOutput() having nothing to read
(From OE-Core rev: 6f3a8e259ecf6934b32a264661422a6872aca2ef)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f4abfdeea175cfcadd6f73a69a676632ab4334a6)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Alexander Kanavin
b90687ad24 qemurunner.py: print output from runqemu/qemu-system in stop()
This is done when starting up qemu has failed, but is not done
when qemu started ok, but fails later in QMP communication.

Output from runqemu does contain valuable information to find out
why, so rather than fix all the QMP fails to include it, let's just
print it in stop().

(From OE-Core rev: 1732290d4d2147bd9ffd76deaf90650519a6ad3d)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6e2bf68e4401db747484c2c8ba0f77500b1d2d49)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Bruce Ashfield
1f4497167a linux-yocto/5.4: update to v5.4.142
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    c15b830f7c1c Linux 5.4.142
    a17f2f2c8949 KVM: nSVM: always intercept VMLOAD/VMSAVE when nested (CVE-2021-3656)
    7c1c96ffb658 KVM: nSVM: avoid picking up unsupported bits from L2 in int_ctl (CVE-2021-3653)
    456fd889227f iommu/vt-d: Fix agaw for a supported 48 bit guest address width
    5b5f855a793c vmlinux.lds.h: Handle clang's module.{c,d}tor sections
    e9b2b2b29ca8 ceph: take snap_empty_lock atomically with snaprealm refcount change
    95ff775df6ec ceph: clean up locking annotation for ceph_get_snap_realm and __lookup_snap_realm
    1d8c232afb03 ceph: add some lockdep assertions around snaprealm handling
    a6ff0f3f9f90 KVM: VMX: Use current VMCS to query WAITPKG support for MSR emulation
    ec25d05e1893 PCI/MSI: Protect msi_desc::masked for multi-MSI
    48d2439c6f2a PCI/MSI: Use msi_mask_irq() in pci_msi_shutdown()
    386ead1d3598 PCI/MSI: Correct misleading comments
    76d81dec16d0 PCI/MSI: Do not set invalid bits in MSI mask
    6b4bcbf13390 PCI/MSI: Enforce MSI[X] entry updates to be visible
    4495a41fbcd7 PCI/MSI: Enforce that MSI-X table entry is masked for update
    1866c8f6d43c PCI/MSI: Mask all unused MSI-X entries
    3b4220c2bf35 PCI/MSI: Enable and mask MSI-X early
    0c8dea3fd55c genirq/timings: Prevent potential array overflow in __irq_timings_store()
    4dfe80927102 genirq/msi: Ensure deactivation on teardown
    e3e54a930073 x86/resctrl: Fix default monitoring groups reporting
    a6b594ad7419 x86/ioapic: Force affinity setup before startup
    db5e2666946a x86/msi: Force affinity setup before startup
    eda32c21882c genirq: Provide IRQCHIP_AFFINITY_PRE_STARTUP
    06b347743608 x86/tools: Fix objdump version check again
    74451dd8bfca powerpc/kprobes: Fix kprobe Oops happens in booke
    b74145d858a8 nbd: Aovid double completion of a request
    ad9550114d4c vsock/virtio: avoid potential deadlock when vsock device remove
    b9cd73cce50a xen/events: Fix race in set_evtchn_to_irq
    4d3c5c319b19 net: igmp: increase size of mr_ifc_count
    721ff564cc6a tcp_bbr: fix u32 wrap bug in round logic if bbr_init() called after 2B packets
    2ce8a68a312c net: linkwatch: fix failure to restore device state across suspend/resume
    33597972a2e9 net: bridge: fix memleak in br_add_if()
    f6eee53beb07 net: dsa: sja1105: fix broken backpressure in .port_fdb_dump
    1e6a570d3786 net: dsa: lantiq: fix broken backpressure in .port_fdb_dump
    564f6bbd0ed6 net: dsa: lan9303: fix broken backpressure in .port_fdb_dump
    a9243455e874 net: igmp: fix data-race in igmp_ifc_timer_expire()
    ed957c77b391 net: Fix memory leak in ieee802154_raw_deliver
    13a381b8bc22 net: dsa: microchip: Fix ksz_read64()
    991117eeeee8 drm/meson: fix colour distortion from HDR set during vendor u-boot
    e114f15de881 net/mlx5: Fix return value from tracer initialization
    f99aa76bb83c psample: Add a fwd declaration for skbuff
    9dc8e396c12e iavf: Set RSS LUT and key in reset handle path
    23436edae3c9 net: sched: act_mirred: Reset ct info when mirror/redirect skb
    9636fbfe7bdd ppp: Fix generating ifname when empty IFLA_IFNAME is specified
    1c31ee907fde net: phy: micrel: Fix link detection on ksz87xx switch"
    dfeb64f6e2ce platform/x86: pcengines-apuv2: Add missing terminating entries to gpio-lookup tables
    699db2bb96ad platform/x86: pcengines-apuv2: revert wiring up simswitch GPIO as LED
    af7f1539cfb1 net: dsa: mt7530: add the missing RxUnicast MIB counter
    d353a61860a2 ASoC: cs42l42: Fix LRCLK frame start edge
    b036452082f3 netfilter: nf_conntrack_bridge: Fix memory leak when error
    cd36a36ea4ea ASoC: cs42l42: Remove duplicate control for WNF filter frequency
    eb789cc9179f ASoC: cs42l42: Fix inversion of ADC Notch Switch control
    6a3381336398 ASoC: cs42l42: Don't allow SND_SOC_DAIFMT_LEFT_J
    55e86f07b85e ASoC: cs42l42: Correct definition of ADC Volume control
    22d2e3c6a1b8 ieee802154: hwsim: fix GPF in hwsim_new_edge_nl
    5bac8c2a3087 ieee802154: hwsim: fix GPF in hwsim_set_edge_lqi
    ddcf807fbb70 libnvdimm/region: Fix label activation vs errors
    bc97fde4c668 ACPI: NFIT: Fix support for virtual SPA ranges
    a753e3f33405 ceph: reduce contention in ceph_check_delayed_caps()
    aa04486c419d i2c: dev: zero out array used for i2c reads from userspace
    c18b28e5ade8 ASoC: intel: atom: Fix reference to PCM buffer address
    aab3fa544647 ASoC: xilinx: Fix reference to PCM buffer address
    60e2854acf3b iio: adc: Fix incorrect exit of for-loop
    bcac5225923b iio: humidity: hdc100x: Add margin to the conversion time
    da7cb80905ec iio: adc: ti-ads7950: Ensure CS is deasserted after reading channels

(From OE-Core rev: 18e0b6edc40a6e26b90f582e7eb3edcd10b62887)

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>
2021-09-01 16:27:09 +01:00
Marek Vasut
6918a0298a image_types: Restore pre-btrfs-tools 4.14.1 mkfs.btrfs shrink behavior
Currently the mkfs.btrfs generates large images with a lot of wasted
space. This happens since OE-core updated btrfs-tools from 4.13.3 to
4.15.1 in commit 94b645aa77 ("btrfs-tools: update to 4.15.1") .

Note in mkfs.btrfs(8) manpage section -r says the following:
"
  -r|--rootdir <rootdir>
...
       Note This option may enlarge the image or file to ensure
       it’s big enough to contain the files from rootdir. Since
       version 4.14.1 the filesystem size is not minimized. Please
       see option --shrink if you need that functionality.

  --shrink
     Shrink the filesystem to its minimal size, only works with
     --rootdir option.
...
       Note prior to version 4.14.1, the shrinking was done
       automatically.
"

Add the --shrink option to EXTRA_IMAGECMD_btrfs to reinstate the
original behavior and un-waste the space.

(From OE-Core rev: 6de30e62fc5815edc19c96b49c0ff9681298c56c)

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c4a99d36967302c176b62fad840b5e79486ea356)
Cc: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Andrej Valek
660de76134 mklibs-native: drop deprecated cpp17 exceptions
gcc11 has -std=gnu++17 as default. Remove deprecated C++17 exceptions based
on http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0003r5.html.

(From OE-Core rev: ef8b7946b4793db653ef7dd716e1d3f919a84725)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Alexander Kanavin
3e75c5d0b4 tcf-agent: fetching over git:// no longer works
(From OE-Core rev: 419503134b76abeb57727259f846a2394dc73ea5)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 44a6cd03721b51cbb4e05870375fa347527b0db5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Oleksandr Popovych
e7eeef5ab7 utils: Reduce the number of calls to the "dirname" command
utils.bbclass contains create_cmdline_wrapper() function that
creates wrapper script with additional arguments for any passed
"$cmd" command, and uses several calls to "dirname".

Because "dirname" is an external command, in cases of lots of
calls to wrapped "$cmd", each call of "dirname" will incur
significant overhead.

There are three same calls to "dirname": one for saving it`s
output to "realdir" variable, and other two in "exec" command.
So last two "dirname" calls can be replaced with cached value
from "realdir" variable.

(From OE-Core rev: 912c9eda653c45fee2f55092fbe281efba897bc0)

Signed-off-by: Oleksandr Popovych <opopovyc@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4b9cf2c80fd14386e0b88a2e6c40a9fa3f1ae0f7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Marta Rybczynska
9b62e6b834 lzo: add CVE_PRODUCT
lzo was missing CVE_PRODUCT and related CVEs (at least CVE-2014-4607) were
not reported.

(From OE-Core rev: 69e33b9eee6ae97208e766fd96353dfcb8c20bd5)

Signed-off-by: Marta Rybczynska <marta.rybczynska@huawei.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 366cf8201e36df1ac836e49de04ccda1f763ca9e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
jbouchard
def634eeae Use the label provided when formating a dos partition
Previously the bootimg-pcbios wic plugin was not respecting
the --label option provided from the wks file. The plugin
was setting the label to 'boot'. With this fix, the --label
option is use. If no option are specified, then the default
is 'boot'.

(From OE-Core rev: c9617934a20d30198a8ddcf10fc02de4885fd433)

Signed-off-by: jbouchard <jeanbouch418@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0fd7a73c1bd2486b7a022f0f69bbcb2e0d9cb141)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Mikko Rapeli
f6f391b4af openssl: update from 1.1.1k to 1.1.1l
Changelog shows only security fixes for CVE-2021-3711 and CVE-2021-3712:
https://www.openssl.org/news/cl111.txt

(From OE-Core rev: e26bc21f09ed1631437fc990cbda86c8659d4738)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Armin Kuster
b06370cc2d binutils: Security fix for CVE-2020-16593
Source:  https://sourceware.org/git/binutils-gdb.git
MR: 112801
Type: Security Fix
Disposition: Backport from https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=aec72fda3b320c36eb99fc1c4cf95b10fc026729
ChangeID: 470b309f4859eecdcc837add2bf756484ad94ee5
Description:

Fixed up for 2.34 context

(From OE-Core rev: bcaa13d8888416b01f0f590d9dab2bd736d1e8a8)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Armin Kuster
50204d091b binutils: Security fix for CVE-2021-3549
Source: git://sourceware.org/binutils-gdb.git
MR: 111523
Type: Security Fix
Disposition: Backport from https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1cfcf3004e1830f8fe9112cfcd15285508d2c2b7
ChangeID: 2d3161f601852eb8f9a9ca982c6b0cd44e036bc6
Description:

Affects <= 2.36

Fixup Changelog to apply to dunfel context.

(From OE-Core rev: 3cb2e144f8b74f9d78d93ba15e2d66e432462860)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Ranjitsinh Rathod
420d5551b2 rpm: Add fix for CVE-2021-20266
Adding fix for CVE-2021-20266
Upstream-Status: Backport [9646711891]

Note: Hunk#2 and Hunk#3 refreshed to apply patch and match value of
dl_max variable to make it with current version
All Hunks are refreshed to solve patch-fuzz

(From OE-Core rev: 6c16aad7167eb98bc9995486f967431c39f9df15)

Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Sakib Sajal
6bcc4029d4 qemu: fix CVE-2021-3608
Source: http://git.yoctoproject.org/cgit/poky.git
MR: 112749
Type: Security Fix
Disposition: Backport from http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/recipes-devtools/qemu?h=hardknott&id=f5e77d70e2eb35751f5bad5572b6eb8a3ab14422
ChangeID: 4496341da3af9126c9c67170e1a2cce929c29828
Description:

(From OE-Core rev: 5e05ee8ff363eac84edec568039b86bcd716c6ce)

(From OE-Core rev: f8d34ef74dafcf14e07f9322254465d03490bd60)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f5e77d70e2)
[Refreshed patch]
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Sakib Sajal
4d8b5c4d70 qemu: fix CVE-2021-3607
Source: http://git.yoctoproject.org/cgit/poky.git
MR: 112749
Type: Security Fix
Disposition: Backport from http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/recipes-devtools/qemu?h=hardknott&id=460485d774480cd89cadf3b068f5197f44d86f25
ChangeID: 4e40dee2e6ce0b5b4de971f2c2b336929e7f22c3
Description:

(From OE-Core rev: 764bca67650da9df439527796879dda767c8c008)

(From OE-Core rev: cc541da4d67a9afa86a6ac37d5470d4dc77ea922)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 460485d774)
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Sakib Sajal
f63635a30d qemu: fix CVE-2021-3582
Source: http://git.yoctoproject.org/cgit/poky.git
MR: 112743
Type: Security Fix
Disposition: Backport from http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/recipes-devtools/qemu?h=hardknott&id=e11384737ed489ea02800d545432b9ded82bf1bb
ChangeID: a2ff7112354349e8cf8960f30499f61e545d7f8e
Description:

(From OE-Core rev: fb2634922db91e5b877dd10021dafec7b5c6e565)

(From OE-Core rev: 942d936524d3948d74c7240038ce81d859f68cab)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e11384737e)
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Lee Chee Yang
d56b8f6f76 qemu: fix CVE-2021-3527
Source: http://git.yoctoproject.org/cgit/poky.git
MR: 111827
Type: Security Fix
Disposition: Backport from http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/recipes-devtools/qemu?h=hardknott&id=45e06a2e02cb01540d3970bd8ab5771014a031f9
ChangeID: 33bb20f503888abc346ae1a6f590f57ebdd0f1f9
Description:

(cherry picked from commit 6774efd1e3d0bd5c8c34f84dcf4f698d7eafb36a)
(From OE-Core rev: fcbcd27a1c97668af9634143376f75ab32fffd68)

(From OE-Core rev: 1c7e9099b5f417a7e7664ce3572b2098e2ebbbf7)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 45e06a2e02)
[Fixup for Dunfell context]
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Armin Kuster
189108ac74 qemu: Security fixes CVE-2021-3545/6
Source: qemu.org
MR: 111845, 111839
Type: Security Fix
Disposition: Backport from https://gitlab.com/qemu-project/qemu/-/commit/9f22893a & 121841b2
ChangeID: 111b168e0fe4d2a722158c6bfdaceb06a8789e69
Description:

Fixes: CVE-2021-3545 and CVE-2021-3546

(From OE-Core rev: e066967a306292cd0ce5ef2cd5aa0ee80fde1041)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Armin Kuster
0d253da720 qemu: Security fix CVE-2021-3544
Source: qemu.org
MR: 111833
Type: Security Fix
Disposition: Backport from 86dd8fac..63736af5
ChangeID: 7f301e939cf9d1fdb826ac47d1fc96430086a68e
Description:

https://gitlab.com/qemu-project/qemu/-/commit/86dd8fac
https://gitlab.com/qemu-project/qemu/-/commit/b9f79858
https://gitlab.com/qemu-project/qemu/-/commit/b7afebcf
Tweeked the above patches as vhost-user-gpu.c does not exist.

https://gitlab.com/qemu-project/qemu/-/commit/f6091d86
https://gitlab.com/qemu-project/qemu/-/commit/63736af5

(From OE-Core rev: eca0abf120709fab20da1a2c190d04191733f5ed)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Sakib Sajal
4ed9972582 qemu: fix CVE-2021-20257
Source: https://git.yoctoproject.org/git/poky
MR: 110290
Type: Security Fix
Disposition: Backport from http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/recipes-devtools/qemu?h=hardknott&id=5c1a29e6deec8f92ac43363bd72439aec7e27721
ChangeID: 7f301e939cf9d1fdb826ac47d1fc96430086a68e
Description:

(From OE-Core rev: 5b66ff7972951db973d12f3dae6ccecf3bc29e56)

(From OE-Core rev: 1317053b23e1a4c1e5c7331a97f248e042415bea)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 547ac986a74cfcae39b691ebb92aadc8436443ea)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5c1a29e6de)
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Sakib Sajal
4bd52d64c9 qemu: fix CVE-2021-3416
Source: poky.org
MR: 109686
Type: Security Fix
Disposition: Backport from http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/recipes-devtools/qemu?h=hardknott&id=381aebe82f1f6fcc26b47966bc8520dbb1476961
ChangeID: 50b1589249cc3c595d224e3a8347da2b54339ef8
Description:

Drop CVE-2021-3416_4.patch as hw/net/msf2-emac.c does not exist in 4.2.0

(From OE-Core rev: 7a3ce8a79a6c682e1b38f757eb68534e0ce5589d)

(From OE-Core rev: 44bb99fdd1a7eee78078f7d48b9b8aad729f84ec)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e2b5bc11d1b26b73b62e1a63cb75572793282dcb)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 381aebe82f)
[Drop CVE-2021-3416_4.patch, affected file does not exist in 4.2.0]
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Sakib Sajal
474c37c17e qemu: fix CVE-2021-20181
Source: Poky.org
MR: 111631
Type: Security Fix
Disposition: Backport from http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/recipes-devtools/qemu?h=hardknott&id=53390d2261d2d35cdd637cf12a0fb4dc63f0f88c
ChangeID: 0c660a9ef3637d847c0880283df05d8696221308
Description:

(From OE-Core rev: a993a379bb490efbbf507f5dccda5ab358e8afea)

(From OE-Core rev: 743fc49c98361baaa9ca9414bfe21220b63dbdca)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c2f79065ef0684f2c0bdb92f1b03e690ab730b8c)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 53390d2261)
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Armin Kuster
f721d78703 qemu: Security fix CVE-2021-20221
Source: Qemu.org
MR: 111643
Type: Security Fix
Disposition: Backport from edfe2eb436
ChangeID: b3ca1aa4b772a5f27f327250c5b0b988375c86a9
Description:

(From OE-Core rev: 4adf675e3d4ccdcee055a3c4b539f4ddc15b033d)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Armin Kuster
b3bf5ccd83 qemu: Security fix for CVE-2020-29443
Source: Qemu.org
MR: 109315
Type: Security Fix
Disposition: Backport from https://git.qemu.org/?p=qemu.git;a=commit;h=813212288970c39b1800f63e83ac6e96588095c6
ChangeID: c0296e285169cc937cc9758c9d84ac690297ee54
Description:

(From OE-Core rev: 1765005f73303d9857f9fde93efb1cc8534964f1)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:09 +01:00
Armin Kuster
c00a882bd6 Qemu: Security fix for CVE-2020-25625/2021-3409/2020-17380
Source: Qemu.org
MR: 105781, 109964, 108621
Type: Security Fix
Disposition: Backport from https://lists.nongnu.org/archive/html/qemu-devel/2020-09/msg05905.html
ChangeID: 0acf082885e7ab3ac2fb41d6e503449869dd46a8
Description:

This address:
CVE-2020-25625
and its two fixes address an incomplete fix for CVE-2020-25625
CVE-2021-3409
CVE-2020-17380

(From OE-Core rev: 721a14f13005dc0b5bddaac131c444b97be700a8)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:08 +01:00
Armin Kuster
ea562eaec5 qemu: Security fix CVE-2020-25624
Source: qemu.org
MR: 106958
Type: Security Fix
Disposition: Backport from qemu.org
ChangeID: 9d0c21c4ff5dc12ba623685cd7ae4d4bc294f519
Description:

(From OE-Core rev: 853f4a4755d053cc4defa65cda5e317e3e28bc3f)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:08 +01:00
Armin Kuster
e142f4ebfb qemu: Security fix CVE-2020-25085
Source: qemu.org
MR: 105773
Type: Security Fix
Disposition: Backport from https://lists.nongnu.org/archive/html/qemu-devel/2020-09/msg00733.html
ChangeID: 77c8a9e75b94da3c03c64c95d9e6ab9d45037572
Description:

(From OE-Core rev: 6b4c58a31ec11e557d40c31f2532985dd53e61eb)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:08 +01:00
Wang Mingyu
02108b6dbc gnupg: upgrade 2.2.26 -> 2.2.27
(From OE-Core rev: 90798e892fd3e0d2ef77a7ba64a33ea9f8ef317b)

(From OE-Core rev: 97348726aea3ee088f48715df0e64a172665855d)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 33a997a80a)
[gnupg 2.2 is an LTS release so this series are all bug fixes.
https://lists.gnupg.org/pipermail/gnupg-announce/2021q1/000452.html]
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:08 +01:00
Alexander Kanavin
045071f712 gnupg: update 2.2.23 -> 2.2.26
(From OE-Core rev: eb7ad793d8c2e924adccc62e7680bb1cac640e89)

(From OE-Core rev: 09b4ccb6c2b2048f92eea82a2291e92c7d9ec5ff)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit df0bb1cb96)
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:08 +01:00
Saul Wold
8fb30a6705 gnupg: uprev 2.2.22 -> 2.2.23
Source: poky.org
MR: 105607
Type: Security Fix
Disposition: Backport from http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/recipes-support/gnupg?h=hardknott&id=0c06506d42f9e1f43a54a178cda47cfea3f12f81
ChangeID: 4341d0331368d6cd51d635d2c70555b3dce61792
Description:

This addresses CVE-2020-25125 and provides some other minor
updates and translations.

Updated commits for reference:
  e234d04c3 Werner Koch Release 2.2.23
  aeb8272ca Werner Koch gpg: Fix AEAD preference list overflow
  038314665 Werner Koch po: auto update
  1a4b0fd79 Yuri Chornoivan po: Update Ukrainian translation
  93d10403a Jakub Bogusz po: Update Polish translation
  a8a8105bc Werner Koch po: Add key-check.c to the list of translatable sources.
  cad9955ac Petr Pisar po: Update Czech translation.
  896c528ba Werner Koch gpg: Fix segv importing certain keys.
  0a9665187 NIIBE Yutaka scd: Fix a regression for OpenPGP card.
  bcae9cd4e Nagy Ferenc László po: Minor update to the Hungarian translation.
  d2fe2ffd7 Werner Koch sm: Fix a bug in the rfc2253 parser
  f799b3ddb Werner Koch Post release updates

(From OE-Core rev: 965683336816eba7cb0548e59faf224f74b306b1)

(From OE-Core rev: 4079feb6dc2876cc7f2d0a5582be98e01188c2d7)

Signed-off-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0c06506d42)
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:08 +01:00
Alexander Kanavin
5b3ddc2a50 gnupg: update 2.2.21 -> 2.2.22
(From OE-Core rev: ad9f9fd5609c2014454c73045bc603c9883977e3)

(From OE-Core rev: 5c02b4bcf3243aac017ca2edbc0af5ac0f6e06b7)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 33eade06eb)
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:08 +01:00
Richard Purdie
fa25ed8a6a gnupg: upgrade 2.2.20 -> 2.2.21
(From OE-Core rev: 1aeb32228d92568e90f313a2a027c6790937eb8a)

(From OE-Core rev: 08186dd7594820dbb7e9c7f7385672917882b262)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 50e1649a32)
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:08 +01:00
Armin Kuster
ef3c563a4f glibc: Security fix for CVE-2021-38604
Source: glibc.org
MR: 112635
Type: Security Fix
Disposition: Backport from https://sourceware.org/git/?p=glibc.git;a=commit;h=b805aebd42364fe696e417808a700fdb9800c9e8
ChangeID: 53b105da48e604f6763bb04b7114f41bfb620d2f
Description:

(From OE-Core rev: f65b5b7c88092cdba0239939fead20992eb2ff48)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:08 +01:00
Armin Kuster
e2cb601ab6 glibc: Security fix CVE-2021-33574
Source: glibc.org
MR: 111508
Type: Security Fix
Disposition: Backport from  https://sourceware.org/git/glibc.git
ChangeID: 815edc154adc45d08d00995862409f13014f885f
Description:

This version of glibc does not have __pthread_attr_setaffinity_np so an adapted patch was taken from 2.28  (https://sourceware.org/bugzilla/attachment.cgi?id=13497) and https://sourceware.org/git/?p=glibc.git;a=commit;h=42d359350510506b87101cf77202fefcbfc790cb

(From OE-Core rev: d468eb9c0fa5f8fbd15abda6d0f04e3d25c50c26)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 16:27:08 +01:00
Khem Raj
ed4791c8b0 sdk: Enable do_populate_sdk with multilibs
This patch enables building image based SDKs for multi-libbed images
e.g. lib32-core-image-minimal and so on. Change the path to nativesdk
tools to use recipe-sysroot since thats where the nativesdk components
are installed and it will need access to qemu wrappers during build for
processing intercepts

[YOCTO #14444]

(From OE-Core rev: eea71d274fe4d5f23ba0ab35d14be4fff2e64e2b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6196a785eababb040ee1dee9f33cb6d6dad77eef)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 08:32:18 +01:00
Dmitry Baryshkov
4cd1c26076 linux-firmware: add more Qualcomm firmware packages
Add firmware packages for the recent Qualcomm SoCs:

 - linux-firmware-qcom-adreno-a650, linux-firmware-qcom-adreno-a660,
   containing firmware for Adreno A630 and A650 GPUs

 - linux-firmware-qcom-sm8250-audio, linux-firmware-sm8250-compute,
   containing firmware for audio and comute DSPs on SM8250 (QRB5165)

 - linux-firmware-qcom-vpu-1.0, linux-firmware-qcom-vpu-2.0 containing
   firmware for newer Venus video encoder/decoder

(From OE-Core rev: bfce637144302fa7dd7f31a63a736b05eb62203b)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 31057a9d41a452bdb9e94b4160220f675332ef70)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 08:32:18 +01:00
Purushottam Choudhary
9716a47c53 python3: Remove unused python3 recipe
Currently in dunfell branch python3 version is 3.8.11.
so, python3_3.8.10.bb is not needed.
Hence, removed.

(From OE-Core rev: 2b44de6e7b3e02b78e2b09294ac37799ad4cfadb)

Signed-off-by: Purushottam Choudhary <purushottamchoudhary29@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 08:32:18 +01:00
Bruce Ashfield
d520587d90 linux-yocto/5.4: update to v5.4.141
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    b704883aa8dc Linux 5.4.141
    983d6a6b7e3c btrfs: don't flush from btrfs_delayed_inode_reserve_metadata
    ea13f678a3fd btrfs: export and rename qgroup_reserve_meta
    41a9b8f36de7 btrfs: qgroup: don't commit transaction when we already hold the handle
    38b8485b72cb net: xilinx_emaclite: Do not print real IOMEM pointer
    654c19a7e8d8 btrfs: fix lockdep splat when enabling and disabling qgroups
    c55442cdfdb8 btrfs: qgroup: remove ASYNC_COMMIT mechanism in favor of reserve retry-after-EDQUOT
    fdaf6a322fcc btrfs: transaction: Cleanup unused TRANS_STATE_BLOCKED
    36af2de520cc btrfs: qgroup: try to flush qgroup space when we get -EDQUOT
    5c79287c2b6d btrfs: qgroup: allow to unreserve range without releasing other ranges
    b7a722fd75a1 btrfs: make btrfs_qgroup_reserve_data take btrfs_inode
    dfadea4061a2 btrfs: make qgroup_free_reserved_data take btrfs_inode
    812f39ed5b0b ovl: prevent private clone if bind mount is not allowed
    eeb4742501e0 ppp: Fix generating ppp unit id when ifname is not specified
    3460f3959d1c ALSA: hda: Add quirk for ASUS Flow x13
    81d1a3f97631 USB:ehci:fix Kunpeng920 ehci hardware problem
    d28adaabbbf4 KVM: X86: MMU: Use the correct inherited permissions to get shadow page
    5f4ab7e25fbb usb: dwc3: gadget: Avoid runtime resume if disabling pullup
    1782c4af6bd0 usb: dwc3: gadget: Disable gadget IRQ during pullup disable
    54b7022f2878 usb: dwc3: gadget: Clear DEP flags after stop transfers in ep disable
    e36245a68eb1 usb: dwc3: gadget: Prevent EP queuing while stopping transfers
    823f69250863 usb: dwc3: gadget: Restart DWC3 gadget when enabling pullup
    25a0625fa96f usb: dwc3: gadget: Allow runtime suspend if UDC unbinded
    5f081a928d55 usb: dwc3: Stop active transfers before halting the controller
    396f29ea0cd2 tracing: Reject string operand in the histogram expression
    28276c280f2e media: v4l2-mem2mem: always consider OUTPUT queue during poll
    236aca70929d tee: Correct inappropriate usage of TEE_SHM_DMA_BUF flag
    5b774238e8af KVM: SVM: Fix off-by-one indexing when nullifying last used SEV VMCB
    a998faa9c4ce Linux 5.4.140
    3c197fdd0732 arm64: fix compat syscall return truncation
    72fcaf69525d net/qla3xxx: fix schedule while atomic in ql_wait_for_drvr_lock and ql_adapter_reset
    742e85fa9e80 alpha: Send stop IPI to send to online CPUs
    26946d21395c virt_wifi: fix error on connect
    17d7c9c940fb reiserfs: check directory items on read from disk
    bcad6ece2a50 reiserfs: add check for root_inode in reiserfs_fill_super
    e30a88f1f578 libata: fix ata_pio_sector for CONFIG_HIGHMEM
    a2671d96a3c7 bpf, selftests: Adjust few selftest result_unpriv outcomes
    4892b4f3244b perf/x86/amd: Don't touch the AMD64_EVENTSEL_HOSTONLY bit inside the guest
    d6cf5342faa6 soc: ixp4xx/qmgr: fix invalid __iomem access
    a5bf7ef13ebf spi: meson-spicc: fix memory leak in meson_spicc_remove
    27991c78d630 soc: ixp4xx: fix printing resources
    07fd256d53a3 arm64: vdso: Avoid ISB after reading from cntvct_el0
    90e498ef3f54 KVM: x86/mmu: Fix per-cpu counter corruption on 32-bit builds
    2e1a80b93464 KVM: Do not leak memory for duplicate debugfs directories
    43486cd7391f KVM: x86: accept userspace interrupt only if no event is injected
    1b7b9713a50f md/raid10: properly indicate failure when ending a failed write request
    790cb68d35a6 pcmcia: i82092: fix a null pointer dereference bug
    42ac2c63486f timers: Move clearing of base::timer_running under base:: Lock
    8211bb20da23 serial: 8250_pci: Avoid irq sharing for MSI(-X) interrupts.
    f73dcb5d63e2 serial: 8250_pci: Enumerate Elkhart Lake UARTs via dedicated driver
    607460d38692 MIPS: Malta: Do not byte-swap accesses to the CBUS UART
    3eb686d01c31 serial: 8250: Mask out floating 16/32-bit bus bits
    3b73a69962d6 serial: 8250_mtk: fix uart corruption issue when rx power off
    afdef443a892 serial: tegra: Only print FIFO error message when an error occurs
    097a183f9c1d ext4: fix potential htree corruption when growing large_dir directories
    ac23a1738127 pipe: increase minimum default pipe size to 2 pages
    f3cae04bd42d media: rtl28xxu: fix zero-length control request
    e2f6d5b03898 staging: rtl8712: get rid of flush_scheduled_work
    8f241df0e68f staging: rtl8723bs: Fix a resource leak in sd_int_dpc
    bbdd4a51629a tpm_ftpm_tee: Free and unregister TEE shared memory during kexec
    3c712f14d8a9 optee: Fix memory leak when failing to register shm pages
    0572199b78b3 tee: add tee_shm_alloc_kernel_buf()
    b247bf412cc2 optee: Clear stale cache entries during initialization
    7da261e6bb65 tracing / histogram: Give calculation hist_fields a size
    ba22053f5d5e scripts/tracing: fix the bug that can't parse raw_trace_func
    8d1191f9243c clk: fix leak on devm_clk_bulk_get_all() unwind
    ed5c9a49e6c0 usb: otg-fsm: Fix hrtimer list corruption
    449a705fba60 usb: gadget: f_hid: idle uses the highest byte for duration
    02f336cee589 usb: gadget: f_hid: fixed NULL pointer dereference
    f780a9580cd2 usb: gadget: f_hid: added GET_IDLE and SET_IDLE handlers
    134e27da543d usb: cdns3: Fixed incorrect gadget state
    df1c6eec4ea1 ALSA: usb-audio: Add registration quirk for JBL Quantum 600
    639b45456ec6 ALSA: hda/realtek: add mic quirk for Acer SF314-42
    d09639528b66 firmware_loader: fix use-after-free in firmware_fallback_sysfs
    1deb6b903018 firmware_loader: use -ETIMEDOUT instead of -EAGAIN in fw_load_sysfs_fallback
    0ee687e67277 USB: serial: ftdi_sio: add device ID for Auto-M3 OP-COM v2
    01b2c35b051b USB: serial: ch341: fix character loss at high transfer rates
    9ed43cfaa7f7 USB: serial: option: add Telit FD980 composition 0x1056
    518e81874c40 USB: usbtmc: Fix RCU stall warning
    ff29fe26ab86 Bluetooth: defer cleanup of resources in hci_unregister_dev()
    580c10a40cc7 blk-iolatency: error out if blk_get_queue() failed in iolatency_set_limit()
    ed169b054b43 net: vxge: fix use-after-free in vxge_device_unregister
    c5549876a9ef net: fec: fix use-after-free in fec_drv_remove
    3fed6dee16e4 net: pegasus: fix uninit-value in get_interrupt_interval
    75cef4fc07d2 bnx2x: fix an error code in bnx2x_nic_load()
    437ee90d7b4f mips: Fix non-POSIX regexp
    b1fa6747b9d0 net: ipv6: fix returned variable type in ip6_skb_dst_mtu
    3e63b566d96a nfp: update ethtool reporting of pauseframe control
    d333503de1f0 sctp: move the active_key update after sh_keys is added
    de30346dd396 gpio: tqmx86: really make IRQ optional
    9d440b5c1d20 net: natsemi: Fix missing pci_disable_device() in probe and remove
    69340406986a net: phy: micrel: Fix detection of ksz87xx switch
    2b8ab7aec0dc net: dsa: sja1105: invalidate dynamic FDB entries learned concurrently with statically added ones
    71b0a935dbb0 net: dsa: sja1105: overwrite dynamic FDB entries with static ones in .port_fdb_add
    88b7781609c6 net, gro: Set inner transport header offset in tcp/udp GRO hook
    ba3abe3f8236 dmaengine: imx-dma: configure the generic DMA type to make it work
    ee2f81330a7b media: videobuf2-core: dequeue if start_streaming fails
    3377f2f8c606 scsi: sr: Return correct event when media event code is 3
    f588d4b7be92 spi: imx: mx51-ecspi: Fix low-speed CONFIGREG delay calculation
    b58e3d59a5d8 spi: imx: mx51-ecspi: Reinstate low-speed CONFIGREG delay
    2c1065d40acb omap5-board-common: remove not physically existing vdds_1v8_main fixed-regulator
    299e3968c01a ARM: dts: am437x-l4: fix typo in can@0 node
    9cbe7e21ddff clk: stm32f4: fix post divisor setup for I2S/SAI PLLs
    3f9eed4462b3 ALSA: usb-audio: fix incorrect clock source setting
    16db40fc4a37 arm64: dts: armada-3720-turris-mox: remove mrvl,i2c-fast-mode
    7c08460773b8 ARM: dts: imx: Swap M53Menlo pinctrl_power_button/pinctrl_power_out pins
    1b1f1aa225ed ARM: imx: fix missing 3rd argument in macro imx_mmdc_perf_init
    aecff98c3efe ARM: dts: colibri-imx6ull: limit SDIO clock to 25MHz
    c39907335b9c ARM: dts: imx6qdl-sr-som: Increase the PHY reset duration to 10ms
    61b71c5f51aa ARM: imx: add missing clk_disable_unprepare()
    d88d6bba3bd9 ARM: imx: add missing iounmap()
    6c629cd0239f arm64: dts: ls1028a: fix node name for the sysclk
    4a830a37d37e ALSA: seq: Fix racy deletion of subscriber
    0658a4533576 Revert "ACPICA: Fix memory leak caused by _CID repair function"
    e350cd02e293 Linux 5.4.139
    03ff8a4f9db6 spi: mediatek: Fix fifo transfer
    a0f66ddf05c2 bpf, selftests: Adjust few selftest outcomes wrt unreachable code
    d3796e8f6b3d bpf, selftests: Add a verifier test for assigning 32bit reg states to 64bit ones
    8dec99abcd74 bpf: Test_verifier, add alu32 bounds tracking tests
    fd568de5806f bpf: Fix leakage under speculation on mispredicted branches
    d2f790327f83 bpf: Do not mark insn as seen under speculative path verification
    283d742988f6 bpf: Inherit expanded/patched seen count from old aux data
    a0a9546aaec3 Revert "watchdog: iTCO_wdt: Account for rebooting on second timeout"
    76f5314d7859 firmware: arm_scmi: Add delayed response status check
    1b38f70bbc7c firmware: arm_scmi: Ensure drivers provide a probe function
    44f522298c94 Revert "Bluetooth: Shutdown controller after workqueues are flushed or cancelled"
    38f54217b423 ACPI: fix NULL pointer dereference
    0ea2f55babb7 nvme: fix nvme_setup_command metadata trace event
    b508b652d4f3 net: Fix zero-copy head len calculation.
    bf692e7ef657 qed: fix possible unpaired spin_{un}lock_bh in _qed_mcp_cmd_and_union()
    6bc48348eca7 r8152: Fix potential PM refcount imbalance
    a57c75ff0700 ASoC: tlv320aic31xx: fix reversed bclk/wclk master bits
    e2cccb839a18 spi: stm32h7: fix full duplex irq handler handling
    b72f2d9e91e1 regulator: rt5033: Fix n_voltages settings for BUCK and LDO
    86f2a3e9aae9 btrfs: fix lost inode on log replay after mix of fsync, rename and inode eviction
    b7f0fa2192c5 btrfs: fix race causing unnecessary inode logging during link and rename
    cb006da62a9e btrfs: do not commit logs and transactions during link and rename operations
    174c27d0f9ef btrfs: delete duplicated words + other fixes in comments
    7b90d57b09fa Linux 5.4.138
    7eef18c0479b can: j1939: j1939_session_deactivate(): clarify lifetime of session object
    18b536de3b97 i40e: Add additional info to PHY type error
    d21eb931109a Revert "perf map: Fix dso->nsinfo refcounting"
    16447b2f5c66 powerpc/pseries: Fix regression while building external modules
    265883d1d839 PCI: mvebu: Setup BAR0 in order to fix MSI
    21734a31c9a0 can: hi311x: fix a signedness bug in hi3110_cmd()
    f4fa45b0f91e sis900: Fix missing pci_disable_device() in probe and remove
    dff00ce44891 tulip: windbond-840: Fix missing pci_disable_device() in probe and remove
    e0310bbeaaa2 sctp: fix return value check in __sctp_rcv_asconf_lookup
    408614108abd net/mlx5e: Fix nullptr in mlx5e_hairpin_get_mdev()
    ac4983230616 net/mlx5: Fix flow table chaining
    527feae56fe6 net: llc: fix skb_over_panic
    ede4c93860e6 mlx4: Fix missing error code in mlx4_load_one()
    acb97d4b2d0e net: Set true network header for ECN decapsulation
    851946a68136 tipc: fix sleeping in tipc accept routine
    194b71d28b26 i40e: Fix log TC creation failure when max num of queues is exceeded
    834af62212c7 i40e: Fix queue-to-TC mapping on Tx
    74aea4b7159a i40e: Fix firmware LLDP agent related warning
    b2ab34e862eb i40e: Fix logic of disabling queues
    519582e44e6a netfilter: nft_nat: allow to specify layer 4 protocol NAT only
    3a7a4cee7bec netfilter: conntrack: adjust stop timestamp to real expiry value
    1c043783403c cfg80211: Fix possible memory leak in function cfg80211_bss_update
    6cf2abea1018 nfc: nfcsim: fix use after free during module unload
    6b313d0ffa71 NIU: fix incorrect error return, missed in previous revert
    c4663c162778 HID: wacom: Re-enable touch by default for Cintiq 24HDT / 27QHDT
    e9e2ce00aeda can: esd_usb2: fix memory leak
    43726620b2f6 can: ems_usb: fix memory leak
    819867389276 can: usb_8dev: fix memory leak
    a051dbd17b5b can: mcba_usb_start(): add missing urb->transfer_dma initialization
    793581441b5c can: raw: raw_setsockopt(): fix raw_rcv panic for sock UAF
    c621638d0e6d can: j1939: j1939_xtp_rx_dat_one(): fix rxtimer value between consecutive TP.DT to 750ms
    a24d87b429a9 ocfs2: issue zeroout to EOF blocks
    eaaa4284e288 ocfs2: fix zero out valid data
    9bd1092148b5 KVM: add missing compat KVM_CLEAR_DIRTY_LOG
    7a94dfe5e2a0 x86/kvm: fix vcpu-id indexed array sizes
    2dc291582cce Revert "ACPI: resources: Add checks for ACPI IRQ override"
    a8eec6979734 btrfs: mark compressed range uptodate only if all bio succeed
    57429c1ec770 btrfs: fix rw device counting in __btrfs_free_extra_devids
    61f2cbc792eb x86/asm: Ensure asm/proto.h can be included stand-alone
    99372c38a948 net_sched: check error pointer in tcf_dump_walker()
    5b1de8e15f0f Linux 5.4.137
    ebb1b38be0c9 ipv6: ip6_finish_output2: set sk into newly allocated nskb
    6c04123962f0 ARM: dts: versatile: Fix up interrupt controller node names
    befa900533a9 iomap: remove the length variable in iomap_seek_hole
    83fb41b2f6e4 iomap: remove the length variable in iomap_seek_data
    302e1acd4c26 cifs: fix the out of range assignment to bit fields in parse_server_interfaces
    02a470e3c64a firmware: arm_scmi: Fix range check for the maximum number of pending messages
    289dd584319f firmware: arm_scmi: Fix possible scmi_linux_errmap buffer overflow
    e3acb292f092 hfs: add lock nesting notation to hfs_find_init
    af1178296d77 hfs: fix high memory mapping in hfs_bnode_read
    89136a47e2e7 hfs: add missing clean-up in hfs_fill_super
    ded37d03440d ipv6: allocate enough headroom in ip6_finish_output2()
    f65b7f377cca sctp: move 198 addresses from unusable to private scope
    c8d32973ee6a net: annotate data race around sk_ll_usec
    c23b9a5610f9 net/802/garp: fix memleak in garp_request_join()
    88c4cae3ed25 net/802/mrp: fix memleak in mrp_request_join()
    eef99860c677 cgroup1: fix leaked context root causing sporadic NULL deref in LTP
    7f0365b4daaa workqueue: fix UAF in pwq_unbound_release_workfn()
    85abe0d47fe6 af_unix: fix garbage collect vs MSG_PEEK
    af45f3527aa0 KVM: x86: determine if an exception has an error code only when injecting it.
    828cab3c8c23 tools: Allow proper CC/CXX/... override with LLVM=1 in Makefile.include
    525c5513b60d selftest: fix build error in tools/testing/selftests/vm/userfaultfd.c
    253dccefb5cb Linux 5.4.136
    587f86b7a2a0 xhci: add xhci_get_virt_ep() helper
    f9d0c35556cd perf inject: Close inject.output on exit
    a9c103fa91e4 PCI: Mark AMD Navi14 GPU ATS as broken
    11561d2f7b9d btrfs: compression: don't try to compress if we don't have enough pages
    4980301e1c1f iio: accel: bma180: Fix BMA25x bandwidth register values
    d04f2582c47e iio: accel: bma180: Use explicit member assignment
    4e0afa88954b net: bcmgenet: ensure EXT_ENERGY_DET_MASK is clear
    2a4865d1547e net: dsa: mv88e6xxx: use correct .stats_set_histogram() on Topaz
    7d8c06b8d2d2 drm: Return -ENOTTY for non-drm ioctls
    b5d7bebd96a3 nds32: fix up stack guard gap
    ba378b796088 rbd: always kick acquire on "acquired" and "released" notifications
    13066d6628f0 rbd: don't hold lock_rwsem while running_list is being drained
    b12ead825f6c hugetlbfs: fix mount mode command line processing
    60dbbd76f110 userfaultfd: do not untag user pointers
    540eee8cbb3d selftest: use mmap instead of posix_memalign to allocate memory
    e706ac3fc82e ixgbe: Fix packet corruption due to missing DMA sync
    e617fa62f6cf media: ngene: Fix out-of-bounds bug in ngene_command_config_free_buf()
    77713fb336ca btrfs: check for missing device in btrfs_trim_fs
    f899f24d34d9 tracing: Fix bug in rb_per_cpu_empty() that might cause deadloop.
    59a9f75fb2b6 tracing/histogram: Rename "cpu" to "common_cpu"
    379d8da3353e firmware/efi: Tell memblock about EFI iomem reservations
    281a94362bbe usb: dwc2: gadget: Fix sending zero length packet in DDMA mode.
    167079fbfaa7 USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick
    811c4cdf2917 USB: serial: cp210x: fix comments for GE CS1000
    f54ee7e16d0d USB: serial: option: add support for u-blox LARA-R6 family
    e28d28eb9be6 usb: renesas_usbhs: Fix superfluous irqs happen after usb_pkt_pop()
    863d071dbcd5 usb: max-3421: Prevent corruption of freed memory
    e4077a90e600 USB: usb-storage: Add LaCie Rugged USB3-FW to IGNORE_UAS
    da6f6769ee0f usb: hub: Fix link power management max exit latency (MEL) calculations
    fea6b53e631a usb: hub: Disable USB 3 device initiated lpm if exit latency is too high
    962ce043ef92 KVM: PPC: Book3S HV Nested: Sanitise H_ENTER_NESTED TM state
    2b9ffddd70b4 KVM: PPC: Book3S: Fix H_RTAS rets buffer overflow
    c968f563ccde xhci: Fix lost USB 2 remote wake
    a660ecde5c55 ALSA: hdmi: Expose all pins on MSI MS-7C94 board
    f73696354d59 ALSA: sb: Fix potential ABBA deadlock in CSP driver
    7aa2dfbc6bd0 ALSA: usb-audio: Add registration quirk for JBL Quantum headsets
    46d62c3fe2ab ALSA: usb-audio: Add missing proc text entry for BESPOKEN type
    f1754f96ab41 s390/boot: fix use of expolines in the DMA code
    8eb521d19248 s390/ftrace: fix ftrace_update_ftrace_func implementation
    268132b070d9 Revert "MIPS: add PMD table accounting into MIPS'pmd_alloc_one"
    f323809e3108 proc: Avoid mixing integer types in mem_rw()
    b71a75209f6a drm/panel: raspberrypi-touchscreen: Prevent double-free
    2e6ab87f8e63 net: sched: cls_api: Fix the the wrong parameter
    b60461696a0b sctp: update active_key for asoc when old key is being replaced
    9fa89c2caee2 nvme: set the PRACT bit when using Write Zeroes with T10 PI
    c50141b3d769 r8169: Avoid duplicate sysfs entry creation error
    f726817d6b42 afs: Fix tracepoint string placement with built-in AFS
    b22c9e433bb7 Revert "USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem"
    69a49e7b5baf nvme-pci: don't WARN_ON in nvme_reset_work if ctrl.state is not RESETTING
    830251361425 ipv6: fix another slab-out-of-bounds in fib6_nh_flush_exceptions
    a88414fb1117 net/sched: act_skbmod: Skip non-Ethernet packets
    c278b954ccc7 net: hns3: fix rx VLAN offload state inconsistent issue
    006ed6f4d00b net/tcp_fastopen: fix data races around tfo_active_disable_stamp
    3942ba235693 net: hisilicon: rename CACHE_LINE_MASK to avoid redefinition
    f11f12decd55 bnxt_en: Check abort error state in bnxt_half_open_nic()
    16ce6cb78690 bnxt_en: Add missing check for BNXT_STATE_ABORT_ERR in bnxt_fw_rset_task()
    c993e7aadc50 bnxt_en: Refresh RoCE capabilities in bnxt_ulp_probe()
    6ee8e6be3067 bnxt_en: Improve bnxt_ulp_stop()/bnxt_ulp_start() call sequence.
    35637acc9810 spi: cadence: Correct initialisation of runtime PM again
    2f2150bf41c1 scsi: target: Fix protect handling in WRITE SAME(32)
    a6cb717f8534 scsi: iscsi: Fix iface sysfs attr detection
    25df44e90ff5 netrom: Decrease sock refcount when sock timers expire
    8d7924ce85ba net: sched: fix memory leak in tcindex_partial_destroy_work
    f38527f18905 KVM: PPC: Fix kvm_arch_vcpu_ioctl vcpu_load leak
    b85dadd4347b KVM: PPC: Book3S: Fix CONFIG_TRANSACTIONAL_MEM=n crash
    b3224bd31861 net: decnet: Fix sleeping inside in af_decnet
    bd2b3b13aa2a efi/tpm: Differentiate missing and invalid final event log table.
    9413c0abb57f net: fix uninit-value in caif_seqpkt_sendmsg
    6d56299ff911 bpftool: Check malloc return value in mount_bpffs_for_pin
    edec10098675 bpf, sockmap, tcp: sk_prot needs inuse_idx set for proc stats
    58259e8b6e85 s390/bpf: Perform r1 range checking before accessing jit->seen_reg[r1]
    cc876a5618bc liquidio: Fix unintentional sign extension issue on left shift of u16
    42fe8f433b31 ASoC: rt5631: Fix regcache sync errors on resume
    d99aaf07365f spi: mediatek: fix fifo rx mode
    08cdda8d8972 regulator: hi6421: Fix getting wrong drvdata
    b25be6bf6419 regulator: hi6421: Use correct variable type for regmap api val argument
    a1ade24cccb5 spi: stm32: fixes pm_runtime calls in probe/remove
    40e203ce74eb spi: stm32: Use dma_request_chan() instead dma_request_slave_channel()
    24b78097a837 spi: imx: add a check for speed_hz before calculating the clock
    52cff6123aa0 perf data: Close all files in close_dir()
    0f63857d1099 perf probe-file: Delete namelist in del_events() on the error path
    8b92ea243bbf perf lzma: Close lzma stream on exit
    51351c6d5a18 perf script: Fix memory 'threads' and 'cpus' leaks on exit
    d2bfc3eda914 perf dso: Fix memory leak in dso__new_map()
    05804a7d223d perf test event_update: Fix memory leak of evlist
    d257f3abdc71 perf test session_topology: Delete session->evlist
    89d1762a4a21 perf env: Fix sibling_dies memory leak
    fd335143befb perf probe: Fix dso->nsinfo refcounting
    6513dee46f80 perf map: Fix dso->nsinfo refcounting
    ff9fc81fa884 nvme-pci: do not call nvme_dev_remove_admin from nvme_remove
    d029df83c61a cxgb4: fix IRQ free race during driver unload
    ae9b64434441 pwm: sprd: Ensure configuring period and duty_cycle isn't wrongly skipped
    a37ca2a076ec selftests: icmp_redirect: IPv6 PMTU info should be cleared after redirect
    05364a2794fb selftests: icmp_redirect: remove from checking for IPv6 route get
    7f4848229e91 ipv6: fix 'disable_policy' for fwd packets
    c67fb96f5431 gve: Fix an error handling path in 'gve_probe()'
    e33da4eeaa35 igb: Fix position of assignment to *ring
    7dd897773618 igb: Check if num of q_vectors is smaller than max before array access
    d3d7cceee841 iavf: Fix an error handling path in 'iavf_probe()'
    7a13a8a8a5fb e1000e: Fix an error handling path in 'e1000_probe()'
    9fc381db7583 fm10k: Fix an error handling path in 'fm10k_probe()'
    5d6a04927b08 igb: Fix an error handling path in 'igb_probe()'
    cddd53237de8 igc: Fix an error handling path in 'igc_probe()'
    47f69d8828e7 igc: Prefer to use the pci_release_mem_regions method
    83b2d55a512a ixgbe: Fix an error handling path in 'ixgbe_probe()'
    ba4fbb68fcfe igc: change default return of igc_read_phy_reg()
    88e0720133d4 igb: Fix use-after-free error during reset
    a9508e0edfe3 igc: Fix use-after-free error during reset

(From OE-Core rev: a422fe82d265dda79ef4cc5918659903534c17f7)

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>
2021-08-26 08:32:18 +01:00
Bruce Ashfield
950183b0c1 linux-yocto/5.4: update to v5.4.139
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    e350cd02e293 Linux 5.4.139
    03ff8a4f9db6 spi: mediatek: Fix fifo transfer
    a0f66ddf05c2 bpf, selftests: Adjust few selftest outcomes wrt unreachable code
    d3796e8f6b3d bpf, selftests: Add a verifier test for assigning 32bit reg states to 64bit ones
    8dec99abcd74 bpf: Test_verifier, add alu32 bounds tracking tests
    fd568de5806f bpf: Fix leakage under speculation on mispredicted branches
    d2f790327f83 bpf: Do not mark insn as seen under speculative path verification
    283d742988f6 bpf: Inherit expanded/patched seen count from old aux data
    a0a9546aaec3 Revert "watchdog: iTCO_wdt: Account for rebooting on second timeout"
    76f5314d7859 firmware: arm_scmi: Add delayed response status check
    1b38f70bbc7c firmware: arm_scmi: Ensure drivers provide a probe function
    44f522298c94 Revert "Bluetooth: Shutdown controller after workqueues are flushed or cancelled"
    38f54217b423 ACPI: fix NULL pointer dereference
    0ea2f55babb7 nvme: fix nvme_setup_command metadata trace event
    b508b652d4f3 net: Fix zero-copy head len calculation.
    bf692e7ef657 qed: fix possible unpaired spin_{un}lock_bh in _qed_mcp_cmd_and_union()
    6bc48348eca7 r8152: Fix potential PM refcount imbalance
    a57c75ff0700 ASoC: tlv320aic31xx: fix reversed bclk/wclk master bits
    e2cccb839a18 spi: stm32h7: fix full duplex irq handler handling
    b72f2d9e91e1 regulator: rt5033: Fix n_voltages settings for BUCK and LDO
    86f2a3e9aae9 btrfs: fix lost inode on log replay after mix of fsync, rename and inode eviction
    b7f0fa2192c5 btrfs: fix race causing unnecessary inode logging during link and rename
    cb006da62a9e btrfs: do not commit logs and transactions during link and rename operations
    174c27d0f9ef btrfs: delete duplicated words + other fixes in comments
    7b90d57b09fa Linux 5.4.138
    7eef18c0479b can: j1939: j1939_session_deactivate(): clarify lifetime of session object
    18b536de3b97 i40e: Add additional info to PHY type error
    d21eb931109a Revert "perf map: Fix dso->nsinfo refcounting"
    16447b2f5c66 powerpc/pseries: Fix regression while building external modules
    265883d1d839 PCI: mvebu: Setup BAR0 in order to fix MSI
    21734a31c9a0 can: hi311x: fix a signedness bug in hi3110_cmd()
    f4fa45b0f91e sis900: Fix missing pci_disable_device() in probe and remove
    dff00ce44891 tulip: windbond-840: Fix missing pci_disable_device() in probe and remove
    e0310bbeaaa2 sctp: fix return value check in __sctp_rcv_asconf_lookup
    408614108abd net/mlx5e: Fix nullptr in mlx5e_hairpin_get_mdev()
    ac4983230616 net/mlx5: Fix flow table chaining
    527feae56fe6 net: llc: fix skb_over_panic
    ede4c93860e6 mlx4: Fix missing error code in mlx4_load_one()
    acb97d4b2d0e net: Set true network header for ECN decapsulation
    851946a68136 tipc: fix sleeping in tipc accept routine
    194b71d28b26 i40e: Fix log TC creation failure when max num of queues is exceeded
    834af62212c7 i40e: Fix queue-to-TC mapping on Tx
    74aea4b7159a i40e: Fix firmware LLDP agent related warning
    b2ab34e862eb i40e: Fix logic of disabling queues
    519582e44e6a netfilter: nft_nat: allow to specify layer 4 protocol NAT only
    3a7a4cee7bec netfilter: conntrack: adjust stop timestamp to real expiry value
    1c043783403c cfg80211: Fix possible memory leak in function cfg80211_bss_update
    6cf2abea1018 nfc: nfcsim: fix use after free during module unload
    6b313d0ffa71 NIU: fix incorrect error return, missed in previous revert
    c4663c162778 HID: wacom: Re-enable touch by default for Cintiq 24HDT / 27QHDT
    e9e2ce00aeda can: esd_usb2: fix memory leak
    43726620b2f6 can: ems_usb: fix memory leak
    819867389276 can: usb_8dev: fix memory leak
    a051dbd17b5b can: mcba_usb_start(): add missing urb->transfer_dma initialization
    793581441b5c can: raw: raw_setsockopt(): fix raw_rcv panic for sock UAF
    c621638d0e6d can: j1939: j1939_xtp_rx_dat_one(): fix rxtimer value between consecutive TP.DT to 750ms
    a24d87b429a9 ocfs2: issue zeroout to EOF blocks
    eaaa4284e288 ocfs2: fix zero out valid data
    9bd1092148b5 KVM: add missing compat KVM_CLEAR_DIRTY_LOG
    7a94dfe5e2a0 x86/kvm: fix vcpu-id indexed array sizes
    2dc291582cce Revert "ACPI: resources: Add checks for ACPI IRQ override"
    a8eec6979734 btrfs: mark compressed range uptodate only if all bio succeed
    57429c1ec770 btrfs: fix rw device counting in __btrfs_free_extra_devids
    61f2cbc792eb x86/asm: Ensure asm/proto.h can be included stand-alone
    99372c38a948 net_sched: check error pointer in tcf_dump_walker()

(From OE-Core rev: df362ae9ed810017b276d810e09c21f0290abcfd)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d5455d9e201e324b7cf7bb19381bfebb0e892312)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 08:32:18 +01:00
Bruce Ashfield
b6a93f7c79 linux-yocto/5.4: update to v5.4.137
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    5b1de8e15f0f Linux 5.4.137
    ebb1b38be0c9 ipv6: ip6_finish_output2: set sk into newly allocated nskb
    6c04123962f0 ARM: dts: versatile: Fix up interrupt controller node names
    befa900533a9 iomap: remove the length variable in iomap_seek_hole
    83fb41b2f6e4 iomap: remove the length variable in iomap_seek_data
    302e1acd4c26 cifs: fix the out of range assignment to bit fields in parse_server_interfaces
    02a470e3c64a firmware: arm_scmi: Fix range check for the maximum number of pending messages
    289dd584319f firmware: arm_scmi: Fix possible scmi_linux_errmap buffer overflow
    e3acb292f092 hfs: add lock nesting notation to hfs_find_init
    af1178296d77 hfs: fix high memory mapping in hfs_bnode_read
    89136a47e2e7 hfs: add missing clean-up in hfs_fill_super
    ded37d03440d ipv6: allocate enough headroom in ip6_finish_output2()
    f65b7f377cca sctp: move 198 addresses from unusable to private scope
    c8d32973ee6a net: annotate data race around sk_ll_usec
    c23b9a5610f9 net/802/garp: fix memleak in garp_request_join()
    88c4cae3ed25 net/802/mrp: fix memleak in mrp_request_join()
    eef99860c677 cgroup1: fix leaked context root causing sporadic NULL deref in LTP
    7f0365b4daaa workqueue: fix UAF in pwq_unbound_release_workfn()
    85abe0d47fe6 af_unix: fix garbage collect vs MSG_PEEK
    af45f3527aa0 KVM: x86: determine if an exception has an error code only when injecting it.
    828cab3c8c23 tools: Allow proper CC/CXX/... override with LLVM=1 in Makefile.include
    525c5513b60d selftest: fix build error in tools/testing/selftests/vm/userfaultfd.c
    253dccefb5cb Linux 5.4.136
    587f86b7a2a0 xhci: add xhci_get_virt_ep() helper
    f9d0c35556cd perf inject: Close inject.output on exit
    a9c103fa91e4 PCI: Mark AMD Navi14 GPU ATS as broken
    11561d2f7b9d btrfs: compression: don't try to compress if we don't have enough pages
    4980301e1c1f iio: accel: bma180: Fix BMA25x bandwidth register values
    d04f2582c47e iio: accel: bma180: Use explicit member assignment
    4e0afa88954b net: bcmgenet: ensure EXT_ENERGY_DET_MASK is clear
    2a4865d1547e net: dsa: mv88e6xxx: use correct .stats_set_histogram() on Topaz
    7d8c06b8d2d2 drm: Return -ENOTTY for non-drm ioctls
    b5d7bebd96a3 nds32: fix up stack guard gap
    ba378b796088 rbd: always kick acquire on "acquired" and "released" notifications
    13066d6628f0 rbd: don't hold lock_rwsem while running_list is being drained
    b12ead825f6c hugetlbfs: fix mount mode command line processing
    60dbbd76f110 userfaultfd: do not untag user pointers
    540eee8cbb3d selftest: use mmap instead of posix_memalign to allocate memory
    e706ac3fc82e ixgbe: Fix packet corruption due to missing DMA sync
    e617fa62f6cf media: ngene: Fix out-of-bounds bug in ngene_command_config_free_buf()
    77713fb336ca btrfs: check for missing device in btrfs_trim_fs
    f899f24d34d9 tracing: Fix bug in rb_per_cpu_empty() that might cause deadloop.
    59a9f75fb2b6 tracing/histogram: Rename "cpu" to "common_cpu"
    379d8da3353e firmware/efi: Tell memblock about EFI iomem reservations
    281a94362bbe usb: dwc2: gadget: Fix sending zero length packet in DDMA mode.
    167079fbfaa7 USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick
    811c4cdf2917 USB: serial: cp210x: fix comments for GE CS1000
    f54ee7e16d0d USB: serial: option: add support for u-blox LARA-R6 family
    e28d28eb9be6 usb: renesas_usbhs: Fix superfluous irqs happen after usb_pkt_pop()
    863d071dbcd5 usb: max-3421: Prevent corruption of freed memory
    e4077a90e600 USB: usb-storage: Add LaCie Rugged USB3-FW to IGNORE_UAS
    da6f6769ee0f usb: hub: Fix link power management max exit latency (MEL) calculations
    fea6b53e631a usb: hub: Disable USB 3 device initiated lpm if exit latency is too high
    962ce043ef92 KVM: PPC: Book3S HV Nested: Sanitise H_ENTER_NESTED TM state
    2b9ffddd70b4 KVM: PPC: Book3S: Fix H_RTAS rets buffer overflow
    c968f563ccde xhci: Fix lost USB 2 remote wake
    a660ecde5c55 ALSA: hdmi: Expose all pins on MSI MS-7C94 board
    f73696354d59 ALSA: sb: Fix potential ABBA deadlock in CSP driver
    7aa2dfbc6bd0 ALSA: usb-audio: Add registration quirk for JBL Quantum headsets
    46d62c3fe2ab ALSA: usb-audio: Add missing proc text entry for BESPOKEN type
    f1754f96ab41 s390/boot: fix use of expolines in the DMA code
    8eb521d19248 s390/ftrace: fix ftrace_update_ftrace_func implementation
    268132b070d9 Revert "MIPS: add PMD table accounting into MIPS'pmd_alloc_one"
    f323809e3108 proc: Avoid mixing integer types in mem_rw()
    b71a75209f6a drm/panel: raspberrypi-touchscreen: Prevent double-free
    2e6ab87f8e63 net: sched: cls_api: Fix the the wrong parameter
    b60461696a0b sctp: update active_key for asoc when old key is being replaced
    9fa89c2caee2 nvme: set the PRACT bit when using Write Zeroes with T10 PI
    c50141b3d769 r8169: Avoid duplicate sysfs entry creation error
    f726817d6b42 afs: Fix tracepoint string placement with built-in AFS
    b22c9e433bb7 Revert "USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem"
    69a49e7b5baf nvme-pci: don't WARN_ON in nvme_reset_work if ctrl.state is not RESETTING
    830251361425 ipv6: fix another slab-out-of-bounds in fib6_nh_flush_exceptions
    a88414fb1117 net/sched: act_skbmod: Skip non-Ethernet packets
    c278b954ccc7 net: hns3: fix rx VLAN offload state inconsistent issue
    006ed6f4d00b net/tcp_fastopen: fix data races around tfo_active_disable_stamp
    3942ba235693 net: hisilicon: rename CACHE_LINE_MASK to avoid redefinition
    f11f12decd55 bnxt_en: Check abort error state in bnxt_half_open_nic()
    16ce6cb78690 bnxt_en: Add missing check for BNXT_STATE_ABORT_ERR in bnxt_fw_rset_task()
    c993e7aadc50 bnxt_en: Refresh RoCE capabilities in bnxt_ulp_probe()
    6ee8e6be3067 bnxt_en: Improve bnxt_ulp_stop()/bnxt_ulp_start() call sequence.
    35637acc9810 spi: cadence: Correct initialisation of runtime PM again
    2f2150bf41c1 scsi: target: Fix protect handling in WRITE SAME(32)
    a6cb717f8534 scsi: iscsi: Fix iface sysfs attr detection
    25df44e90ff5 netrom: Decrease sock refcount when sock timers expire
    8d7924ce85ba net: sched: fix memory leak in tcindex_partial_destroy_work
    f38527f18905 KVM: PPC: Fix kvm_arch_vcpu_ioctl vcpu_load leak
    b85dadd4347b KVM: PPC: Book3S: Fix CONFIG_TRANSACTIONAL_MEM=n crash
    b3224bd31861 net: decnet: Fix sleeping inside in af_decnet
    bd2b3b13aa2a efi/tpm: Differentiate missing and invalid final event log table.
    9413c0abb57f net: fix uninit-value in caif_seqpkt_sendmsg
    6d56299ff911 bpftool: Check malloc return value in mount_bpffs_for_pin
    edec10098675 bpf, sockmap, tcp: sk_prot needs inuse_idx set for proc stats
    58259e8b6e85 s390/bpf: Perform r1 range checking before accessing jit->seen_reg[r1]
    cc876a5618bc liquidio: Fix unintentional sign extension issue on left shift of u16
    42fe8f433b31 ASoC: rt5631: Fix regcache sync errors on resume
    d99aaf07365f spi: mediatek: fix fifo rx mode
    08cdda8d8972 regulator: hi6421: Fix getting wrong drvdata
    b25be6bf6419 regulator: hi6421: Use correct variable type for regmap api val argument
    a1ade24cccb5 spi: stm32: fixes pm_runtime calls in probe/remove
    40e203ce74eb spi: stm32: Use dma_request_chan() instead dma_request_slave_channel()
    24b78097a837 spi: imx: add a check for speed_hz before calculating the clock
    52cff6123aa0 perf data: Close all files in close_dir()
    0f63857d1099 perf probe-file: Delete namelist in del_events() on the error path
    8b92ea243bbf perf lzma: Close lzma stream on exit
    51351c6d5a18 perf script: Fix memory 'threads' and 'cpus' leaks on exit
    d2bfc3eda914 perf dso: Fix memory leak in dso__new_map()
    05804a7d223d perf test event_update: Fix memory leak of evlist
    d257f3abdc71 perf test session_topology: Delete session->evlist
    89d1762a4a21 perf env: Fix sibling_dies memory leak
    fd335143befb perf probe: Fix dso->nsinfo refcounting
    6513dee46f80 perf map: Fix dso->nsinfo refcounting
    ff9fc81fa884 nvme-pci: do not call nvme_dev_remove_admin from nvme_remove
    d029df83c61a cxgb4: fix IRQ free race during driver unload
    ae9b64434441 pwm: sprd: Ensure configuring period and duty_cycle isn't wrongly skipped
    a37ca2a076ec selftests: icmp_redirect: IPv6 PMTU info should be cleared after redirect
    05364a2794fb selftests: icmp_redirect: remove from checking for IPv6 route get
    7f4848229e91 ipv6: fix 'disable_policy' for fwd packets
    c67fb96f5431 gve: Fix an error handling path in 'gve_probe()'
    e33da4eeaa35 igb: Fix position of assignment to *ring
    7dd897773618 igb: Check if num of q_vectors is smaller than max before array access
    d3d7cceee841 iavf: Fix an error handling path in 'iavf_probe()'
    7a13a8a8a5fb e1000e: Fix an error handling path in 'e1000_probe()'
    9fc381db7583 fm10k: Fix an error handling path in 'fm10k_probe()'
    5d6a04927b08 igb: Fix an error handling path in 'igb_probe()'
    cddd53237de8 igc: Fix an error handling path in 'igc_probe()'
    47f69d8828e7 igc: Prefer to use the pci_release_mem_regions method
    83b2d55a512a ixgbe: Fix an error handling path in 'ixgbe_probe()'
    ba4fbb68fcfe igc: change default return of igc_read_phy_reg()
    88e0720133d4 igb: Fix use-after-free error during reset
    a9508e0edfe3 igc: Fix use-after-free error during reset

(From OE-Core rev: 1a3763a31bf5d33daf531dcd1e354e0556f5fdd2)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d308f120891e23c34fa8ae38a7e87aa3810518ae)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 08:32:18 +01:00
Ross Burton
dd28323b17 ovmf: build natively everywhere
The OVMF target binaries are (currently) x86-specific, but the native
tools to build them are not.

Make the COMPATIBLE_HOST assignment target-specific, so that the native
tools can be built on an arm64 build server.

(From OE-Core rev: 94f5c2d51ec8033e00b52ef2d4e0e4c334c14163)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 58ebb47688fc98fdaeb78b4033bd31100218d5d6)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 08:32:18 +01:00
Richard Purdie
2b5d41d03f oeqa/selftest/glibc: Handle incorrect encoding issuesin glibc test results
We dont control the test output and sometimes see badly encoded characters.
These don't affect the operation of the code we're running. Use
errors='replace' to avoid those issues and the resulting test failures.

(From OE-Core rev: bea86c9fc8c1f2e80209fb83c0ed73c7ae350e10)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3939b1923387d3bc440118ed1663d28a03a1ea5d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 08:32:18 +01:00
Alexandre Belloni
ae90e3876d oeqa/runtime/cases: make date.DateTest.test_date more reliable
The test uses the broken out time and can only handle about 59s of delay,
use a UNIX timestamp to allow for up to a 300s delay.

[YOCTO #14463]

(From OE-Core rev: fd5387e8707e12b5c442bbe745c50a3e27085d02)

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b705e9373acd4119da75af4eb96ec92cc964aa86)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 08:32:18 +01:00
hongxu
d6f40be29b sdk: fix relocate symlink failed
Install SDK to non-default dir, sysmlink mkfs.vfat is invalid

$ ./sdk.sh -y -d ./dnf-2 -S -D
$ ls sysroots/x86_64-wrlinuxsdk-linux/usr/bin/mkfs.vfat -al
lrwxrwxrwx 1 hjia users 99 Aug 10 20:38 sysroots/x86_64-wrlinuxsdk-linux/usr/bin/mkfs.vfat -> /opt/windriver/wrlinux-graphics/21.32/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/mkfs.vfat.dosfstools

Since commit [bc4ee54535 sdk: Decouple default install path from
built in path] applied, sdk relocates symlink failed, it should
replace $SDK_BUILD_PATH rather than $DEFAULT_INSTALL_DIR, just
like above commit did

Without this commit:
...
|+ for l in $($SUDO_EXEC find $native_sysroot -type l)
|++ readlink path-to/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/mkfs.vfat
|++ sed -e s:/usr/local/oecore-x86_64:path-to:
|+ ln -sfn /opt/windriver/wrlinux-graphics/21.32/sysroots/x86_64-wrlinuxsdk-linux/
usr/bin/mkfs.vfat.dosfstools path-to//sysroots/x86_64-wrlinuxsdk-linux/usr/bin/mkfs.vfat
...

After appling this commit:
...
|+ for l in $($SUDO_EXEC find $native_sysroot -type l)
|++ readlink path-to/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/mkfs.vfat
|++ sed -e s:/opt/windriver/wrlinux-graphics/21.31:path-to:
|+ ln -sfn path-to/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/mkfs.vfat.dosfstools
path-to/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/mkfs.vfat
...

(From OE-Core rev: a155c4d4ca841ef492213a5f0b9121703c62e2b4)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 942c06a7348070b92f722fa5c439c8c4404485b7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 08:32:18 +01:00
Ross Burton
77269f9163 tar: ignore node-tar CVEs
These two CVEs are specific to the Node package node-tar.

(From OE-Core rev: d1b09f81ad80e5099ae670c965dcf7d39ad09ac1)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bc7216e8148d0dee7b56e6851da6615e93647a0a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 08:32:18 +01:00
Dragos-Marian Panait
0de8d08213 util-linux: fix CVE-2021-37600
sys-utils/ipcutils: be careful when call calloc() for uint64 nmembs

Fix: #1395
(From OE-Core rev: f1b1627cac303f5f9c07fc0e8f959c0675b8f3a7)

Signed-off-by: Karel Zak <kzak@redhat.com>

CVE: CVE-2021-37600
Upstream-Status: Backport [1c9143d0c1f979c3daf10e1c37b5b1e916c22a1c]

Signed-off-by: Dragos-Marian Panait <dragos.panait@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9822232b4abd811bb9c8562f98c0aefc748340a0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 08:32:18 +01:00
Jose Quaresma
378c364b12 sstate.bbclass: fix error handling when sstate mirrors is ro
The commit dd555537fc
'sstate.bbclass: fix errors about read-only sstate mirrors'
adds an additional exception handler to silently mask read
only rootfs errors thrown during the touch.

The exception handler checks the error type with the python module errno
but this module needs to be imported as it don't exist.

Example of the error:

File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:sstate_task_postfunc(d)
     0003:
File: '/home/builder/src/base/poky/meta/classes/sstate.bbclass', lineno: 778, function: sstate_task_postfunc
     0774:
     0775:    omask = os.umask(0o002)
     0776:    if omask != 0o002:
     0777:       bb.note("Using umask 0o002 (not %0o) for sstate packaging" % omask)
 *** 0778:    sstate_package(shared_state, d)
     0779:    os.umask(omask)
     0780:
     0781:    sstateinst = d.getVar("SSTATE_INSTDIR")
     0782:    d.setVar('SSTATE_FIXMEDIR', shared_state['fixmedir'])
File: '/home/builder/src/base/poky/meta/classes/sstate.bbclass', lineno: 708, function: sstate_package
     0704:        except PermissionError:
     0705:            pass
     0706:        except OSError as e:
     0707:            # Handle read-only file systems gracefully
 *** 0708:            if e.errno != errno.EROFS:
     0709:                raise e
     0710:
     0711:    return
     0712:
Exception: NameError: name 'errno' is not defined

(From OE-Core rev: ce78c16409363741d59a2f787aca66077bec93cd)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 15f30ad144fbe25e9a5e71bc7e42e746d2039992)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 18:00:19 +01:00
Ross Burton
18784ee733 wic: don't forcibly pass -T default
This reverts part of oe-core eecbe62555, which was a previous attempt
to solve the Y2038 problem.  This is now solved centrally in e2fsprogs,
so doesn't need to be dealt with in wic.

We don't revert the commit entirely, to retain the warning if a
filesystem has small inodes.

(From OE-Core rev: 83e53de4c99578a686cd7885610a978d995996b7)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7e8017208bed98b6c90735cb641fc9d7aedf9140)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 18:00:19 +01:00
Ross Burton
0ca4b99162 e2fsprogs: ensure small images have 256-byte inodes
e2fsprogs calls filesystems larger than 3MB but smaller than 512MB
"small", which has some implications:

- blocksize 1024 instead of 4096
- inode_ratio 4096 instead of 16384
- inode_size 128 instead of 256

The outcome of the inode size dropping to 128 bytes is that they cannot
store 64-bit timestamps, so are not Y2038-safe.

A previous attempt to solve this problem[1] changed some of the canned
wic files to pass -T default to mkfs.ext4, but this only covered wic
images and not traditional images.  Also, actually small filesystems,
for example a core-image-minimal, will happily be tens of megabytes and
with the "default" options will result in an image which runs out of
blocks before it runs out of space:

mkfs.ext4: Could not allocate block in ext2 filesystem while populating file system

Considering that many OpenEmbedded images are in fact "small", being
2038-safe is worth the marginal increase is disk usage.  This patch
alters the small configuration in native builds so that it also has
256-byte inodes.  Target is unchanged so that standard behaviour is
maintained outside of the build.

This is actually the same underlying patch that Mathieu Dubois-Briand
sent in April, but the wic change in [1] was accepted instead. I believe
that is the wrong approach and this approach covers more cases.

[ YOCTO #14478 ]

[1] openembedded-core eecbe62
[2] https://lists.openembedded.org/g/openembedded-core/message/150298

(From OE-Core rev: 98fbb9452aa762e61032a0836e5d732f206e3836)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9ab0ae83a24ee99e69f8ac54256b253a122aef8a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 18:00:19 +01:00
Michael Opdenacker
f9cb0aec9c cve-check: remove deprecated CVE_CHECK_CVE_WHITELIST
This variable has been deprecated since Yocto Project version 3.0.

(From OE-Core rev: 3c4719eda2b0d8fe1b7cc4006c05ee8c4618e4c6)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f8ac58568b2dceef54a743369460019b3a3eeccd)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 18:00:19 +01:00
Michael Opdenacker
2c99b4e9b3 cve-check: improve comment about CVE patch file names
(From OE-Core rev: 3f5270d1c96f623c27043159f47a952dc24a565b)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8aa613480663e11ecc62278d8c57ca719eb23899)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 18:00:19 +01:00
Michael Opdenacker
555a75484d cve-check: update link to NVD website for CVE details
The old URL schema
https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-ID
now redirects to
https://nvd.nist.gov/vuln/detail/CVE-ID

(From OE-Core rev: b2c21e0d7230583e4751a124c015534e5cd16490)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 57adb57a9d9b08c08ab606ec7b561792e4f4ff2d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 18:00:19 +01:00
Michael Opdenacker
7e830c8370 cve-check: fix comments
This implements various fixes in comments in cve-check.bbclass
In particular, the "whitlisted" typo is important as the "whitelisted"
word is going to be replaced in a near future.

(From OE-Core rev: 596859862409f83861665a7e282da8f9f7297878)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5eecd2bf942254d08c252388594e5ec7ae330f45)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 18:00:19 +01:00
akuster
4625b656ec cve-check: add include/exclude layers
There are times when exluding or including a layer
may be desired. This provide the framwork for that via
two variables. The default is all layers in bblayers.

CVE_CHECK_LAYER_INCLUDELIST
CVE_CHECK_LAYER_EXCLUDELIST

(From OE-Core rev: 76d5c60734c614b8224bef97022738f3a59244d0)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5fdde65ef58b4c1048839e4f9462b34bab36fc22)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 18:00:19 +01:00
Matthias Klein
48d80a80a9 runqemu: Fix typo in error message
(From OE-Core rev: 0d14ade2ba75e6e918a5d7e84ac27830a8548a42)

Signed-off-by: Matthias Klein <matthias@extraklein.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5cc0051d50974e198313f9513b24fd7ae9a96dd4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 18:00:19 +01:00
Paul Barker
922fe187e1 kernel-yocto: Simplify no git repo case in do_kernel_checkout
If the kernel sources are not fetched via git, a local git repository is
created in do_kernel_checkout. In this case we know that there will be
no remote branches and we will already be on the correct branch (since
only one branch will exist). So we can simplify things by skipping these
steps.

This also removes the assumption that the default git branch name will
be "master". Prior to this change, the final git checkout command in
do_kernel_checkout could fail if a local git repo was created and the
user had changed init.defaultBranch in their gitconfig.

(From OE-Core rev: 3a16f312e5942e8a3d6f77a550c5374da81eed37)

Signed-off-by: Paul Barker <paul@pbarker.dev>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit af2a9c92d4498492ca23388c7b4bbed48abdc4d7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 18:00:19 +01:00
Richard Purdie
6f4b2ce8a4 license: Exclude COPYING.MIT from pseudo
Along with the other license exclusions, we need to exclude the
top level COPYING.MIT file else when:

COPY_LIC_DIRS     = "1"
COPY_LIC_MANIFEST = "1"

is set, we see eSDK failures from a pseudo abort.

[YOCTO #14366]

(From OE-Core rev: 46dd415720eb507a3d181a289b155ac4cfc2219c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3eb580843de3f055e42fcce60b0f15c4190c0542)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 18:00:19 +01:00
Minjae Kim
3de8ba0b1c ruby: 2.7.3 -> 2.7.4
This release includes security fixes.

CVE-2021-31810: Trusting FTP PASV responses vulnerability in Net::FTP
CVE-2021-32066: A StartTLS stripping vulnerability in Net::IMAP
CVE-2021-31799: A command injection vulnerability in RDoc

https://www.ruby-lang.org/en/news/2021/07/07/ruby-2-7-4-released/
(From OE-Core rev: 9b1a0d63186a64d78de379494fe256087f62770a)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 18:00:19 +01:00
Lee Chee Yang
7f702f6e67 libsolv: fix CVE-2021-3200
(From OE-Core rev: e8e06e4175c010a7dc0a4e3598b70b89d43f8475)

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>
2021-08-18 18:00:19 +01:00
Ralph Siemsen
9a93dde4e3 glibc: Document and whitelist CVE-2021-35942
This CVE is fixed in the upstream glibc-2.31 branch, and dunfell already
includes an update to this version in commit e1e89ff7d7 ("glibc:
update to lastest 2.31 release HEAD")

(From OE-Core rev: c1d49cee0a3a7391708b19647889f48036d7e4e8)

Signed-off-by: Ralph Siemsen <ralph.siemsen@linaro.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 18:00:19 +01:00
Ranjitsinh Rathod
55b0822504 systemd: Add fix for CVE-2020-13529 and CVE-2021-33910
Added fix for below CVEs from below Link
http://archive.ubuntu.com/ubuntu/pool/main/s/systemd/systemd_237-3ubuntu10.50.debian.tar.xz

1. CVE-2020-13529
Upstream-Status: Backport [38e980a6a5]
Hunk #1 refreshed to resolve patch-fuzz

2. CVE-2021-33910
Upstream-Status: Backport [441e011564]

(From OE-Core rev: dcdd3c14beee89dc49261aeb4d7783cbb3fbeb89)

Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 18:00:19 +01:00
Lee Chee Yang
8b5ec9d483 aspell: fix CVE-2019-25051
(From OE-Core rev: 6c93507e92e55f1171ff2efd5a61bcf85265f790)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 297f8c4eb4ff209b5ea69910902d216d86dbe2bf)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 18:00:19 +01:00
Richard Purdie
08acba82d1 sstate: Fix rebuilds when changing layer config
When adding a layer which changed SSTATE_EXCLUDEDEPS_SYSROOT, the state
hashes were changing when they should not. This was caused by wider use
of setscene_depvalid which means the dependency on the variable was seen
when it was previously not.

Exclude the variable since this should be be included in the hashes.

(From OE-Core rev: bae9c6482271d53dc28d3c801fba467e268003bd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 09725a29365c69ccbd603fe3a1de72189f26d5ac)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Bruce Ashfield
ccbfeb9d53 linux-yocto/5.4: update to v5.4.135
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    0a0beb1f9120 Linux 5.4.135
    d2f7b384a74f udp: annotate data races around unix_sk(sk)->gso_size
    c72374978b3f perf test bpf: Free obj_buf
    17bc942c0b96 bpftool: Properly close va_list 'ap' by va_end() on error
    84ed8340941a ipv6: tcp: drop silly ICMPv6 packet too big messages
    315033cab379 tcp: annotate data races around tp->mtu_info
    41f45e91c92c dma-buf/sync_file: Don't leak fences on merge failure
    04b06716838b net: fddi: fix UAF in fza_probe
    8aa13a86964c net: validate lwtstate->data before returning from skb_tunnel_info()
    8cff7b28ab05 net: send SYNACK packet with accepted fwmark
    b7e5563f2a78 net: ti: fix UAF in tlan:remove_one
    2b70ca92847c net: qcom/emac: fix UAF in emac:remove
    463c0addb4eb net: moxa: fix UAF in moxart_mac_probe
    7ac4a6a74e75 net: ip_tunnel: fix mtu calculation for ETHER tunnel devices
    d5dc50ca1f7a net: bcmgenet: Ensure all TX/RX queues DMAs are disabled
    7ecd40801e5b net: bridge: sync fdb to new unicast-filtering ports
    813d45499f51 net/sched: act_ct: fix err check for nf_conntrack_confirm
    24973073562f netfilter: ctnetlink: suspicious RCU usage in ctnetlink_dump_helpinfo
    c6f4a71153f4 net: ipv6: fix return value of ip6_skb_dst_mtu
    9872273b670a net: dsa: mv88e6xxx: enable .rmu_disable() on Topaz
    6148ddff2dcb net: dsa: mv88e6xxx: enable .port_set_policy() on Topaz
    d73c180e6add dm writecache: return the exact table values that were set
    8a85afc6621a mm: slab: fix kmem_cache_create failed when sysfs node not destroyed
    f53729b828db usb: cdns3: Enable TDL_CHK only for OUT ep
    52b01a808696 f2fs: Show casefolding support only when supported
    91d846016729 arm64: dts: marvell: armada-37xx: move firmware node to generic dtsi file
    f696cc7f1bc8 firmware: turris-mox-rwtm: add marvell,armada-3700-rwtm-firmware compatible string
    e2b28026b861 arm64: dts: armada-3720-turris-mox: add firmware node
    f7d1fa65e742 cifs: prevent NULL deref in cifs_compose_mount_options()
    06d8a7eb5803 s390: introduce proper type handling call_on_stack() macro
    2a47e0719ae7 sched/fair: Fix CFS bandwidth hrtimer expiry type
    5b7d065868a6 scsi: qedf: Add check to synchronize abort and flush
    0fe70c15f943 scsi: libfc: Fix array index out of bound exception
    d7b647d05586 scsi: libsas: Add LUN number check in .slave_alloc callback
    863c4bc883d5 scsi: aic7xxx: Fix unintentional sign extension issue on left shift of u8
    712e9ed6134f rtc: max77686: Do not enforce (incorrect) interrupt trigger type
    199d8ea4c7b1 kbuild: mkcompile_h: consider timestamp if KBUILD_BUILD_TIMESTAMP is set
    484193b635a7 thermal/core: Correct function name thermal_zone_device_unregister()
    556cf0283035 arm64: dts: imx8mq: assign PCIe clocks
    9d3eb68a5385 arm64: dts: ls208xa: remove bus-num from dspi node
    e054b361caec firmware: tegra: bpmp: Fix Tegra234-only builds
    94d009577033 soc/tegra: fuse: Fix Tegra234-only builds
    270a2e9fafea ARM: dts: stm32: move stmmac axi config in ethernet node on stm32mp15
    4bc66215bc22 ARM: dts: stm32: fix i2c node name on stm32f746 to prevent warnings
    856c753237ae ARM: dts: rockchip: fix supply properties in io-domains nodes
    c5bb9cc2ce23 arm64: dts: juno: Update SCPI nodes as per the YAML schema
    f572a9139396 ARM: dts: stm32: fix timer nodes on STM32 MCU to prevent warnings
    95e795474c81 ARM: dts: stm32: fix RCC node name on stm32f429 MCU
    a898aa9f88cc ARM: dts: stm32: fix gpio-keys node on STM32 MCU boards
    5c17edaaead7 ARM: dts: am437x-gp-evm: fix ti,no-reset-on-init flag for gpios
    3446233096ff ARM: dts: am57xx-cl-som-am57x: fix ti,no-reset-on-init flag for gpios
    e79e29a4e162 kbuild: sink stdout from cmd for silent build
    f817d4677582 rtc: mxc_v2: add missing MODULE_DEVICE_TABLE
    0a22b5178276 ARM: imx: pm-imx5: Fix references to imx5_cpu_suspend_info
    e20e85639e25 ARM: dts: imx6: phyFLEX: Fix UART hardware flow control
    a5b19d33ae22 ARM: dts: Hurricane 2: Fix NAND nodes names
    f83535a47ff8 ARM: dts: BCM63xx: Fix NAND nodes names
    cb05b84ad7f1 ARM: NSP: dts: fix NAND nodes names
    14e3bad3b548 ARM: Cygnus: dts: fix NAND nodes names
    587a757afe73 ARM: brcmstb: dts: fix NAND nodes names
    a9c32c7aeee6 reset: ti-syscon: fix to_ti_syscon_reset_data macro
    b400afa42739 arm64: dts: rockchip: Fix power-controller node names for rk3328
    dfb4e8ed0792 arm64: dts: rockchip: Fix power-controller node names for px30
    789070f17886 ARM: dts: rockchip: Fix power-controller node names for rk3288
    6aaffe6ce8a9 ARM: dts: rockchip: Fix power-controller node names for rk3188
    439115ee56d8 ARM: dts: rockchip: Fix power-controller node names for rk3066a
    3b4c34728382 ARM: dts: rockchip: Fix IOMMU nodes properties on rk322x
    c9d29d62da59 ARM: dts: rockchip: Fix the timer clocks order
    d105e15de610 arm64: dts: rockchip: fix pinctrl sleep nodename for rk3399.dtsi
    cfe3d29e5cde ARM: dts: rockchip: fix pinctrl sleep nodename for rk3036-kylin and rk3288
    79573c64410b ARM: dts: gemini: add device_type on pci
    7037876393ce ARM: dts: gemini: rename mdio to the right name

(From OE-Core rev: ca78e4550b56f7fb7d68684f5813ef89853702cc)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5c36549fab7cc27bd2f4f9e8b6be1ec8546d32bd)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Changqing Li
bb4a62557b archiver.bbclass: fix do_ar_configured failure for kernel
(From OE-Core rev: 224913ff067e6c26cabe0df0ecbf50fb03b85165)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d7776a23cbea836ddb8ac5ec77012af2449ab875)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Nicolas Dechesne
a2a412fcd7 yocto-check-layer: ensure that all layer dependencies are tested too
In order to be compliant with the YP compatible status, a layer also
needs to ensure that all its dependencies are compatible
too. Currently yocto-check-layer only checks the requested layer,
without testing any dependencies.

With this change, all dependencies are also checked by default, so the
summary printed at the end will give a clear picture whether all
dependencies pass the script or not.

Using --no-auto-dependency can be used to skip that.

(From OE-Core rev: bec38becf8a489d69aca0917a2ce1dfdc96d8ab3)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 45d59b774b95c91193a8376b83c05291d555e5c8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Nicolas Dechesne
33b3eaa04d checklayer: rename _find_layer_depends
What this function does is really to find a layer, not a 'depends'. We
are using this function to find a dependent layer, but the name is
confusing.

(From OE-Core rev: d6618f92fa3f589c1d155081e85905ffe5e39a6c)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e9b7690ab30d0e7c07471034f6cb89ccc3168a11)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Nicolas Dechesne
6f1a5a8783 checklayer: new function get_layer_dependencies()
Split add_layer_dependencies() into 2 parts. First search for layer
dependencies, and then add them to the config. That allows us to
call get_layer_dependencies() independently.

(From OE-Core rev: e11c7ceed212c0d38e3d38de3099389a4e397818)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 08edf928aac3f2daaa0c256d4c21e56e2db72bff)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Nicolas Dechesne
123068a0f4 yocto-check-layer: improve missed dependencies
The first 2 calls to add_layer_dependencies() are here to add all
dependencies for the 'layer under test' and the additional layers
provided by the users.

In both cases, we use misssing_dependencies boolean to indicate if any
dependency is missing. But we then never really use
missing_dependencies. Instead the script is calling
add_layer_dependencies() again (for both the layer under test, and the
additional layers) to detect if there are any missing dependency. As a
result, we are trying to add again all dependencies, and we can see
that from the traces:

INFO: Detected layers:
INFO: meta-aws: LayerType.SOFTWARE, /work/oe/sources/meta-aws
INFO: checklayer: Doesn't have conf/layer.conf file, so ignoring
INFO:
INFO: Setting up for meta-aws(LayerType.SOFTWARE), /work/oe/sources/meta-aws
INFO: Adding layer meta-python
INFO: Adding layer meta-oe
INFO: Adding layer meta-networking
-->
INFO: Adding layer meta-python
INFO: meta-python is already in /work/oe/poky/master/build-checklayer/conf/bblayers.conf
INFO: Adding layer meta-oe
INFO: meta-oe is already in /work/oe/poky/master/build-checklayer/conf/bblayers.conf
INFO: Adding layer meta-networking
INFO: meta-networking is already in /work/oe/poky/master/build-checklayer/conf/bblayers.conf
<--
INFO: Getting initial bitbake variables ...

The code appears more complex than it should, and we can simply
replace the complex if statement by using missing_dependencies, and
avoid duplicating the call to add_layer_dependencies().

(From OE-Core rev: 84e63d179d935a071730e89a0963bb9ae867c93b)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit fceb84f7bc472731b8f96ee1ebf0f4485943226c)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Teoh Jay Shen
6d7754c80e oeqa/usb_hid.py : add test to check the usb/human interface device status after suspend state
This test mimic the Test_if_usb_hid_device_works_well_after_resume_from_suspend_state manual test case from oeqa/manual/bsp-hw.json.

(From OE-Core rev: 00074636b81484dedef4c1769b018f6b980be423)

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 23a3dc370a52907ee3261746405fb9b2af9e9a11)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Teoh Jay Shen
587ea95477 oeqa/terminal : improve the test case
-Improve this test case to fulfill the requirements of replacing the click_terminal_icon_on_X_desktop manual test case from oeqa/manual/bsp-hw :
1) verify that the terminal window is working without problem
2) verify that there's only 1 terminal window is launched

(From OE-Core rev: 039cd427cffe37bdf09cbf30c2cc47a85e166330)

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 824713174fae0617240a236d1bbfd2929bf4b24f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
TeohJayShen
92b976d733 oeqa/runtime: add test for matchbox-terminal
This test is checking that the terminal application is able to run. The click_terminal_icon_on_X_desktop manual test case from oeqa/manual/bsp-hw can be replace by this runtime test.

(From OE-Core rev: e4d0109bde6f9dce0709106262c3e4f51007b510)

Signed-off-by: TeohJayShen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cfa9c1ce853bfd31c1febe61d0f7ad9c5d35f709)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Teoh Jay Shen
91802e4b14 oeqa/suspend : add test for suspend state
This test case is checking the command and LAN device behaviour before and after suspend state. The Test_if_LAN_device_works_well_after_resume_from_suspend_state and standby manual test cases from oeqa/manual/bsp-hw can be replace by this runtime test.

(From OE-Core rev: dbd541cf2bf5083604a2e929ea8f148b96b4ce2f)

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 10728035a606483ea67f6cb8ba5779558856593a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Wes Lindauer
fc849db69b oeqa/runtime/cases: Only disable/enable for current boot
Previously doing a stop/start worked, but using a disable/enable does
not work on a read-only rootfs. Add a --runtime flag to systemctl so
that systemd only modifies the current boot and does not attempt to
write to the filesystem.

This also keeps the test from making a permanent (one could argue
policy) change to the running system being tested. i.e. What if the
image being tested had intentionally disabled the timesyncd service in
preference to using chrony or ntpd? The test shouldn't assume that the
user wants the timesyncd service enabled.

(From OE-Core rev: 1d848b939e503df94178822c9ca8bb26d0e75231)

Signed-off-by: Wes Lindauer <wesley.lindauer@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 43dd83b6a325589368c980a3f17cab90935aaeb0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Teoh Jay Shen
14fdc41afa oeqa/runtime : add test for RTC(Real Time Clock)
This test is checking the functionality of the RTC(Real Time Clock). The Check_if_RTC_(Real_Time_Clock)_can_work_correctly manual test case from oeqa/manual/bsp-hw can be replace by this runtime test.

(From OE-Core rev: 7c6624dbea2df5a47752e7684045d9d1aa41c3e5)

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c6961c2fc04edbc5bc3827c7703997085d9c609e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Teoh Jay Shen
684efee23c oeqa/ethernet_ip_connman : add test for network connections
This test mimic the ethernet_static_ip_set_in_connman and ethernet_get_IP_in_connman_via_DHCP test case from oeqa/manual/bsp-hw.json.
The ethernet_static_ip_set_in_connman and ethernet_get_IP_in_connman_via_DHCP manual test case should be remove from oeqa/manual/bsp-hw.json if this patch get merged.

(From OE-Core rev: 008cc0340676cd67f3ec68d3ca8286bbd16c32c6)

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit aaabc94dbe353b12297ba4a237f6817b2c6d4a31)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Yi Zhao
0a7e7c8882 ifupdown: added -1 option to dhclient for dhcpv6
When dhclient is used with ifupdown and in the /etc/network/interfaces
file is something like e.g. "iface eth0 inet6 dhcp" the system does not
boot but hangs at the after dhcp configuration of IPv4 at the stage
where IPv6 should be configured.
The reason seems to be, that ifupdown calls the dhclient in a blocking
way which leads to a permanent block of the boot when no DHCPv6 server
is available.
A similar bug in Redhat:
https://bugzilla.redhat.com/show_bug.cgi?id=585047

[YOCTO #14117]

(From OE-Core rev: 6d8bf12bffa146cb51153a79a4b96b05298c4fbf)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Armin Kuster
6a4ccf65e8 qemu: Enable seccomp if FEATURE is set
(From OE-Core rev: 10aace6034e4ca3d09d97c4e2046d8eef3078164)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ruslan Babayev <fib@cisco.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Nathan Rossi
a92e5ec215 qemu.inc: Add seccomp PACKAGECONFIG option
Add the seccomp PACKAGECONFIG option to allow building seccomp features
in QEMU. The libseccomp library is available in additional layers (e.g.
meta-security).

Additionally this serves as a way to disable seccomp by default to avoid
the configure of QEMU automatically finding it (via pkg-config) on the
build host when building qemu-system-native and auto enabling the
feature.

(From OE-Core rev: 80d79ca651b03a3a7d65d25065af3fa5d85925b3)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ruslan Babayev <fib@cisco.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Michael Opdenacker
0304752a46 oe-setup-builddir: update YP docs and OE URLs
This updates the link to the YP docs
and proposes to access the OE website through https

(From OE-Core rev: a73c10667b3ef2d0606dc5b2e4ff9605e2cd52f6)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 87686233aeffc639c3f412fd5c4898b32b15013b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Ross Burton
08d1a1313c glew: fix Makefile race
Fix a Makefile race resulting in the target creating a directory being
executed after the target to write into that directory.

[ YOCTO #14485 ]

(From OE-Core rev: 098e9a98ef31211d9a217ab1fde4655b81a7b56d)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e90c1d3b80e35fb685d4b321972743771eb2c2c0)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Richard Purdie
aabe9c0f70 yocto-check-layer: Remove duplicated code
Nicolas Dechesne spotted there was duplicate code I had introduced with a
previous fix. Remove the second statement since the earlier one is correct
all that is needed.

(From OE-Core rev: aa8e0928bda4a01623552084fc0ac0658e495b53)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f3e8d9f0e53e73de5498fccce81d049a88f6473b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Ulrich Ölmann
a930008acb initramfs-framework/setup-live: fix shebang
(From OE-Core rev: c9271a5882965d783a88d4f97d03d9bb2bc93c7c)

Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 71f1f6bc9402ee0fad82aaf0757fffb73da4b706)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Oleksandr Kravchuk
d514cc9758 bitbake.conf: change GNOME_MIRROR to new one
URI has been permanently moved and returns HTTP 301.

(From OE-Core rev: 0fad92768c505967eff71da1320a082674879dbc)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a3a85d54af38a30f6de5f6d23e432afa26859888)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
leimaohui
184ade83cd archiver.bbclass: Fix patch error for recipes that inherit dos2unix.
do_unpack_and_patch error happens for these recipes inherit dos2unix.

(From OE-Core rev: 3e8cb257546e00a988136dfa6d7f5e6b7f7f16d8)

Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2ceda7c90c0087f52693c54d5ccab143b27f4d21)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Khem Raj
ffc49508d2 ovmf: Fix VLA warnings with GCC 11
(From OE-Core rev: 5406ce83e07c3f89b9f2bb26f083861467b7bc59)

(From OE-Core rev: 5a02a56d3e0c88626418391b8d4253f7cee4c38c)

Signed-off-by: Khem Raj <raj.khem@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>
2021-08-10 11:14:11 +01:00
Ralph Siemsen
785bdf6555 oeqa/manual/toaster: fix small typo
PACKAGE_CLASES should be PACKAGE_CLASSES.

(From OE-Core rev: 5c5c6fe8ce588443adcd4c435c3570535ef3f23a)

Signed-off-by: Ralph Siemsen <ralph.siemsen@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7a96f3bceb2c857f841b1dbeb4587a8aaace529e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Bruce Ashfield
8161d2b4f7 linux-yocto/5.4: update to v5.4.134
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    9afc0c209685 Linux 5.4.134
    c1dafbb26164 seq_file: disallow extremely large seq buffer allocations
    b06ab67bd63b misc: alcor_pci: fix inverted branch condition
    f40884382995 scsi: scsi_dh_alua: Fix signedness bug in alua_rtpg()
    e9602efecf19 MIPS: vdso: Invalid GIC access through VDSO
    48351df82dbc mips: disable branch profiling in boot/decompress.o
    d8afab9bc9fe mips: always link byteswap helpers into decompressor
    bb2435840681 scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe()
    2a22a1ca453a firmware: turris-mox-rwtm: fail probing when firmware does not support hwrng
    b7c1bafe813a firmware: turris-mox-rwtm: report failures better
    7934e060732f firmware: turris-mox-rwtm: fix reply status decoding function
    65f32d1e0514 thermal/drivers/rcar_gen3_thermal: Fix coefficient calculations
    a3ea516d8d5b ARM: dts: imx6q-dhcom: Add gpios pinctrl for i2c bus recovery
    c4e2fa6fb0f3 ARM: dts: imx6q-dhcom: Fix ethernet plugin detection problems
    9cc2ef1a784c ARM: dts: imx6q-dhcom: Fix ethernet reset time properties
    85434c3a281e ARM: dts: am437x: align ti,pindir-d0-out-d1-in property with dt-shema
    e1314f75b38a ARM: dts: am335x: align ti,pindir-d0-out-d1-in property with dt-shema
    443f6ca6fd18 memory: fsl_ifc: fix leak of private memory on probe failure
    d9213d4f372d memory: fsl_ifc: fix leak of IO mapping on probe failure
    8ef43fa4646f reset: bail if try_module_get() fails
    04bb5b3ea08d ARM: dts: BCM5301X: Fixup SPI binding
    cc10a352e29c firmware: arm_scmi: Reset Rx buffer to max size during async commands
    7dde9387498c firmware: tegra: Fix error return code in tegra210_bpmp_init()
    6ca8e516bc65 ARM: dts: r8a7779, marzen: Fix DU clock names
    52cc83c0282c arm64: dts: renesas: v3msk: Fix memory size
    11d6c1992120 rtc: fix snprintf() checking in is_rtc_hctosys()
    226adc0bf947 memory: pl353: Fix error return code in pl353_smc_probe()
    b782d54b4dca reset: brcmstb: Add missing MODULE_DEVICE_TABLE
    2a9392c6d218 memory: atmel-ebi: add missing of_node_put for loop iteration
    05cfac174796 ARM: dts: exynos: fix PWM LED max brightness on Odroid XU4
    45414bfe5af3 ARM: dts: exynos: fix PWM LED max brightness on Odroid HC1
    cc617c9ddb1f ARM: dts: exynos: fix PWM LED max brightness on Odroid XU/XU3
    13c5fa0a43a0 ARM: exynos: add missing of_node_put for loop iteration
    dc3939d97238 reset: a10sr: add missing of_match_table reference
    b57e025bb0d7 ARM: dts: gemini-rut1xx: remove duplicate ethernet node
    3f870d8c2bc1 hexagon: use common DISCARDS macro
    3b03882123e4 NFSv4/pNFS: Don't call _nfs4_pnfs_v3_ds_connect multiple times
    9f02e9dd8ca2 ALSA: isa: Fix error return code in snd_cmi8330_probe()
    aa8866530d6a nvme-tcp: can't set sk_user_data without write_lock
    496bcc8d4ff9 virtio_net: move tx vq operation under tx queue lock
    aac6a79ee0c0 pwm: imx1: Don't disable clocks at device remove time
    aa51b6bc7907 x86/fpu: Limit xstate copy size in xstateregs_set()
    df749be38c94 PCI: iproc: Support multi-MSI only on uniprocessor kernel
    25bff167719d PCI: iproc: Fix multi-MSI base vector number allocation
    1d9d997850d8 ubifs: Set/Clear I_LINKABLE under i_lock for whiteout inode
    d0b32dc1409f nfs: fix acl memory leak of posix_acl_create()
    e7de89b8b285 watchdog: aspeed: fix hardware timeout calculation
    0366238f6af4 um: fix error return code in winch_tramp()
    c43226ac1079 um: fix error return code in slip_open()
    81e03fe5bf8f NFSv4: Initialise connection to the server in nfs4_alloc_client()
    2d2842f5d2cd power: supply: rt5033_battery: Fix device tree enumeration
    c5b104a27028 PCI/sysfs: Fix dsm_label_utf16s_to_utf8s() buffer overrun
    5b6cde3bae6d f2fs: add MODULE_SOFTDEP to ensure crc32 is included in the initramfs
    00fcd8f33e9b x86/signal: Detect and prevent an alternate signal stack overflow
    52bd1bce8624 virtio_console: Assure used length from device is limited
    7909782857c2 virtio_net: Fix error handling in virtnet_restore()
    04c6e60b884c virtio-blk: Fix memory leak among suspend/resume procedure
    8ae24b9bf8f9 ACPI: video: Add quirk for the Dell Vostro 3350
    0bbac736224f ACPI: AMBA: Fix resource name in /proc/iomem
    7d0667521501 pwm: tegra: Don't modify HW state in .remove callback
    f8ba40611be3 pwm: img: Fix PM reference leak in img_pwm_enable()
    9eb5142d3f76 power: supply: ab8500: add missing MODULE_DEVICE_TABLE
    658884b22ac8 power: supply: charger-manager: add missing MODULE_DEVICE_TABLE
    ae1a6af2f8f8 NFS: nfs_find_open_context() may only select open files
    04a333cf982c ceph: remove bogus checks and WARN_ONs from ceph_set_page_dirty
    ab720715b8a8 orangefs: fix orangefs df output.
    1680c3ece217 PCI: tegra: Add missing MODULE_DEVICE_TABLE
    12f8d6e7f2c7 x86/fpu: Return proper error codes from user access functions
    f58ab0b02ee7 watchdog: iTCO_wdt: Account for rebooting on second timeout
    bcafecd30431 watchdog: imx_sc_wdt: fix pretimeout
    db222f1477ad watchdog: Fix possible use-after-free by calling del_timer_sync()
    7c56c5508dc2 watchdog: sc520_wdt: Fix possible use-after-free in wdt_turnoff()
    146cc288fb80 watchdog: Fix possible use-after-free in wdt_startup()
    1e6e806dda4c PCI/P2PDMA: Avoid pci_get_slot(), which may sleep
    d2bc221be148 ARM: 9087/1: kprobes: test-thumb: fix for LLVM_IAS=1
    94cfbe80f0cf power: reset: gpio-poweroff: add missing MODULE_DEVICE_TABLE
    b6d1d46165f0 power: supply: max17042: Do not enforce (incorrect) interrupt trigger type
    e8794f7bb543 power: supply: ab8500: Avoid NULL pointers
    af619a7455a1 pwm: spear: Don't modify HW state in .remove callback
    f16b1d7dc46f power: supply: sc2731_charger: Add missing MODULE_DEVICE_TABLE
    b8495c08b2e8 power: supply: sc27xx: Add missing MODULE_DEVICE_TABLE
    13b51d90f0a6 lib/decompress_unlz4.c: correctly handle zero-padding around initrds.
    f492dfec0c82 i2c: core: Disable client irq on reboot/shutdown
    ec50ddd8456c intel_th: Wait until port is in reset before programming it
    ba547e7431bf staging: rtl8723bs: fix macro value for 2.4Ghz only device
    6bc7ea6584cb ALSA: usb-audio: scarlett2: Fix 6i6 Gen 2 line out descriptions
    7929bcf1a278 ALSA: hda: Add IRQ check for platform_get_irq()
    0f3821c3281b backlight: lm3630a: Fix return code of .update_status() callback
    84d84143037f ASoC: Intel: kbl_da7219_max98357a: shrink platform_id below 20 characters
    4abe339ce863 powerpc/boot: Fixup device-tree on little endian
    60c88c8ee548 usb: gadget: hid: fix error return code in hid_bind()
    2bfe5a620894 usb: gadget: f_hid: fix endianness issue with descriptors
    eb11ade08bc8 ALSA: usb-audio: scarlett2: Fix scarlett2_*_ctl_put() return values
    f9e5d0137c14 ALSA: usb-audio: scarlett2: Fix data_mutex lock
    33251aa28d1c ALSA: usb-audio: scarlett2: Fix 18i8 Gen 2 PCM Input count
    82343ce5cad2 ALSA: bebob: add support for ToneWeal FW66
    86d56d5a5908 Input: hideep - fix the uninitialized use in hideep_nvm_unlock()
    5f5c1e683351 s390/mem_detect: fix tprot() program check new psw handling
    8a3adb42928c s390/mem_detect: fix diag260() program check new psw handling
    e8df00854840 s390/ipl_parm: fix program check new psw handling
    5176a4d1c43c s390/processor: always inline stap() and __load_psw_mask()
    542d85dda7ba ASoC: soc-core: Fix the error return code in snd_soc_of_parse_audio_routing()
    41c488eb5dca gpio: pca953x: Add support for the On Semi pca9655
    6602185b185b selftests/powerpc: Fix "no_handler" EBB selftest
    75dc1942f8b6 ALSA: ppc: fix error return code in snd_pmac_probe()
    8e1b6d96e95f gpio: zynq: Check return value of pm_runtime_get_sync
    b11220803ad1 iommu/arm-smmu: Fix arm_smmu_device refcount leak in address translation
    3761ae0d0e54 iommu/arm-smmu: Fix arm_smmu_device refcount leak when arm_smmu_rpm_get fails
    6c50a56d2bce powerpc/ps3: Add dma_mask to ps3_dma_region
    5169c6b12b19 ALSA: sb: Fix potential double-free of CSP mixer elements
    d481ddb1b6d0 selftests: timers: rtcpie: skip test if default RTC device does not exist
    f0bca3fbf16b s390/sclp_vt220: fix console name to match device
    1028b769600c serial: tty: uartlite: fix console setup
    ba89ba738a82 ASoC: img: Fix PM reference leak in img_i2s_in_probe()
    b5af7cec0f7e mfd: cpcap: Fix cpcap dmamask not set warnings
    c19a95cffe33 mfd: da9052/stmpe: Add and modify MODULE_DEVICE_TABLE
    d05da38c4110 scsi: qedi: Fix null ref during abort handling
    a686ea60c17a scsi: iscsi: Fix shost->max_id use
    d04958a348e5 scsi: iscsi: Fix conn use after free during resets
    173fdf1497d9 scsi: iscsi: Add iscsi_cls_conn refcount helpers
    9896b67e1b56 scsi: megaraid_sas: Handle missing interrupts while re-enabling IRQs
    e8c75b5d88f2 scsi: megaraid_sas: Early detection of VD deletion through RaidMap update
    0c6226601c3e scsi: megaraid_sas: Fix resource leak in case of probe failure
    e54625f3f0f0 fs/jfs: Fix missing error code in lmLogInit()
    077b59810cb6 scsi: scsi_dh_alua: Check for negative result value
    ee16bed95986 tty: serial: 8250: serial_cs: Fix a memory leak in error handling path
    9c543a9197c7 ALSA: ac97: fix PM reference leak in ac97_bus_remove()
    086918e61c37 scsi: core: Cap scsi_host cmd_per_lun at can_queue
    600a91ab5981 scsi: lpfc: Fix crash when lpfc_sli4_hba_setup() fails to initialize the SGLs
    07aa0d14fc9e scsi: lpfc: Fix "Unexpected timeout" error in direct attach topology
    f1f72dac9219 scsi: hisi_sas: Propagate errors in interrupt_init_v1_hw()
    68ce66ba20cf w1: ds2438: fixing bug that would always get page0
    1c774366428e Revert "ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro"
    88262229b778 ALSA: usx2y: Don't call free_pages_exact() with NULL address
    7dff52b311b1 iio: magn: bmc150: Balance runtime pm + use pm_runtime_resume_and_get()
    921b361ce3ee iio: gyro: fxa21002c: Balance runtime pm + use pm_runtime_resume_and_get().
    d2639ffdcad4 misc: alcor_pci: fix null-ptr-deref when there is no PCI bridge
    38660031e80e misc/libmasm/module: Fix two use after free in ibmasm_init_one
    dc195d77dd6c tty: serial: fsl_lpuart: fix the potential risk of division or modulo by zero
    fd005f53cb49 srcu: Fix broken node geometry after early ssp init
    35072f336ae8 dmaengine: fsl-qdma: check dma_set_mask return value
    249e0ab80c47 net: moxa: Use devm_platform_get_and_ioremap_resource()
    359311b85ebe fbmem: Do not delete the mode that is still in use
    c17363ccd620 cgroup: verify that source is a string
    d4238c7539c8 tracing: Do not reference char * as a string in histograms
    887bfae2732b scsi: core: Fix bad pointer dereference when ehandler kthread is invalid
    22257d3c6840 KVM: X86: Disable hardware breakpoints unconditionally before kvm_x86->run()
    dc91a480ace2 KVM: x86: Use guest MAXPHYADDR from CPUID.0x8000_0008 iff TDP is enabled
    f2ff9d03432f KVM: mmio: Fix use-after-free Read in kvm_vm_ioctl_unregister_coalesced_mmio
    795e84798fa7 Linux 5.4.133
    135122f174c3 smackfs: restrict bytes count in smk_set_cipso()
    a21e5cb1a64c jfs: fix GPF in diFree
    f190ca9068e3 pinctrl: mcp23s08: Fix missing unlock on error in mcp23s08_irq()
    f176dec999c8 media: uvcvideo: Fix pixel format change for Elgato Cam Link 4K
    5d2a52732eeb media: gspca/sunplus: fix zero-length control requests
    1c44f2e25d8e media: gspca/sq905: fix control-request direction
    0edd67591672 media: zr364xx: fix memory leak in zr364xx_start_readpipe
    27cd29ab9bf0 media: dtv5100: fix control-request directions
    917791e43441 media: subdev: disallow ioctl for saa6588/davinci
    04d67b34a33c PCI: aardvark: Implement workaround for the readback value of VEND_ID
    a340b84e09d3 PCI: aardvark: Fix checking for PIO Non-posted Request
    86968dfa4b55 PCI: Leave Apple Thunderbolt controllers on for s2idle or standby
    964d57d1962d dm btree remove: assign new_root only when removal succeeds
    ef0a06acc6b1 coresight: tmc-etf: Fix global-out-of-bounds in tmc_update_etf_buffer()
    4e78a2a4fced ipack/carriers/tpci200: Fix a double free in tpci200_pci_probe
    8489ebfac395 tracing: Resize tgid_map to pid_max, not PID_MAX_DEFAULT
    41aa59030213 tracing: Simplify & fix saved_tgids logic
    4d4f11c3566c rq-qos: fix missed wake-ups in rq_qos_throttle try two
    33ab9138a13e seq_buf: Fix overflow in seq_buf_putmem_hex()
    854bf7196601 extcon: intel-mrfld: Sync hardware and software state on init
    ec31e681cfbf nvmem: core: add a missing of_node_put
    f0f3f0abe58e power: supply: ab8500: Fix an old bug
    7adc05b73d91 ubifs: Fix races between xattr_{set|get} and listxattr operations
    5e4aae9e3e6b thermal/drivers/int340x/processor_thermal: Fix tcc setting
    ec170de13b69 ipmi/watchdog: Stop watchdog timer when the current action is 'none'
    efed363752c0 qemu_fw_cfg: Make fw_cfg_rev_attr a proper kobj_attribute
    74f81fce1215 ASoC: tegra: Set driver_name=tegra for all machine drivers
    862e1aef2bd4 MIPS: fix "mipsel-linux-ld: decompress.c:undefined reference to `memmove'"
    5078f007d863 fpga: stratix10-soc: Add missing fpga_mgr_free() call
    cfaaed5e4a12 clocksource/arm_arch_timer: Improve Allwinner A64 timer workaround
    7044e6bbc8e8 cpu/hotplug: Cure the cpusets trainwreck
    c90a5b1c3742 ata: ahci_sunxi: Disable DIPM
    a7aa56f57e84 mmc: core: Allow UHS-I voltage switch for SDSC cards if supported
    2d95959fa4f4 mmc: core: clear flags before allowing to retune
    7e3b6e797a43 mmc: sdhci: Fix warning message when accessing RPMB in HS400 mode
    690735ee3a9d drm/arm/malidp: Always list modifiers
    e976698b2642 drm/msm/mdp4: Fix modifier support enabling
    49d05786661b drm/tegra: Don't set allow_fb_modifiers explicitly
    eaabef618cbb drm/amd/display: Reject non-zero src_y and src_x for video planes
    36a9c775a5f8 pinctrl/amd: Add device HID for new AMD GPIO controller
    7af725d1481c drm/amd/display: fix incorrrect valid irq check
    1fe8005303a3 drm/rockchip: dsi: remove extra component_del() call
    85ea095dc081 drm/radeon: Add the missed drm_gem_object_put() in radeon_user_framebuffer_create()
    d05c9f91be93 drm/amdgpu: Update NV SIMD-per-CU to 2
    a5cd29059916 powerpc/barrier: Avoid collision with clang's __lwsync macro
    a82471a14aad powerpc/mm: Fix lockup on kernel exec fault
    233339bf6c7c perf bench: Fix 2 memory sanitizer warnings
    4d579ef78ae6 crypto: ccp - Annotate SEV Firmware file names
    0e105eed0966 fscrypt: don't ignore minor_hash when hash is 0
    5d4fa5e1b907 MIPS: set mips32r5 for virt extensions
    2760c141dd10 MIPS: loongsoon64: Reserve memory below starting pfn to prevent Oops
    a01745edc1c9 sctp: add size validation when walking chunks
    03a5e454614d sctp: validate from_addr_param return
    d04cd2c4fdd0 Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc.
    aa9a2ec7ee08 Bluetooth: Shutdown controller after workqueues are flushed or cancelled
    6aac389d50d9 Bluetooth: Fix the HCI to MGMT status conversion table
    a27610321c31 Bluetooth: btusb: Fixed too many in-token issue for Mediatek Chip.
    032c68b4f5be RDMA/cma: Fix rdma_resolve_route() memory leak
    d27483b844c8 net: ip: avoid OOM kills with large UDP sends over loopback
    3fbae80e24d6 media, bpf: Do not copy more entries than user space requested
    1127eb86b23d wireless: wext-spy: Fix out-of-bounds warning
    161107916c79 sfc: error code if SRIOV cannot be disabled
    a95fddec35f9 sfc: avoid double pci_remove of VFs
    105982781699 iwlwifi: pcie: fix context info freeing
    0b08e9b64b99 iwlwifi: pcie: free IML DMA memory allocation
    6e2df6630636 iwlwifi: mvm: don't change band on bound PHY contexts
    9fd9734e5739 RDMA/rxe: Don't overwrite errno from ib_umem_get()
    75b011df8e00 vsock: notify server to shutdown when client has pending signal
    2a0a6f67c5d5 atm: nicstar: register the interrupt handler in the right place
    8a366dd45518 atm: nicstar: use 'dma_free_coherent' instead of 'kfree'
    002d8b395fa1 MIPS: add PMD table accounting into MIPS'pmd_alloc_one
    e15cff87dff2 rtl8xxxu: Fix device info for RTL8192EU devices
    356bb9411a26 drm/amdkfd: Walk through list with dqm lock hold
    995c3fc302bd net: sched: fix error return code in tcf_del_walker()
    bba660a079a9 net: fix mistake path for netdev_features_strings
    cea6ca260d22 mt76: mt7615: fix fixed-rate tx status reporting
    e217aadc9b55 bpf: Fix up register-based shifts in interpreter to silence KUBSAN
    7f356894ff12 cw1200: add missing MODULE_DEVICE_TABLE
    d71dddeb5380 wl1251: Fix possible buffer overflow in wl1251_cmd_scan
    e919fc655294 wlcore/wl12xx: Fix wl12xx get_mac error if device is in ELP
    9981f8f4a8f9 xfrm: Fix error reporting in xfrm_state_construct.
    46a2cd9cecbb drm/amd/display: Verify Gamma & Degamma LUT sizes in amdgpu_dm_atomic_check
    5db647affcbd r8169: avoid link-up interrupt issue on RTL8106e if user enables ASPM
    bfb8eb833e7d selinux: use __GFP_NOWARN with GFP_NOWAIT in the AVC
    91f6b357e9c1 fjes: check return value after calling platform_get_resource()
    2c028cee95a4 drm/amdkfd: use allowed domain for vmbo validation
    5756c21dd7b7 drm/amd/display: Set DISPCLK_MAX_ERRDET_CYCLES to 7
    c7010d0f0789 drm/amd/display: Release MST resources on switch from MST to SST
    7182bba3c2c6 drm/amd/display: Update scaling settings on modeset
    2ee8e85ea87e net: micrel: check return value after calling platform_get_resource()
    80240ded7994 net: mvpp2: check return value after calling platform_get_resource()
    6ac291d2b4d9 net: bcmgenet: check return value after calling platform_get_resource()
    627fffae46c2 virtio_net: Remove BUG() to avoid machine dead
    217533e60deb ice: set the value of global config lock timeout longer
    c0b70153f13e pinctrl: mcp23s08: fix race condition in irq handler
    e10062afd67d dm space maps: don't reset space map allocation cursor when committing
    57ef44f35725 RDMA/cxgb4: Fix missing error code in create_qp()
    ccde03a6a0fb ipv6: use prandom_u32() for ID generation
    482708d036be clk: tegra: Ensure that PLLU configuration is applied properly
    050c6bb5cbf7 clk: renesas: r8a77995: Add ZA2 clock
    c84e0757d80b drm/bridge: cdns: Fix PM reference leak in cdns_dsi_transfer()
    cdfd4ceafba9 igb: handle vlan types with checker enabled
    596b031a3d3a e100: handle eeprom as little endian
    80d505aee639 udf: Fix NULL pointer dereference in udf_symlink function
    c32d0f0e164f drm/sched: Avoid data corruptions
    6ebfdf01cc89 drm/virtio: Fix double free on probe failure
    5e2d303b452a reiserfs: add check for invalid 1st journal block
    1a2d21e266c4 drm/mediatek: Fix PM reference leak in mtk_crtc_ddp_hw_init()
    45cc7a653f5a net: Treat __napi_schedule_irqoff() as __napi_schedule() on PREEMPT_RT
    bdf5334250c6 atm: nicstar: Fix possible use-after-free in nicstar_cleanup()
    3ecd228c636e mISDN: fix possible use-after-free in HFC_cleanup()
    c9172498d4d6 atm: iphase: fix possible use-after-free in ia_module_exit()
    b52b0d996a13 hugetlb: clear huge pte during flush function on mips platform
    526451e8d241 drm/amd/display: fix use_max_lb flag for 420 pixel formats
    cfd8894619d1 net: pch_gbe: Use proper accessors to BE data in pch_ptp_match()
    f6d326ad0324 drm/vc4: fix argument ordering in vc4_crtc_get_margins()
    997dedaa75e9 drm/amd/amdgpu/sriov disable all ip hw status by default
    34b01e883a5d drm/zte: Don't select DRM_KMS_FB_HELPER
    012439cba95c drm/mxsfb: Don't select DRM_KMS_FB_HELPER

(From OE-Core rev: 51bce45a9358f92b7272e9f4c889a97e64859d10)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f38fa9ad02b625534b91328755efbbdcff200010)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Mike Crowe
462de8f86f curl: Fix CVE-2021-22924 and CVE-2021-22925
curl v7.78 contained fixes for five CVEs:

CVE-2021-22922[1] and CVE-2021-22923[2] are only present when support
for metalink is enabled. EXTRA_OECONF contains "--without-libmetalink"
so these fixes are unnecessary.

CVE-2021-22926[3] only affects builds for MacOS.

CVE-2021-22924[4] and CVE-2021-22925[5] are both applicable. Take the
patches from Ubuntu 20.04 curl_7.68.0-1ubuntu2.6 package which is close
enough that the patch for CVE-2021-22924 applies without conflicts..

[1] https://curl.se/docs/CVE-2021-22922.html
[2] https://curl.se/docs/CVE-2021-22923.html
[3] https://curl.se/docs/CVE-2021-22926.html
[4] https://curl.se/docs/CVE-2021-22924.html
[5] https://curl.se/docs/CVE-2021-22925.html

(From OE-Core rev: 3631da82b3542df1c1e4bbd499fc2dbe67f5f3ec)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Neetika Singh
02476f72f4 curl: Fix for CVE-2021-22898
Applied trivial patch for cve issue CVE-2021-22898

Link: 39ce47f219

(From OE-Core rev: ba99fce9354555e556158a0af8ec809ae00cb62b)

Signed-off-by: Neetika.Singh <Neetika.Singh@kpit.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Steve Sakoman
1d36ed3306 avahi: fix CVE-2021-3468
A flaw was found in avahi in versions 0.6 up to 0.8. The event used
to signal the termination of the client connection on the avahi Unix
socket is not correctly handled in the client_work function,
allowing a local attacker to trigger an infinite loop. The highest
threat from this vulnerability is to the availability of the avahi
service, which becomes unresponsive after this flaw is triggered.

https://nvd.nist.gov/vuln/detail/CVE-2021-3468
CVE: CVE-2021-3468

(From OE-Core rev: 7ca7aeb7c703bfa22c9f128849e11b62f93d81b5)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:11 +01:00
Steve Sakoman
f30d69e51f libxml2: fix CVE-2021-3541
A flaw was found in libxml2. Exponential entity expansion attack
is possible bypassing all existing protection mechanisms and leading
to denial of service.

https://nvd.nist.gov/vuln/detail/CVE-2021-3541
CVE: 2021-3541

(From OE-Core rev: 1699293a7011797895c284d6ad664c66badba426)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:10 +01:00
Steve Sakoman
4542e5f944 gstreamer: ignore CVE-2021-3497, CVE-2021-3498, and CVE-2021-3522
CPE entries for gst-plugins-* are listed as gstreamer issues
so we need to ignore the false hits for the CVEs we've patched
in plugins recipes

(From OE-Core rev: 55140153e66f13a2d8a673a48f6c21e293415e56)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:10 +01:00
Steve Sakoman
427882f470 Revert "gstreamer-plugins-base: ignore CVE-2021-3522 since it is fixed"
Change is correct but should be in gstreamer recipe not gstreamer-plugins-base

This reverts commit f32e90a7f8918aacda61ef6176eb1655742045b4.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:10 +01:00
Steve Sakoman
8cdd3eb6e6 Revert "gstreamer-plugins-good: ignore CVE-2021-3497/8 since they are fixed"
Change is correct but should be in gstreamer recipe not gstreamer-plugins-good

This reverts commit d853e2bde1ea083f8438e8d7a80f041196d2e38d.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-10 11:14:10 +01:00
Denys Dmytriyenko
7d2f118cb6 bitbake: providers: replace newly added logger.warn() with logger.warning()
Commit https://git.openembedded.org/bitbake/commit/?id=78cd63285713fde59506eb2e71a7b7ee59a594ff
converted logger.info() to logger.warn(), which is deprecated and instead
should use logger.warning():

https://lists.openembedded.org/g/bitbake-devel/topic/82742194#12377

(Bitbake rev: c2a3bda3a29e12472ef7862e424ea1552fab2959)

Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-02 21:34:49 +01:00
Richard Purdie
9c2186108e bitbake: data_smart: Allow colon in variable expansion regex
Now that ":" is a valid character in variable key names, it needs to be
allowed by the variable expansion code too, to match.

(Bitbake rev: c5418eae56cc50dbae7951c055434a0c456c53a4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-30 14:38:36 +01:00
Richard Purdie
1f7b04355c bitbake: data_smart/parse: Allow ':' characters in variable/function names
It is becomming increasingly clear we need to find a way to show what
is/is not an override in our syntax. We need to do this in a way which
is clear to users, readable and in a way we can transition to.

The most effective way I've found to this is to use the ":" charater
to directly replace "_" where an override is being specified. This
includes "append", "prepend" and "remove" which are effectively special
override directives.

This patch simply adds the character to the parser so bitbake accepts
the value but maps it back to "_" internally so there is no behaviour
change.

This change is simple enough it could potentially be backported to older
version of bitbake meaning layers using the new syntax/markup could
work with older releases. Even if other no other changes are accepted
at this time and we don't backport, it does set us on a path where at
some point in future we could
require a more explict syntax.

I've tested this patch by converting oe-core/meta-yocto to the new
syntax for overrides (9000+ changes) and then seeing that builds
continue to work with this patch.

(Bitbake rev: a6d5fb7554e3cf071e453db56a1e7469ac44277c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-30 14:38:36 +01:00
Tomasz Dziendzielski
8f65434827 bitbake: BBHandler: Don't classify shell functions that names start with "python*" as python function
If shell function name starts with 'python' or 'fakeroot' parser wrongly
assumes it's python/fakeroot function.

[YOCTO #14204]

Use regex lookahead assertions to check if 'python' expression is
followed by whitespace or '(' and if 'fakeroot' is followed by
whitespace.

(Bitbake rev: 9df61675f0e9bb67a78bfa1a16b1cf9fa4c333f1)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-30 14:38:36 +01:00
156 changed files with 5654 additions and 688 deletions

View File

@@ -28,7 +28,7 @@ logger = logging.getLogger("BitBake.Data")
__setvar_keyword__ = ["_append", "_prepend", "_remove"]
__setvar_regexp__ = re.compile(r'(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>[^A-Z]*))?$')
__expand_var_regexp__ = re.compile(r"\${[a-zA-Z0-9\-_+./~]+?}")
__expand_var_regexp__ = re.compile(r"\${[a-zA-Z0-9\-_+./~:]+?}")
__expand_python_regexp__ = re.compile(r"\${@.+?}")
__whitespace_split__ = re.compile(r'(\s)')
__override_regexp__ = re.compile(r'[a-z0-9]+')
@@ -481,6 +481,7 @@ class DataSmart(MutableMapping):
def setVar(self, var, value, **loginfo):
#print("var=" + str(var) + " val=" + str(value))
var = var.replace(":", "_")
self.expand_cache = {}
parsing=False
if 'parsing' in loginfo:
@@ -589,6 +590,8 @@ class DataSmart(MutableMapping):
"""
Rename the variable key to newkey
"""
key = key.replace(":", "_")
newkey = newkey.replace(":", "_")
if key == newkey:
bb.warn("Calling renameVar with equivalent keys (%s) is invalid" % key)
return
@@ -637,6 +640,7 @@ class DataSmart(MutableMapping):
self.setVar(var + "_prepend", value, ignore=True, parsing=True)
def delVar(self, var, **loginfo):
var = var.replace(":", "_")
self.expand_cache = {}
loginfo['detail'] = ""
@@ -664,6 +668,7 @@ class DataSmart(MutableMapping):
override = None
def setVarFlag(self, var, flag, value, **loginfo):
var = var.replace(":", "_")
self.expand_cache = {}
if 'op' not in loginfo:
@@ -687,6 +692,7 @@ class DataSmart(MutableMapping):
self.dict["__exportlist"]["_content"].add(var)
def getVarFlag(self, var, flag, expand=True, noweakdefault=False, parsing=False, retparser=False):
var = var.replace(":", "_")
if flag == "_content":
cachename = var
else:
@@ -814,6 +820,7 @@ class DataSmart(MutableMapping):
return value
def delVarFlag(self, var, flag, **loginfo):
var = var.replace(":", "_")
self.expand_cache = {}
local_var, _ = self._findVar(var)
@@ -831,6 +838,7 @@ class DataSmart(MutableMapping):
del self.dict[var][flag]
def appendVarFlag(self, var, flag, value, **loginfo):
var = var.replace(":", "_")
loginfo['op'] = 'append'
loginfo['flag'] = flag
self.varhistory.record(**loginfo)
@@ -838,6 +846,7 @@ class DataSmart(MutableMapping):
self.setVarFlag(var, flag, newvalue, ignore=True)
def prependVarFlag(self, var, flag, value, **loginfo):
var = var.replace(":", "_")
loginfo['op'] = 'prepend'
loginfo['flag'] = flag
self.varhistory.record(**loginfo)
@@ -845,6 +854,7 @@ class DataSmart(MutableMapping):
self.setVarFlag(var, flag, newvalue, ignore=True)
def setVarFlags(self, var, flags, **loginfo):
var = var.replace(":", "_")
self.expand_cache = {}
infer_caller_details(loginfo)
if not var in self.dict:
@@ -859,6 +869,7 @@ class DataSmart(MutableMapping):
self.dict[var][i] = flags[i]
def getVarFlags(self, var, expand = False, internalflags=False):
var = var.replace(":", "_")
local_var, _ = self._findVar(var)
flags = {}
@@ -875,6 +886,7 @@ class DataSmart(MutableMapping):
def delVarFlags(self, var, **loginfo):
var = var.replace(":", "_")
self.expand_cache = {}
if not var in self.dict:
self._makeShadowCopy(var)

View File

@@ -97,6 +97,7 @@ class DataNode(AstNode):
def eval(self, data):
groupd = self.groupd
key = groupd["var"]
key = key.replace(":", "_")
loginfo = {
'variable': key,
'file': self.filename,
@@ -207,6 +208,7 @@ class ExportFuncsNode(AstNode):
def eval(self, data):
for func in self.n:
func = func.replace(":", "_")
calledfunc = self.classname + "_" + func
if data.getVar(func, False) and not data.getVarFlag(func, 'export_func', False):

View File

@@ -22,7 +22,7 @@ from .ConfHandler import include, init
# For compatibility
bb.deprecate_import(__name__, "bb.parse", ["vars_from_file"])
__func_start_regexp__ = re.compile(r"(((?P<py>python)|(?P<fr>fakeroot))\s*)*(?P<func>[\w\.\-\+\{\}\$]+)?\s*\(\s*\)\s*{$" )
__func_start_regexp__ = re.compile(r"(((?P<py>python(?=(\s|\()))|(?P<fr>fakeroot(?=\s)))\s*)*(?P<func>[\w\.\-\+\{\}\$:]+)?\s*\(\s*\)\s*{$" )
__inherit_regexp__ = re.compile(r"inherit\s+(.+)" )
__export_func_regexp__ = re.compile(r"EXPORT_FUNCTIONS\s+(.+)" )
__addtask_regexp__ = re.compile(r"addtask\s+(?P<func>\w+)\s*((before\s*(?P<before>((.*(?=after))|(.*))))|(after\s*(?P<after>((.*(?=before))|(.*)))))*")

View File

@@ -20,7 +20,7 @@ from bb.parse import ParseError, resolve_file, ast, logger, handle
__config_regexp__ = re.compile( r"""
^
(?P<exp>export\s+)?
(?P<var>[a-zA-Z0-9\-_+.${}/~]+?)
(?P<var>[a-zA-Z0-9\-_+.${}/~:]+?)
(\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?
\s* (

View File

@@ -151,7 +151,7 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
if item:
itemstr = " (for item %s)" % item
if preferred_file is None:
logger.warn("preferred version %s of %s not available%s", pv_str, pn, itemstr)
logger.warning("preferred version %s of %s not available%s", pv_str, pn, itemstr)
available_vers = []
for file_set in pkg_pn:
for f in file_set:
@@ -163,7 +163,7 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
available_vers.append(ver_str)
if available_vers:
available_vers.sort()
logger.warn("versions of %s available: %s", pn, ' '.join(available_vers))
logger.warning("versions of %s available: %s", pn, ' '.join(available_vers))
else:
logger.debug(1, "selecting %s as PREFERRED_VERSION %s of package %s%s", preferred_file, pv_str, pn, itemstr)

View File

@@ -111,9 +111,9 @@ ${D}${libdir}/pkgconfig/*.pc
self.assertExecs(set(["sed"]))
def test_parameter_expansion_modifiers(self):
# - and + are also valid modifiers for parameter expansion, but are
# -,+ and : are also valid modifiers for parameter expansion, but are
# valid characters in bitbake variable names, so are not included here
for i in ('=', ':-', ':=', '?', ':?', ':+', '#', '%', '##', '%%'):
for i in ('=', '?', '#', '%', '##', '%%'):
name = "foo%sbar" % i
self.parseExpression("${%s}" % name)
self.assertNotIn(name, self.references)

View File

@@ -16,7 +16,7 @@ import os
import sys
import datetime
current_version = "3.1.10"
current_version = "3.1.11"
# String used in sidebar
version = 'Version: ' + current_version

View File

@@ -1,11 +1,11 @@
DISTRO : "3.1.10"
DISTRO : "3.1.11"
DISTRO_NAME_NO_CAP : "dunfell"
DISTRO_NAME : "Dunfell"
DISTRO_NAME_NO_CAP_MINUS_ONE : "zeus"
YOCTO_DOC_VERSION : "3.1.10"
YOCTO_DOC_VERSION : "3.1.11"
YOCTO_DOC_VERSION_MINUS_ONE : "3.0.2"
DISTRO_REL_TAG : "yocto-3.1.10"
POKYVERSION : "23.0.10"
DISTRO_REL_TAG : "yocto-3.1.11"
POKYVERSION : "23.0.11"
YOCTO_POKY : "poky-&DISTRO_NAME_NO_CAP;-&POKYVERSION;"
YOCTO_DL_URL : "https://downloads.yoctoproject.org"
YOCTO_AB_URL : "https://autobuilder.yoctoproject.org"

View File

@@ -19,6 +19,7 @@
- :yocto_docs:`3.1.8 Documentation </3.1.8>`
- :yocto_docs:`3.1.9 Documentation </3.1.9>`
- :yocto_docs:`3.1.10 Documentation </3.1.10>`
- :yocto_docs:`3.1.11 Documentation </3.1.11>`
==========================
Previous Release Manuals

View File

@@ -3,7 +3,7 @@
var all_versions = {
'dev': 'dev (3.3)',
'3.1.10': '3.1.10',
'3.1.11': '3.1.11',
'3.0.4': '3.0.4',
'2.7.4': '2.7.4',
};

View File

@@ -1,6 +1,6 @@
DISTRO = "poky"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
DISTRO_VERSION = "3.1.10"
DISTRO_VERSION = "3.1.11"
DISTRO_CODENAME = "dunfell"
SDK_VENDOR = "-pokysdk"
SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${DATE}', 'snapshot')}"
@@ -24,7 +24,7 @@ DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}"
PREFERRED_VERSION_linux-yocto ?= "5.4%"
SDK_NAME = "${DISTRO}-${TCLIBC}-${SDKMACHINE}-${IMAGE_BASENAME}-${TUNE_PKGARCH}-${MACHINE}"
SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
SDKPATHINSTALL = "/opt/${DISTRO}/${SDK_VERSION}"
DISTRO_EXTRA_RDEPENDS += " ${POKY_DEFAULT_EXTRA_RDEPENDS}"
DISTRO_EXTRA_RRECOMMENDS += " ${POKY_DEFAULT_EXTRA_RRECOMMENDS}"

View File

@@ -281,7 +281,10 @@ python do_ar_configured() {
# ${STAGING_DATADIR}/aclocal/libtool.m4, so we can't re-run the
# do_configure, we archive the already configured ${S} to
# instead of.
elif pn != 'libtool-native':
# The kernel class functions require it to be on work-shared, we
# don't unpack, patch, configure again, just archive the already
# configured ${S}
elif not (pn == 'libtool-native' or is_work_shared(d)):
def runTask(task):
prefuncs = d.getVarFlag(task, 'prefuncs') or ''
for func in prefuncs.split():
@@ -484,6 +487,9 @@ python do_unpack_and_patch() {
src_orig = '%s.orig' % src
oe.path.copytree(src, src_orig)
if bb.data.inherits_class('dos2unix', d):
bb.build.exec_func('do_convert_crlf_to_lf', d)
# Make sure gcc and kernel sources are patched only once
if not (d.getVar('SRC_URI') == "" or is_work_shared(d)):
bb.build.exec_func('do_patch', d)

View File

@@ -20,7 +20,7 @@
# the only method to check against CVEs. Running this tool
# doesn't guarantee your packages are free of CVEs.
# The product name that the CVE database uses. Defaults to BPN, but may need to
# The product name that the CVE database uses defaults to BPN, but may need to
# be overriden per recipe (for example tiff.bb sets CVE_PRODUCT=libtiff).
CVE_PRODUCT ??= "${BPN}"
CVE_VERSION ??= "${PV}"
@@ -53,7 +53,14 @@ CVE_CHECK_PN_WHITELIST ?= ""
#
CVE_CHECK_WHITELIST ?= ""
# set to "alphabetical" for version using single alphabetical character as increament release
# Layers to be excluded
CVE_CHECK_LAYER_EXCLUDELIST ??= ""
# Layers to be included
CVE_CHECK_LAYER_INCLUDELIST ??= ""
# set to "alphabetical" for version using single alphabetical character as increment release
CVE_VERSION_SUFFIX ??= ""
python cve_save_summary_handler () {
@@ -159,9 +166,12 @@ def get_patches_cves(d):
pn = d.getVar("PN")
cve_match = re.compile("CVE:( CVE\-\d{4}\-\d+)+")
# Matches last CVE-1234-211432 in the file name, also if written
# with small letters. Not supporting multiple CVE id's in a single
# file name.
# Matches the last "CVE-YYYY-ID" in the file name, also if written
# in lowercase. Possible to have multiple CVE IDs in a single
# file name, but only the last one will be detected from the file name.
# However, patch files contents addressing multiple CVE IDs are supported
# (cve_match regular expression)
cve_file_name_match = re.compile(".*([Cc][Vv][Ee]\-\d{4}\-\d+)")
patched_cves = set()
@@ -223,14 +233,11 @@ def check_cves(d, patched_cves):
return ([], [], [])
pv = d.getVar("CVE_VERSION").split("+git")[0]
# If the recipe has been whitlisted we return empty lists
# If the recipe has been whitelisted we return empty lists
if pn in d.getVar("CVE_CHECK_PN_WHITELIST").split():
bb.note("Recipe has been whitelisted, skipping check")
return ([], [], [])
old_cve_whitelist = d.getVar("CVE_CHECK_CVE_WHITELIST")
if old_cve_whitelist:
bb.warn("CVE_CHECK_CVE_WHITELIST is deprecated, please use CVE_CHECK_WHITELIST.")
cve_whitelist = d.getVar("CVE_CHECK_WHITELIST").split()
import sqlite3
@@ -334,11 +341,21 @@ def cve_write_data(d, patched, unpatched, whitelisted, cve_data):
CVE manifest if enabled.
"""
cve_file = d.getVar("CVE_CHECK_LOG")
fdir_name = d.getVar("FILE_DIRNAME")
layer = fdir_name.split("/")[-3]
nvd_link = "https://web.nvd.nist.gov/view/vuln/detail?vulnId="
include_layers = d.getVar("CVE_CHECK_LAYER_INCLUDELIST").split()
exclude_layers = d.getVar("CVE_CHECK_LAYER_EXCLUDELIST").split()
if exclude_layers and layer in exclude_layers:
return
if include_layers and layer not in include_layers:
return
nvd_link = "https://nvd.nist.gov/vuln/detail/"
write_string = ""
unpatched_cves = []
bb.utils.mkdirhier(os.path.dirname(cve_file))

View File

@@ -240,7 +240,7 @@ EXTRA_IMAGECMD_jffs2 ?= "--pad ${JFFS2_ENDIANNESS} --eraseblock=${JFFS2_ERASEBLO
EXTRA_IMAGECMD_ext2 ?= "-i 4096"
EXTRA_IMAGECMD_ext3 ?= "-i 4096"
EXTRA_IMAGECMD_ext4 ?= "-i 4096"
EXTRA_IMAGECMD_btrfs ?= "-n 4096"
EXTRA_IMAGECMD_btrfs ?= "-n 4096 --shrink"
EXTRA_IMAGECMD_f2fs ?= ""
do_image_cpio[depends] += "cpio-native:do_populate_sysroot"

View File

@@ -320,6 +320,21 @@ do_kernel_checkout() {
fi
fi
cd ${S}
# convert any remote branches to local tracking ones
for i in `git branch -a --no-color | grep remotes | grep -v HEAD`; do
b=`echo $i | cut -d' ' -f2 | sed 's%remotes/origin/%%'`;
git show-ref --quiet --verify -- "refs/heads/$b"
if [ $? -ne 0 ]; then
git branch $b $i > /dev/null
fi
done
# Create a working tree copy of the kernel by checking out a branch
machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}"
# checkout and clobber any unimportant files
git checkout -f ${machine_branch}
else
# case: we have no git repository at all.
# To support low bandwidth options for building the kernel, we'll just
@@ -341,21 +356,6 @@ do_kernel_checkout() {
git commit -q -m "baseline commit: creating repo for ${PN}-${PV}"
git clean -d -f
fi
# convert any remote branches to local tracking ones
for i in `git branch -a --no-color | grep remotes | grep -v HEAD`; do
b=`echo $i | cut -d' ' -f2 | sed 's%remotes/origin/%%'`;
git show-ref --quiet --verify -- "refs/heads/$b"
if [ $? -ne 0 ]; then
git branch $b $i > /dev/null
fi
done
# Create a working tree copy of the kernel by checking out a branch
machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}"
# checkout and clobber any unimportant files
git checkout -f ${machine_branch}
}
do_kernel_checkout[dirs] = "${S}"

View File

@@ -31,8 +31,8 @@ python do_populate_lic() {
f.write("%s: %s\n" % (key, info[key]))
}
PSEUDO_IGNORE_PATHS .= ",${@','.join(((d.getVar('COMMON_LICENSE_DIR') or '') + ' ' + (d.getVar('LICENSE_PATH') or '')).split())}"
# it would be better to copy them in do_install_append, but find_license_filesa is python
PSEUDO_IGNORE_PATHS .= ",${@','.join(((d.getVar('COMMON_LICENSE_DIR') or '') + ' ' + (d.getVar('LICENSE_PATH') or '') + ' ' + d.getVar('COREBASE') + '/meta/COPYING').split())}"
# it would be better to copy them in do_install:append, but find_license_filesa is python
python perform_packagecopy_prepend () {
enabled = oe.data.typed_value('LICENSE_CREATE_PACKAGE', d)
if d.getVar('CLASSOVERRIDE') == 'class-target' and enabled:

View File

@@ -106,7 +106,6 @@ python __anonymous () {
d.setVar("LINGUAS_INSTALL", "")
# FIXME, we need to map this to something, not delete it!
d.setVar("PACKAGE_INSTALL_ATTEMPTONLY", "")
bb.build.deltask('do_populate_sdk', d)
bb.build.deltask('do_populate_sdk_ext', d)
return

View File

@@ -66,7 +66,7 @@ python () {
SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}"
SDK_DEPENDS = "virtual/fakeroot-native ${SDK_ARCHIVE_DEPENDS} cross-localedef-native nativesdk-qemuwrapper-cross ${@' '.join(["%s-qemuwrapper-cross" % m for m in d.getVar("MULTILIB_VARIANTS").split()])} qemuwrapper-cross"
PATH_prepend = "${STAGING_DIR_HOST}${SDKPATHNATIVE}${bindir}/crossscripts:${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:"
PATH_prepend = "${WORKDIR}/recipe-sysroot/${SDKPATHNATIVE}${bindir}/crossscripts:${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:"
SDK_DEPENDS += "nativesdk-glibc-locale"
# We want the MULTIARCH_TARGET_SYS to point to the TUNE_PKGARCH, not PACKAGE_ARCH as it
@@ -275,6 +275,7 @@ EOF
# substitute variables
sed -i -e 's#@SDK_ARCH@#${SDK_ARCH}#g' \
-e 's#@SDKPATH@#${SDKPATH}#g' \
-e 's#@SDKPATHINSTALL@#${SDKPATHINSTALL}#g' \
-e 's#@SDKEXTPATH@#${SDKEXTPATH}#g' \
-e 's#@OLDEST_KERNEL@#${SDK_OLDEST_KERNEL}#g' \
-e 's#@REAL_MULTIMACH_TARGET_SYS@#${REAL_MULTIMACH_TARGET_SYS}#g' \

View File

@@ -705,6 +705,7 @@ def sstate_package(ss, d):
pass
except OSError as e:
# Handle read-only file systems gracefully
import errno
if e.errno != errno.EROFS:
raise e
@@ -1014,6 +1015,7 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True,
bb.parse.siggen.checkhashes(sq_data, missed, found, d)
return found
setscene_depvalid[vardepsexclude] = "SSTATE_EXCLUDEDEPS_SYSROOT"
BB_SETSCENE_DEPVALID = "setscene_depvalid"
@@ -1147,6 +1149,7 @@ python sstate_eventhandler() {
pass
except OSError as e:
# Handle read-only file systems gracefully
import errno
if e.errno != errno.EROFS:
raise e

View File

@@ -233,7 +233,7 @@ create_cmdline_wrapper () {
#!/bin/bash
realpath=\`readlink -fn \$0\`
realdir=\`dirname \$realpath\`
exec -a \`dirname \$realpath\`/$cmdname \`dirname \$realpath\`/$cmdname.real $cmdoptions "\$@"
exec -a \$realdir/$cmdname \$realdir/$cmdname.real $cmdoptions "\$@"
END
chmod +x $cmd
}

View File

@@ -421,8 +421,10 @@ PKGDATA_DIR = "${TMPDIR}/pkgdata/${MACHINE}"
SDK_NAME_PREFIX ?= "oecore"
SDK_NAME = "${SDK_NAME_PREFIX}-${SDK_ARCH}-${TUNE_PKGARCH}"
SDKPATH = "/usr/local/${SDK_NAME_PREFIX}-${SDK_ARCH}"
SDKPATH = "/usr/local/oe-sdk-hardcoded-buildpath"
SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
# The path to default to installing the SDK to
SDKPATHINSTALL = "/usr/local/${SDK_NAME_PREFIX}-${SDK_ARCH}"
##################################################################
# Kernel info.
@@ -639,7 +641,7 @@ APACHE_MIRROR = "https://archive.apache.org/dist"
DEBIAN_MIRROR = "http://ftp.debian.org/debian/pool"
GENTOO_MIRROR = "http://distfiles.gentoo.org/distfiles"
GNOME_GIT = "git://gitlab.gnome.org/GNOME"
GNOME_MIRROR = "https://ftp.gnome.org/pub/GNOME/sources"
GNOME_MIRROR = "https://download.gnome.org/sources/"
GNU_MIRROR = "https://ftp.gnu.org/gnu"
GNUPG_MIRROR = "https://www.gnupg.org/ftp/gcrypt"
GPE_MIRROR = "http://gpe.linuxtogo.org/download/source"

View File

@@ -61,10 +61,6 @@ CVE_CHECK_WHITELIST += "CVE-2020-29509 CVE-2020-29511"
# There was a proposed patch https://lists.gnu.org/archive/html/qemu-devel/2021-02/msg06098.html
# however qemu maintainers are sure the patch is incorrect and should not be applied.
# flex:flex-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-6293
# Upstream bug, still open: https://github.com/westes/flex/issues/414
# Causes memory exhaustion so potential DoS but no buffer overflow, low priority
# wget https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-31879
# https://mail.gnu.org/archive/html/bug-wget/2021-02/msg00002.html
# No response upstream as of 2021/5/12

View File

@@ -102,4 +102,4 @@ SSTATE_EXCLUDEDEPS_SYSROOT += ".*->autoconf-archive-native"
# We need to keep bitbake tools in PATH
# Avoid empty path entries
BITBAKEPATH := "${@os.path.dirname(bb.utils.which(d.getVar('PATH'),'bitbake'))}"
PATH := "${@'${BITBAKEPATH}:' if '${BITBAKEPATH}' is not '' else ''}${HOSTTOOLS_DIR}"
PATH := "${@'${BITBAKEPATH}:' if '${BITBAKEPATH}' != '' else ''}${HOSTTOOLS_DIR}"

View File

@@ -56,7 +56,8 @@ if ! xz -V > /dev/null 2>&1; then
exit 1
fi
DEFAULT_INSTALL_DIR="@SDKPATH@"
SDK_BUILD_PATH="@SDKPATH@"
DEFAULT_INSTALL_DIR="@SDKPATHINSTALL@"
SUDO_EXEC=""
EXTRA_TAR_OPTIONS=""
target_sdk_dir=""

View File

@@ -61,7 +61,7 @@ done | xargs -n100 file | grep ":.*\(ASCII\|script\|source\).*text" | \
-e "$target_sdk_dir/post-relocate-setup" \
-e "$target_sdk_dir/${0##*/}" | \
xargs -n100 $SUDO_EXEC sed -i \
-e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:g" \
-e "s:$SDK_BUILD_PATH:$target_sdk_dir:g" \
-e "s:^#! */usr/bin/perl.*:#! /usr/bin/env perl:g" \
-e "s: /usr/bin/perl: /usr/bin/env perl:g"
@@ -72,7 +72,7 @@ fi
# change all symlinks pointing to @SDKPATH@
for l in $($SUDO_EXEC find $native_sysroot -type l); do
$SUDO_EXEC ln -sfn $(readlink $l|$SUDO_EXEC sed -e "s:$DEFAULT_INSTALL_DIR:$target_sdk_dir:") $l
$SUDO_EXEC ln -sfn $(readlink $l|$SUDO_EXEC sed -e "s:$SDK_BUILD_PATH:$target_sdk_dir:") $l
if [ $? -ne 0 ]; then
echo "Failed to setup symlinks. Relocate script failed. Abort!"
exit 1

View File

@@ -136,7 +136,7 @@
"expected_results": ""
},
"3": {
"action": "Check that default values are as follows: \n\tDISTRO - poky \n\tIMAGE_FSTYPES - ext3 jffs2 tar.bz2 \n\tIMAGE_INSTALL_append - \"Not set\" \n\tPACKAGE_CLASES - package_rpm \n SSTATE_DIR - /homeDirectory/poky/sstate-cache \n\n",
"action": "Check that default values are as follows: \n\tDISTRO - poky \n\tIMAGE_FSTYPES - ext3 jffs2 tar.bz2 \n\tIMAGE_INSTALL_append - \"Not set\" \n\tPACKAGE_CLASSES - package_rpm \n SSTATE_DIR - /homeDirectory/poky/sstate-cache \n\n",
"expected_results": ""
},
"4": {

View File

@@ -13,12 +13,12 @@ class DateTest(OERuntimeTestCase):
def setUp(self):
if self.tc.td.get('VIRTUAL-RUNTIME_init_manager') == 'systemd':
self.logger.debug('Stopping systemd-timesyncd daemon')
self.target.run('systemctl disable --now systemd-timesyncd')
self.target.run('systemctl disable --now --runtime systemd-timesyncd')
def tearDown(self):
if self.tc.td.get('VIRTUAL-RUNTIME_init_manager') == 'systemd':
self.logger.debug('Starting systemd-timesyncd daemon')
self.target.run('systemctl enable --now systemd-timesyncd')
self.target.run('systemctl enable --now --runtime systemd-timesyncd')
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['coreutils', 'busybox'])
@@ -28,14 +28,13 @@ class DateTest(OERuntimeTestCase):
self.assertEqual(status, 0, msg=msg)
oldDate = output
sampleDate = '"2016-08-09 10:00:00"'
(status, output) = self.target.run("date -s %s" % sampleDate)
sampleTimestamp = 1488800000
(status, output) = self.target.run("date -s @%d" % sampleTimestamp)
self.assertEqual(status, 0, msg='Date set failed, output: %s' % output)
(status, output) = self.target.run("date -R")
p = re.match('Tue, 09 Aug 2016 10:00:.. \+0000', output)
(status, output) = self.target.run('date +"%s"')
msg = 'The date was not set correctly, output: %s' % output
self.assertTrue(p, msg=msg)
self.assertTrue(int(output) - sampleTimestamp < 300, msg=msg)
(status, output) = self.target.run('date -s "%s"' % oldDate)
msg = 'Failed to reset date, output: %s' % output

View File

@@ -0,0 +1,36 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.data import skipIfQemu
class Ethernet_Test(OERuntimeTestCase):
def set_ip(self, x):
x = x.split(".")
sample_host_address = '150'
x[3] = sample_host_address
x = '.'.join(x)
return x
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_set_virtual_ip(self):
(status, output) = self.target.run("ifconfig eth0 | grep 'inet ' | awk '{print $2}'")
self.assertEqual(status, 0, msg='Failed to get ip address. Make sure you have an ethernet connection on your device, output: %s' % output)
original_ip = output
virtual_ip = self.set_ip(original_ip)
(status, output) = self.target.run("ifconfig eth0:1 %s netmask 255.255.255.0 && sleep 2 && ping -c 5 %s && ifconfig eth0:1 down" % (virtual_ip,virtual_ip))
self.assertEqual(status, 0, msg='Failed to create virtual ip address, output: %s' % output)
@OETestDepends(['ethernet_ip_connman.Ethernet_Test.test_set_virtual_ip'])
def test_get_ip_from_dhcp(self):
(status, output) = self.target.run("connmanctl services | grep -E '*AO Wired|*AR Wired' | awk '{print $3}'")
self.assertEqual(status, 0, msg='No wired interfaces are detected, output: %s' % output)
wired_interfaces = output
(status, output) = self.target.run("ip route | grep default | awk '{print $3}'")
self.assertEqual(status, 0, msg='Failed to retrieve the default gateway, output: %s' % output)
default_gateway = output
(status, output) = self.target.run("connmanctl config %s --ipv4 dhcp && sleep 2 && ping -c 5 %s" % (wired_interfaces,default_gateway))
self.assertEqual(status, 0, msg='Failed to get dynamic IP address via DHCP in connmand, output: %s' % output)

View File

@@ -90,6 +90,7 @@ qemux86_common = [
"glamor initialization failed",
"blk_update_request: I/O error, dev fd0, sector 0 op 0x0:(READ)",
"floppy: error",
'failed to IDENTIFY (I/O error, err_mask=0x4)',
] + common_errors
ignore_errors = {

View File

@@ -0,0 +1,38 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.runtime.decorator.package import OEHasPackage
import re
class RTCTest(OERuntimeTestCase):
def setUp(self):
if self.tc.td.get('VIRTUAL-RUNTIME_init_manager') == 'systemd':
self.logger.debug('Stopping systemd-timesyncd daemon')
self.target.run('systemctl disable --now --runtime systemd-timesyncd')
def tearDown(self):
if self.tc.td.get('VIRTUAL-RUNTIME_init_manager') == 'systemd':
self.logger.debug('Starting systemd-timesyncd daemon')
self.target.run('systemctl enable --now --runtime systemd-timesyncd')
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['coreutils', 'busybox'])
def test_rtc(self):
(status, output) = self.target.run('hwclock -r')
self.assertEqual(status, 0, msg='Failed to get RTC time, output: %s' % output)
(status, current_datetime) = self.target.run('date +"%m%d%H%M%Y"')
self.assertEqual(status, 0, msg='Failed to get system current date & time, output: %s' % current_datetime)
example_datetime = '062309452008'
(status, output) = self.target.run('date %s ; hwclock -w ; hwclock -r' % example_datetime)
check_hwclock = re.search('2008-06-23 09:45:..', output)
self.assertTrue(check_hwclock, msg='The RTC time was not set correctly, output: %s' % output)
(status, output) = self.target.run('date %s' % current_datetime)
self.assertEqual(status, 0, msg='Failed to reset system date & time, output: %s' % output)
(status, output) = self.target.run('hwclock -w')
self.assertEqual(status, 0, msg='Failed to reset RTC time, output: %s' % output)

View File

@@ -0,0 +1,33 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.data import skipIfQemu
import threading
import time
class Suspend_Test(OERuntimeTestCase):
def test_date(self):
(status, output) = self.target.run('date')
self.assertEqual(status, 0, msg = 'Failed to run date command, output : %s' % output)
def test_ping(self):
t_thread = threading.Thread(target=self.target.run, args=("ping 8.8.8.8",))
t_thread.start()
time.sleep(2)
status, output = self.target.run('pidof ping')
self.target.run('kill -9 %s' % output)
self.assertEqual(status, 0, msg = 'Not able to find process that runs ping, output : %s' % output)
def set_suspend(self):
(status, output) = self.target.run('sudo rtcwake -m mem -s 10')
self.assertEqual(status, 0, msg = 'Failed to suspends your system to RAM, output : %s' % output)
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_suspend(self):
self.test_date()
self.test_ping()
self.set_suspend()
self.test_date()
self.test_ping()

View File

@@ -0,0 +1,21 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.runtime.decorator.package import OEHasPackage
import threading
import time
class TerminalTest(OERuntimeTestCase):
@OEHasPackage(['matchbox-terminal'])
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_terminal_running(self):
t_thread = threading.Thread(target=self.target.run, args=("export DISPLAY=:0 && matchbox-terminal -e 'sh -c \"uname -a && exec sh\"'",))
t_thread.start()
time.sleep(2)
status, output = self.target.run('pidof matchbox-terminal')
number_of_terminal = len(output.split())
self.assertEqual(number_of_terminal, 1, msg='There should be only one terminal being launched. Number of terminal launched : %s' % number_of_terminal)
self.target.run('kill -9 %s' % output)
self.assertEqual(status, 0, msg='Not able to find process that runs terminal.')

View File

@@ -0,0 +1,22 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.data import skipIfQemu
from oeqa.runtime.decorator.package import OEHasPackage
class USB_HID_Test(OERuntimeTestCase):
def keyboard_mouse_simulation(self):
(status, output) = self.target.run('export DISPLAY=:0 && xdotool key F2 && xdotool mousemove 100 100')
return self.assertEqual(status, 0, msg = 'Failed to simulate keyboard/mouse input event, output : %s' % output)
def set_suspend(self):
(status, output) = self.target.run('sudo rtcwake -m mem -s 10')
return self.assertEqual(status, 0, msg = 'Failed to suspends your system to RAM, output : %s' % output)
@OEHasPackage(['xdotool'])
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_USB_Hid_input(self):
self.keyboard_mouse_simulation()
self.set_suspend()
self.keyboard_mouse_simulation()

View File

@@ -33,7 +33,7 @@ class GlibcSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
ptestsuite = "glibc-user" if ssh is None else "glibc"
self.ptest_section(ptestsuite)
with open(os.path.join(builddir, "tests.sum"), "r") as f:
with open(os.path.join(builddir, "tests.sum"), "r", errors='replace') as f:
for test, result in parse_values(f):
self.ptest_result(ptestsuite, test, result)

View File

@@ -216,6 +216,7 @@ class TestImage(OESelftestTestCase):
Author: Alexander Kanavin <alex.kanavin@gmail.com>
"""
import subprocess, os
self.skipTest("Crashes in mesa observed with this test on dunfell: https://bugzilla.yoctoproject.org/show_bug.cgi?id=14527")
try:
content = os.listdir("/dev/dri")
if len([i for i in content if i.startswith('render')]) == 0:

View File

@@ -120,7 +120,10 @@ class QemuRunner:
import fcntl
fl = fcntl.fcntl(o, fcntl.F_GETFL)
fcntl.fcntl(o, fcntl.F_SETFL, fl | os.O_NONBLOCK)
return os.read(o.fileno(), 1000000).decode("utf-8")
try:
return os.read(o.fileno(), 1000000).decode("utf-8")
except BlockingIOError:
return ""
def handleSIGCHLD(self, signum, frame):
@@ -435,6 +438,8 @@ class QemuRunner:
if self.runqemu.poll() is None:
self.logger.debug("Sending SIGKILL to runqemu")
os.killpg(os.getpgid(self.runqemu.pid), signal.SIGKILL)
if not self.runqemu.stdout.closed:
self.logger.info("Output from runqemu:\n%s" % self.getOutput(self.runqemu.stdout))
self.runqemu.stdin.close()
self.runqemu.stdout.close()
self.runqemu_exited = True

View File

@@ -21,6 +21,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
SRC_URI = "https://github.com/lathiat/avahi/releases/download/v${PV}/avahi-${PV}.tar.gz \
file://fix-CVE-2017-6519.patch \
file://CVE-2021-3468.patch \
"
UPSTREAM_CHECK_URI = "https://github.com/lathiat/avahi/releases/"

View File

@@ -0,0 +1,42 @@
From 447affe29991ee99c6b9732fc5f2c1048a611d3b Mon Sep 17 00:00:00 2001
From: Riccardo Schirone <sirmy15@gmail.com>
Date: Fri, 26 Mar 2021 11:50:24 +0100
Subject: [PATCH] Avoid infinite-loop in avahi-daemon by handling HUP event in
client_work
If a client fills the input buffer, client_work() disables the
AVAHI_WATCH_IN event, thus preventing the function from executing the
`read` syscall the next times it is called. However, if the client then
terminates the connection, the socket file descriptor receives a HUP
event, which is not handled, thus the kernel keeps marking the HUP event
as occurring. While iterating over the file descriptors that triggered
an event, the client file descriptor will keep having the HUP event and
the client_work() function is always called with AVAHI_WATCH_HUP but
without nothing being done, thus entering an infinite loop.
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=984938
Upstream-Status: Backport
CVE: CVE-2021-3468
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
avahi-daemon/simple-protocol.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/avahi-daemon/simple-protocol.c b/avahi-daemon/simple-protocol.c
index 3e0ebb11..6c0274d6 100644
--- a/avahi-daemon/simple-protocol.c
+++ b/avahi-daemon/simple-protocol.c
@@ -424,6 +424,11 @@ static void client_work(AvahiWatch *watch, AVAHI_GCC_UNUSED int fd, AvahiWatchEv
}
}
+ if (events & AVAHI_WATCH_HUP) {
+ client_free(c);
+ return;
+ }
+
c->server->poll_api->watch_update(
watch,
(c->outbuf_length > 0 ? AVAHI_WATCH_OUT : 0) |

View File

@@ -23,7 +23,7 @@ SRC_URI_append_class-nativesdk = " \
file://environment.d-openssl.sh \
"
SRC_URI[sha256sum] = "892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5"
SRC_URI[sha256sum] = "0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1"
inherit lib_package multilib_header multilib_script ptest
MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"

View File

@@ -1,57 +1,31 @@
SUMMARY = "D-Bus test package (for D-bus functionality testing only)"
HOMEPAGE = "http://dbus.freedesktop.org"
SECTION = "base"
LICENSE = "AFL-2.1 | GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c"
require dbus.inc
SRC_URI += "file://run-ptest \
file://python-config.patch \
"
DEPENDS = "dbus glib-2.0"
RDEPENDS_${PN}-dev = ""
SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
file://tmpdir.patch \
file://run-ptest \
file://python-config.patch \
file://clear-guid_from_server-if-send_negotiate_unix_f.patch \
"
SRC_URI[md5sum] = "2dbeae80dfc9e3632320c6a53d5e8890"
SRC_URI[sha256sum] = "54a22d2fa42f2eb2a871f32811c6005b531b9613b1b93a0d269b05e7549fec80"
S="${WORKDIR}/dbus-${PV}"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:"
inherit autotools pkgconfig gettext ptest upstream-version-is-even
inherit ptest
EXTRA_OECONF_X = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
EXTRA_OECONF_X_class-native = "--without-x"
EXTRA_OECONF = "--enable-tests \
EXTRA_OECONF += "--enable-tests \
--enable-modular-tests \
--enable-installed-tests \
--enable-checks \
--enable-asserts \
--enable-largefile \
--disable-xml-docs \
--disable-doxygen-docs \
--disable-libaudit \
--with-dbus-test-dir=${PTEST_PATH} \
${EXTRA_OECONF_X} \
--enable-embedded-tests \
"
EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}"
PACKAGECONFIG_class-native = ""
PACKAGECONFIG_class-nativesdk = ""
PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd"
PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session"
PACKAGECONFIG[verbose-mode] = "--enable-verbose-mode,,,"
do_install() {
:
}

View File

@@ -0,0 +1,34 @@
inherit autotools pkgconfig gettext upstream-version-is-even
LICENSE = "AFL-2.1 | GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c"
SRC_URI = "https://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
file://tmpdir.patch \
file://dbus-1.init \
file://clear-guid_from_server-if-send_negotiate_unix_f.patch \
"
SRC_URI[md5sum] = "dfe8a71f412e0b53be26ed4fbfdc91c4"
SRC_URI[sha256sum] = "f77620140ecb4cdc67f37fb444f8a6bea70b5b6461f12f1cbe2cec60fa7de5fe"
EXTRA_OECONF = "--disable-xml-docs \
--disable-doxygen-docs \
--disable-libaudit \
--enable-largefile \
--with-system-socket=/run/dbus/system_bus_socket \
"
EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
EXTRA_OECONF_append_class-native = " --disable-selinux"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
user-session \
"
PACKAGECONFIG_class-native = ""
PACKAGECONFIG_class-nativesdk = ""
PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd"
PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session"
PACKAGECONFIG[verbose-mode] = "--enable-verbose-mode,,,"

View File

@@ -1,78 +0,0 @@
From 872b085f12f56da25a2dbd9bd0b2dff31d5aea63 Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@collabora.com>
Date: Thu, 16 Apr 2020 14:45:11 +0100
Subject: [PATCH] sysdeps-unix: On MSG_CTRUNC, close the fds we did receive
MSG_CTRUNC indicates that we have received fewer fds that we should
have done because the buffer was too small, but we were treating it
as though it indicated that we received *no* fds. If we received any,
we still have to make sure we close them, otherwise they will be leaked.
On the system bus, if an attacker can induce us to leak fds in this
way, that's a local denial of service via resource exhaustion.
Reported-by: Kevin Backhouse, GitHub Security Lab
Fixes: dbus#294
Fixes: CVE-2020-12049
Fixes: GHSL-2020-057
Upstream-Status: Backport [https://gitlab.freedesktop.org/dbus/dbus/-/commit/872b085f12f56da25a2dbd9bd0b2dff31d5aea63]
CVE: CVE-2020-12049
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
---
dbus/dbus-sysdeps-unix.c | 32 ++++++++++++++++++++------------
1 file changed, 20 insertions(+), 12 deletions(-)
diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c
index b5fc2466..b176dae1 100644
--- a/dbus/dbus-sysdeps-unix.c
+++ b/dbus/dbus-sysdeps-unix.c
@@ -435,18 +435,6 @@ _dbus_read_socket_with_unix_fds (DBusSocket fd,
struct cmsghdr *cm;
dbus_bool_t found = FALSE;
- if (m.msg_flags & MSG_CTRUNC)
- {
- /* Hmm, apparently the control data was truncated. The bad
- thing is that we might have completely lost a couple of fds
- without chance to recover them. Hence let's treat this as a
- serious error. */
-
- errno = ENOSPC;
- _dbus_string_set_length (buffer, start);
- return -1;
- }
-
for (cm = CMSG_FIRSTHDR(&m); cm; cm = CMSG_NXTHDR(&m, cm))
if (cm->cmsg_level == SOL_SOCKET && cm->cmsg_type == SCM_RIGHTS)
{
@@ -501,6 +489,26 @@ _dbus_read_socket_with_unix_fds (DBusSocket fd,
if (!found)
*n_fds = 0;
+ if (m.msg_flags & MSG_CTRUNC)
+ {
+ unsigned int i;
+
+ /* Hmm, apparently the control data was truncated. The bad
+ thing is that we might have completely lost a couple of fds
+ without chance to recover them. Hence let's treat this as a
+ serious error. */
+
+ /* We still need to close whatever fds we *did* receive,
+ * otherwise they'll never get closed. (CVE-2020-12049) */
+ for (i = 0; i < *n_fds; i++)
+ close (fds[i]);
+
+ *n_fds = 0;
+ errno = ENOSPC;
+ _dbus_string_set_length (buffer, start);
+ return -1;
+ }
+
/* put length back (doesn't actually realloc) */
_dbus_string_set_length (buffer, start + bytes_read);
--
2.25.1

View File

@@ -2,9 +2,9 @@ SUMMARY = "D-Bus message bus"
DESCRIPTION = "D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a \"single instance\" application or daemon, and to launch applications and daemons on demand when their services are needed."
HOMEPAGE = "https://dbus.freedesktop.org"
SECTION = "base"
LICENSE = "AFL-2.1 | GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c"
require dbus.inc
DEPENDS = "expat virtual/libintl autoconf-archive"
RDEPENDS_dbus_class-native = ""
RDEPENDS_dbus_class-nativesdk = ""
@@ -12,17 +12,7 @@ PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '',
ALLOW_EMPTY_dbus-ptest = "1"
RDEPENDS_dbus-ptest_class-target = "dbus-test-ptest"
SRC_URI = "https://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
file://tmpdir.patch \
file://dbus-1.init \
file://clear-guid_from_server-if-send_negotiate_unix_f.patch \
file://CVE-2020-12049.patch \
"
SRC_URI[md5sum] = "2dbeae80dfc9e3632320c6a53d5e8890"
SRC_URI[sha256sum] = "54a22d2fa42f2eb2a871f32811c6005b531b9613b1b93a0d269b05e7549fec80"
inherit useradd autotools pkgconfig gettext update-rc.d upstream-version-is-even
inherit useradd update-rc.d
INITSCRIPT_NAME = "dbus-1"
INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ."
@@ -93,27 +83,7 @@ pkg_postinst_dbus() {
}
EXTRA_OECONF = "--disable-tests \
--disable-xml-docs \
--disable-doxygen-docs \
--disable-libaudit \
--enable-largefile \
--with-system-socket=/run/dbus/system_bus_socket \
"
EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
EXTRA_OECONF_append_class-native = " --disable-selinux"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
user-session \
"
PACKAGECONFIG_class-native = ""
PACKAGECONFIG_class-nativesdk = ""
PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd"
PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session"
EXTRA_OECONF += "--disable-tests"
do_install() {
autotools_do_install

View File

@@ -0,0 +1,72 @@
From 42d359350510506b87101cf77202fefcbfc790cb Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@linux-m68k.org>
Date: Thu, 27 May 2021 12:49:47 +0200
Subject: [PATCH] Use __pthread_attr_copy in mq_notify (bug 27896)
Make a deep copy of the pthread attribute object to remove a potential
use-after-free issue.
Upstream-Status: Backport
CVE: CVE-2021-33574 patch#1
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
NEWS | 4 ++++
sysdeps/unix/sysv/linux/mq_notify.c | 15 ++++++++++-----
2 files changed, 14 insertions(+), 5 deletions(-)
Index: git/NEWS
===================================================================
--- git.orig/NEWS
+++ git/NEWS
@@ -7,6 +7,10 @@ using `glibc' in the "product" field.
Version 2.31.1
+ CVE-2021-33574: The mq_notify function has a potential use-after-free
+ issue when using a notification type of SIGEV_THREAD and a thread
+ attribute with a non-default affinity mask.
+
The following bugs are resolved with this release:
[19519] iconv(1) with -c option hangs on illegal multi-byte sequences
(CVE-2016-10228)
Index: git/sysdeps/unix/sysv/linux/mq_notify.c
===================================================================
--- git.orig/sysdeps/unix/sysv/linux/mq_notify.c
+++ git/sysdeps/unix/sysv/linux/mq_notify.c
@@ -135,8 +135,11 @@ helper_thread (void *arg)
(void) __pthread_barrier_wait (&notify_barrier);
}
else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED)
- /* The only state we keep is the copy of the thread attributes. */
- free (data.attr);
+ {
+ /* The only state we keep is the copy of the thread attributes. */
+ pthread_attr_destroy (data.attr);
+ free (data.attr);
+ }
}
return NULL;
}
@@ -257,8 +260,7 @@ mq_notify (mqd_t mqdes, const struct sig
if (data.attr == NULL)
return -1;
- memcpy (data.attr, notification->sigev_notify_attributes,
- sizeof (pthread_attr_t));
+ __pthread_attr_copy (data.attr, notification->sigev_notify_attributes);
}
/* Construct the new request. */
@@ -272,7 +274,10 @@ mq_notify (mqd_t mqdes, const struct sig
/* If it failed, free the allocated memory. */
if (__glibc_unlikely (retval != 0))
- free (data.attr);
+ {
+ pthread_attr_destroy (data.attr);
+ free (data.attr);
+ }
return retval;
}

View File

@@ -0,0 +1,73 @@
From 217b6dc298156bdb0d6aea9ea93e7e394a5ff091 Mon Sep 17 00:00:00 2001
From: Florian Weimer <fweimer@redhat.com>
Date: Tue, 1 Jun 2021 17:51:41 +0200
Subject: [PATCH] Fix use of __pthread_attr_copy in mq_notify (bug 27896)
__pthread_attr_copy can fail and does not initialize the attribute
structure in that case.
If __pthread_attr_copy is never called and there is no allocated
attribute, pthread_attr_destroy should not be called, otherwise
there is a null pointer dereference in rt/tst-mqueue6.
Fixes commit 42d359350510506b87101cf77202fefcbfc790cb
("Use __pthread_attr_copy in mq_notify (bug 27896)").
Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
https://sourceware.org/bugzilla/attachment.cgi?id=13497
Upstream-Status: Backport
CVE: CVE-2021-33574 patch#2
Signed-off-by: Armin Kuster &lt;akuster@mvista.com&gt;
---
Index: git/sysdeps/unix/sysv/linux/mq_notify.c
===================================================================
--- git.orig/sysdeps/unix/sysv/linux/mq_notify.c
+++ git/sysdeps/unix/sysv/linux/mq_notify.c
@@ -260,7 +260,34 @@ mq_notify (mqd_t mqdes, const struct sig
if (data.attr == NULL)
return -1;
- __pthread_attr_copy (data.attr, notification->sigev_notify_attributes);
+ memcpy (data.attr, notification->sigev_notify_attributes,
+ sizeof (pthread_attr_t));
+
+ struct pthread_attr *source =
+ (struct pthread_attr *) (notification->sigev_notify_attributes);
+ struct pthread_attr *target = (struct pthread_attr *) (data.attr);
+ cpu_set_t *newp;
+ cpu_set_t *cpuset = source->cpuset;
+ size_t cpusetsize = source->cpusetsize;
+
+ /* alloc a new memory for cpuset to avoid use after free */
+ if (cpuset != NULL && cpusetsize > 0)
+ {
+ newp = (cpu_set_t *) malloc (cpusetsize);
+ if (newp == NULL)
+ {
+ free(data.attr);
+ return -1;
+ }
+
+ memcpy (newp, cpuset, cpusetsize);
+ target->cpuset = newp;
+ }
+ else
+ {
+ target->cpuset = NULL;
+ target->cpusetsize = 0;
+ }
}
/* Construct the new request. */
@@ -273,7 +300,7 @@ mq_notify (mqd_t mqdes, const struct sig
int retval = INLINE_SYSCALL (mq_notify, 2, mqdes, &se);
/* If it failed, free the allocated memory. */
- if (__glibc_unlikely (retval != 0))
+ if (retval != 0 && data.attr != NULL)
{
pthread_attr_destroy (data.attr);
free (data.attr);

View File

@@ -0,0 +1,41 @@
From b805aebd42364fe696e417808a700fdb9800c9e8 Mon Sep 17 00:00:00 2001
From: Nikita Popov <npv1310@gmail.com>
Date: Mon, 9 Aug 2021 20:17:34 +0530
Subject: [PATCH] librt: fix NULL pointer dereference (bug 28213)
Helper thread frees copied attribute on NOTIFY_REMOVED message
received from the OS kernel. Unfortunately, it fails to check whether
copied attribute actually exists (data.attr != NULL). This worked
earlier because free() checks passed pointer before actually
attempting to release corresponding memory. But
__pthread_attr_destroy assumes pointer is not NULL.
So passing NULL pointer to __pthread_attr_destroy will result in
segmentation fault. This scenario is possible if
notification->sigev_notify_attributes == NULL (which means default
thread attributes should be used).
Signed-off-by: Nikita Popov <npv1310@gmail.com>
Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
Upstream-Status: Backport
CVE: CVE-2021-38604
Signed-off-by: Armin Kuser <akuster@mvista.com>
---
sysdeps/unix/sysv/linux/mq_notify.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: git/sysdeps/unix/sysv/linux/mq_notify.c
===================================================================
--- git.orig/sysdeps/unix/sysv/linux/mq_notify.c
+++ git/sysdeps/unix/sysv/linux/mq_notify.c
@@ -134,7 +134,7 @@ helper_thread (void *arg)
to wait until it is done with it. */
(void) __pthread_barrier_wait (&notify_barrier);
}
- else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED)
+ else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED && data.attr != NULL)
{
/* The only state we keep is the copy of the thread attributes. */
pthread_attr_destroy (data.attr);

View File

@@ -18,6 +18,16 @@ CVE_CHECK_WHITELIST += "CVE-2019-1010022 CVE-2019-1010023 CVE-2019-1010024"
# Potential patch at https://sourceware.org/bugzilla/show_bug.cgi?id=22853
CVE_CHECK_WHITELIST += "CVE-2019-1010025"
# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-35942
# The wordexp function in the GNU C Library (aka glibc) through 2.33 may crash
# or read arbitrary memory in parse_param (in posix/wordexp.c) when called with
# an untrusted, crafted pattern, potentially resulting in a denial of service
# or disclosure of information. Patch was backported to 2.31 branch already:
# https://sourceware.org/git/?p=glibc.git;a=commit;h=4f0a61f75385c9a5879cbe7202042e88f692a3c8
# which is already included in the dunfell branch of poky:
# https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?h=dunfell&id=e1e89ff7d75c3d2223f9e3bd875b9b0c5e15836b
CVE_CHECK_WHITELIST += "CVE-2021-35942"
DEPENDS += "gperf-native bison-native make-native"
NATIVESDKFIXES ?= ""
@@ -57,6 +67,9 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
file://0028-inject-file-assembly-directives.patch \
file://0029-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
file://CVE-2020-29573.patch \
file://CVE-2021-33574_1.patch \
file://CVE-2021-33574_2.patch \
file://CVE-2021-38604.patch \
"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build-${TARGET_SYS}"

View File

@@ -0,0 +1,65 @@
From e2263b58d7733835355d7b46c3caa96d911a4717 Mon Sep 17 00:00:00 2001
From: Simon Schwarz <simon.schwarz@infoteam.de>
Date: Fri, 6 Nov 2020 08:53:20 +0100
Subject: [PATCH] inet6.defn: Added -1 option to dhclient on upping an
interface
This prevents hangs on startup when no server is available and dhcpv6 is used
Upstream-Status: Pending
Signed-off-by: Simon Schwarz <simon.schwarz@infoteam.de>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
inet6.defn | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/inet6.defn b/inet6.defn
index 73dce24..25022e3 100644
--- a/inet6.defn
+++ b/inet6.defn
@@ -29,9 +29,9 @@ method auto
if (var_set("accept_ra", ifd) && !var_true("accept_ra", ifd))
/sbin/ip link set dev %iface% up
/lib/ifupdown/wait-for-ll6.sh if (var_true("dhcp", ifd) && execable("/lib/ifupdown/wait-for-ll6.sh"))
- /sbin/dhclient -6 -v -P -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface% \
+ /sbin/dhclient -6 -1 -v -P -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface% \
if (var_true("dhcp", ifd) && execable("/sbin/dhclient") && var_true("request_prefix", ifd))
- /sbin/dhclient -6 -v -S -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface% \
+ /sbin/dhclient -6 -1 -v -S -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface% \
elsif (var_true("dhcp", ifd) && execable("/sbin/dhclient"))
echo 'No DHCPv6 client software found!' >&2; false \
elsif (var_true("dhcp", ifd))
@@ -154,9 +154,9 @@ method dhcp
if (var_set("accept_ra", ifd) && !var_true("accept_ra", ifd))
/sbin/ip link set dev %iface% [[address %hwaddress%]] up
/lib/ifupdown/wait-for-ll6.sh if (execable("/lib/ifupdown/wait-for-ll6.sh"))
- /sbin/dhclient -6 -v -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -P -N -df /var/lib/dhcp/dhclient.%iface%.leases %iface% \
+ /sbin/dhclient -6 -1 -v -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -P -N -df /var/lib/dhcp/dhclient.%iface%.leases %iface% \
if (execable("/sbin/dhclient") && var_true("request_prefix", ifd))
- /sbin/dhclient -6 -v -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface% \
+ /sbin/dhclient -6 -1 -v -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface% \
elsif (execable("/sbin/dhclient"))
echo 'No DHCPv6 client software found!' >&2; false \
elsif (1)
@@ -325,7 +325,7 @@ method dhcp
up
/sbin/ifconfig %iface% [[link %hwaddress%]] up
- /sbin/dhclient -6 -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface% \
+ /sbin/dhclient -6 -1 -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface% \
if (execable("/sbin/dhclient"))
echo 'No DHCPv6 client software found!' >&2; false \
elsif (1)
@@ -397,7 +397,7 @@ method dhcp
up
[[Warning: Option hwaddress: %hwaddress% not yet supported]]
inetutils-ifconfig --interface %iface% --up
- /sbin/dhclient -6 -pf /run/dhclient6.%iface///.%.pid -lf /var/lib/dhcp/dhclient6.%iface///.%.leases -I -df /var/lib/dhcp/dhclient.%iface///.%.leases %iface% \
+ /sbin/dhclient -6 -1 -pf /run/dhclient6.%iface///.%.pid -lf /var/lib/dhcp/dhclient6.%iface///.%.leases -I -df /var/lib/dhcp/dhclient.%iface///.%.leases %iface% \
if (execable("/sbin/dhclient"))
echo 'No DHCPv6 client software found!' >&2; false \
elsif (1)
--
2.17.1

View File

@@ -12,6 +12,7 @@ SRC_URI = "git://salsa.debian.org/debian/ifupdown.git;protocol=https \
file://99_network \
file://0001-Define-FNM_EXTMATCH-for-musl.patch \
file://0001-Makefile-do-not-use-dpkg-for-determining-OS-type.patch \
file://0001-inet6.defn-Added-1-option-to-dhclient-on-upping-an-i.patch \
file://run-ptest \
${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://tweak-ptest-script.patch', '', d)} \
"

View File

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

View File

@@ -1,4 +1,4 @@
#/bin/sh
#!/bin/sh
# Copyright (C) 2011 O.S. Systems Software LTDA.
# Licensed on MIT

View File

@@ -0,0 +1,73 @@
From 8598060bacada41a0eb09d95c97744ff4e428f8e Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Thu, 13 May 2021 14:55:12 +0200
Subject: [PATCH] Patch for security issue CVE-2021-3541
This is relapted to parameter entities expansion and following
the line of the billion laugh attack. Somehow in that path the
counting of parameters was missed and the normal algorithm based
on entities "density" was useless.
Upstream-Status: Backport
[https://gitlab.gnome.org/GNOME/libxml2/-/commit/8598060bacada41a0eb09d95c97744ff4e428f8e]
CVE: CVE-2021-3541
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
parser.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/parser.c b/parser.c
index f5e5e169..c9312fa4 100644
--- a/parser.c
+++ b/parser.c
@@ -140,6 +140,7 @@ xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size,
xmlEntityPtr ent, size_t replacement)
{
size_t consumed = 0;
+ int i;
if ((ctxt == NULL) || (ctxt->options & XML_PARSE_HUGE))
return (0);
@@ -177,6 +178,28 @@ xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size,
rep = NULL;
}
}
+
+ /*
+ * Prevent entity exponential check, not just replacement while
+ * parsing the DTD
+ * The check is potentially costly so do that only once in a thousand
+ */
+ if ((ctxt->instate == XML_PARSER_DTD) && (ctxt->nbentities > 10000) &&
+ (ctxt->nbentities % 1024 == 0)) {
+ for (i = 0;i < ctxt->inputNr;i++) {
+ consumed += ctxt->inputTab[i]->consumed +
+ (ctxt->inputTab[i]->cur - ctxt->inputTab[i]->base);
+ }
+ if (ctxt->nbentities > consumed * XML_PARSER_NON_LINEAR) {
+ xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
+ ctxt->instate = XML_PARSER_EOF;
+ return (1);
+ }
+ consumed = 0;
+ }
+
+
+
if (replacement != 0) {
if (replacement < XML_MAX_TEXT_LENGTH)
return(0);
@@ -7963,6 +7986,9 @@ xmlParsePEReference(xmlParserCtxtPtr ctxt)
xmlChar start[4];
xmlCharEncoding enc;
+ if (xmlParserEntityCheck(ctxt, 0, entity, 0))
+ return;
+
if ((entity->etype == XML_EXTERNAL_PARAMETER_ENTITY) &&
((ctxt->options & XML_PARSE_NOENT) == 0) &&
((ctxt->options & XML_PARSE_DTDVALID) == 0) &&
--
GitLab

View File

@@ -26,6 +26,7 @@ SRC_URI = "http://www.xmlsoft.org/sources/libxml2-${PV}.tar.gz;name=libtar \
file://CVE-2021-3517.patch \
file://CVE-2021-3537.patch \
file://CVE-2021-3518.patch \
file://CVE-2021-3541.patch \
"
SRC_URI[libtar.md5sum] = "10942a1dc23137a8aa07f0639cbfece5"

View File

@@ -0,0 +1,51 @@
From 498627ebda6271b59920f43a0b9b6187edeb7b09 Mon Sep 17 00:00:00 2001
From: Adrian Herrera <adr.her.arc.95@gmail.com>
Date: Mon, 22 Mar 2021 21:06:47 +0000
Subject: [PATCH] Fix VLA parameter warning
Make VLA buffer types consistent in declarations and definitions.
Resolves build crash when using -Werror due to "vla-parameter" warning.
Upstream-Status: Submitted [https://github.com/google/brotli/pull/893]
Signed-off-by: Adrian Herrera <adr.her.arc.95@gmail.com>
---
c/dec/decode.c | 6 ++++--
c/enc/encode.c | 5 +++--
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c b/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c
index 114c505..bb6f1ab 100644
--- a/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c
+++ b/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c
@@ -2030,8 +2030,10 @@ static BROTLI_NOINLINE BrotliDecoderErrorCode SafeProcessCommands(
}
BrotliDecoderResult BrotliDecoderDecompress(
- size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size,
- uint8_t* decoded_buffer) {
+ size_t encoded_size,
+ const uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(encoded_size)],
+ size_t* decoded_size,
+ uint8_t decoded_buffer[BROTLI_ARRAY_PARAM(*decoded_size)]) {
BrotliDecoderState s;
BrotliDecoderResult result;
size_t total_out = 0;
diff --git a/c/enc/encode.c b/c/enc/encode.c
index 68548ef..ab0a490 100644
--- a/BaseTools/Source/C/BrotliCompress/brotli/c/enc/encode.c
+++ c/BaseTools/Source/C/BrotliCompress/brotli/c/enc/encode.c
@@ -1470,8 +1470,9 @@ static size_t MakeUncompressedStream(
BROTLI_BOOL BrotliEncoderCompress(
int quality, int lgwin, BrotliEncoderMode mode, size_t input_size,
- const uint8_t* input_buffer, size_t* encoded_size,
- uint8_t* encoded_buffer) {
+ const uint8_t input_buffer[BROTLI_ARRAY_PARAM(input_size)],
+ size_t* encoded_size,
+ uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(*encoded_size)]) {
BrotliEncoderState* s;
size_t out_size = *encoded_size;
const uint8_t* input_start = input_buffer;
--
2.31.1

View File

@@ -17,7 +17,8 @@ SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=https \
file://0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch \
file://0003-ovmf-enable-long-path-file.patch \
file://0004-ovmf-Update-to-latest.patch \
"
file://0001-Fix-VLA-parameter-warning.patch \
"
PV = "edk2-stable202008"
SRCREV = "06dc822d045c2bb42e497487935485302486e151"
@@ -37,7 +38,7 @@ EDK_TOOLS_DIR="edk2_basetools"
BUILD_OPTIMIZATION="-pipe"
# OVMF supports IA only, although it could conceivably support ARM someday.
COMPATIBLE_HOST='(i.86|x86_64).*'
COMPATIBLE_HOST_class-target='(i.86|x86_64).*'
# Additional build flags for OVMF with Secure Boot.
# Fedora also uses "-D SMM_REQUIRE -D EXCLUDE_SHELL_FROM_FD".

View File

@@ -0,0 +1,42 @@
From 38e980a6a5a3442c2f48b1f827284388096d8ca5 Mon Sep 17 00:00:00 2001
From: Yu Watanabe <watanabe.yu+github@gmail.com>
Date: Thu, 24 Jun 2021 01:22:07 +0900
Subject: [PATCH] sd-dhcp-client: tentatively ignore FORCERENEW command
This makes DHCP client ignore FORCERENEW requests, as unauthenticated
FORCERENEW requests causes a security issue (TALOS-2020-1142, CVE-2020-13529).
Let's re-enable this after RFC3118 (Authentication for DHCP Messages)
and/or RFC6704 (Forcerenew Nonce Authentication) are implemented.
Fixes #16774.
Upstream-Status: Backport [https://github.com/systemd/systemd/commit/38e980a6a5a3442c2f48b1f827284388096d8ca5]
CVE: CVE-2020-13529
Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@kpit.com>
---
src/libsystemd-network/sd-dhcp-client.c | 8 ++++++++
1 file changed, 8 insertions(+)
--- a/src/libsystemd-network/sd-dhcp-client.c
+++ b/src/libsystemd-network/sd-dhcp-client.c
@@ -1392,9 +1392,17 @@ static int client_handle_forcerenew(sd_dhcp_client *client, DHCPMessage *force,
if (r != DHCP_FORCERENEW)
return -ENOMSG;
+#if 0
log_dhcp_client(client, "FORCERENEW");
return 0;
+#else
+ /* FIXME: Ignore FORCERENEW requests until we implement RFC3118 (Authentication for DHCP
+ * Messages) and/or RFC6704 (Forcerenew Nonce Authentication), as unauthenticated FORCERENEW
+ * requests causes a security issue (TALOS-2020-1142, CVE-2020-13529). */
+ log_dhcp_client(client, "Received FORCERENEW, ignoring.");
+ return -ENOMSG;
+#endif
}
static bool lease_equal(const sd_dhcp_lease *a, const sd_dhcp_lease *b) {

View File

@@ -0,0 +1,67 @@
Backport of:
From 441e0115646d54f080e5c3bb0ba477c892861ab9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Wed, 23 Jun 2021 11:46:41 +0200
Subject: [PATCH 1/2] basic/unit-name: do not use strdupa() on a path
The path may have unbounded length, for example through a fuse mount.
CVE-2021-33910: attacked controlled alloca() leads to crash in systemd and
ultimately a kernel panic. Systemd parses the content of /proc/self/mountinfo
and each mountpoint is passed to mount_setup_unit(), which calls
unit_name_path_escape() underneath. A local attacker who is able to mount a
filesystem with a very long path can crash systemd and the whole system.
https://bugzilla.redhat.com/show_bug.cgi?id=1970887
The resulting string length is bounded by UNIT_NAME_MAX, which is 256. But we
can't easily check the length after simplification before doing the
simplification, which in turns uses a copy of the string we can write to.
So we can't reject paths that are too long before doing the duplication.
Hence the most obvious solution is to switch back to strdup(), as before
7410616cd9dbbec97cf98d75324da5cda2b2f7a2.
Upstream-Status: Backport [https://github.com/systemd/systemd/pull/20256/commits/441e0115646d54f080e5c3bb0ba477c892861ab9]
CVE: CVE-2021-33910
Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@kpit.com>
---
src/basic/unit-name.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
--- a/src/basic/unit-name.c
+++ b/src/basic/unit-name.c
@@ -369,12 +369,13 @@ int unit_name_unescape(const char *f, char **ret) {
}
int unit_name_path_escape(const char *f, char **ret) {
- char *p, *s;
+ _cleanup_free_ char *p = NULL;
+ char *s;
assert(f);
assert(ret);
- p = strdupa(f);
+ p = strdup(f);
if (!p)
return -ENOMEM;
@@ -386,13 +387,9 @@ int unit_name_path_escape(const char *f, char **ret) {
if (!path_is_normalized(p))
return -EINVAL;
- /* Truncate trailing slashes */
+ /* Truncate trailing slashes and skip leading slashes */
delete_trailing_chars(p, "/");
-
- /* Truncate leading slashes */
- p = skip_leading_chars(p, "/");
-
- s = unit_name_escape(p);
+ s = unit_name_escape(skip_leading_chars(p, "/"));
}
if (!s)
return -ENOMEM;

View File

@@ -20,6 +20,8 @@ SRC_URI += "file://touchscreen.rules \
file://99-default.preset \
file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
file://0003-implment-systemd-sysv-install-for-OE.patch \
file://CVE-2021-33910.patch \
file://CVE-2020-13529.patch \
"
# patches needed by musl

View File

@@ -0,0 +1,33 @@
From 1c9143d0c1f979c3daf10e1c37b5b1e916c22a1c Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Tue, 27 Jul 2021 11:58:31 +0200
Subject: [PATCH] sys-utils/ipcutils: be careful when call calloc() for uint64
nmembs
Fix: https://github.com/karelzak/util-linux/issues/1395
Signed-off-by: Karel Zak <kzak@redhat.com>
CVE: CVE-2021-37600
Upstream-Status: Backport [1c9143d0c1f979c3daf10e1c37b5b1e916c22a1c]
Signed-off-by: Dragos-Marian Panait <dragos.panait@windriver.com>
---
sys-utils/ipcutils.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-utils/ipcutils.c b/sys-utils/ipcutils.c
index e784c4dcb..18868cfd3 100644
--- a/sys-utils/ipcutils.c
+++ b/sys-utils/ipcutils.c
@@ -218,7 +218,7 @@ static void get_sem_elements(struct sem_data *p)
{
size_t i;
- if (!p || !p->sem_nsems || p->sem_perm.id < 0)
+ if (!p || !p->sem_nsems || p->sem_nsems > SIZE_MAX || p->sem_perm.id < 0)
return;
p->elements = xcalloc(p->sem_nsems, sizeof(struct sem_elem));
--
2.25.1

View File

@@ -11,6 +11,7 @@ SRC_URI += "file://configure-sbindir.patch \
file://0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch \
file://0001-kill-include-sys-types.h-before-checking-SYS_pidfd_s.patch \
file://0001-include-cleanup-pidfd-inckudes.patch \
file://CVE-2021-37600.patch \
"
SRC_URI[md5sum] = "7f64882f631225f0295ca05080cee1bf"
SRC_URI[sha256sum] = "d9de3edd287366cd908e77677514b9387b22bc7b88f45b83e1922c3597f1d7f9"

View File

@@ -48,5 +48,7 @@ SRC_URI = "\
file://CVE-2020-16598.patch \
file://CVE-2021-20197.patch \
file://CVE-2021-3487.patch \
file://CVE-2021-3549.patch \
file://CVE-2020-16593.patch \
"
S = "${WORKDIR}/git"

View File

@@ -0,0 +1,204 @@
From aec72fda3b320c36eb99fc1c4cf95b10fc026729 Mon Sep 17 00:00:00 2001
From: Alan Modra <amodra@gmail.com>
Date: Thu, 16 Apr 2020 17:49:38 +0930
Subject: [PATCH] PR25827, Null pointer dereferencing in scan_unit_for_symbols
PR 25827
* dwarf2.c (scan_unit_for_symbols): Wrap overlong lines. Don't
strdup(0).
Upstream-Status: Backport
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=aec72fda3b320c36eb99fc1c4cf95b10fc026729
CVE: CVE-2020-16593
Signed-off-by: Armin Kuster <akuster@mvista.com>
Index: git/bfd/dwarf2.c
===================================================================
--- git.orig/bfd/dwarf2.c
+++ git/bfd/dwarf2.c
@@ -295,12 +295,12 @@ struct comp_unit
/* This data structure holds the information of an abbrev. */
struct abbrev_info
{
- unsigned int number; /* Number identifying abbrev. */
- enum dwarf_tag tag; /* DWARF tag. */
- int has_children; /* Boolean. */
- unsigned int num_attrs; /* Number of attributes. */
- struct attr_abbrev *attrs; /* An array of attribute descriptions. */
- struct abbrev_info *next; /* Next in chain. */
+ unsigned int number; /* Number identifying abbrev. */
+ enum dwarf_tag tag; /* DWARF tag. */
+ bfd_boolean has_children; /* TRUE if the abbrev has children. */
+ unsigned int num_attrs; /* Number of attributes. */
+ struct attr_abbrev * attrs; /* An array of attribute descriptions. */
+ struct abbrev_info * next; /* Next in chain. */
};
struct attr_abbrev
@@ -1487,6 +1487,8 @@ struct varinfo
{
/* Pointer to previous variable in list of all variables */
struct varinfo *prev_var;
+ /* The offset of the varinfo from the start of the unit. */
+ bfd_uint64_t unit_offset;
/* Source location file name */
char *file;
/* Source location line number */
@@ -1497,7 +1499,7 @@ struct varinfo
/* Where the symbol is defined */
asection *sec;
/* Is this a stack variable? */
- unsigned int stack: 1;
+ bfd_boolean stack;
};
/* Return TRUE if NEW_LINE should sort after LINE. */
@@ -2871,7 +2873,7 @@ lookup_symbol_in_variable_table (struct
struct varinfo* each;
for (each = unit->variable_table; each; each = each->prev_var)
- if (each->stack == 0
+ if (! each->stack
&& each->file != NULL
&& each->name != NULL
&& each->addr == addr
@@ -3166,6 +3168,20 @@ read_rangelist (struct comp_unit *unit,
return TRUE;
}
+static struct varinfo *
+lookup_var_by_offset (bfd_uint64_t offset, struct varinfo * table)
+{
+ while (table)
+ {
+ if (table->unit_offset == offset)
+ return table;
+ table = table->prev_var;
+ }
+
+ return NULL;
+}
+
+
/* DWARF2 Compilation unit functions. */
/* Scan over each die in a comp. unit looking for functions to add
@@ -3202,6 +3218,9 @@ scan_unit_for_symbols (struct comp_unit
bfd_vma low_pc = 0;
bfd_vma high_pc = 0;
bfd_boolean high_pc_relative = FALSE;
+ bfd_uint64_t current_offset;
+
+ current_offset = info_ptr - unit->info_ptr_unit;
/* PR 17512: file: 9f405d9d. */
if (info_ptr >= info_ptr_end)
@@ -3234,12 +3253,13 @@ scan_unit_for_symbols (struct comp_unit
goto fail;
}
- var = NULL;
if (abbrev->tag == DW_TAG_subprogram
|| abbrev->tag == DW_TAG_entry_point
|| abbrev->tag == DW_TAG_inlined_subroutine)
{
bfd_size_type amt = sizeof (struct funcinfo);
+
+ var = NULL;
func = (struct funcinfo *) bfd_zalloc (abfd, amt);
if (func == NULL)
goto fail;
@@ -3268,13 +3288,15 @@ scan_unit_for_symbols (struct comp_unit
if (var == NULL)
goto fail;
var->tag = abbrev->tag;
- var->stack = 1;
+ var->stack = TRUE;
var->prev_var = unit->variable_table;
unit->variable_table = var;
+ var->unit_offset = current_offset;
/* PR 18205: Missing debug information can cause this
var to be attached to an already cached unit. */
}
-
+ else
+ var = NULL;
/* No inline function in scope at this nesting level. */
nested_funcs[nesting_level].func = 0;
}
@@ -3362,6 +3384,33 @@ scan_unit_for_symbols (struct comp_unit
{
switch (attr.name)
{
+ case DW_AT_specification:
+ if (attr.u.val)
+ {
+ struct varinfo * spec_var;
+
+ spec_var = lookup_var_by_offset (attr.u.val,
+ unit->variable_table);
+ if (spec_var == NULL)
+ {
+ _bfd_error_handler (_("DWARF error: could not find "
+ "variable specification "
+ "at offset %lx"),
+ (unsigned long) attr.u.val);
+ break;
+ }
+
+ if (var->name == NULL)
+ var->name = spec_var->name;
+ if (var->file == NULL && spec_var->file != NULL)
+ var->file = strdup (spec_var->file);
+ if (var->line == 0)
+ var->line = spec_var->line;
+ if (var->sec == NULL)
+ var->sec = spec_var->sec;
+ }
+ break;
+
case DW_AT_name:
if (is_str_attr (attr.form))
var->name = attr.u.str;
@@ -3378,7 +3427,7 @@ scan_unit_for_symbols (struct comp_unit
case DW_AT_external:
if (attr.u.val != 0)
- var->stack = 0;
+ var->stack = FALSE;
break;
case DW_AT_location:
@@ -3392,7 +3441,7 @@ scan_unit_for_symbols (struct comp_unit
if (attr.u.blk->data != NULL
&& *attr.u.blk->data == DW_OP_addr)
{
- var->stack = 0;
+ var->stack = FALSE;
/* Verify that DW_OP_addr is the only opcode in the
location, in which case the block size will be 1
@@ -3888,7 +3937,7 @@ comp_unit_hash_info (struct dwarf2_debug
each_var = each_var->prev_var)
{
/* Skip stack vars and vars with no files or names. */
- if (each_var->stack == 0
+ if (! each_var->stack
&& each_var->file != NULL
&& each_var->name != NULL)
/* There is no need to copy name string into hash table as
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog
+++ git/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2020-04-16 Alan Modra <amodra@gmail.com>
+
+ PR 25827
+ * dwarf2.c (scan_unit_for_symbols): Wrap overlong lines. Don't
+ strdup(0).
+
2020-02-19 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/25355

View File

@@ -0,0 +1,187 @@
From 1cfcf3004e1830f8fe9112cfcd15285508d2c2b7 Mon Sep 17 00:00:00 2001
From: Alan Modra <amodra@gmail.com>
Date: Thu, 11 Feb 2021 16:56:42 +1030
Subject: [PATCH] PR27290, PR27293, PR27295, various avr objdump fixes
Adds missing sanity checks for avr device info note, to avoid
potential buffer overflows. Uses bfd_malloc_and_get_section for
sanity checking section size.
PR 27290
PR 27293
PR 27295
* od-elf32_avr.c (elf32_avr_get_note_section_contents): Formatting.
Use bfd_malloc_and_get_section.
(elf32_avr_get_note_desc): Formatting. Return descsz. Sanity
check namesz. Return NULL if descsz is too small. Ensure
string table is terminated.
(elf32_avr_get_device_info): Formatting. Add note_size param.
Sanity check note.
(elf32_avr_dump_mem_usage): Adjust to suit.
Upstream-Status: Backport
CVE: CVE-2021-3549
Signed-of-by: Armin Kuster <akuster@mvista.com>
---
binutils/ChangeLog | 14 +++++++++
binutils/od-elf32_avr.c | 66 ++++++++++++++++++++++++++---------------
2 files changed, 56 insertions(+), 24 deletions(-)
Index: git/binutils/od-elf32_avr.c
===================================================================
--- git.orig/binutils/od-elf32_avr.c
+++ git/binutils/od-elf32_avr.c
@@ -77,23 +77,29 @@ elf32_avr_filter (bfd *abfd)
return bfd_get_flavour (abfd) == bfd_target_elf_flavour;
}
-static char*
+static char *
elf32_avr_get_note_section_contents (bfd *abfd, bfd_size_type *size)
{
asection *section;
+ bfd_byte *contents;
- if ((section = bfd_get_section_by_name (abfd, ".note.gnu.avr.deviceinfo")) == NULL)
+ section = bfd_get_section_by_name (abfd, ".note.gnu.avr.deviceinfo");
+ if (section == NULL)
return NULL;
- *size = bfd_section_size (section);
- char *contents = (char *) xmalloc (*size);
- bfd_get_section_contents (abfd, section, contents, 0, *size);
+ if (!bfd_malloc_and_get_section (abfd, section, &contents))
+ {
+ free (contents);
+ contents = NULL;
+ }
- return contents;
+ *size = bfd_section_size (section);
+ return (char *) contents;
}
-static char* elf32_avr_get_note_desc (bfd *abfd, char *contents,
- bfd_size_type size)
+static char *
+elf32_avr_get_note_desc (bfd *abfd, char *contents, bfd_size_type size,
+ bfd_size_type *descsz)
{
Elf_External_Note *xnp = (Elf_External_Note *) contents;
Elf_Internal_Note in;
@@ -107,42 +113,54 @@ static char* elf32_avr_get_note_desc (bf
if (in.namesz > contents - in.namedata + size)
return NULL;
+ if (in.namesz != 4 || strcmp (in.namedata, "AVR") != 0)
+ return NULL;
+
in.descsz = bfd_get_32 (abfd, xnp->descsz);
in.descdata = in.namedata + align_power (in.namesz, 2);
- if (in.descsz != 0
- && (in.descdata >= contents + size
- || in.descsz > contents - in.descdata + size))
+ if (in.descsz < 6 * sizeof (uint32_t)
+ || in.descdata >= contents + size
+ || in.descsz > contents - in.descdata + size)
return NULL;
- if (strcmp (in.namedata, "AVR") != 0)
- return NULL;
+ /* If the note has a string table, ensure it is 0 terminated. */
+ if (in.descsz > 8 * sizeof (uint32_t))
+ in.descdata[in.descsz - 1] = 0;
+ *descsz = in.descsz;
return in.descdata;
}
static void
elf32_avr_get_device_info (bfd *abfd, char *description,
- deviceinfo *device)
+ bfd_size_type desc_size, deviceinfo *device)
{
if (description == NULL)
return;
const bfd_size_type memory_sizes = 6;
- memcpy (device, description, memory_sizes * sizeof(uint32_t));
- device->name = NULL;
+ memcpy (device, description, memory_sizes * sizeof (uint32_t));
+ desc_size -= memory_sizes * sizeof (uint32_t);
+ if (desc_size < 8)
+ return;
- uint32_t *stroffset_table = ((uint32_t *) description) + memory_sizes;
+ uint32_t *stroffset_table = (uint32_t *) description + memory_sizes;
bfd_size_type stroffset_table_size = bfd_get_32 (abfd, stroffset_table);
- char *str_table = ((char *) stroffset_table) + stroffset_table_size;
/* If the only content is the size itself, there's nothing in the table */
- if (stroffset_table_size == 4)
+ if (stroffset_table_size < 8)
return;
+ if (desc_size <= stroffset_table_size)
+ return;
+ desc_size -= stroffset_table_size;
/* First entry is the device name index. */
uint32_t device_name_index = bfd_get_32 (abfd, stroffset_table + 1);
+ if (device_name_index >= desc_size)
+ return;
+ char *str_table = (char *) stroffset_table + stroffset_table_size;
device->name = str_table + device_name_index;
}
@@ -183,7 +201,7 @@ static void
elf32_avr_dump_mem_usage (bfd *abfd)
{
char *description = NULL;
- bfd_size_type note_section_size = 0;
+ bfd_size_type sec_size, desc_size;
deviceinfo device = { 0, 0, 0, 0, 0, 0, NULL };
device.name = "Unknown";
@@ -192,13 +210,13 @@ elf32_avr_dump_mem_usage (bfd *abfd)
bfd_size_type text_usage = 0;
bfd_size_type eeprom_usage = 0;
- char *contents = elf32_avr_get_note_section_contents (abfd,
- &note_section_size);
+ char *contents = elf32_avr_get_note_section_contents (abfd, &sec_size);
if (contents != NULL)
{
- description = elf32_avr_get_note_desc (abfd, contents, note_section_size);
- elf32_avr_get_device_info (abfd, description, &device);
+ description = elf32_avr_get_note_desc (abfd, contents, sec_size,
+ &desc_size);
+ elf32_avr_get_device_info (abfd, description, desc_size, &device);
}
elf32_avr_get_memory_usage (abfd, &text_usage, &data_usage,
Index: git/binutils/ChangeLog
===================================================================
--- git.orig/binutils/ChangeLog
+++ git/binutils/ChangeLog
@@ -1,3 +1,17 @@
+2021-02-11 Alan Modra <amodra@gmail.com>
+
+ PR 27290
+ PR 27293
+ PR 27295
+ * od-elf32_avr.c (elf32_avr_get_note_section_contents): Formatting.
+ Use bfd_malloc_and_get_section.
+ (elf32_avr_get_note_desc): Formatting. Return descsz. Sanity
+ check namesz. Return NULL if descsz is too small. Ensure
+ string table is terminated.
+ (elf32_avr_get_device_info): Formatting. Add note_size param.
+ Sanity check note.
+ (elf32_avr_dump_mem_usage): Adjust to suit.
+
2020-02-01 Nick Clifton <nickc@redhat.com>
* configure: Regenerate.

View File

@@ -0,0 +1,22 @@
Ensure "small" file systems also have the default inode size (256 bytes) so that
can store 64-bit timestamps and work past 2038.
The "small" type is any size >3MB and <512MB, which covers a lot of relatively
small filesystems built by OE, especially when they're sized to fit the contents
and expand to the storage on boot.
Upstream-Status: Inappropriate
Signed-off-by: Ross Burton <ross.burton@arm.com>
diff --git a/misc/mke2fs.conf.in b/misc/mke2fs.conf.in
index 01e35cf8..29f41dc0 100644
--- a/misc/mke2fs.conf.in
+++ b/misc/mke2fs.conf.in
@@ -16,7 +16,6 @@
}
small = {
blocksize = 1024
- inode_size = 128
inode_ratio = 4096
}
floppy = {

View File

@@ -14,6 +14,7 @@ SRC_URI += "file://remove.ldconfig.call.patch \
SRC_URI_append_class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch \
file://quiet-debugfs.patch \
file://big-inodes-for-small-fs.patch \
"
SRCREV = "984ff8d6a0a1d5dc300505f67b38ed5047d51dac"

View File

@@ -26,6 +26,11 @@ SRC_URI[sha256sum] = "e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c4
UPSTREAM_CHECK_URI = "https://github.com/westes/flex/releases"
UPSTREAM_CHECK_REGEX = "flex-(?P<pver>\d+(\.\d+)+)\.tar"
# Disputed - yes there is stack exhaustion but no bug and it is building the
# parser, not running it, effectively similar to a compiler ICE. Upstream no plans to address
# https://github.com/westes/flex/issues/414
CVE_CHECK_WHITELIST += "CVE-2019-6293"
inherit autotools gettext texinfo ptest
M4 = "${bindir}/m4"

View File

@@ -16,6 +16,15 @@ SRC_URI += "\
file://0006-cmd-dist-separate-host-and-target-builds.patch \
file://0007-cmd-go-make-GOROOT-precious-by-default.patch \
file://0008-use-GOBUILDMODE-to-set-buildmode.patch \
file://CVE-2021-34558.patch \
file://CVE-2021-33196.patch \
file://CVE-2021-33197.patch \
"
SRC_URI_append_libc-musl = " file://0009-ld-replace-glibc-dynamic-linker-with-musl.patch"
SRC_URI[main.sha256sum] = "7ed13b2209e54a451835997f78035530b331c5b6943cdcd68a3d815fdc009149"
# Upstream don't believe it is a signifiant real world issue and will only
# fix in 1.17 onwards where we can drop this.
# https://github.com/golang/go/issues/30999#issuecomment-910470358
CVE_CHECK_WHITELIST += "CVE-2021-29923"

View File

@@ -0,0 +1,124 @@
From 74242baa4136c7a9132a8ccd9881354442788c8c Mon Sep 17 00:00:00 2001
From: Roland Shoemaker <roland@golang.org>
Date: Tue, 11 May 2021 11:31:31 -0700
Subject: [PATCH] archive/zip: only preallocate File slice if reasonably sized
Since the number of files in the EOCD record isn't validated, it isn't
safe to preallocate Reader.Files using that field. A malformed archive
can indicate it contains up to 1 << 128 - 1 files. We can still safely
preallocate the slice by checking if the specified number of files in
the archive is reasonable, given the size of the archive.
Thanks to the OSS-Fuzz project for discovering this issue and to
Emmanuel Odeke for reporting it.
Fixes #46242
Fixes CVE-2021-33196
Change-Id: I3c76d8eec178468b380d87fdb4a3f2cb06f0ee76
Reviewed-on: https://go-review.googlesource.com/c/go/+/318909
Trust: Roland Shoemaker <roland@golang.org>
Trust: Katie Hockman <katie@golang.org>
Trust: Joe Tsai <thebrokentoaster@gmail.com>
Run-TryBot: Roland Shoemaker <roland@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Katie Hockman <katie@golang.org>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
Upstream-Status: Backport
CVE: CVE-2021-33196
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
src/archive/zip/reader.go | 10 +++++-
src/archive/zip/reader_test.go | 59 ++++++++++++++++++++++++++++++++++
2 files changed, 68 insertions(+), 1 deletion(-)
Index: go/src/archive/zip/reader.go
===================================================================
--- go.orig/src/archive/zip/reader.go
+++ go/src/archive/zip/reader.go
@@ -84,7 +84,15 @@ func (z *Reader) init(r io.ReaderAt, siz
return err
}
z.r = r
- z.File = make([]*File, 0, end.directoryRecords)
+ // Since the number of directory records is not validated, it is not
+ // safe to preallocate z.File without first checking that the specified
+ // number of files is reasonable, since a malformed archive may
+ // indicate it contains up to 1 << 128 - 1 files. Since each file has a
+ // header which will be _at least_ 30 bytes we can safely preallocate
+ // if (data size / 30) >= end.directoryRecords.
+ if (uint64(size)-end.directorySize)/30 >= end.directoryRecords {
+ z.File = make([]*File, 0, end.directoryRecords)
+ }
z.Comment = end.comment
rs := io.NewSectionReader(r, 0, size)
if _, err = rs.Seek(int64(end.directoryOffset), io.SeekStart); err != nil {
Index: go/src/archive/zip/reader_test.go
===================================================================
--- go.orig/src/archive/zip/reader_test.go
+++ go/src/archive/zip/reader_test.go
@@ -1070,3 +1070,62 @@ func TestIssue12449(t *testing.T) {
t.Errorf("Error reading the archive: %v", err)
}
}
+
+func TestCVE202133196(t *testing.T) {
+ // Archive that indicates it has 1 << 128 -1 files,
+ // this would previously cause a panic due to attempting
+ // to allocate a slice with 1 << 128 -1 elements.
+ data := []byte{
+ 0x50, 0x4b, 0x03, 0x04, 0x14, 0x00, 0x08, 0x08,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x02,
+ 0x03, 0x62, 0x61, 0x65, 0x03, 0x04, 0x00, 0x00,
+ 0xff, 0xff, 0x50, 0x4b, 0x07, 0x08, 0xbe, 0x20,
+ 0x5c, 0x6c, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x00, 0x50, 0x4b, 0x01, 0x02, 0x14, 0x00,
+ 0x14, 0x00, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xbe, 0x20, 0x5c, 0x6c, 0x09, 0x00,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x03, 0x50, 0x4b, 0x06, 0x06, 0x2c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x31, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x50, 0x4b, 0x06, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50,
+ 0x4b, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00,
+ }
+ _, err := NewReader(bytes.NewReader(data), int64(len(data)))
+ if err != ErrFormat {
+ t.Fatalf("unexpected error, got: %v, want: %v", err, ErrFormat)
+ }
+
+ // Also check that an archive containing a handful of empty
+ // files doesn't cause an issue
+ b := bytes.NewBuffer(nil)
+ w := NewWriter(b)
+ for i := 0; i < 5; i++ {
+ _, err := w.Create("")
+ if err != nil {
+ t.Fatalf("Writer.Create failed: %s", err)
+ }
+ }
+ if err := w.Close(); err != nil {
+ t.Fatalf("Writer.Close failed: %s", err)
+ }
+ r, err := NewReader(bytes.NewReader(b.Bytes()), int64(b.Len()))
+ if err != nil {
+ t.Fatalf("NewReader failed: %s", err)
+ }
+ if len(r.File) != 5 {
+ t.Errorf("Archive has unexpected number of files, got %d, want 5", len(r.File))
+ }
+}

View File

@@ -0,0 +1,152 @@
From cbd1ca84453fecf3825a6bb9f985823e8bc32b76 Mon Sep 17 00:00:00 2001
From: Filippo Valsorda <filippo@golang.org>
Date: Fri, 21 May 2021 14:02:30 -0400
Subject: [PATCH] [release-branch.go1.15] net/http/httputil: always remove
hop-by-hop headers
Previously, we'd fail to remove the Connection header from a request
like this:
Connection:
Connection: x-header
Updates #46313
Fixes #46314
Fixes CVE-2021-33197
Change-Id: Ie3009e926ceecfa86dfa6bcc6fe14ff01086be7d
Reviewed-on: https://go-review.googlesource.com/c/go/+/321929
Run-TryBot: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Katie Hockman <katie@golang.org>
Trust: Katie Hockman <katie@golang.org>
Trust: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-on: https://go-review.googlesource.com/c/go/+/323091
Run-TryBot: Katie Hockman <katie@golang.org>
Upstream-Status: Backport
CVE: CVE-2021-33197
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
src/net/http/httputil/reverseproxy.go | 22 ++++----
src/net/http/httputil/reverseproxy_test.go | 63 +++++++++++++++++++++-
2 files changed, 70 insertions(+), 15 deletions(-)
Index: go/src/net/http/httputil/reverseproxy.go
===================================================================
--- go.orig/src/net/http/httputil/reverseproxy.go
+++ go/src/net/http/httputil/reverseproxy.go
@@ -221,22 +221,18 @@ func (p *ReverseProxy) ServeHTTP(rw http
// important is "Connection" because we want a persistent
// connection, regardless of what the client sent to us.
for _, h := range hopHeaders {
- hv := outreq.Header.Get(h)
- if hv == "" {
- continue
- }
- if h == "Te" && hv == "trailers" {
- // Issue 21096: tell backend applications that
- // care about trailer support that we support
- // trailers. (We do, but we don't go out of
- // our way to advertise that unless the
- // incoming client request thought it was
- // worth mentioning)
- continue
- }
outreq.Header.Del(h)
}
+ // Issue 21096: tell backend applications that care about trailer support
+ // that we support trailers. (We do, but we don't go out of our way to
+ // advertise that unless the incoming client request thought it was worth
+ // mentioning.) Note that we look at req.Header, not outreq.Header, since
+ // the latter has passed through removeConnectionHeaders.
+ if httpguts.HeaderValuesContainsToken(req.Header["Te"], "trailers") {
+ outreq.Header.Set("Te", "trailers")
+ }
+
// After stripping all the hop-by-hop connection headers above, add back any
// necessary for protocol upgrades, such as for websockets.
if reqUpType != "" {
Index: go/src/net/http/httputil/reverseproxy_test.go
===================================================================
--- go.orig/src/net/http/httputil/reverseproxy_test.go
+++ go/src/net/http/httputil/reverseproxy_test.go
@@ -91,8 +91,9 @@ func TestReverseProxy(t *testing.T) {
getReq, _ := http.NewRequest("GET", frontend.URL, nil)
getReq.Host = "some-name"
- getReq.Header.Set("Connection", "close")
- getReq.Header.Set("Te", "trailers")
+ getReq.Header.Set("Connection", "close, TE")
+ getReq.Header.Add("Te", "foo")
+ getReq.Header.Add("Te", "bar, trailers")
getReq.Header.Set("Proxy-Connection", "should be deleted")
getReq.Header.Set("Upgrade", "foo")
getReq.Close = true
@@ -236,6 +237,64 @@ func TestReverseProxyStripHeadersPresent
}
}
+func TestReverseProxyStripEmptyConnection(t *testing.T) {
+ // See Issue 46313.
+ const backendResponse = "I am the backend"
+
+ // someConnHeader is some arbitrary header to be declared as a hop-by-hop header
+ // in the Request's Connection header.
+ const someConnHeader = "X-Some-Conn-Header"
+
+ backend := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+ if c := r.Header.Values("Connection"); len(c) != 0 {
+ t.Errorf("handler got header %q = %v; want empty", "Connection", c)
+ }
+ if c := r.Header.Get(someConnHeader); c != "" {
+ t.Errorf("handler got header %q = %q; want empty", someConnHeader, c)
+ }
+ w.Header().Add("Connection", "")
+ w.Header().Add("Connection", someConnHeader)
+ w.Header().Set(someConnHeader, "should be deleted")
+ io.WriteString(w, backendResponse)
+ }))
+ defer backend.Close()
+ backendURL, err := url.Parse(backend.URL)
+ if err != nil {
+ t.Fatal(err)
+ }
+ proxyHandler := NewSingleHostReverseProxy(backendURL)
+ frontend := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+ proxyHandler.ServeHTTP(w, r)
+ if c := r.Header.Get(someConnHeader); c != "should be deleted" {
+ t.Errorf("handler modified header %q = %q; want %q", someConnHeader, c, "should be deleted")
+ }
+ }))
+ defer frontend.Close()
+
+ getReq, _ := http.NewRequest("GET", frontend.URL, nil)
+ getReq.Header.Add("Connection", "")
+ getReq.Header.Add("Connection", someConnHeader)
+ getReq.Header.Set(someConnHeader, "should be deleted")
+ res, err := frontend.Client().Do(getReq)
+ if err != nil {
+ t.Fatalf("Get: %v", err)
+ }
+ defer res.Body.Close()
+ bodyBytes, err := ioutil.ReadAll(res.Body)
+ if err != nil {
+ t.Fatalf("reading body: %v", err)
+ }
+ if got, want := string(bodyBytes), backendResponse; got != want {
+ t.Errorf("got body %q; want %q", got, want)
+ }
+ if c := res.Header.Get("Connection"); c != "" {
+ t.Errorf("handler got header %q = %q; want empty", "Connection", c)
+ }
+ if c := res.Header.Get(someConnHeader); c != "" {
+ t.Errorf("handler got header %q = %q; want empty", someConnHeader, c)
+ }
+}
+
func TestXForwardedFor(t *testing.T) {
const prevForwardedFor = "client ip"
const backendResponse = "I am the backend"

View File

@@ -0,0 +1,51 @@
From a98589711da5e9d935e8d690cfca92892e86d557 Mon Sep 17 00:00:00 2001
From: Roland Shoemaker <roland@golang.org>
Date: Wed, 9 Jun 2021 11:31:27 -0700
Subject: [PATCH] crypto/tls: test key type when casting
When casting the certificate public key in generateClientKeyExchange,
check the type is appropriate. This prevents a panic when a server
agrees to a RSA based key exchange, but then sends an ECDSA (or
other) certificate.
Fixes #47143
Fixes CVE-2021-34558
Thanks to Imre Rad for reporting this issue.
Change-Id: Iabccacca6052769a605cccefa1216a9f7b7f6aea
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1116723
Reviewed-by: Filippo Valsorda <valsorda@google.com>
Reviewed-by: Katie Hockman <katiehockman@google.com>
Reviewed-on: https://go-review.googlesource.com/c/go/+/334031
Trust: Filippo Valsorda <filippo@golang.org>
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Upstream-Status: Backport
https://github.com/golang/go/commit/a98589711da5e9d935e8d690cfca92892e86d557
CVE: CVE-2021-34558
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
src/crypto/tls/key_agreement.go | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Index: go/src/crypto/tls/key_agreement.go
===================================================================
--- go.orig/src/crypto/tls/key_agreement.go
+++ go/src/crypto/tls/key_agreement.go
@@ -67,7 +67,11 @@ func (ka rsaKeyAgreement) generateClient
return nil, nil, err
}
- encrypted, err := rsa.EncryptPKCS1v15(config.rand(), cert.PublicKey.(*rsa.PublicKey), preMasterSecret)
+ rsaKey, ok := cert.PublicKey.(*rsa.PublicKey)
+ if !ok {
+ return nil, nil, errors.New("tls: server certificate contains incorrect key type for selected ciphersuite")
+ }
+ encrypted, err := rsa.EncryptPKCS1v15(config.rand(), rsaKey, preMasterSecret)
if err != nil {
return nil, nil, err
}

View File

@@ -0,0 +1,431 @@
From 597c7a8333df84a87cc48fb8477b603ffbf372a6 Mon Sep 17 00:00:00 2001
From: Andrej Valek <andrej.valek@siemens.com>
Date: Mon, 23 Aug 2021 12:45:11 +0200
Subject: [PATCH] feat(cpp17): remove deprecated exception specifications for
C++ 17
Upstream-Status: Submitted [https://salsa.debian.org/installer-team/mklibs/-/merge_requests/2]
based on: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0003r5.html
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
---
src/mklibs-readelf/elf.cpp | 48 ++++++++++++++++++++---------------------
src/mklibs-readelf/elf.hpp | 18 ++++++++--------
src/mklibs-readelf/elf_data.hpp | 36 +++++++++++++++----------------
3 files changed, 51 insertions(+), 51 deletions(-)
diff --git a/src/mklibs-readelf/elf.cpp b/src/mklibs-readelf/elf.cpp
index 0e4c0f3..2e6d0f6 100644
--- a/src/mklibs-readelf/elf.cpp
+++ b/src/mklibs-readelf/elf.cpp
@@ -36,7 +36,7 @@ file::~file () throw ()
delete *it;
}
-file *file::open (const char *filename) throw (std::bad_alloc, std::runtime_error)
+file *file::open (const char *filename) throw ()
{
struct stat buf;
int fd;
@@ -72,7 +72,7 @@ file *file::open (const char *filename) throw (std::bad_alloc, std::runtime_erro
}
template<typename _class>
-file *file::open_class(uint8_t *mem, size_t len) throw (std::bad_alloc, std::runtime_error)
+file *file::open_class(uint8_t *mem, size_t len) throw ()
{
switch (mem[EI_DATA])
{
@@ -86,7 +86,7 @@ file *file::open_class(uint8_t *mem, size_t len) throw (std::bad_alloc, std::run
}
template <typename _class, typename _data>
-file_data<_class, _data>::file_data(uint8_t *mem, size_t len) throw (std::bad_alloc, std::runtime_error)
+file_data<_class, _data>::file_data(uint8_t *mem, size_t len) throw ()
: file(mem, len)
{
if (mem[EI_CLASS] != _class::id)
@@ -190,7 +190,7 @@ section_data<_class, _data>::section_data(Shdr *shdr, uint8_t *mem) throw ()
}
template <typename _class, typename _data>
-void section_data<_class, _data>::update(const file &file) throw (std::bad_alloc)
+void section_data<_class, _data>::update(const file &file) throw ()
{
const section_type<section_type_STRTAB> &section =
dynamic_cast<const section_type<section_type_STRTAB> &>(file.get_section(file.get_shstrndx()));
@@ -204,7 +204,7 @@ section_type<section_type_DYNAMIC>::~section_type() throw ()
}
template <typename _class, typename _data>
-section_real<_class, _data, section_type_DYNAMIC>::section_real(Shdr *header, uint8_t *mem) throw (std::bad_alloc)
+section_real<_class, _data, section_type_DYNAMIC>::section_real(Shdr *header, uint8_t *mem) throw ()
: section_data<_class, _data>(header, mem)
{
if (this->type != SHT_DYNAMIC)
@@ -221,7 +221,7 @@ section_real<_class, _data, section_type_DYNAMIC>::section_real(Shdr *header, ui
}
template <typename _class, typename _data>
-void section_real<_class, _data, section_type_DYNAMIC>::update(const file &file) throw (std::bad_alloc)
+void section_real<_class, _data, section_type_DYNAMIC>::update(const file &file) throw ()
{
section_data<_class, _data>::update(file);
@@ -243,7 +243,7 @@ section_type<section_type_DYNSYM>::~section_type() throw ()
}
template <typename _class, typename _data>
-section_real<_class, _data, section_type_DYNSYM>::section_real(Shdr *header, uint8_t *mem) throw (std::bad_alloc)
+section_real<_class, _data, section_type_DYNSYM>::section_real(Shdr *header, uint8_t *mem) throw ()
: section_data<_class, _data>(header, mem)
{
if (this->type != SHT_DYNSYM)
@@ -260,7 +260,7 @@ section_real<_class, _data, section_type_DYNSYM>::section_real(Shdr *header, uin
}
template <typename _class, typename _data>
-void section_real<_class, _data, section_type_DYNSYM>::update(const file &file) throw (std::bad_alloc)
+void section_real<_class, _data, section_type_DYNSYM>::update(const file &file) throw ()
{
section_data<_class, _data>::update (file);
@@ -285,7 +285,7 @@ const version_definition *section_type<section_type_GNU_VERDEF>::get_version_def
}
template <typename _class, typename _data>
-section_real<_class, _data, section_type_GNU_VERDEF>::section_real(Shdr *header, uint8_t *mem) throw (std::bad_alloc)
+section_real<_class, _data, section_type_GNU_VERDEF>::section_real(Shdr *header, uint8_t *mem) throw ()
: section_data<_class, _data>(header, mem)
{
if (this->type != SHT_GNU_verdef)
@@ -307,7 +307,7 @@ section_real<_class, _data, section_type_GNU_VERDEF>::section_real(Shdr *header,
}
template <typename _class, typename _data>
-void section_real<_class, _data, section_type_GNU_VERDEF>::update(const file &file) throw (std::bad_alloc)
+void section_real<_class, _data, section_type_GNU_VERDEF>::update(const file &file) throw ()
{
section_data<_class, _data>::update(file);
@@ -333,7 +333,7 @@ const version_requirement_entry *section_type<section_type_GNU_VERNEED>::get_ver
template <typename _class, typename _data>
section_real<_class, _data, section_type_GNU_VERNEED>::
-section_real(Shdr *header, uint8_t *mem) throw (std::bad_alloc)
+section_real(Shdr *header, uint8_t *mem) throw ()
: section_data<_class, _data> (header, mem)
{
if (this->type != SHT_GNU_verneed)
@@ -355,7 +355,7 @@ section_real(Shdr *header, uint8_t *mem) throw (std::bad_alloc)
}
template <typename _class, typename _data>
-void section_real<_class, _data, section_type_GNU_VERNEED>::update(const file &file) throw (std::bad_alloc)
+void section_real<_class, _data, section_type_GNU_VERNEED>::update(const file &file) throw ()
{
section_data<_class, _data>::update(file);
@@ -372,7 +372,7 @@ void section_real<_class, _data, section_type_GNU_VERNEED>::update(const file &f
template <typename _class, typename _data>
section_real<_class, _data, section_type_GNU_VERSYM>::
-section_real (Shdr *header, uint8_t *mem) throw (std::bad_alloc)
+section_real (Shdr *header, uint8_t *mem) throw ()
: section_data<_class, _data> (header, mem)
{
if (this->type != SHT_GNU_versym)
@@ -399,7 +399,7 @@ segment_data<_class, _data>::segment_data (Phdr *phdr, uint8_t *mem) throw ()
}
template <typename _class, typename _data>
-segment_real<_class, _data, segment_type_INTERP>::segment_real (Phdr *header, uint8_t *mem) throw (std::bad_alloc)
+segment_real<_class, _data, segment_type_INTERP>::segment_real (Phdr *header, uint8_t *mem) throw ()
: segment_data<_class, _data> (header, mem)
{
if (this->type != PT_INTERP)
@@ -429,13 +429,13 @@ dynamic_data<_class, _data>::dynamic_data (Dyn *dyn) throw ()
}
template <typename _class, typename _data>
-void dynamic_data<_class, _data>::update_string(const section_type<section_type_STRTAB> &section) throw (std::bad_alloc)
+void dynamic_data<_class, _data>::update_string(const section_type<section_type_STRTAB> &section) throw ()
{
if (is_string)
val_string = section.get_string(val);
}
-std::string symbol::get_version () const throw (std::bad_alloc)
+std::string symbol::get_version () const throw ()
{
if (verneed)
return verneed->get_name();
@@ -445,7 +445,7 @@ std::string symbol::get_version () const throw (std::bad_alloc)
return "Base";
}
-std::string symbol::get_version_file () const throw (std::bad_alloc)
+std::string symbol::get_version_file () const throw ()
{
if (verneed)
return verneed->get_file();
@@ -453,7 +453,7 @@ std::string symbol::get_version_file () const throw (std::bad_alloc)
return "None";
}
-std::string symbol::get_name_version () const throw (std::bad_alloc)
+std::string symbol::get_name_version () const throw ()
{
std::string ver;
@@ -478,13 +478,13 @@ symbol_data<_class, _data>::symbol_data (Sym *sym) throw ()
}
template <typename _class, typename _data>
-void symbol_data<_class, _data>::update_string(const section_type<section_type_STRTAB> &section) throw (std::bad_alloc)
+void symbol_data<_class, _data>::update_string(const section_type<section_type_STRTAB> &section) throw ()
{
name_string = section.get_string(name);
}
template <typename _class, typename _data>
-void symbol_data<_class, _data>::update_version(const file &file, uint16_t index) throw (std::bad_alloc)
+void symbol_data<_class, _data>::update_version(const file &file, uint16_t index) throw ()
{
if (!file.get_section_GNU_VERSYM())
return;
@@ -531,13 +531,13 @@ version_definition_data<_class, _data>::version_definition_data (Verdef *verdef)
}
template <typename _class, typename _data>
-void version_definition_data<_class, _data>::update_string(const section_type<section_type_STRTAB> &section) throw (std::bad_alloc)
+void version_definition_data<_class, _data>::update_string(const section_type<section_type_STRTAB> &section) throw ()
{
for (std::vector<uint32_t>::iterator it = names.begin(); it != names.end(); ++it)
names_string.push_back(section.get_string(*it));
}
-version_requirement::version_requirement() throw (std::bad_alloc)
+version_requirement::version_requirement() throw ()
: file_string("None")
{ }
@@ -561,7 +561,7 @@ version_requirement_data<_class, _data>::version_requirement_data (Verneed *vern
template <typename _class, typename _data>
void version_requirement_data<_class, _data>::
-update_string(const section_type<section_type_STRTAB> &section) throw (std::bad_alloc)
+update_string(const section_type<section_type_STRTAB> &section) throw ()
{
file_string = section.get_string(file);
@@ -596,7 +596,7 @@ version_requirement_entry_data(Vernaux *vna, const version_requirement &verneed)
template <typename _class, typename _data>
void version_requirement_entry_data<_class, _data>::
-update_string(const section_type<section_type_STRTAB> &section) throw (std::bad_alloc)
+update_string(const section_type<section_type_STRTAB> &section) throw ()
{
name_string = section.get_string(name);
}
diff --git a/src/mklibs-readelf/elf.hpp b/src/mklibs-readelf/elf.hpp
index 70e61cd..afb0c9e 100644
--- a/src/mklibs-readelf/elf.hpp
+++ b/src/mklibs-readelf/elf.hpp
@@ -49,7 +49,7 @@ namespace Elf
const uint16_t get_shstrndx() const throw () { return shstrndx; }
const std::vector<section *> get_sections() const throw () { return sections; };
- const section &get_section(unsigned int i) const throw (std::out_of_range) { return *sections.at(i); };
+ const section &get_section(unsigned int i) const throw () { return *sections.at(i); };
const section_type<section_type_DYNAMIC> *get_section_DYNAMIC() const throw () { return section_DYNAMIC; };
const section_type<section_type_DYNSYM> *get_section_DYNSYM() const throw () { return section_DYNSYM; };
const section_type<section_type_GNU_VERDEF> *get_section_GNU_VERDEF() const throw () { return section_GNU_VERDEF; };
@@ -59,13 +59,13 @@ namespace Elf
const std::vector<segment *> get_segments() const throw () { return segments; };
const segment_type<segment_type_INTERP> *get_segment_INTERP() const throw () { return segment_INTERP; };
- static file *open(const char *filename) throw (std::bad_alloc, std::runtime_error);
+ static file *open(const char *filename) throw ();
protected:
- file(uint8_t *mem, size_t len) throw (std::bad_alloc) : mem(mem), len(len) { }
+ file(uint8_t *mem, size_t len) throw () : mem(mem), len(len) { }
template<typename _class>
- static file *open_class(uint8_t *, size_t) throw (std::bad_alloc, std::runtime_error);
+ static file *open_class(uint8_t *, size_t) throw ();
uint16_t type;
uint16_t machine;
@@ -128,7 +128,7 @@ namespace Elf
class section_type<section_type_STRTAB> : public virtual section
{
public:
- std::string get_string(uint32_t offset) const throw (std::bad_alloc)
+ std::string get_string(uint32_t offset) const throw ()
{
return std::string(reinterpret_cast<const char *> (mem + offset));
}
@@ -263,10 +263,10 @@ namespace Elf
uint8_t get_bind () const throw () { return bind; }
uint8_t get_type () const throw () { return type; }
const std::string &get_name_string() const throw () { return name_string; }
- std::string get_version() const throw (std::bad_alloc);
- std::string get_version_file() const throw (std::bad_alloc);
+ std::string get_version() const throw ();
+ std::string get_version_file() const throw ();
uint16_t get_version_data() const throw () { return versym; }
- std::string get_name_version() const throw (std::bad_alloc);
+ std::string get_name_version() const throw ();
protected:
uint32_t name;
@@ -305,7 +305,7 @@ namespace Elf
class version_requirement
{
public:
- version_requirement() throw (std::bad_alloc);
+ version_requirement() throw ();
virtual ~version_requirement () throw () { }
const std::string &get_file() const throw () { return file_string; }
diff --git a/src/mklibs-readelf/elf_data.hpp b/src/mklibs-readelf/elf_data.hpp
index 05effee..3871982 100644
--- a/src/mklibs-readelf/elf_data.hpp
+++ b/src/mklibs-readelf/elf_data.hpp
@@ -94,7 +94,7 @@ namespace Elf
class file_data : public file
{
public:
- file_data(uint8_t *, size_t len) throw (std::bad_alloc, std::runtime_error);
+ file_data(uint8_t *, size_t len) throw ();
const uint8_t get_class() const throw () { return _class::id; }
const uint8_t get_data() const throw () { return _data::id; }
@@ -109,7 +109,7 @@ namespace Elf
public:
section_data(Shdr *, uint8_t *) throw ();
- virtual void update(const file &) throw (std::bad_alloc);
+ virtual void update(const file &) throw ();
};
template <typename _class, typename _data, typename _type>
@@ -133,9 +133,9 @@ namespace Elf
typedef typename _elfdef<_class>::Shdr Shdr;
public:
- section_real(Shdr *, uint8_t *) throw (std::bad_alloc);
+ section_real(Shdr *, uint8_t *) throw ();
- void update(const file &) throw (std::bad_alloc);
+ void update(const file &) throw ();
};
template <typename _class, typename _data>
@@ -147,9 +147,9 @@ namespace Elf
typedef typename _elfdef<_class>::Shdr Shdr;
public:
- section_real(Shdr *, uint8_t *) throw (std::bad_alloc);
+ section_real(Shdr *, uint8_t *) throw ();
- void update(const file &) throw (std::bad_alloc);
+ void update(const file &) throw ();
};
template <typename _class, typename _data>
@@ -161,9 +161,9 @@ namespace Elf
typedef typename _elfdef<_class>::Shdr Shdr;
public:
- section_real(Shdr *, uint8_t *) throw (std::bad_alloc);
+ section_real(Shdr *, uint8_t *) throw ();
- void update(const file &) throw (std::bad_alloc);
+ void update(const file &) throw ();
};
template <typename _class, typename _data>
@@ -175,9 +175,9 @@ namespace Elf
typedef typename _elfdef<_class>::Shdr Shdr;
public:
- section_real(Shdr *, uint8_t *) throw (std::bad_alloc);
+ section_real(Shdr *, uint8_t *) throw ();
- void update(const file &) throw (std::bad_alloc);
+ void update(const file &) throw ();
};
template <typename _class, typename _data>
@@ -189,7 +189,7 @@ namespace Elf
typedef typename _elfdef<_class>::Shdr Shdr;
public:
- section_real(Shdr *, uint8_t *) throw (std::bad_alloc);
+ section_real(Shdr *, uint8_t *) throw ();
};
template <typename _class, typename _data>
@@ -220,7 +220,7 @@ namespace Elf
typedef typename _elfdef<_class>::Phdr Phdr;
public:
- segment_real (Phdr *, uint8_t *) throw (std::bad_alloc);
+ segment_real (Phdr *, uint8_t *) throw ();
};
template <typename _class, typename _data>
@@ -232,7 +232,7 @@ namespace Elf
public:
dynamic_data (Dyn *) throw ();
- void update_string(const section_type<section_type_STRTAB> &) throw (std::bad_alloc);
+ void update_string(const section_type<section_type_STRTAB> &) throw ();
};
template <typename _class, typename _data>
@@ -244,8 +244,8 @@ namespace Elf
public:
symbol_data (Sym *) throw ();
- void update_string(const section_type<section_type_STRTAB> &) throw (std::bad_alloc);
- virtual void update_version (const file &, uint16_t) throw (std::bad_alloc);
+ void update_string(const section_type<section_type_STRTAB> &) throw ();
+ virtual void update_version (const file &, uint16_t) throw ();
};
template <typename _class, typename _data>
@@ -257,7 +257,7 @@ namespace Elf
version_definition_data (Verdef *) throw ();
- void update_string(const section_type<section_type_STRTAB> &) throw (std::bad_alloc);
+ void update_string(const section_type<section_type_STRTAB> &) throw ();
};
template <typename _class, typename _data>
@@ -269,7 +269,7 @@ namespace Elf
version_requirement_data (Verneed *) throw ();
- void update_string(const section_type<section_type_STRTAB> &) throw (std::bad_alloc);
+ void update_string(const section_type<section_type_STRTAB> &) throw ();
};
template <typename _class, typename _data>
@@ -280,7 +280,7 @@ namespace Elf
version_requirement_entry_data (Vernaux *, const version_requirement &) throw ();
- void update_string(const section_type<section_type_STRTAB> &) throw (std::bad_alloc);
+ void update_string(const section_type<section_type_STRTAB> &) throw ();
};
}
--
2.11.0

View File

@@ -12,6 +12,7 @@ SRC_URI = "http://snapshot.debian.org/archive/debian/20180828T214102Z/pool/main/
file://avoid-failure-on-symbol-provided-by-application.patch \
file://show-GNU-unique-symbols-as-provided-symbols.patch \
file://fix_cross_compile.patch \
file://remove-deprecated-exception-specification-cpp17.patch \
"
SRC_URI[md5sum] = "6b6eeb9b4016c6a7317acc28c89e32cc"

View File

@@ -1,363 +0,0 @@
SUMMARY = "The Python Programming Language"
HOMEPAGE = "http://www.python.org"
DESCRIPTION = "Python is a programming language that lets you work more quickly and integrate your systems more effectively."
LICENSE = "PSF-2.0 & BSD-0-Clause"
SECTION = "devel/python"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c22d2438294c784731bf9dd224a467b7"
SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
file://run-ptest \
file://create_manifest3.py \
file://get_module_deps3.py \
file://python3-manifest.json \
file://check_build_completeness.py \
file://cgi_py.patch \
file://0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch \
${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \
file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch \
file://python-config.patch \
file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \
file://0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch \
file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \
file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \
file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \
file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \
file://crosspythonpath.patch \
file://reformat_sysconfig.py \
file://0001-Use-FLAG_REF-always-for-interned-strings.patch \
file://0001-test_locale.py-correct-the-test-output-format.patch \
file://0017-setup.py-do-not-report-missing-dependencies-for-disa.patch \
file://0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \
file://0001-Makefile-do-not-compile-.pyc-in-parallel.patch \
file://0001-configure.ac-fix-LIBPL.patch \
file://0001-python3-Do-not-hardcode-lib-for-distutils.patch \
file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \
file://0001-test_ctypes.test_find-skip-without-tools-sdk.patch \
"
SRC_URI_append_class-native = " \
file://0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch \
file://12-distutils-prefix-is-inside-staging-area.patch \
file://0001-Don-t-search-system-for-headers-libraries.patch \
"
SRC_URI[md5sum] = "d9eee4b20155553830a2025e4dcaa7b3"
SRC_URI[sha256sum] = "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9"
# exclude pre-releases for both python 2.x and 3.x
UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
CVE_PRODUCT = "python"
# Upstream consider this expected behaviour
CVE_CHECK_WHITELIST += "CVE-2007-4559"
# This is not exploitable when glibc has CVE-2016-10739 fixed.
CVE_CHECK_WHITELIST += "CVE-2019-18348"
# This is windows only issue.
CVE_CHECK_WHITELIST += "CVE-2020-15523"
PYTHON_MAJMIN = "3.8"
S = "${WORKDIR}/Python-${PV}"
BBCLASSEXTEND = "native nativesdk"
inherit autotools pkgconfig qemu ptest multilib_header update-alternatives
MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
ALTERNATIVE_${PN}-dev = "python3-config"
ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config"
ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}"
DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2 autoconf-archive"
DEPENDS_append_class-target = " python3-native"
DEPENDS_append_class-nativesdk = " python3-native"
EXTRA_OECONF = " --without-ensurepip --enable-shared"
EXTRA_OECONF_append_class-native = " --bindir=${bindir}/${PN}"
export CROSSPYTHONPATH="${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/"
EXTRANATIVEPATH += "python3-native"
CACHED_CONFIGUREVARS = " \
ac_cv_file__dev_ptmx=yes \
ac_cv_file__dev_ptc=no \
ac_cv_working_tzset=yes \
"
python() {
# PGO currently causes builds to not be reproducible, so disable it for
# now. See YOCTO #13407
if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) and d.getVar('BUILD_REPRODUCIBLE_BINARIES') != '1':
d.setVar('PACKAGECONFIG_PGO', 'pgo')
else:
d.setVar('PACKAGECONFIG_PGO', '')
}
PACKAGECONFIG_class-target ??= "readline ${PACKAGECONFIG_PGO} gdbm"
PACKAGECONFIG_class-native ??= "readline gdbm"
PACKAGECONFIG_class-nativesdk ??= "readline gdbm"
PACKAGECONFIG[readline] = ",,readline"
# Use profile guided optimisation by running PyBench inside qemu-user
PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native"
PACKAGECONFIG[tk] = ",,tk"
PACKAGECONFIG[gdbm] = ",,gdbm"
do_configure_prepend () {
mkdir -p ${B}/Modules
cat > ${B}/Modules/Setup.local << EOF
*disabled*
${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '', '_gdbm _dbm', d)}
${@bb.utils.contains('PACKAGECONFIG', 'readline', '', 'readline', d)}
EOF
}
CPPFLAGS_append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid"
EXTRA_OEMAKE = '\
STAGING_LIBDIR=${STAGING_LIBDIR} \
STAGING_INCDIR=${STAGING_INCDIR} \
LIB=${baselib} \
'
do_compile_prepend_class-target() {
if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then
qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}"
cat >pgo-wrapper <<EOF
#!/bin/sh
cd ${B}
$qemu_binary "\$@"
EOF
chmod +x pgo-wrapper
fi
}
do_install_prepend() {
${WORKDIR}/check_build_completeness.py ${T}/log.do_compile
}
do_install_append_class-target() {
oe_multilib_header python${PYTHON_MAJMIN}/pyconfig.h
}
do_install_append_class-native() {
# Make sure we use /usr/bin/env python
for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do
sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT
done
# Add a symlink to the native Python so that scripts can just invoke
# "nativepython" and get the right one without needing absolute paths
# (these often end up too long for the #! parser in the kernel as the
# buffer is 128 bytes long).
ln -s python3-native/python3 ${D}${bindir}/nativepython3
}
do_install_append() {
mkdir -p ${D}${libdir}/python-sysconfigdata
sysconfigfile=`find ${D} -name _sysconfig*.py`
cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
sed -i \
-e "s,^ 'LIBDIR'.*, 'LIBDIR': '${STAGING_LIBDIR}'\,,g" \
-e "s,^ 'INCLUDEDIR'.*, 'INCLUDEDIR': '${STAGING_INCDIR}'\,,g" \
-e "s,^ 'CONFINCLUDEDIR'.*, 'CONFINCLUDEDIR': '${STAGING_INCDIR}'\,,g" \
-e "/^ 'INCLDIRSTOMAKE'/{N; s,/usr/include,${STAGING_INCDIR},g}" \
-e "/^ 'INCLUDEPY'/s,/usr/include,${STAGING_INCDIR},g" \
${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
}
do_install_append_class-nativesdk () {
create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
}
SSTATE_SCAN_FILES += "Makefile _sysconfigdata.py"
PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess"
py_package_preprocess () {
# Remove references to buildmachine paths in target Makefile and _sysconfigdata
sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
-e 's|${DEBUG_PREFIX_MAP}||g' \
-e 's:${HOSTTOOLS_DIR}/::g' \
-e 's:${RECIPE_SYSROOT_NATIVE}::g' \
-e 's:${RECIPE_SYSROOT}::g' \
-e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile \
${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py \
${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config
# Reformat _sysconfigdata after modifying it so that it remains
# reproducible
for c in ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do
python3 ${WORKDIR}/reformat_sysconfig.py $c
done
# Recompile _sysconfigdata after modifying it
cd ${PKGD}
sysconfigfile=`find . -name _sysconfigdata_*.py`
${STAGING_BINDIR_NATIVE}/python3-native/python3 \
-c "from py_compile import compile; compile('$sysconfigfile')"
${STAGING_BINDIR_NATIVE}/python3-native/python3 \
-c "from py_compile import compile; compile('$sysconfigfile', optimize=1)"
${STAGING_BINDIR_NATIVE}/python3-native/python3 \
-c "from py_compile import compile; compile('$sysconfigfile', optimize=2)"
cd -
mv ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}
#Remove the unneeded copy of target sysconfig data
rm -rf ${PKGD}/${libdir}/python-sysconfigdata
}
# We want bytecode precompiled .py files (.pyc's) by default
# but the user may set it on their own conf
INCLUDE_PYCS ?= "1"
python(){
import collections, json
filename = os.path.join(d.getVar('THISDIR'), 'python3', 'python3-manifest.json')
# This python changes the datastore based on the contents of a file, so mark
# that dependency.
bb.parse.mark_dependency(d, filename)
with open(filename) as manifest_file:
manifest_str = manifest_file.read()
json_start = manifest_str.find('# EOC') + 6
manifest_file.seek(json_start)
manifest_str = manifest_file.read()
python_manifest = json.loads(manifest_str, object_pairs_hook=collections.OrderedDict)
# First set RPROVIDES for -native case
# Hardcoded since it cant be python3-native-foo, should be python3-foo-native
pn = 'python3'
rprovides = d.getVar('RPROVIDES').split()
# ${PN}-misc-native is not in the manifest
rprovides.append(pn + '-misc-native')
for key in python_manifest:
pypackage = pn + '-' + key + '-native'
if pypackage not in rprovides:
rprovides.append(pypackage)
d.setVar('RPROVIDES_class-native', ' '.join(rprovides))
# Then work on the target
include_pycs = d.getVar('INCLUDE_PYCS')
packages = d.getVar('PACKAGES').split()
pn = d.getVar('PN')
newpackages=[]
for key in python_manifest:
pypackage = pn + '-' + key
if pypackage not in packages:
# We need to prepend, otherwise python-misc gets everything
# so we use a new variable
newpackages.append(pypackage)
# "Build" python's manifest FILES, RDEPENDS and SUMMARY
d.setVar('FILES_' + pypackage, '')
for value in python_manifest[key]['files']:
d.appendVar('FILES_' + pypackage, ' ' + value)
# Add cached files
if include_pycs == '1':
for value in python_manifest[key]['cached']:
d.appendVar('FILES_' + pypackage, ' ' + value)
for value in python_manifest[key]['rdepends']:
# Make it work with or without $PN
if '${PN}' in value:
value=value.split('-', 1)[1]
d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value)
for value in python_manifest[key].get('rrecommends', ()):
if '${PN}' in value:
value=value.split('-', 1)[1]
d.appendVar('RRECOMMENDS_' + pypackage, ' ' + pn + '-' + value)
d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary'])
# Prepending so to avoid python-misc getting everything
packages = newpackages + packages
d.setVar('PACKAGES', ' '.join(packages))
d.setVar('ALLOW_EMPTY_${PN}-modules', '1')
d.setVar('ALLOW_EMPTY_${PN}-pkgutil', '1')
}
# Files needed to create a new manifest
do_create_manifest() {
# This task should be run with every new release of Python.
# We must ensure that PACKAGECONFIG enables everything when creating
# a new manifest, this is to base our new manifest on a complete
# native python build, containing all dependencies, otherwise the task
# wont be able to find the required files.
# e.g. BerkeleyDB is an optional build dependency so it may or may not
# be present, we must ensure it is.
cd ${WORKDIR}
# This needs to be executed by python-native and NOT by HOST's python
nativepython3 create_manifest3.py ${PYTHON_MAJMIN}
cp python3-manifest.json.new ${THISDIR}/python3/python3-manifest.json
}
# bitbake python -c create_manifest
# Make sure we have native python ready when we create a new manifest
addtask do_create_manifest after do_patch do_prepare_recipe_sysroot
# manual dependency additions
RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python3-modules"
RRECOMMENDS_${PN}-crypt_append_class-target = " openssl ca-certificates"
RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " openssl ca-certificates"
# For historical reasons PN is empty and provided by python3-modules
FILES_${PN} = ""
RPROVIDES_${PN}-modules = "${PN}"
FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
# provide python-pyvenv from python3-venv
RPROVIDES_${PN}-venv += "python3-pyvenv"
# package libpython3
PACKAGES =+ "libpython3 libpython3-staticdev"
FILES_libpython3 = "${libdir}/libpython*.so.*"
FILES_libpython3-staticdev += "${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}-*/libpython${PYTHON_MAJMIN}.a"
INSANE_SKIP_${PN}-dev += "dev-elf"
INSANE_SKIP_${PN}-ptest += "dev-deps"
# catch all the rest (unsorted)
PACKAGES += "${PN}-misc"
RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pydoc python3-pickle python3-audio"
RDEPENDS_${PN}-modules_append_class-target = " python3-misc"
RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc"
FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
# catch manpage
PACKAGES += "${PN}-man"
FILES_${PN}-man = "${datadir}/man"
# See https://bugs.python.org/issue18748 and https://bugs.python.org/issue37395
RDEPENDS_libpython3_append_libc-glibc = " libgcc"
RDEPENDS_${PN}-ctypes_append_libc-glibc = " ${MLPREFIX}ldconfig"
RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev unzip bzip2 libgcc tzdata-europe coreutils sed"
RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-tr-tr.iso-8859-9"
RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk tk-lib', '', d)}"
RDEPENDS_${PN}-dev = ""
RDEPENDS_${PN}-tests_append_class-target = " bash"
RDEPENDS_${PN}-tests_append_class-nativesdk = " bash"
# Python's tests contain large numbers of files we don't need in the recipe sysroots
SYSROOT_PREPROCESS_FUNCS += " py3_sysroot_cleanup"
py3_sysroot_cleanup () {
rm -rf ${SYSROOT_DESTDIR}${libdir}/python${PYTHON_MAJMIN}/test
}

View File

@@ -35,27 +35,56 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
file://CVE-2020-7039-2.patch \
file://CVE-2020-7039-3.patch \
file://0001-Add-enable-disable-udev.patch \
file://CVE-2020-7211.patch \
file://0001-qemu-Do-not-include-file-if-not-exists.patch \
file://CVE-2020-7211.patch \
file://0001-qemu-Do-not-include-file-if-not-exists.patch \
file://CVE-2020-11102.patch \
file://CVE-2020-11869.patch \
file://CVE-2020-13361.patch \
file://CVE-2020-10761.patch \
file://CVE-2020-10702.patch \
file://CVE-2020-13659.patch \
file://CVE-2020-13800.patch \
file://CVE-2020-13362.patch \
file://CVE-2020-15863.patch \
file://CVE-2020-14364.patch \
file://CVE-2020-14415.patch \
file://CVE-2020-16092.patch \
file://0001-target-mips-Increase-number-of-TLB-entries-on-the-34.patch \
file://CVE-2019-20175.patch \
file://CVE-2020-24352.patch \
file://CVE-2020-25723.patch \
file://CVE-2021-20203.patch \
file://CVE-2021-3392.patch \
"
file://CVE-2020-11869.patch \
file://CVE-2020-13361.patch \
file://CVE-2020-10761.patch \
file://CVE-2020-10702.patch \
file://CVE-2020-13659.patch \
file://CVE-2020-13800.patch \
file://CVE-2020-13362.patch \
file://CVE-2020-15863.patch \
file://CVE-2020-14364.patch \
file://CVE-2020-14415.patch \
file://CVE-2020-16092.patch \
file://0001-target-mips-Increase-number-of-TLB-entries-on-the-34.patch \
file://CVE-2019-20175.patch \
file://CVE-2020-24352.patch \
file://CVE-2020-25723.patch \
file://CVE-2021-20203.patch \
file://CVE-2021-3392.patch \
file://CVE-2020-25085.patch \
file://CVE-2020-25624_1.patch \
file://CVE-2020-25624_2.patch \
file://CVE-2020-25625.patch \
file://CVE-2020-29443.patch \
file://CVE-2021-20221.patch \
file://CVE-2021-20181.patch \
file://CVE-2021-3416_1.patch \
file://CVE-2021-3416_2.patch \
file://CVE-2021-3416_3.patch \
file://CVE-2021-3416_5.patch \
file://CVE-2021-3416_6.patch \
file://CVE-2021-3416_7.patch \
file://CVE-2021-3416_8.patch \
file://CVE-2021-3416_9.patch \
file://CVE-2021-3416_10.patch \
file://CVE-2021-20257.patch \
file://CVE-2021-3544.patch \
file://CVE-2021-3544_2.patch \
file://CVE-2021-3544_3.patch \
file://CVE-2021-3544_4.patch \
file://CVE-2021-3544_5.patch \
file://CVE-2021-3545.patch \
file://CVE-2021-3546.patch \
file://CVE-2021-3527-1.patch \
file://CVE-2021-3527-2.patch \
file://CVE-2021-3582.patch \
file://CVE-2021-3607.patch \
file://CVE-2021-3608.patch \
"
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
SRC_URI[md5sum] = "278eeb294e4b497e79af7a57e660cb9a"
@@ -210,6 +239,7 @@ PACKAGECONFIG[glusterfs] = "--enable-glusterfs,--disable-glusterfs"
PACKAGECONFIG[xkbcommon] = "--enable-xkbcommon,--disable-xkbcommon,libxkbcommon"
PACKAGECONFIG[libudev] = "--enable-libudev,--disable-libudev,eudev"
PACKAGECONFIG[libxml2] = "--enable-libxml2,--disable-libxml2,libxml2"
PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
INSANE_SKIP_${PN} = "arch"

View File

@@ -0,0 +1,46 @@
From dfba99f17feb6d4a129da19d38df1bcd8579d1c3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <f4bug@amsat.org>
Date: Tue, 1 Sep 2020 15:22:06 +0200
Subject: [PATCH] hw/sd/sdhci: Fix DMA Transfer Block Size field
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The 'Transfer Block Size' field is 12-bit wide.
See section '2.2.2. Block Size Register (Offset 004h)' in datasheet.
Two different bug reproducer available:
- https://bugs.launchpad.net/qemu/+bug/1892960
- https://ruhr-uni-bochum.sciebo.de/s/NNWP2GfwzYKeKwE?path=%2Fsdhci_oob_write1
Cc: qemu-stable@nongnu.org
Buglink: https://bugs.launchpad.net/qemu/+bug/1892960
Fixes: d7dfca0807a ("hw/sdhci: introduce standard SD host controller")
Reported-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Prasad J Pandit <pjp@fedoraproject.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20200901140411.112150-3-f4bug@amsat.org>
Upstream-Status: Backport
CVE: CVE-2020-25085
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
hw/sd/sdhci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: qemu-4.2.0/hw/sd/sdhci.c
===================================================================
--- qemu-4.2.0.orig/hw/sd/sdhci.c
+++ qemu-4.2.0/hw/sd/sdhci.c
@@ -1129,7 +1129,7 @@ sdhci_write(void *opaque, hwaddr offset,
break;
case SDHC_BLKSIZE:
if (!TRANSFERRING_DATA(s->prnsts)) {
- MASKED_WRITE(s->blksize, mask, value);
+ MASKED_WRITE(s->blksize, mask, extract32(value, 0, 12));
MASKED_WRITE(s->blkcnt, mask >> 16, value >> 16);
}

View File

@@ -0,0 +1,87 @@
From fbec359e9279ce78908b9f2af2c264e7448336af Mon Sep 17 00:00:00 2001
From: Guenter Roeck <linux@roeck-us.net>
Date: Mon, 17 Feb 2020 12:48:10 -0800
Subject: [PATCH] hw: usb: hcd-ohci: Move OHCISysBusState and TYPE_SYSBUS_OHCI
to include file
We need to be able to use OHCISysBusState outside hcd-ohci.c, so move it
to its include file.
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Niek Linnenbank <nieklinnenbank@gmail.com>
Message-id: 20200217204812.9857-2-linux@roeck-us.net
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Upstream-Status: Backport
CVE: CVE-2020-25624 patch #1
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
hw/usb/hcd-ohci.c | 15 ---------------
hw/usb/hcd-ohci.h | 16 ++++++++++++++++
2 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/hw/usb/hcd-ohci.c b/hw/usb/hcd-ohci.c
index 8a94bd004a..1e6e85e86a 100644
--- a/hw/usb/hcd-ohci.c
+++ b/hw/usb/hcd-ohci.c
@@ -1870,21 +1870,6 @@ void ohci_sysbus_die(struct OHCIState *ohci)
ohci_bus_stop(ohci);
}
-#define TYPE_SYSBUS_OHCI "sysbus-ohci"
-#define SYSBUS_OHCI(obj) OBJECT_CHECK(OHCISysBusState, (obj), TYPE_SYSBUS_OHCI)
-
-typedef struct {
- /*< private >*/
- SysBusDevice parent_obj;
- /*< public >*/
-
- OHCIState ohci;
- char *masterbus;
- uint32_t num_ports;
- uint32_t firstport;
- dma_addr_t dma_offset;
-} OHCISysBusState;
-
static void ohci_realize_pxa(DeviceState *dev, Error **errp)
{
OHCISysBusState *s = SYSBUS_OHCI(dev);
diff --git a/hw/usb/hcd-ohci.h b/hw/usb/hcd-ohci.h
index 16e3f1e13a..5c8819aedf 100644
--- a/hw/usb/hcd-ohci.h
+++ b/hw/usb/hcd-ohci.h
@@ -22,6 +22,7 @@
#define HCD_OHCI_H
#include "sysemu/dma.h"
+#include "hw/usb.h"
/* Number of Downstream Ports on the root hub: */
#define OHCI_MAX_PORTS 15
@@ -90,6 +91,21 @@ typedef struct OHCIState {
void (*ohci_die)(struct OHCIState *ohci);
} OHCIState;
+#define TYPE_SYSBUS_OHCI "sysbus-ohci"
+#define SYSBUS_OHCI(obj) OBJECT_CHECK(OHCISysBusState, (obj), TYPE_SYSBUS_OHCI)
+
+typedef struct {
+ /*< private >*/
+ SysBusDevice parent_obj;
+ /*< public >*/
+
+ OHCIState ohci;
+ char *masterbus;
+ uint32_t num_ports;
+ uint32_t firstport;
+ dma_addr_t dma_offset;
+} OHCISysBusState;
+
extern const VMStateDescription vmstate_ohci_state;
void usb_ohci_init(OHCIState *ohci, DeviceState *dev, uint32_t num_ports,
--
2.25.1

View File

@@ -0,0 +1,101 @@
From 1328fe0c32d5474604105b8105310e944976b058 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Tue, 15 Sep 2020 23:52:58 +0530
Subject: [PATCH] hw: usb: hcd-ohci: check len and frame_number variables
While servicing the OHCI transfer descriptors(TD), OHCI host
controller derives variables 'start_addr', 'end_addr', 'len'
etc. from values supplied by the host controller driver.
Host controller driver may supply values such that using
above variables leads to out-of-bounds access issues.
Add checks to avoid them.
AddressSanitizer: stack-buffer-overflow on address 0x7ffd53af76a0
READ of size 2 at 0x7ffd53af76a0 thread T0
#0 ohci_service_iso_td ../hw/usb/hcd-ohci.c:734
#1 ohci_service_ed_list ../hw/usb/hcd-ohci.c:1180
#2 ohci_process_lists ../hw/usb/hcd-ohci.c:1214
#3 ohci_frame_boundary ../hw/usb/hcd-ohci.c:1257
#4 timerlist_run_timers ../util/qemu-timer.c:572
#5 qemu_clock_run_timers ../util/qemu-timer.c:586
#6 qemu_clock_run_all_timers ../util/qemu-timer.c:672
#7 main_loop_wait ../util/main-loop.c:527
#8 qemu_main_loop ../softmmu/vl.c:1676
#9 main ../softmmu/main.c:50
Reported-by: Gaoning Pan <pgn@zju.edu.cn>
Reported-by: Yongkang Jia <j_kangel@163.com>
Reported-by: Yi Ren <yunye.ry@alibaba-inc.com>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Message-id: 20200915182259.68522-2-ppandit@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Upstream-Status: Backport
CVE: CVE-2020-25624 patch #2
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
hw/usb/hcd-ohci.c | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/hw/usb/hcd-ohci.c b/hw/usb/hcd-ohci.c
index 1e6e85e86a..9dc59101f9 100644
--- a/hw/usb/hcd-ohci.c
+++ b/hw/usb/hcd-ohci.c
@@ -731,7 +731,11 @@ static int ohci_service_iso_td(OHCIState *ohci, struct ohci_ed *ed,
}
start_offset = iso_td.offset[relative_frame_number];
- next_offset = iso_td.offset[relative_frame_number + 1];
+ if (relative_frame_number < frame_count) {
+ next_offset = iso_td.offset[relative_frame_number + 1];
+ } else {
+ next_offset = iso_td.be;
+ }
if (!(OHCI_BM(start_offset, TD_PSW_CC) & 0xe) ||
((relative_frame_number < frame_count) &&
@@ -764,7 +768,12 @@ static int ohci_service_iso_td(OHCIState *ohci, struct ohci_ed *ed,
}
} else {
/* Last packet in the ISO TD */
- end_addr = iso_td.be;
+ end_addr = next_offset;
+ }
+
+ if (start_addr > end_addr) {
+ trace_usb_ohci_iso_td_bad_cc_overrun(start_addr, end_addr);
+ return 1;
}
if ((start_addr & OHCI_PAGE_MASK) != (end_addr & OHCI_PAGE_MASK)) {
@@ -773,6 +782,9 @@ static int ohci_service_iso_td(OHCIState *ohci, struct ohci_ed *ed,
} else {
len = end_addr - start_addr + 1;
}
+ if (len > sizeof(ohci->usb_buf)) {
+ len = sizeof(ohci->usb_buf);
+ }
if (len && dir != OHCI_TD_DIR_IN) {
if (ohci_copy_iso_td(ohci, start_addr, end_addr, ohci->usb_buf, len,
@@ -975,8 +987,16 @@ static int ohci_service_td(OHCIState *ohci, struct ohci_ed *ed)
if ((td.cbp & 0xfffff000) != (td.be & 0xfffff000)) {
len = (td.be & 0xfff) + 0x1001 - (td.cbp & 0xfff);
} else {
+ if (td.cbp > td.be) {
+ trace_usb_ohci_iso_td_bad_cc_overrun(td.cbp, td.be);
+ ohci_die(ohci);
+ return 1;
+ }
len = (td.be - td.cbp) + 1;
}
+ if (len > sizeof(ohci->usb_buf)) {
+ len = sizeof(ohci->usb_buf);
+ }
pktlen = len;
if (len && dir != OHCI_TD_DIR_IN) {
--
2.25.1

View File

@@ -0,0 +1,42 @@
From 1be90ebecc95b09a2ee5af3f60c412b45a766c4f Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Tue, 15 Sep 2020 23:52:59 +0530
Subject: [PATCH] hw: usb: hcd-ohci: check for processed TD before retire
While servicing OHCI transfer descriptors(TD), ohci_service_iso_td
retires a TD if it has passed its time frame. It does not check if
the TD was already processed once and holds an error code in TD_CC.
It may happen if the TD list has a loop. Add check to avoid an
infinite loop condition.
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Message-id: 20200915182259.68522-3-ppandit@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Upstream-Status: Backport
CVE: CVE-2020-25625
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
hw/usb/hcd-ohci.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/hw/usb/hcd-ohci.c b/hw/usb/hcd-ohci.c
index 9dc59101f9..8b912e95d3 100644
--- a/hw/usb/hcd-ohci.c
+++ b/hw/usb/hcd-ohci.c
@@ -691,6 +691,10 @@ static int ohci_service_iso_td(OHCIState *ohci, struct ohci_ed *ed,
the next ISO TD of the same ED */
trace_usb_ohci_iso_td_relative_frame_number_big(relative_frame_number,
frame_count);
+ if (OHCI_CC_DATAOVERRUN == OHCI_BM(iso_td.flags, TD_CC)) {
+ /* avoid infinite loop */
+ return 1;
+ }
OHCI_SET_BM(iso_td.flags, TD_CC, OHCI_CC_DATAOVERRUN);
ed->head &= ~OHCI_DPTR_MASK;
ed->head |= (iso_td.next & OHCI_DPTR_MASK);
--
2.25.1

View File

@@ -0,0 +1,45 @@
From 813212288970c39b1800f63e83ac6e96588095c6 Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Tue, 1 Dec 2020 13:09:26 +0100
Subject: [PATCH] ide: atapi: assert that the buffer pointer is in range
A case was reported where s->io_buffer_index can be out of range.
The report skimped on the details but it seems to be triggered
by s->lba == -1 on the READ/READ CD paths (e.g. by sending an
ATAPI command with LBA = 0xFFFFFFFF). For now paper over it
with assertions. The first one ensures that there is no overflow
when incrementing s->io_buffer_index, the second checks for the
buffer overrun.
Note that the buffer overrun is only a read, so I am not sure
if the assertion failure is actually less harmful than the overrun.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 20201201120926.56559-1-pbonzini@redhat.com
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Upstream-Status: Backport
CVE: CVE-2020-29443
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
hw/ide/atapi.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/hw/ide/atapi.c b/hw/ide/atapi.c
index 14a2b0bb2f..e79157863f 100644
--- a/hw/ide/atapi.c
+++ b/hw/ide/atapi.c
@@ -276,6 +276,8 @@ void ide_atapi_cmd_reply_end(IDEState *s)
s->packet_transfer_size -= size;
s->elementary_transfer_size -= size;
s->io_buffer_index += size;
+ assert(size <= s->io_buffer_total_len);
+ assert(s->io_buffer_index <= s->io_buffer_total_len);
/* Some adapters process PIO data right away. In that case, we need
* to avoid mutual recursion between ide_transfer_start
--
2.25.1

View File

@@ -0,0 +1,81 @@
From c2d2d14e8deece958bbc4fc649d22c3564bc4e7e Mon Sep 17 00:00:00 2001
From: Greg Kurz <groug@kaod.org>
Date: Thu, 14 Jan 2021 17:04:12 +0100
Subject: [PATCH] 9pfs: Fully restart unreclaim loop (CVE-2021-20181)
Depending on the client activity, the server can be asked to open a huge
number of file descriptors and eventually hit RLIMIT_NOFILE. This is
currently mitigated using a reclaim logic : the server closes the file
descriptors of idle fids, based on the assumption that it will be able
to re-open them later. This assumption doesn't hold of course if the
client requests the file to be unlinked. In this case, we loop on the
entire fid list and mark all related fids as unreclaimable (the reclaim
logic will just ignore them) and, of course, we open or re-open their
file descriptors if needed since we're about to unlink the file.
This is the purpose of v9fs_mark_fids_unreclaim(). Since the actual
opening of a file can cause the coroutine to yield, another client
request could possibly add a new fid that we may want to mark as
non-reclaimable as well. The loop is thus restarted if the re-open
request was actually transmitted to the backend. This is achieved
by keeping a reference on the first fid (head) before traversing
the list.
This is wrong in several ways:
- a potential clunk request from the client could tear the first
fid down and cause the reference to be stale. This leads to a
use-after-free error that can be detected with ASAN, using a
custom 9p client
- fids are added at the head of the list : restarting from the
previous head will always miss fids added by a some other
potential request
All these problems could be avoided if fids were being added at the
end of the list. This can be achieved with a QSIMPLEQ, but this is
probably too much change for a bug fix. For now let's keep it
simple and just restart the loop from the current head.
Fixes: CVE-2021-20181
Buglink: https://bugs.launchpad.net/qemu/+bug/1911666
Reported-by: Zero Day Initiative <zdi-disclosures@trendmicro.com>
Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Message-Id: <161064025265.1838153.15185571283519390907.stgit@bahia.lan>
Signed-off-by: Greg Kurz <groug@kaod.org>
Upstream-Status: Backport [89fbea8737e8f7b954745a1ffc4238d377055305]
CVE: CVE-2021-20181
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
hw/9pfs/9p.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
index 94df440fc..6026b51a1 100644
--- a/hw/9pfs/9p.c
+++ b/hw/9pfs/9p.c
@@ -502,9 +502,9 @@ static int coroutine_fn v9fs_mark_fids_unreclaim(V9fsPDU *pdu, V9fsPath *path)
{
int err;
V9fsState *s = pdu->s;
- V9fsFidState *fidp, head_fid;
+ V9fsFidState *fidp;
- head_fid.next = s->fid_list;
+again:
for (fidp = s->fid_list; fidp; fidp = fidp->next) {
if (fidp->path.size != path->size) {
continue;
@@ -524,7 +524,7 @@ static int coroutine_fn v9fs_mark_fids_unreclaim(V9fsPDU *pdu, V9fsPath *path)
* switched to the worker thread
*/
if (err == 0) {
- fidp = &head_fid;
+ goto again;
}
}
}
--
2.29.2

View File

@@ -0,0 +1,67 @@
From edfe2eb4360cde4ed5d95bda7777edcb3510f76a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <f4bug@amsat.org>
Date: Sun, 31 Jan 2021 11:34:01 +0100
Subject: [PATCH] hw/intc/arm_gic: Fix interrupt ID in GICD_SGIR register
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Per the ARM Generic Interrupt Controller Architecture specification
(document "ARM IHI 0048B.b (ID072613)"), the SGIINTID field is 4 bit,
not 10:
- 4.3 Distributor register descriptions
- 4.3.15 Software Generated Interrupt Register, GICD_SG
- Table 4-21 GICD_SGIR bit assignments
The Interrupt ID of the SGI to forward to the specified CPU
interfaces. The value of this field is the Interrupt ID, in
the range 0-15, for example a value of 0b0011 specifies
Interrupt ID 3.
Correct the irq mask to fix an undefined behavior (which eventually
lead to a heap-buffer-overflow, see [Buglink]):
$ echo 'writel 0x8000f00 0xff4affb0' | qemu-system-aarch64 -M virt,accel=qtest -qtest stdio
[I 1612088147.116987] OPENED
[R +0.278293] writel 0x8000f00 0xff4affb0
../hw/intc/arm_gic.c:1498:13: runtime error: index 944 out of bounds for type 'uint8_t [16][8]'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../hw/intc/arm_gic.c:1498:13
This fixes a security issue when running with KVM on Arm with
kernel-irqchip=off. (The default is kernel-irqchip=on, which is
unaffected, and which is also the correct choice for performance.)
Cc: qemu-stable@nongnu.org
Fixes: CVE-2021-20221
Fixes: 9ee6e8bb853 ("ARMv7 support.")
Buglink: https://bugs.launchpad.net/qemu/+bug/1913916
Buglink: https://bugs.launchpad.net/qemu/+bug/1913917
Reported-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20210131103401.217160-1-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Upstream-Status: Backport
CVE: CVE-2021-20221
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
hw/intc/arm_gic.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: qemu-4.2.0/hw/intc/arm_gic.c
===================================================================
--- qemu-4.2.0.orig/hw/intc/arm_gic.c
+++ qemu-4.2.0/hw/intc/arm_gic.c
@@ -1455,7 +1455,7 @@ static void gic_dist_writel(void *opaque
int target_cpu;
cpu = gic_get_current_cpu(s);
- irq = value & 0x3ff;
+ irq = value & 0xf;
switch ((value >> 24) & 3) {
case 0:
mask = (value >> 16) & ALL_CPU_MASK;

View File

@@ -0,0 +1,55 @@
From affdf476543405045c281a7c67d1eaedbcea8135 Mon Sep 17 00:00:00 2001
From: Jason Wang <jasowang@redhat.com>
Date: Wed, 24 Feb 2021 13:45:28 +0800
Subject: [PATCH] e1000: fail early for evil descriptor
During procss_tx_desc(), driver can try to chain data descriptor with
legacy descriptor, when will lead underflow for the following
calculation in process_tx_desc() for bytes:
if (tp->size + bytes > msh)
bytes = msh - tp->size;
This will lead a infinite loop. So check and fail early if tp->size if
greater or equal to msh.
Reported-by: Alexander Bulekov <alxndr@bu.edu>
Reported-by: Cheolwoo Myung <cwmyung@snu.ac.kr>
Reported-by: Ruhr-University Bochum <bugs-syssec@rub.de>
Cc: Prasad J Pandit <ppandit@redhat.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Jason Wang <jasowang@redhat.com>
Upstream-Status: Backport [3de46e6fc489c52c9431a8a832ad8170a7569bd8]
CVE: CVE-2021-20257
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
hw/net/e1000.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index cf22c4f07..c3564c7ce 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -670,6 +670,9 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp)
msh = tp->tso_props.hdr_len + tp->tso_props.mss;
do {
bytes = split_size;
+ if (tp->size >= msh) {
+ goto eop;
+ }
if (tp->size + bytes > msh)
bytes = msh - tp->size;
@@ -695,6 +698,7 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp)
tp->size += split_size;
}
+eop:
if (!(txd_lower & E1000_TXD_CMD_EOP))
return;
if (!(tp->cptse && tp->size < tp->tso_props.hdr_len)) {
--
2.29.2

View File

@@ -0,0 +1,177 @@
From 4b1988a29d67277d6c8ce1df52975f5616592913 Mon Sep 17 00:00:00 2001
From: Jason Wang <jasowang@redhat.com>
Date: Wed, 24 Feb 2021 11:44:36 +0800
Subject: [PATCH 01/10] net: introduce qemu_receive_packet()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Some NIC supports loopback mode and this is done by calling
nc->info->receive() directly which in fact suppresses the effort of
reentrancy check that is done in qemu_net_queue_send().
Unfortunately we can't use qemu_net_queue_send() here since for
loopback there's no sender as peer, so this patch introduce a
qemu_receive_packet() which is used for implementing loopback mode
for a NIC with this check.
NIC that supports loopback mode will be converted to this helper.
This is intended to address CVE-2021-3416.
Cc: Prasad J Pandit <ppandit@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Jason Wang <jasowang@redhat.com>
Upstream-Status: Backport [705df5466c98f3efdd2b68d3b31dad86858acad7]
CVE: CVE-2021-3416
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
include/net/net.h | 5 +++++
include/net/queue.h | 8 ++++++++
net/net.c | 38 +++++++++++++++++++++++++++++++-------
net/queue.c | 22 ++++++++++++++++++++++
4 files changed, 66 insertions(+), 7 deletions(-)
diff --git a/include/net/net.h b/include/net/net.h
index 778fc787c..03f058ecb 100644
--- a/include/net/net.h
+++ b/include/net/net.h
@@ -143,12 +143,17 @@ void *qemu_get_nic_opaque(NetClientState *nc);
void qemu_del_net_client(NetClientState *nc);
typedef void (*qemu_nic_foreach)(NICState *nic, void *opaque);
void qemu_foreach_nic(qemu_nic_foreach func, void *opaque);
+int qemu_can_receive_packet(NetClientState *nc);
int qemu_can_send_packet(NetClientState *nc);
ssize_t qemu_sendv_packet(NetClientState *nc, const struct iovec *iov,
int iovcnt);
ssize_t qemu_sendv_packet_async(NetClientState *nc, const struct iovec *iov,
int iovcnt, NetPacketSent *sent_cb);
ssize_t qemu_send_packet(NetClientState *nc, const uint8_t *buf, int size);
+ssize_t qemu_receive_packet(NetClientState *nc, const uint8_t *buf, int size);
+ssize_t qemu_receive_packet_iov(NetClientState *nc,
+ const struct iovec *iov,
+ int iovcnt);
ssize_t qemu_send_packet_raw(NetClientState *nc, const uint8_t *buf, int size);
ssize_t qemu_send_packet_async(NetClientState *nc, const uint8_t *buf,
int size, NetPacketSent *sent_cb);
diff --git a/include/net/queue.h b/include/net/queue.h
index c0269bb1d..9f2f289d7 100644
--- a/include/net/queue.h
+++ b/include/net/queue.h
@@ -55,6 +55,14 @@ void qemu_net_queue_append_iov(NetQueue *queue,
void qemu_del_net_queue(NetQueue *queue);
+ssize_t qemu_net_queue_receive(NetQueue *queue,
+ const uint8_t *data,
+ size_t size);
+
+ssize_t qemu_net_queue_receive_iov(NetQueue *queue,
+ const struct iovec *iov,
+ int iovcnt);
+
ssize_t qemu_net_queue_send(NetQueue *queue,
NetClientState *sender,
unsigned flags,
diff --git a/net/net.c b/net/net.c
index 6a2c3d956..5e15e5d27 100644
--- a/net/net.c
+++ b/net/net.c
@@ -528,6 +528,17 @@ int qemu_set_vnet_be(NetClientState *nc, bool is_be)
#endif
}
+int qemu_can_receive_packet(NetClientState *nc)
+{
+ if (nc->receive_disabled) {
+ return 0;
+ } else if (nc->info->can_receive &&
+ !nc->info->can_receive(nc)) {
+ return 0;
+ }
+ return 1;
+}
+
int qemu_can_send_packet(NetClientState *sender)
{
int vm_running = runstate_is_running();
@@ -540,13 +551,7 @@ int qemu_can_send_packet(NetClientState *sender)
return 1;
}
- if (sender->peer->receive_disabled) {
- return 0;
- } else if (sender->peer->info->can_receive &&
- !sender->peer->info->can_receive(sender->peer)) {
- return 0;
- }
- return 1;
+ return qemu_can_receive_packet(sender->peer);
}
static ssize_t filter_receive_iov(NetClientState *nc,
@@ -679,6 +684,25 @@ ssize_t qemu_send_packet(NetClientState *nc, const uint8_t *buf, int size)
return qemu_send_packet_async(nc, buf, size, NULL);
}
+ssize_t qemu_receive_packet(NetClientState *nc, const uint8_t *buf, int size)
+{
+ if (!qemu_can_receive_packet(nc)) {
+ return 0;
+ }
+
+ return qemu_net_queue_receive(nc->incoming_queue, buf, size);
+}
+
+ssize_t qemu_receive_packet_iov(NetClientState *nc, const struct iovec *iov,
+ int iovcnt)
+{
+ if (!qemu_can_receive_packet(nc)) {
+ return 0;
+ }
+
+ return qemu_net_queue_receive_iov(nc->incoming_queue, iov, iovcnt);
+}
+
ssize_t qemu_send_packet_raw(NetClientState *nc, const uint8_t *buf, int size)
{
return qemu_send_packet_async_with_flags(nc, QEMU_NET_PACKET_FLAG_RAW,
diff --git a/net/queue.c b/net/queue.c
index 19e32c80f..c872d51df 100644
--- a/net/queue.c
+++ b/net/queue.c
@@ -182,6 +182,28 @@ static ssize_t qemu_net_queue_deliver_iov(NetQueue *queue,
return ret;
}
+ssize_t qemu_net_queue_receive(NetQueue *queue,
+ const uint8_t *data,
+ size_t size)
+{
+ if (queue->delivering) {
+ return 0;
+ }
+
+ return qemu_net_queue_deliver(queue, NULL, 0, data, size);
+}
+
+ssize_t qemu_net_queue_receive_iov(NetQueue *queue,
+ const struct iovec *iov,
+ int iovcnt)
+{
+ if (queue->delivering) {
+ return 0;
+ }
+
+ return qemu_net_queue_deliver_iov(queue, NULL, 0, iov, iovcnt);
+}
+
ssize_t qemu_net_queue_send(NetQueue *queue,
NetClientState *sender,
unsigned flags,
--
2.29.2

View File

@@ -0,0 +1,41 @@
From 65b851efd3d0280425c202f4e5880c48f8334dae Mon Sep 17 00:00:00 2001
From: Alexander Bulekov <alxndr@bu.edu>
Date: Mon, 1 Mar 2021 14:35:30 -0500
Subject: [PATCH 10/10] lan9118: switch to use qemu_receive_packet() for
loopback
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This patch switches to use qemu_receive_packet() which can detect
reentrancy and return early.
This is intended to address CVE-2021-3416.
Cc: Prasad J Pandit <ppandit@redhat.com>
Cc: qemu-stable@nongnu.org
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Upstream-Status: Backport [37cee01784ff0df13e5209517e1b3594a5e792d1]
CVE: CVE-2021-3416
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
hw/net/lan9118.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: qemu-4.2.0/hw/net/lan9118.c
===================================================================
--- qemu-4.2.0.orig/hw/net/lan9118.c
+++ qemu-4.2.0/hw/net/lan9118.c
@@ -667,7 +667,7 @@ static void do_tx_packet(lan9118_state *
/* FIXME: Honor TX disable, and allow queueing of packets. */
if (s->phy_control & 0x4000) {
/* This assumes the receive routine doesn't touch the VLANClient. */
- lan9118_receive(qemu_get_queue(s->nic), s->txp->data, s->txp->len);
+ qemu_receive_packet(qemu_get_queue(s->nic), s->txp->data, s->txp->len);
} else {
qemu_send_packet(qemu_get_queue(s->nic), s->txp->data, s->txp->len);
}

View File

@@ -0,0 +1,42 @@
From e2a48a3c7cc33dbbe89f896e0f07462cb04ff6b5 Mon Sep 17 00:00:00 2001
From: Jason Wang <jasowang@redhat.com>
Date: Wed, 24 Feb 2021 12:13:22 +0800
Subject: [PATCH 02/10] e1000: switch to use qemu_receive_packet() for loopback
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This patch switches to use qemu_receive_packet() which can detect
reentrancy and return early.
This is intended to address CVE-2021-3416.
Cc: Prasad J Pandit <ppandit@redhat.com>
Cc: qemu-stable@nongnu.org
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Upstream-Status: Backport [1caff0340f49c93d535c6558a5138d20d475315c]
CVE: CVE-2021-3416
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
hw/net/e1000.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index d7d05ae30..cf22c4f07 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -546,7 +546,7 @@ e1000_send_packet(E1000State *s, const uint8_t *buf, int size)
NetClientState *nc = qemu_get_queue(s->nic);
if (s->phy_reg[PHY_CTRL] & MII_CR_LOOPBACK) {
- nc->info->receive(nc, buf, size);
+ qemu_receive_packet(nc, buf, size);
} else {
qemu_send_packet(nc, buf, size);
}
--
2.29.2

View File

@@ -0,0 +1,43 @@
From c041a4da1ff119715e0ccf2d4a7af62568f17b93 Mon Sep 17 00:00:00 2001
From: Jason Wang <jasowang@redhat.com>
Date: Wed, 24 Feb 2021 12:57:40 +0800
Subject: [PATCH 03/10] dp8393x: switch to use qemu_receive_packet() for
loopback packet
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This patch switches to use qemu_receive_packet() which can detect
reentrancy and return early.
This is intended to address CVE-2021-3416.
Cc: Prasad J Pandit <ppandit@redhat.com>
Cc: qemu-stable@nongnu.org
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com
Signed-off-by: Jason Wang <jasowang@redhat.com>
Upstream-Status: Backport [331d2ac9ea307c990dc86e6493e8f0c48d14bb33]
CVE: CVE-2021-3416
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
hw/net/dp8393x.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c
index 205c0decc..533a8304d 100644
--- a/hw/net/dp8393x.c
+++ b/hw/net/dp8393x.c
@@ -506,7 +506,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s)
s->regs[SONIC_TCR] |= SONIC_TCR_CRSL;
if (nc->info->can_receive(nc)) {
s->loopback_packet = 1;
- nc->info->receive(nc, s->tx_buffer, tx_len);
+ qemu_receive_packet(nc, s->tx_buffer, tx_len);
}
} else {
/* Transmit packet */
--
2.29.2

View File

@@ -0,0 +1,42 @@
From d465dc79c9ee729d91ef086b993e956b1935be69 Mon Sep 17 00:00:00 2001
From: Jason Wang <jasowang@redhat.com>
Date: Wed, 24 Feb 2021 13:14:35 +0800
Subject: [PATCH 05/10] sungem: switch to use qemu_receive_packet() for
loopback
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This patch switches to use qemu_receive_packet() which can detect
reentrancy and return early.
This is intended to address CVE-2021-3416.
Cc: Prasad J Pandit <ppandit@redhat.com>
Cc: qemu-stable@nongnu.org
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Upstream-Status: Backport [8c92060d3c0248bd4d515719a35922cd2391b9b4]
CVE: CVE-2021-3416
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
hw/net/sungem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: qemu-4.2.0/hw/net/sungem.c
===================================================================
--- qemu-4.2.0.orig/hw/net/sungem.c
+++ qemu-4.2.0/hw/net/sungem.c
@@ -305,7 +305,7 @@ static void sungem_send_packet(SunGEMSta
NetClientState *nc = qemu_get_queue(s->nic);
if (s->macregs[MAC_XIFCFG >> 2] & MAC_XIFCFG_LBCK) {
- nc->info->receive(nc, buf, size);
+ qemu_receive_packet(nc, buf, size);
} else {
qemu_send_packet(nc, buf, size);
}

View File

@@ -0,0 +1,40 @@
From c0010f9b2bafe866fe32e3c2688454bc24147136 Mon Sep 17 00:00:00 2001
From: Jason Wang <jasowang@redhat.com>
Date: Wed, 24 Feb 2021 13:27:52 +0800
Subject: [PATCH 06/10] tx_pkt: switch to use qemu_receive_packet_iov() for
loopback
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This patch switches to use qemu_receive_receive_iov() which can detect
reentrancy and return early.
This is intended to address CVE-2021-3416.
Cc: Prasad J Pandit <ppandit@redhat.com>
Cc: qemu-stable@nongnu.org
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Upstream-Status: Backport [8c552542b81e56ff532dd27ec6e5328954bdda73]
CVE: CVE-2021-3416
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
hw/net/net_tx_pkt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: qemu-4.2.0/hw/net/net_tx_pkt.c
===================================================================
--- qemu-4.2.0.orig/hw/net/net_tx_pkt.c
+++ qemu-4.2.0/hw/net/net_tx_pkt.c
@@ -544,7 +544,7 @@ static inline void net_tx_pkt_sendv(stru
NetClientState *nc, const struct iovec *iov, int iov_cnt)
{
if (pkt->is_loopback) {
- nc->info->receive_iov(nc, iov, iov_cnt);
+ qemu_receive_packet_iov(nc, iov, iov_cnt);
} else {
qemu_sendv_packet(nc, iov, iov_cnt);
}

View File

@@ -0,0 +1,42 @@
From 64b38675c728354e4015e4bec3d975cd4cb8a981 Mon Sep 17 00:00:00 2001
From: Alexander Bulekov <alxndr@bu.edu>
Date: Fri, 26 Feb 2021 13:47:53 -0500
Subject: [PATCH 07/10] rtl8139: switch to use qemu_receive_packet() for
loopback
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This patch switches to use qemu_receive_packet() which can detect
reentrancy and return early.
This is intended to address CVE-2021-3416.
Cc: Prasad J Pandit <ppandit@redhat.com>
Cc: qemu-stable@nongnu.org
Buglink: https://bugs.launchpad.net/qemu/+bug/1910826
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Upstream-Status: Backport [5311fb805a4403bba024e83886fa0e7572265de4]
CVE: CVE-2021-3416
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
hw/net/rtl8139.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: qemu-4.2.0/hw/net/rtl8139.c
===================================================================
--- qemu-4.2.0.orig/hw/net/rtl8139.c
+++ qemu-4.2.0/hw/net/rtl8139.c
@@ -1793,7 +1793,7 @@ static void rtl8139_transfer_frame(RTL81
}
DPRINTF("+++ transmit loopback mode\n");
- rtl8139_do_receive(qemu_get_queue(s->nic), buf, size, do_interrupt);
+ qemu_receive_packet(qemu_get_queue(s->nic), buf, size);
if (iov) {
g_free(buf2);

View File

@@ -0,0 +1,44 @@
From 023ce62f0a788ad3a8233c7a828554bceeafd031 Mon Sep 17 00:00:00 2001
From: Alexander Bulekov <alxndr@bu.edu>
Date: Mon, 1 Mar 2021 10:33:34 -0500
Subject: [PATCH 08/10] pcnet: switch to use qemu_receive_packet() for loopback
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This patch switches to use qemu_receive_packet() which can detect
reentrancy and return early.
This is intended to address CVE-2021-3416.
Cc: Prasad J Pandit <ppandit@redhat.com>
Cc: qemu-stable@nongnu.org
Buglink: https://bugs.launchpad.net/qemu/+bug/1917085
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Upstream-Status: Backport [99ccfaa1edafd79f7a3a0ff7b58ae4da7c514928]
CVE: CVE-2021-3416
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
hw/net/pcnet.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index f3f18d859..dcd3fc494 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1250,7 +1250,7 @@ txagain:
if (BCR_SWSTYLE(s) == 1)
add_crc = !GET_FIELD(tmd.status, TMDS, NOFCS);
s->looptest = add_crc ? PCNET_LOOPTEST_CRC : PCNET_LOOPTEST_NOCRC;
- pcnet_receive(qemu_get_queue(s->nic), s->buffer, s->xmit_pos);
+ qemu_receive_packet(qemu_get_queue(s->nic), s->buffer, s->xmit_pos);
s->looptest = 0;
} else {
if (s->nic) {
--
2.29.2

View File

@@ -0,0 +1,41 @@
From ecf7e62bb2cb02c9bd40082504ae376f3e19ffd2 Mon Sep 17 00:00:00 2001
From: Alexander Bulekov <alxndr@bu.edu>
Date: Mon, 1 Mar 2021 14:33:43 -0500
Subject: [PATCH 09/10] cadence_gem: switch to use qemu_receive_packet() for
loopback
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This patch switches to use qemu_receive_packet() which can detect
reentrancy and return early.
This is intended to address CVE-2021-3416.
Cc: Prasad J Pandit <ppandit@redhat.com>
Cc: qemu-stable@nongnu.org
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Upstream-Status: Backport [e73adfbeec9d4e008630c814759052ed945c3fed]
CVE: CVE-2021-3416
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
---
hw/net/cadence_gem.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: qemu-4.2.0/hw/net/cadence_gem.c
===================================================================
--- qemu-4.2.0.orig/hw/net/cadence_gem.c
+++ qemu-4.2.0/hw/net/cadence_gem.c
@@ -1225,7 +1225,7 @@ static void gem_transmit(CadenceGEMState
/* Send the packet somewhere */
if (s->phy_loop || (s->regs[GEM_NWCTRL] &
GEM_NWCTRL_LOCALLOOP)) {
- gem_receive(qemu_get_queue(s->nic), tx_packet,
+ qemu_receive_packet(qemu_get_queue(s->nic), tx_packet,
total_bytes);
} else {
qemu_send_packet(qemu_get_queue(s->nic), tx_packet,

View File

@@ -0,0 +1,42 @@
From 05a40b172e4d691371534828078be47e7fff524c Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Mon, 3 May 2021 15:29:15 +0200
Subject: [PATCH] usb: limit combined packets to 1 MiB (CVE-2021-3527)
usb-host and usb-redirect try to batch bulk transfers by combining many
small usb packets into a single, large transfer request, to reduce the
overhead and improve performance.
This patch adds a size limit of 1 MiB for those combined packets to
restrict the host resources the guest can bind that way.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-Id: <20210503132915.2335822-6-kraxel@redhat.com>
Upstream-Status: Backport
https://gitlab.com/qemu-project/qemu/-/commit/05a40b172e4d691371534828078be47e7fff524c
CVE: CVE-2021-3527
Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
---
hw/usb/combined-packet.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/hw/usb/combined-packet.c b/hw/usb/combined-packet.c
index 5d57e883dc..e56802f89a 100644
--- a/hw/usb/combined-packet.c
+++ b/hw/usb/combined-packet.c
@@ -171,7 +171,9 @@ void usb_ep_combine_input_packets(USBEndpoint *ep)
if ((p->iov.size % ep->max_packet_size) != 0 || !p->short_not_ok ||
next == NULL ||
/* Work around for Linux usbfs bulk splitting + migration */
- (totalsize == (16 * KiB - 36) && p->int_req)) {
+ (totalsize == (16 * KiB - 36) && p->int_req) ||
+ /* Next package may grow combined package over 1MiB */
+ totalsize > 1 * MiB - ep->max_packet_size) {
usb_device_handle_data(ep->dev, first);
assert(first->status == USB_RET_ASYNC);
if (first->combined) {
--
GitLab

View File

@@ -0,0 +1,59 @@
From 7ec54f9eb62b5d177e30eb8b1cad795a5f8d8986 Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Mon, 3 May 2021 15:29:12 +0200
Subject: [PATCH] usb/redir: avoid dynamic stack allocation (CVE-2021-3527)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Use autofree heap allocation instead.
Fixes: 4f4321c11ff ("usb: use iovecs in USBPacket")
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210503132915.2335822-3-kraxel@redhat.com>
Upstream-Status: Backport
https://gitlab.com/qemu-project/qemu/-/commit/7ec54f9eb62b5d177e30eb8b1cad795a5f8d8986
CVE: CVE-2021-3527
Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
---
hw/usb/redirect.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
index 17f06f3417..6a75b0dc4a 100644
--- a/hw/usb/redirect.c
+++ b/hw/usb/redirect.c
@@ -620,7 +620,7 @@ static void usbredir_handle_iso_data(USBRedirDevice *dev, USBPacket *p,
.endpoint = ep,
.length = p->iov.size
};
- uint8_t buf[p->iov.size];
+ g_autofree uint8_t *buf = g_malloc(p->iov.size);
/* No id, we look at the ep when receiving a status back */
usb_packet_copy(p, buf, p->iov.size);
usbredirparser_send_iso_packet(dev->parser, 0, &iso_packet,
@@ -818,7 +818,7 @@ static void usbredir_handle_bulk_data(USBRedirDevice *dev, USBPacket *p,
usbredirparser_send_bulk_packet(dev->parser, p->id,
&bulk_packet, NULL, 0);
} else {
- uint8_t buf[size];
+ g_autofree uint8_t *buf = g_malloc(size);
usb_packet_copy(p, buf, size);
usbredir_log_data(dev, "bulk data out:", buf, size);
usbredirparser_send_bulk_packet(dev->parser, p->id,
@@ -923,7 +923,7 @@ static void usbredir_handle_interrupt_out_data(USBRedirDevice *dev,
USBPacket *p, uint8_t ep)
{
struct usb_redir_interrupt_packet_header interrupt_packet;
- uint8_t buf[p->iov.size];
+ g_autofree uint8_t *buf = g_malloc(p->iov.size);
DPRINTF("interrupt-out ep %02X len %zd id %"PRIu64"\n", ep,
p->iov.size, p->id);
--
GitLab

View File

@@ -0,0 +1,29 @@
vhost-user-gpu: fix resource leak in 'vg_resource_create_2d' (CVE-2021-3544)
Call 'vugbm_buffer_destroy' in error path to avoid resource leak.
Fixes: CVE-2021-3544
Reported-by: default avatarLi Qiang <liq3ea@163.com>
Reviewed-by: default avatarPrasad J Pandit <pjp@fedoraproject.org>
Signed-off-by: default avatarLi Qiang <liq3ea@163.com>
Reviewed-by: Marc-André Lureau's avatarMarc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210516030403.107723-3-liq3ea@163.com>
Signed-off-by: Gerd Hoffmann's avatarGerd Hoffmann <kraxel@redhat.com>
Upstream-Status: Backport
[vhost-user-gpu does not exist in 4.2.0]
CVE: CVE-2021-3544
Signed-off-by: Armin Kuster <akuster@mvista.com>
Index: qemu-4.2.0/contrib/vhost-user-gpu/main.c
===================================================================
--- qemu-4.2.0.orig/contrib/vhost-user-gpu/main.c
+++ qemu-4.2.0/contrib/vhost-user-gpu/main.c
@@ -328,6 +328,7 @@ vg_resource_create_2d(VuGpu *g,
g_critical("%s: resource creation failed %d %d %d",
__func__, c2d.resource_id, c2d.width, c2d.height);
g_free(res);
+ vugbm_buffer_destroy(&res->buffer);
cmd->error = VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY;
return;
}

View File

@@ -0,0 +1,39 @@
vhost-user-gpu: fix memory leak in vg_resource_attach_backing (CVE-2021-3544)
Check whether the 'res' has already been attach_backing to avoid
memory leak.
Fixes: CVE-2021-3544
Reported-by: default avatarLi Qiang <liq3ea@163.com>
virtio-gpu fix: 204f01b3
("virtio-gpu: fix memory leak
in resource attach backing")
Signed-off-by: default avatarLi Qiang <liq3ea@163.com>
Reviewed-by: Marc-André Lureau's avatarMarc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210516030403.107723-4-liq3ea@163.com>
Signed-off-by: Gerd Hoffmann's avatarGerd Hoffmann <kraxel@redhat.com>
Upstream-Status: Backport
[vhost-user-gpu does not exist in 4.2.0 context]
CVE: CVE-2021-3544
Signed-off-by: Armin Kuster <akuster@mvista.com>
Index: qemu-4.2.0/contrib/vhost-user-gpu/main.c
===================================================================
--- qemu-4.2.0.orig/contrib/vhost-user-gpu/main.c
+++ qemu-4.2.0/contrib/vhost-user-gpu/main.c
@@ -468,6 +468,11 @@ vg_resource_attach_backing(VuGpu *g,
return;
}
+ if (res->iov) {
+ cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;
+ return;
+ }
+
ret = vg_create_mapping_iov(g, &ab, cmd, &res->iov);
if (ret != 0) {
cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;

View File

@@ -0,0 +1,39 @@
vhost-user-gpu: fix memory leak while calling 'vg_resource_unref' (CVE-2021-3544)
If the guest trigger following sequences, the attach_backing will be leaked:
vg_resource_create_2d
vg_resource_attach_backing
vg_resource_unref
This patch fix this by freeing 'res->iov' in vg_resource_destroy.
Fixes: CVE-2021-3544
Reported-by: default avatarLi Qiang <liq3ea@163.com>
virtio-gpu fix: 5e8e3c4c
("virtio-gpu: fix resource leak
in virgl_cmd_resource_unref")
Reviewed-by: default avatarPrasad J Pandit <pjp@fedoraproject.org>
Signed-off-by: default avatarLi Qiang <liq3ea@163.com>
Reviewed-by: Marc-André Lureau's avatarMarc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210516030403.107723-5-liq3ea@163.com>
Signed-off-by: Gerd Hoffmann's avatarGerd Hoffmann <kraxel@redhat.com>
Upstream-Status: Backport
CVE: CVE-2021-3544
[vhost-user-gpu does not exist in the 4.2.0]
Signed-off-by: Armin Kuster <akuster@mvista.com>
Index: qemu-4.2.0/contrib/vhost-user-gpu/main.c
===================================================================
--- qemu-4.2.0.orig/contrib/vhost-user-gpu/main.c
+++ qemu-4.2.0/contrib/vhost-user-gpu/main.c
@@ -379,6 +379,7 @@ vg_resource_destroy(VuGpu *g,
}
vugbm_buffer_destroy(&res->buffer);
+ g_free(res->iov);
pixman_image_unref(res->image);
QTAILQ_REMOVE(&g->reslist, res, next);
g_free(res);

View File

@@ -0,0 +1,46 @@
vhost-user-gpu: fix memory leak in 'virgl_cmd_resource_unref' (CVE-2021-3544)
The 'res->iov' will be leaked if the guest trigger following sequences:
virgl_cmd_create_resource_2d
virgl_resource_attach_backing
virgl_cmd_resource_unref
This patch fixes this.
Fixes: CVE-2021-3544
Reported-by: default avatarLi Qiang <liq3ea@163.com>
virtio-gpu fix: 5e8e3c4c
("virtio-gpu: fix resource leak
in virgl_cmd_resource_unref"
Signed-off-by: default avatarLi Qiang <liq3ea@163.com>
Reviewed-by: Marc-André Lureau's avatarMarc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210516030403.107723-6-liq3ea@163.com>
Signed-off-by: Gerd Hoffmann's avatarGerd Hoffmann <kraxel@redhat.com>
Upstream-Status: Backport
CVE: CVE-2021-3544
Signed-off-by: Armin Kuster <akuster@mvista.com>
Index: qemu-4.2.0/contrib/vhost-user-gpu/virgl.c
===================================================================
--- qemu-4.2.0.orig/contrib/vhost-user-gpu/virgl.c
+++ qemu-4.2.0/contrib/vhost-user-gpu/virgl.c
@@ -105,9 +105,16 @@ virgl_cmd_resource_unref(VuGpu *g,
struct virtio_gpu_ctrl_command *cmd)
{
struct virtio_gpu_resource_unref unref;
+ struct iovec *res_iovs = NULL;
+ int num_iovs = 0;
VUGPU_FILL_CMD(unref);
+ virgl_renderer_resource_detach_iov(unref.resource_id,
+ &res_iovs,
+ &num_iovs);
+ g_free(res_iovs);
+
virgl_renderer_resource_unref(unref.resource_id);
}

View File

@@ -0,0 +1,47 @@
From 63736af5a6571d9def93769431e0d7e38c6677bf Mon Sep 17 00:00:00 2001
From: Li Qiang <liq3ea@163.com>
Date: Sat, 15 May 2021 20:04:01 -0700
Subject: [PATCH] vhost-user-gpu: fix memory leak in
'virgl_resource_attach_backing' (CVE-2021-3544)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
If 'virgl_renderer_resource_attach_iov' failed, the 'res_iovs' will
be leaked.
Fixes: CVE-2021-3544
Reported-by: Li Qiang <liq3ea@163.com>
virtio-gpu fix: 33243031da ("virtio-gpu-3d: fix memory leak
in resource attach backing")
Signed-off-by: Li Qiang <liq3ea@163.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210516030403.107723-7-liq3ea@163.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Upstream-Status: Backport
CVE: CVE-2021-3544
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
contrib/vhost-user-gpu/virgl.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
Index: qemu-4.2.0/contrib/vhost-user-gpu/virgl.c
===================================================================
--- qemu-4.2.0.orig/contrib/vhost-user-gpu/virgl.c
+++ qemu-4.2.0/contrib/vhost-user-gpu/virgl.c
@@ -283,8 +283,11 @@ virgl_resource_attach_backing(VuGpu *g,
return;
}
- virgl_renderer_resource_attach_iov(att_rb.resource_id,
+ ret = virgl_renderer_resource_attach_iov(att_rb.resource_id,
res_iovs, att_rb.nr_entries);
+ if (ret != 0) {
+ g_free(res_iovs);
+ }
}
static void

View File

@@ -0,0 +1,41 @@
From 121841b25d72d13f8cad554363138c360f1250ea Mon Sep 17 00:00:00 2001
From: Li Qiang <liq3ea@163.com>
Date: Sat, 15 May 2021 20:03:56 -0700
Subject: [PATCH] vhost-user-gpu: fix memory disclosure in
virgl_cmd_get_capset_info (CVE-2021-3545)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Otherwise some of the 'resp' will be leaked to guest.
Fixes: CVE-2021-3545
Reported-by: Li Qiang <liq3ea@163.com>
virtio-gpu fix: 42a8dadc74 ("virtio-gpu: fix information leak
in getting capset info dispatch")
Signed-off-by: Li Qiang <liq3ea@163.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210516030403.107723-2-liq3ea@163.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Upstream-Status: Backport
CVE: CVE-2021-3545
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
contrib/vhost-user-gpu/virgl.c | 1 +
1 file changed, 1 insertion(+)
Index: qemu-4.2.0/contrib/vhost-user-gpu/virgl.c
===================================================================
--- qemu-4.2.0.orig/contrib/vhost-user-gpu/virgl.c
+++ qemu-4.2.0/contrib/vhost-user-gpu/virgl.c
@@ -132,6 +132,7 @@ virgl_cmd_get_capset_info(VuGpu *g,
VUGPU_FILL_CMD(info);
+ memset(&resp, 0, sizeof(resp));
if (info.capset_index == 0) {
resp.capset_id = VIRTIO_GPU_CAPSET_VIRGL;
virgl_renderer_get_cap_set(resp.capset_id,

View File

@@ -0,0 +1,47 @@
From 9f22893adcb02580aee5968f32baa2cd109b3ec2 Mon Sep 17 00:00:00 2001
From: Li Qiang <liq3ea@163.com>
Date: Sat, 15 May 2021 20:04:02 -0700
Subject: [PATCH] vhost-user-gpu: fix OOB write in 'virgl_cmd_get_capset'
(CVE-2021-3546)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
If 'virgl_cmd_get_capset' set 'max_size' to 0,
the 'virgl_renderer_fill_caps' will write the data after the 'resp'.
This patch avoid this by checking the returned 'max_size'.
virtio-gpu fix: abd7f08b23 ("display: virtio-gpu-3d: check
virgl capabilities max_size")
Fixes: CVE-2021-3546
Reported-by: Li Qiang <liq3ea@163.com>
Reviewed-by: Prasad J Pandit <pjp@fedoraproject.org>
Signed-off-by: Li Qiang <liq3ea@163.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210516030403.107723-8-liq3ea@163.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Upstream-Status: Backport
CVE: CVE-2021-3546
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
contrib/vhost-user-gpu/virgl.c | 4 ++++
1 file changed, 4 insertions(+)
Index: qemu-4.2.0/contrib/vhost-user-gpu/virgl.c
===================================================================
--- qemu-4.2.0.orig/contrib/vhost-user-gpu/virgl.c
+++ qemu-4.2.0/contrib/vhost-user-gpu/virgl.c
@@ -174,6 +174,10 @@ virgl_cmd_get_capset(VuGpu *g,
virgl_renderer_get_cap_set(gc.capset_id, &max_ver,
&max_size);
+ if (!max_size) {
+ cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER;
+ return;
+ }
resp = g_malloc0(sizeof(*resp) + max_size);
resp->hdr.type = VIRTIO_GPU_RESP_OK_CAPSET;

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