diff options
author | Andrew Geissler <geissonator@yahoo.com> | 2021-03-31 22:34:31 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2021-04-06 16:22:18 +0300 |
commit | 95ac1b8d7409c14ee15ddcb7e5dd3d28b24caa7f (patch) | |
tree | e686d31ba8c6e704d27aa7699f4a1a5673283b98 /poky/meta/recipes-kernel | |
parent | 32b11995a9447d927862951d29db38455f9e0205 (diff) | |
download | openbmc-95ac1b8d7409c14ee15ddcb7e5dd3d28b24caa7f.tar.xz |
poky: subtree update:c8075ed8f1..7d0988966c
Adrian (1):
weston-init: Set $HOME variable for SysVinit manager
Alejandro Hernandez Samaniego (6):
bitbake: bitbake: Add Azure Storage fetcher implementation
bitbake: docs: Add Az fetcher documentation
bitbake: docs: Add AZ_SAS definition to glossary
ref-manual: Add Az fetcher documentation
sanity.bbclass: Add az fetcher to accepted URI protocols for mirrors sanity
devtool: Fix do_kernel_configme task
Alexander Kanavin (23):
core-image.bbclass: add a weston IMAGE_FEATURE, similar to x11-base
rootfs-postcommands: correctly set systemd target for weston images
oeqa/weston: correctly run wayland-info when systemd is in use
dnf: upgrade 4.5.2 -> 4.6.0
libdnf: update 0.55.2 -> 0.58.0
libdnf: replace a musl fix with a better one
librepo: update 1.12.1 -> 1.13.0
libical: update 3.0.8 -> 3.0.9
libical: drop the ad hoc native generator build
bmap-tools: upgrade 3.5 -> 3.6
procps: update 3.3.16 -> 3.3.17
libxcrypt: fix sporadic failures in nativesdk-libxcrypt-compat
bind: upgrade 9.16.11 -> 9.16.12
spirv-headers: update to latest revision
spirv-tools: upgrade 2020.6 -> 2020.7
mesa: update 20.3.4 -> 21.0.0
attr: update 2.4.48 -> 2.5.1
asciidoc: update 9.0.4 -> 9.1.0
libhandy: update 1.0.3 -> 1.2.0
strace: update 5.10 -> 5.11
automake: update 1.16.2 - > 1.16.3
xxhash: import from meta-oe
apt: update 1.8.2.2 -> 2.2.2
Alistair Francis (4):
openssl: Enable building for RISC-V 32-bit
linux-yocto: Add qemuriscv32 as a compatible machine
machine: Initial commit of qemuriscv32
u-boot: Add support for building for qemuriscv32
Andrei Gherzan (3):
gcr: Add support for building without x11
epiphany: Add package configuration for building in developer mode
glibc: Backport patch to fix _SC_LEVEL1_ICACHE_LINESIZE
Anton D. Kachalov (1):
run-postinsts: do not remove postinsts directory.
Awais Belal (2):
libsdl2: disable shared memory for native builds
rootfs.py: uninstall the run-postinsts package if not needed
Bartosz Golaszewski (1):
python3: make pydoc rdepend on python3-io
Bruce Ashfield (27):
linux-yocto/5.10: fix x86 32bit boot warnings
linux-yocto/5.10: fix qemumips testimage failures
linux-yocto/5.10: update to v5.10.17 and -rt31
linux-yocto/5.4: update to v5.4.99
linux-yocto/5.10: update to v5.10.19
linux-yocto/5.4: update to v5.4.101
perf: fix reproducibility issues
linux-yocto/5.4: update to v5.4.103
kern-tools: symbol-why fix and README update
linux-yocto/5.10: update to v5.10.21
linux-yocto/qemuarmv5: fix configuration warning
yocto-bsp: update reference platforms to latest 5.10
perf: reproducibility fixes for pmu-events.c
reproducibile: remove perf from exclusions
linux-yocto/5.10: fix SERIAL_OF_PLATFORM warning
linux-yocto/5.4: update to v5.4.105
linux-yocto/5.10: update to v5.10.23
linux-yocto/5.10: cfg: features/numa: Remove NODES_SPAN_OTHER_NODES option
lttng-modules: update devupstream to 2.12.5+
lttng-modules: backport patches to fix build against 5.12+ kernel
kernel-devsrc: fix on-target scripts/prepare for v5.12+
linux-yocto/5.10: cfg: fix ppc64 configuration warnings
linux-yocto-dev: bump to v5.12-rc
linux-yocto/5.10: update qemuriscv32 v5.10.23
linux-yocto/5.10: update to v5.10.25
linux-yocto/5.4: update to v5.4.107
linux-yocto-rt/5.10: update to -rt34
Changqing Li (1):
go-helloworld: disable module-aware mode
Charlie Davies (9):
bitbake-bblayers/create: Fix incorrect priority help message
bitbake-bblayers/create: Add optional layerid argument
bitbake: bitbake: providers: remove unneeded logging call
bitbake: bitbake: providers: consistent single line formatting between functions
bitbake: bitbake: providers: introduce logic for REQUIRED_VERSION variable
bitbake: bitbake: providers: check for REQUIRED_VERSION in _filterProviders
bitbake: bitbake: lib: add Required Version to Bitbake --show-versions command
bitbake: bitbake: cooker: Add REQUIRED_VERSION checks
multilib_global: handle REQUIRED_VERSION
Chen Qi (3):
python3-jinja2: set CVE_PRODUCT
bitbake: event.py: fix regression about INVALIDCONF
populate_sdk_ext: record METADATA_REVISION
Christopher Larson (2):
buildhistory: add missing vardepsexcludes
image,populate_sdk_base: move 'func' flag setting for sdk command vars
Diego Santa Cruz (2):
rpm: split build and extra functionality into separate packages
sstate-diff-machines.sh: support rpm, deb and tar package types in analysis
Dorinda (8):
meta/recipes-rt: Add HOMEPAGE / DESCRIPTION
meta-skeleton: Add HOMEPAGE / DESCRIPTION
meta/recipes-extended: Add HOMEPAGE / DESCRIPTION
meta/recipes-support: Add HOMEPAGE / DESCRIPTION
meta/recipes-kernel: Add HOMEPAGE / DESCRIPTION
meta/recipes-multimedia: Add HOMEPAGE / DESCRIPTION
meta/recipes-graphics: Add HOMEPAGE / DESCRIPTION
dev-manual/common-task.rst: Added documentation for debuginfod support
Dorinda Bassey (4):
meta/recipes-devtools: Add HOMEPAGE / DESCRIPTION
distrodata.py: Test to track recipes without HOMEPAGE or DESCRIPTION
meta-selftest: Add HOMEPAGE / DESCRIPTION
devshell.bbclass: Exceptions displayed within devpyshell
Douglas Royds (2):
cmake: Fully-qualified path to ar
externalsrc: Detect code changes in submodules
Jon Mason (5):
runqemu: use "raw" instead of "bin" for ovmf
runqemu: add QB_GRAPHICS
runqemu: correct forcing of ttyS0
runqemu: modify novga to conform to documentation
tune-cortexa32: Add hard FPU
Jose Quaresma (4):
spirv-tools: python3 is need not only for the tests
spirv-tools: cleanup an old patch that is not used anymore
gstreamer1.0: upgrade 1.18.3 -> 1.18.4
gstreamer1.0-plugins-good: fix rtpjitterbuffer regression
Kai Kang (2):
toolchain-scripts.bbclass: customize prompt string for SDKs
local.conf.sample.extended: sample value for SDK_PS1
Kevin Hao (1):
meta-yocto-bsp: beaglebone: Set a fixed size for boot partition in WIC image
Khairul Rohaizzat Jamaluddin (1):
glibc: Fix CVE-2021-27645
Khem Raj (33):
python3-cython: Check for files before editing
webkitgtk: Use linker options to reduce memory overhead during linking
webkitgtk: Enhance check for atomics to include 1 byte CAS
qemuppc64: Add a QEMU machine definition for ppc64
linux-yocto: Enable powerpc64le QEMU
formfactor: Add machine config for qemuppc64
inittab: Add getty launch on hvc0 for qemuppc64
parselogs: Allow expected kernel messages for qemuppc64
spirv-tools: Replace strncpy with memcpy
python3-setuptools: Upgrade 54.1.0 -> 54.1.1
perf: Remove libunwind for rv32
Enable qemu usermode on ppc64
cmake.bbclass: Create cmake arch mapping for ppc64le
libucontext: Recognize ppc64le architecture
libunwind: Do not assume libdir for ppc64
gcc: Package new module mapper tool
glib-2.0: Drop volatile qualifier
go: Update to 1.16.2
go-dep: Remove
libunwind: Link with libucontext on musl
libedit: upgrade 20191231-3.1 -> 20210216-3.1
webkitgtk: Reduce stack and heap sizes for jsc on musl
webkitgtk: Add packageconfig to chose between size and speed
webkitgtk: enable strlen and stpcpy on musl/linux too
gcc-sanitizers: Package up hwasan files
apt: Support old resolver as fallback
apt: Do not disable NLS
valgrind: Fix ptests on ppc64 LE
documentation-audit.sh: Fix typo in specifying LICENSE_FLAGS_WHITELIST
image-uefi: Set efi_file for rv32/rv64
grub2: Disable for RISCV32
grub-efi: Re-introduce lost cast to long
grub2: Enable on riscv32
Lee Chee Yang (2):
cve-update-db-native: consider version suffix when update CVE db
cve-check: CVE_VERSION_SUFFIX to work with patched release
Li Wang (1):
linux-dummy: add empty dependent packages
Luca Boccassi (2):
util-linux: split uuid in separate recipe to allow bootstrapping
util-linux: backport patch to skip build of unused objects
Manuel Leonhardt (1):
bitbake: tinfoil: Honor quiet when parsing recipes
Mark Hatle (2):
populate_sdk_ext: Avoid copying and producing .pyc files
populate_sdk_ext: Add support for PR service
Martin Jansa (7):
glib-2.0: call os.path.normpath on THISDIR
glib-2.0: show an error about --cross-file only when such file exists
busybox: refresh the defconfig from 1.33.0
busybox-inittab: rename for PV to match with busybox's PV
iso-codes: fix protocol in SRC_URI
packagegroup-core-weston.bb: add pam to REQUIRED_DISTRO_FEATURES
python3: fix PACKAGECONFIG handling
Michael Opdenacker (4):
bitbake: doc: Update links to documentation
Do not assume working from $HOME
Update documentation URL
documentation/README minor improvements
Michael Trensch (1):
linux-firmware: Fix packaging
Mikko Rapeli (1):
openssl: update to 1.1.1k to fix CVE-2021-3450 and CVE-2021-3449
Ming Liu (2):
kernel-fitimage.bbclass: support both KERNEL_DEVICETREE/EXTERNAL_KERNEL_DEVICETREE
initramfs-framework:rootfs: fix some conditional check
Mingli Yu (1):
libtool: make sure autoheader run before autoconf
Minjae Kim (3):
qemu: fix CVE-2021-20203
git: fix CVE-2021-21300
git: upgrade 2.30.1 -> 2.31.1
Naveen Saini (1):
grub: upgrade 2.04 -> 2.06~rc1
Oleksandr Kravchuk (1):
python3-setuptools: update to 54.1.0
Paul Gortmaker (1):
bitbake: gitignore: ignore runqueue-tests/bitbake-cookerdaemon.log
Peter Kjellerstedt (4):
meson: Correctly set uid/gid of installed files
uninative-tarball: Add a dependency on nativesdk-glibc-dbg
metadata_scm.bbclass: Use immediate expansion for the METADATA_* variables
license.bbclass: Improve parsing time when INCOMPATIBLE_LICENSES is big
Petr Vorel (1):
scripts/verify-bashisms: Update checkbashisms.pl URL
Purushottam Choudhary (1):
shadow: whitelist CVE-2013-4235
Randy MacLeod (2):
ffmpeg: upgrade 4.3.1 -> 4.3.2
zstd: upgrade 1.4.8 -> 1.4.9
Richard Purdie (33):
ltp: Fix another determinism issue
build-appliance-image: Drop kernel module handling
ltp: Further extend reproducibility patch
bitbake: runqueue: Fix task execution corruption issue
bitbake: runqueue: Add setscene task overlap sanity check
bitbake: __init__.py: Fix bitbake debug log handling
ltp: Fix determinism issue
ltp: Fix libswapon issue properly
bitbake: event: Fix multiconfig event handler change performance regressions
bitbake: event: Fix another 'if d' test to test for None explictly
bitbake: tests/color: Fix event register to pass the datastore
bitbake: bblayers/query: Update to handle REQUIRED_VERSION
scripts/contrib/list-packageconfig-flags: Upate for tinfoil API changes
layer.conf: Update for hardknott release series
layer.conf: Update for hardknott release series
build-appliance-image: Update to master head revision
layer.conf: Add gatesgarth back for now to allow for transition
build-appliance-image: Update to master head revision
meson: Work around determinism issue
lttng-tools: upgrade 2.12.2 -> 2.12.3
lttng-modules: upgrade 2.12.4 -> 2.12.5
sqlite3: upgrade 3.34.1 -> 3.35.0
sudo: upgrade 1.9.5p2 -> 1.9.6
selftest/reproducible: Drop ovmf exclusion
selftest/wic: Fix dependency issue in rawcopy test
layer.conf: Drop gatesgarth from the layer series names
bitbake: build: Add find_stale_stamps function
bitbake: runqueue/event: Add an event for notifying of stale setscene tasks
sstate: Remove stale objects before the main build
sstate: Add documentation for eventhandlers and tweak naming
site/elfutils/libunistring: Drop patching for iconv and set in site file
build-appliance-image: Update to master head revision
util-linux-libuuid: Simplify recipe and rename from util-linux-uuid
Robert P. J. Day (8):
bitbake-whatchanged: change ending quote to proper period
bitbake: doc: move BBFILES_DYNAMIC for alphabetical order
ref-manual: remove erroneous '\*' from variables list
bitbake: doc: mention that addtask handles multiple dependencies
bitbake: doc: fix glossary link for BB_INVALIDCONF variable
bitbake: doc: fix syntax error in layer.conf example
bitbake.conf: correct description of HOSTTOOLS_DIR
packagegroups: delete useless "PROVIDES" lines
Robert Yang (1):
image.bbclass: deltask do_packagedata
Ross Burton (13):
libinput: less parallism to increase chances the test suite works
ptest-packagelists: remove libinput-ptest
insane: don't check for a warning string that is never output
gcc: add an option for --enable-poison-system-directories to be fatal
gcc-cross: make use of the system include directories fatal
oeqa/selftest: add test to verify that poisoned sysroots are detected
ovmf: make output binaries reproducible
base: respect downloadfilename when sniffing the SRC_URI for dependencies
lib/oe/utils: add directory size function
classes/image: use oe.utils.directory_size() instead of du
bitbake.conf: ensure BUILD_* tools match target tools
meson: fix native/host confusion in gobject-introspection
meson: use native-file instead of environment variables
Sakib Sajal (2):
buildstats.bbclass: improve timeout handling
scripts: add oe-time-dd-test.sh
Scott Murray (1):
u-boot: Fix CVE-2021-27097, CVE-2021-27138
Stefan Ghinea (1):
wpa-supplicant: fix CVE-2021-27803
Stefan Schmidt (1):
systemd-conf: do not ask for DHCP if configured on kernel command line
Tomasz Dziendzielski (2):
bitbake: runqueue: Print pseudo.log if fakeroot task failed
bitbake: codeparser: Fix TypeError in bitbake debug mode
Ulrich ?lmann (1):
gstreamer1.0: add support for coretracers
Ulrich Ölmann (3):
common-tasks.rst: fix 'wic cp' command
common-tasks.rst: fix typo
local.conf.sample: fix typo
Vivien Didelot (6):
systemd-container: sort RRECOMMENDS alphabetically
systemd-container: recommend tar
systemd-container: recommends StartExecPre modules
poky: fix typos
poky: don't use space with +=
beaglebone-yocto: allow other virtual/bootloader
Wang Mingyu (20):
shaderc: upgrade 2020.4 -> 2020.5
stress-ng: upgrade 0.12.03 -> 0.12.04
taglib: upgrade 1.11.1 -> 1.12
vala: upgrade 0.50.3 -> 0.50.4
python3-pygments: upgrade 2.8.0 -> 2.8.1
python3-zipp: upgrade 3.4.0 -> 3.4.1
sysklogd: upgrade 2.2.1 -> 2.2.2
help2man: upgrade 1.48.1 -> 1.48.2
iso-codes: upgrade 4.5.0 -> 4.6.0
jquery: upgrade 3.5.1 -> 3.6.0
ovmf: upgrade 202011 -> 202102
msmtp: upgrade 1.8.14 -> 1.8.15
gptfdisk: upgrade 1.0.6 -> 1.0.7
vulkan-headers: upgrade 1.2.162.0 -> 1.2.170.0
vulkan-loader: upgrade 1.2.162.0 -> 1.2.170.0
vulkan-tools: upgrade 1.2.162.1 -> 1.2.170.0
gcc: Update patch to only patch files once
openssh: upgrade 8.4p1 -> 8.5p1
openssh: Improve LICENSE to show BSD license variants.
gnutls: upgrade 3.7.0 -> 3.7.1
Yanfei Xu (1):
glibc: fix pthread_cond_destroy hangs with process-shared mutex
Yann Dirson (1):
ffmpeg: disable GPL features by default
Yi Fan Yu (1):
valgrind: Fix nlcontrolc.vgtest
jan (1):
cve-update-db-native: Allow to overrule the URL in a bbappend.
wangmy@fujitsu.com (1):
systemd: upgrade 247.3 -> 247.4
zhengruoqin (3):
sudo: upgrade 1.9.6 -> 1.9.6p1
liburi-perl: upgrade 1.74 -> 5.08
stress-ng: upgrade 0.12.04 -> 0.12.05
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I04195d4c610ca1674dd736eceeb6442d974cb711
Diffstat (limited to 'poky/meta/recipes-kernel')
21 files changed, 584 insertions, 54 deletions
diff --git a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb index 70b2908fd..1d900d85f 100644 --- a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +++ b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://tools/kgit;beginline=5;endline=9;md5=9c30e971d435e249 DEPENDS = "git-native" -SRCREV = "73f813024d33432116a122524fd2ae48afc910c7" +SRCREV = "8f6aaab7f64c6de30d267e31a73f7c3bb30125a9" PR = "r12" PV = "0.2+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb index 0013e2458..78856cbf6 100644 --- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb +++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb @@ -1,4 +1,5 @@ SUMMARY = "Firmware files for use with Linux kernel" +HOMEPAGE = "https://www.kernel.org/" DESCRIPTION = "Linux firmware is a package distributed alongside the Linux kernel \ that contains firmware binary blobs necessary for partial or full functionality \ of certain hardware devices." @@ -495,6 +496,13 @@ FILES_${PN}-netronome = " \ ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0096*.nffw \ ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0097*.nffw \ ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0099*.nffw \ + ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0058-0011_2x40.nffw \ + ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0058-0012_2x40.nffw \ + ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0078-0011_1x100.nffw \ + ${nonarch_base_libdir}/firmware/netronome/bpf \ + ${nonarch_base_libdir}/firmware/netronome/flower \ + ${nonarch_base_libdir}/firmware/netronome/nic \ + ${nonarch_base_libdir}/firmware/netronome/nic-sriov \ " RDEPENDS_${PN}-netronome += "${PN}-netronome-license" @@ -621,7 +629,9 @@ FILES_${PN}-bcm4329 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4329-sdio.bi FILES_${PN}-bcm4330 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.*" FILES_${PN}-bcm4334 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4334-sdio.bin" FILES_${PN}-bcm4335 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4335-sdio.bin" -FILES_${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin" +FILES_${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac4339-sdio.bin \ +" FILES_${PN}-bcm43241b0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b0-sdio.bin" FILES_${PN}-bcm43241b4 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b4-sdio.bin" FILES_${PN}-bcm43241b5 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b5-sdio.bin" @@ -630,12 +640,18 @@ FILES_${PN}-bcm43143 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43143.bin \ ${nonarch_base_libdir}/firmware/brcm/brcmfmac43143-sdio.bin \ " FILES_${PN}-bcm43430a0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430a0-sdio.*" -FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.*" +FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.* \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio.* \ +" FILES_${PN}-bcm4350c2 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350c2-pcie.bin" FILES_${PN}-bcm4350 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350-pcie.bin" -FILES_${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.bin" +FILES_${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.bin \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-sdio.bin \ +" FILES_${PN}-bcm43569 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43569.bin" -FILES_${PN}-bcm43570 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43570-pcie.bin" +FILES_${PN}-bcm43570 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43570-pcie.bin \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac43570-pcie.bin \ +" FILES_${PN}-bcm4358 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4358-pcie.bin" FILES_${PN}-bcm43602 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.bin \ ${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.ap.bin \ @@ -706,13 +722,21 @@ LICENSE_${PN}-cypress-license = "Firmware-cypress" FILES_${PN}-cypress-license = "${nonarch_base_libdir}/firmware/LICENCE.cypress" FILES_${PN}-bcm-0bb4-0306 = "${nonarch_base_libdir}/firmware/brcm/BCM-0bb4-0306.hcd" -FILES_${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.*" -FILES_${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.*" -FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.*" -FILES_${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin" -FILES_${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.*" +FILES_${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.* \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac43340-sdio.*" +FILES_${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.* \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac43362-sdio.*" +FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.* \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.*" +FILES_${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac4354-sdio.bin \ +" +FILES_${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.* \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-pcie.* \ +" FILES_${PN}-bcm4373 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.bin \ ${nonarch_base_libdir}/firmware/brcm/brcmfmac4373.bin \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac4373-sdio.bin \ " LICENSE_${PN}-bcm-0bb4-0306 = "Firmware-cypress" diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc index 7ec94024c..175b2d181 100644 --- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc +++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc @@ -1,4 +1,5 @@ SUMMARY = "Sanitized set of kernel headers for the C library's use" +HOMEPAGE = "https://www.kernel.org/" DESCRIPTION = "Designed to maintain an Application Programming Interface (API) stable version of the Linux headers" SECTION = "devel" LICENSE = "GPLv2" diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb index dadeade3a..455c83652 100644 --- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb +++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb @@ -271,6 +271,7 @@ do_install() { if [ -e "$kerneldir/build/include/config/auto.conf.cmd" ]; then sed -i 's/ifneq "$(CC)" ".*-linux-.*gcc.*$/ifneq "$(CC)" "gcc"/' "$kerneldir/build/include/config/auto.conf.cmd" sed -i 's/ifneq "$(LD)" ".*-linux-.*ld.bfd.*$/ifneq "$(LD)" "ld"/' "$kerneldir/build/include/config/auto.conf.cmd" + sed -i 's/ifneq "$(AR)" ".*-linux-.*ar.*$/ifneq "$(AR)" "ar"/' "$kerneldir/build/include/config/auto.conf.cmd" sed -i 's/ifneq "$(HOSTCXX)" ".*$/ifneq "$(HOSTCXX)" "g++"/' "$kerneldir/build/include/config/auto.conf.cmd" sed -i 's/ifneq "$(HOSTCC)" ".*$/ifneq "$(HOSTCC)" "gcc"/' "$kerneldir/build/include/config/auto.conf.cmd" sed -i 's/ifneq "$(CC_VERSION_TEXT)".*\(gcc.*\)"/ifneq "$(CC_VERSION_TEXT)" "\1"/' "$kerneldir/build/include/config/auto.conf.cmd" diff --git a/poky/meta/recipes-kernel/linux/linux-dummy.bb b/poky/meta/recipes-kernel/linux/linux-dummy.bb index 95dc85ff2..c56f8990d 100644 --- a/poky/meta/recipes-kernel/linux/linux-dummy.bb +++ b/poky/meta/recipes-kernel/linux/linux-dummy.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe" PROVIDES += "virtual/kernel" -inherit deploy +inherit deploy linux-dummy PACKAGES_DYNAMIC += "^kernel-module-.*" PACKAGES_DYNAMIC += "^kernel-image-.*" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb index 2ccc0ee87..8725473d1 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb @@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' -LINUX_VERSION ?= "5.11+" +LINUX_VERSION ?= "5.12+" LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb index 54996a8ae..cb34887cd 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "142456428adbf16db56572889232220afb201974" -SRCREV_meta ?= "8f72218572b1d4a5f053ced2bbf0558d0557072d" +SRCREV_machine ?= "be2935bce35f9adb6d0e735d42651e81a5094adf" +SRCREV_meta ?= "031f6c76e488a3563f35258c72ff1de3e25a512e" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.10.16" +LINUX_VERSION ?= "5.10.25" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb index 2508b9ba0..2ffc8ed54 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "0406e600800a40015d02b16ee6a4a46c6673c66f" -SRCREV_meta ?= "4f6d6c23cc8ca5d9c39b1efc2619b1dfec1ef2bc" +SRCREV_machine ?= "65bbe689d98a007848008be2c8edeb5fa8066829" +SRCREV_meta ?= "19738ca97b999a3b150e2d34232bb44b6537348f" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.4.98" +LINUX_VERSION ?= "5.4.107" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb index 8ecd10716..83e59b0eb 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.10.16" +LINUX_VERSION ?= "5.10.25" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "be720c1ce6d1cba2bb3815ad04773355339380ab" -SRCREV_machine ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953" -SRCREV_meta ?= "8f72218572b1d4a5f053ced2bbf0558d0557072d" +SRCREV_machine_qemuarm ?= "0f87ec9fea7a5695cd063d9d11d89751efa53ddd" +SRCREV_machine ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" +SRCREV_meta ?= "031f6c76e488a3563f35258c72ff1de3e25a512e" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb index ff03fd419..2b6e35a69 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.4.98" +LINUX_VERSION ?= "5.4.107" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "fc95a485415d22eb772359b8d350c03b85c0cd1b" -SRCREV_machine ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d" -SRCREV_meta ?= "4f6d6c23cc8ca5d9c39b1efc2619b1dfec1ef2bc" +SRCREV_machine_qemuarm ?= "ac3cbab1d6692d4a032dfffe0a604f39a634d18a" +SRCREV_machine ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72" +SRCREV_meta ?= "19738ca97b999a3b150e2d34232bb44b6537348f" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb index 38b56c17b..026e69511 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb @@ -8,20 +8,22 @@ KBRANCH_qemuarm64 ?= "v5.10/standard/qemuarm64" KBRANCH_qemumips ?= "v5.10/standard/mti-malta32" KBRANCH_qemuppc ?= "v5.10/standard/qemuppc" KBRANCH_qemuriscv64 ?= "v5.10/standard/base" +KBRANCH_qemuriscv32 ?= "v5.10/standard/base" KBRANCH_qemux86 ?= "v5.10/standard/base" KBRANCH_qemux86-64 ?= "v5.10/standard/base" KBRANCH_qemumips64 ?= "v5.10/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "57a6fbd33df5c7f057f301387b03a70cdc582282" -SRCREV_machine_qemuarm64 ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953" -SRCREV_machine_qemumips ?= "79bd439bff3c9f95cac6fb81c76b559a404a32dc" -SRCREV_machine_qemuppc ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953" -SRCREV_machine_qemuriscv64 ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953" -SRCREV_machine_qemux86 ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953" -SRCREV_machine_qemux86-64 ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953" -SRCREV_machine_qemumips64 ?= "07bda345fe202b1d2ce233ffc20b7570f78c9c7f" -SRCREV_machine ?= "98eda36c9616b598b3586c7cc532e8e0ba8b3953" -SRCREV_meta ?= "8f72218572b1d4a5f053ced2bbf0558d0557072d" +SRCREV_machine_qemuarm ?= "d8551cae1ccdbe062a5c6068ce39ea8f4e1c72db" +SRCREV_machine_qemuarm64 ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" +SRCREV_machine_qemumips ?= "7f1f1ad2f2d90b1b070c6b0a82f0add9aa492e37" +SRCREV_machine_qemuppc ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" +SRCREV_machine_qemuriscv64 ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" +SRCREV_machine_qemuriscv32 ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" +SRCREV_machine_qemux86 ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" +SRCREV_machine_qemux86-64 ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" +SRCREV_machine_qemumips64 ?= "fd5ac097b891642eea13659bea536f3ec5910d6d" +SRCREV_machine ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" +SRCREV_meta ?= "031f6c76e488a3563f35258c72ff1de3e25a512e" # remap qemuarm to qemuarma15 for the 5.8 kernel # KMACHINE_qemuarm ?= "qemuarma15" @@ -30,7 +32,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -LINUX_VERSION ?= "5.10.16" +LINUX_VERSION ?= "5.10.25" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" @@ -43,7 +45,7 @@ KCONF_BSP_AUDIT_LEVEL = "1" KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" -COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64" +COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32" # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb index 8d0f4b82c..245c3d574 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb @@ -12,16 +12,16 @@ KBRANCH_qemux86 ?= "v5.4/standard/base" KBRANCH_qemux86-64 ?= "v5.4/standard/base" KBRANCH_qemumips64 ?= "v5.4/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "28bc6b294bb1e49da671b2848234f9011efcad88" -SRCREV_machine_qemuarm64 ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d" -SRCREV_machine_qemumips ?= "105568d1696f86625cf7bc30d8c5c921732de2f4" -SRCREV_machine_qemuppc ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d" -SRCREV_machine_qemuriscv64 ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d" -SRCREV_machine_qemux86 ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d" -SRCREV_machine_qemux86-64 ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d" -SRCREV_machine_qemumips64 ?= "c76ba20ee1b1de859736f85f0210459c2104b8df" -SRCREV_machine ?= "2d0a4ea86fe97f13a4bc2a92a097e4edb51d737d" -SRCREV_meta ?= "4f6d6c23cc8ca5d9c39b1efc2619b1dfec1ef2bc" +SRCREV_machine_qemuarm ?= "ea4097dbff5a148265018e1a998e02b5a05e3d27" +SRCREV_machine_qemuarm64 ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72" +SRCREV_machine_qemumips ?= "230ca33504faef6f40c5d3b24901aaacb901c9a6" +SRCREV_machine_qemuppc ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72" +SRCREV_machine_qemuriscv64 ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72" +SRCREV_machine_qemux86 ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72" +SRCREV_machine_qemux86-64 ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72" +SRCREV_machine_qemumips64 ?= "84e071a893ef9cea8a8ffbcd233b47a2bc9056b5" +SRCREV_machine ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72" +SRCREV_meta ?= "19738ca97b999a3b150e2d34232bb44b6537348f" # remap qemuarm to qemuarma15 for the 5.4 kernel # KMACHINE_qemuarm ?= "qemuarma15" @@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -LINUX_VERSION ?= "5.4.98" +LINUX_VERSION ?= "5.4.107" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-memory-leaks-on-event-destroy.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-memory-leaks-on-event-destroy.patch new file mode 100644 index 000000000..21da932a7 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-memory-leaks-on-event-destroy.patch @@ -0,0 +1,58 @@ +From b3fdf78b15beb940918da1e41eb68e24ba31bb87 Mon Sep 17 00:00:00 2001 +From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +Date: Wed, 3 Mar 2021 10:10:16 -0500 +Subject: [PATCH 1/4] Fix: memory leaks on event destroy + +Both filter runtime and event enabler ref objects are owned by the +event, but are not freed upon destruction of the event object, thus +leaking memory. + +Upstream-status: backport + +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +Change-Id: Ice9b1c18b47584838aea2b965494d3c8391f4c84 +--- + lttng-events.c | 7 +++++++ + lttng-events.h | 1 + + 2 files changed, 8 insertions(+) + +diff --git a/lttng-events.c b/lttng-events.c +index f3398adc..984bd341 100644 +--- a/lttng-events.c ++++ b/lttng-events.c +@@ -919,6 +919,8 @@ int _lttng_event_unregister(struct lttng_event *event) + static + void _lttng_event_destroy(struct lttng_event *event) + { ++ struct lttng_enabler_ref *enabler_ref, *tmp_enabler_ref; ++ + switch (event->instrumentation) { + case LTTNG_KERNEL_TRACEPOINT: + lttng_event_put(event->desc); +@@ -944,6 +946,11 @@ void _lttng_event_destroy(struct lttng_event *event) + } + list_del(&event->list); + lttng_destroy_context(event->ctx); ++ lttng_free_event_filter_runtime(event); ++ /* Free event enabler refs */ ++ list_for_each_entry_safe(enabler_ref, tmp_enabler_ref, ++ &event->enablers_ref_head, node) ++ kfree(enabler_ref); + kmem_cache_free(event_cache, event); + } + +diff --git a/lttng-events.h b/lttng-events.h +index 1b9ab167..13b6abf5 100644 +--- a/lttng-events.h ++++ b/lttng-events.h +@@ -716,6 +716,7 @@ int lttng_enabler_attach_bytecode(struct lttng_enabler *enabler, + struct lttng_kernel_filter_bytecode __user *bytecode); + void lttng_enabler_event_link_bytecode(struct lttng_event *event, + struct lttng_enabler *enabler); ++void lttng_free_event_filter_runtime(struct lttng_event *event); + + int lttng_probes_init(void); + +-- +2.19.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-filter-interpreter-early-exits-on-uninitialized-.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-filter-interpreter-early-exits-on-uninitialized-.patch new file mode 100644 index 000000000..609690f05 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-filter-interpreter-early-exits-on-uninitialized-.patch @@ -0,0 +1,159 @@ +From 23a2f61ffc6a656f136fa2044c0c3b8f79766779 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Galarneau?= + <jeremie.galarneau@efficios.com> +Date: Wed, 3 Mar 2021 18:52:19 -0500 +Subject: [PATCH 2/4] Fix: filter interpreter early-exits on uninitialized + value +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +I observed that syscall filtering on string arguments wouldn't work on +my development machines, both running 5.11.2-arch1-1 (Arch Linux). + +For instance, enabling the tracing of the `openat()` syscall with the +'filename == "/proc/cpuinfo"' filter would not produce events even +though matching events were present in another session that had no +filtering active. The same problem occurred with `execve()`. + +I tried a couple of kernel versions before (5.11.1 and 5.10.13, if +memory serves me well) and I had the same problem. Meanwhile, I couldn't +reproduce the problem on various Debian machines (the LTTng CI) nor on a +fresh Ubuntu 20.04 with both the stock kernel and with an updated 5.11.2 +kernel. + +I built the lttng-modules with the interpreter debugging printout and +saw the following warning: + LTTng: [debug bytecode in /home/jgalar/EfficiOS/src/lttng-modules/src/lttng-bytecode-interpreter.c:bytecode_interpret@1508] Bytecode warning: loading a NULL string. + +After a shedload (yes, a _shed_load) of digging, I figured that the +problem was hidden in plain sight near that logging statement. + +In the `BYTECODE_OP_LOAD_FIELD_REF_USER_STRING` operation, the 'ax' +register's 'user_str' is initialized with the stack value (the user +space string's address in our case). However, a NULL check is performed +against the register's 'str' member. + +I initialy suspected that both members would be part of the same union +and alias each-other, but they are actually contiguous in a structure. + +On the unaffected machines, I could confirm that the `str` member was +uninitialized to a non-zero value causing the condition to evaluate to +false. + +Francis Deslauriers reproduced the problem by initializing the +interpreter stack to zero. + +I am unsure of the exact kernel configuration option that reveals this +issue on Arch Linux, but my kernel has the following option enabled: + +CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL: + Zero-initialize any stack variables that may be passed by reference + and had not already been explicitly initialized. This is intended to + eliminate all classes of uninitialized stack variable exploits and + information exposures. + +I have not tried to build without this enabled as, anyhow, this seems +to be a legitimate issue. + +I have spotted what appears to be an identical problem in +`BYTECODE_OP_LOAD_FIELD_REF_USER_SEQUENCE` and corrected it. However, +I have not exercised that code path. + +The commit that introduced this problem is 5b4ad89. + +The debug print-out of the `BYTECODE_OP_LOAD_FIELD_REF_USER_STRING` +operation is modified to print the user string (truncated to 31 chars). + +Upstream-status: backport + +Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +Change-Id: I2da3c31b9e3ce0e1b164cf3d2711c0893cbec273 +--- + lttng-filter-interpreter.c | 41 ++++++++++++++++++++++++++++++++++---- + 1 file changed, 37 insertions(+), 4 deletions(-) + +diff --git a/lttng-filter-interpreter.c b/lttng-filter-interpreter.c +index 5d572437..6e5a5139 100644 +--- a/lttng-filter-interpreter.c ++++ b/lttng-filter-interpreter.c +@@ -22,7 +22,7 @@ LTTNG_STACK_FRAME_NON_STANDARD(lttng_filter_interpret_bytecode); + * to handle user-space read. + */ + static +-char get_char(struct estack_entry *reg, size_t offset) ++char get_char(const struct estack_entry *reg, size_t offset) + { + if (unlikely(offset >= reg->u.s.seq_len)) + return '\0'; +@@ -593,6 +593,39 @@ end: + return ret; + } + ++#ifdef DEBUG ++ ++#define DBG_USER_STR_CUTOFF 32 ++ ++/* ++ * In debug mode, print user string (truncated, if necessary). ++ */ ++static inline ++void dbg_load_ref_user_str_printk(const struct estack_entry *user_str_reg) ++{ ++ size_t pos = 0; ++ char last_char; ++ char user_str[DBG_USER_STR_CUTOFF]; ++ ++ pagefault_disable(); ++ do { ++ last_char = get_char(user_str_reg, pos); ++ user_str[pos] = last_char; ++ pos++; ++ } while (last_char != '\0' && pos < sizeof(user_str)); ++ pagefault_enable(); ++ ++ user_str[sizeof(user_str) - 1] = '\0'; ++ dbg_printk("load field ref user string: '%s%s'\n", user_str, ++ last_char != '\0' ? "[...]" : ""); ++} ++#else ++static inline ++void dbg_load_ref_user_str_printk(const struct estack_entry *user_str_reg) ++{ ++} ++#endif ++ + /* + * Return 0 (discard), or raise the 0x1 flag (log event). + * Currently, other flags are kept for future extensions and have no +@@ -1313,7 +1346,7 @@ uint64_t lttng_filter_interpret_bytecode(void *filter_data, + estack_push(stack, top, ax, bx); + estack_ax(stack, top)->u.s.user_str = + *(const char * const *) &filter_stack_data[ref->offset]; +- if (unlikely(!estack_ax(stack, top)->u.s.str)) { ++ if (unlikely(!estack_ax(stack, top)->u.s.user_str)) { + dbg_printk("Filter warning: loading a NULL string.\n"); + ret = -EINVAL; + goto end; +@@ -1322,7 +1355,7 @@ uint64_t lttng_filter_interpret_bytecode(void *filter_data, + estack_ax(stack, top)->u.s.literal_type = + ESTACK_STRING_LITERAL_TYPE_NONE; + estack_ax(stack, top)->u.s.user = 1; +- dbg_printk("ref load string %s\n", estack_ax(stack, top)->u.s.str); ++ dbg_load_ref_user_str_printk(estack_ax(stack, top)); + next_pc += sizeof(struct load_op) + sizeof(struct field_ref); + PO; + } +@@ -1340,7 +1373,7 @@ uint64_t lttng_filter_interpret_bytecode(void *filter_data, + estack_ax(stack, top)->u.s.user_str = + *(const char **) (&filter_stack_data[ref->offset + + sizeof(unsigned long)]); +- if (unlikely(!estack_ax(stack, top)->u.s.str)) { ++ if (unlikely(!estack_ax(stack, top)->u.s.user_str)) { + dbg_printk("Filter warning: loading a NULL sequence.\n"); + ret = -EINVAL; + goto end; +-- +2.19.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-mm-tracing-record-slab-name-for-kmem_cache_free-.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-mm-tracing-record-slab-name-for-kmem_cache_free-.patch new file mode 100644 index 000000000..71f99b80a --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-mm-tracing-record-slab-name-for-kmem_cache_free-.patch @@ -0,0 +1,91 @@ +From 49c603ef2dc6969f4454f0d849af00ee24bb7f04 Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Thu, 4 Mar 2021 16:50:12 -0500 +Subject: [PATCH 3/4] fix: mm, tracing: record slab name for kmem_cache_free() + (v5.12) + +See upstream commit: + + commit 3544de8ee6e4817278b15fe08658de49abf58954 + Author: Jacob Wen <jian.w.wen@oracle.com> + Date: Wed Feb 24 12:00:55 2021 -0800 + + mm, tracing: record slab name for kmem_cache_free() + + Currently, a trace record generated by the RCU core is as below. + + ... kmem_cache_free: call_site=rcu_core+0x1fd/0x610 ptr=00000000f3b49a66 + + It doesn't tell us what the RCU core has freed. + + This patch adds the slab name to trace_kmem_cache_free(). + The new format is as follows. + + ... kmem_cache_free: call_site=rcu_core+0x1fd/0x610 ptr=0000000037f79c8d name=dentry + ... kmem_cache_free: call_site=rcu_core+0x1fd/0x610 ptr=00000000f78cb7b5 name=sock_inode_cache + ... kmem_cache_free: call_site=rcu_core+0x1fd/0x610 ptr=0000000018768985 name=pool_workqueue + ... kmem_cache_free: call_site=rcu_core+0x1fd/0x610 ptr=000000006a6cb484 name=radix_tree_node + + We can use it to understand what the RCU core is going to free. For + example, some users maybe interested in when the RCU core starts + freeing reclaimable slabs like dentry to reduce memory pressure. + + Link: https://lkml.kernel.org/r/20201216072804.8838-1-jian.w.wen@oracle.com + +Upstream-status: backport + +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +Change-Id: I1ee2fc476614cadcc8d3ac5d8feddc7910e1aa3a +--- + instrumentation/events/lttng-module/kmem.h | 27 ++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + +diff --git a/instrumentation/events/lttng-module/kmem.h b/instrumentation/events/lttng-module/kmem.h +index b134620a..d787ea54 100644 +--- a/instrumentation/events/lttng-module/kmem.h ++++ b/instrumentation/events/lttng-module/kmem.h +@@ -87,6 +87,32 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_alloc_node, kmem_cache_alloc_node, + TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node) + ) + ++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,12,0)) ++LTTNG_TRACEPOINT_EVENT(kfree, ++ ++ TP_PROTO(unsigned long call_site, const void *ptr), ++ ++ TP_ARGS(call_site, ptr), ++ ++ TP_FIELDS( ++ ctf_integer_hex(unsigned long, call_site, call_site) ++ ctf_integer_hex(const void *, ptr, ptr) ++ ) ++) ++ ++LTTNG_TRACEPOINT_EVENT(kmem_cache_free, ++ ++ TP_PROTO(unsigned long call_site, const void *ptr, const char *name), ++ ++ TP_ARGS(call_site, ptr, name), ++ ++ TP_FIELDS( ++ ctf_integer_hex(unsigned long, call_site, call_site) ++ ctf_integer_hex(const void *, ptr, ptr) ++ ctf_string(name, name) ++ ) ++) ++#else + LTTNG_TRACEPOINT_EVENT_CLASS(kmem_free, + + TP_PROTO(unsigned long call_site, const void *ptr), +@@ -114,6 +140,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_free, kmem_cache_free, + + TP_ARGS(call_site, ptr) + ) ++#endif + + #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0)) + LTTNG_TRACEPOINT_EVENT_MAP(mm_page_free, kmem_mm_page_free, +-- +2.19.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-kretprobe-null-ptr-deref-on-session-destroy.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-kretprobe-null-ptr-deref-on-session-destroy.patch new file mode 100644 index 000000000..8a839c2b4 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-kretprobe-null-ptr-deref-on-session-destroy.patch @@ -0,0 +1,41 @@ +From 92cc3e7f76a545a2cd4828576971f1eea83f4e68 Mon Sep 17 00:00:00 2001 +From: Francis Deslauriers <francis.deslauriers@efficios.com> +Date: Wed, 17 Mar 2021 10:40:56 -0400 +Subject: [PATCH 4/4] Fix: kretprobe: null ptr deref on session destroy + +The `filter_bytecode_runtime_head` list is currently not initialized for +the return event of the kretprobe. This caused a kernel null ptr +dereference when destroying a session. It can reproduced with the +following commands: + + lttng create + lttng enable-event -k --function=lttng_test_filter_event_write my_event + lttng start + lttng stop + lttng destroy + +Upstream-status: backport + +Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +Change-Id: I1162ce8b10dd7237a26331531f048346b984eee7 +--- + lttng-events.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/lttng-events.c b/lttng-events.c +index 984bd341..3450fa40 100644 +--- a/lttng-events.c ++++ b/lttng-events.c +@@ -704,6 +704,8 @@ struct lttng_event *_lttng_event_create(struct lttng_channel *chan, + event_return->enabled = 0; + event_return->registered = 1; + event_return->instrumentation = itype; ++ INIT_LIST_HEAD(&event_return->bytecode_runtime_head); ++ INIT_LIST_HEAD(&event_return->enablers_ref_head); + /* + * Populate lttng_event structure before kretprobe registration. + */ +-- +2.19.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.4.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.5.bb index 3ca59f789..5b05c644a 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.4.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.5.bb @@ -11,9 +11,13 @@ include lttng-platforms.inc SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ + file://0001-Fix-memory-leaks-on-event-destroy.patch \ + file://0002-Fix-filter-interpreter-early-exits-on-uninitialized-.patch \ + file://0003-fix-mm-tracing-record-slab-name-for-kmem_cache_free-.patch \ + file://0004-Fix-kretprobe-null-ptr-deref-on-session-destroy.patch \ " -SRC_URI[sha256sum] = "fe66400fa1b85bff1b9ae24419c74e3bb7d358d643eade0594d81b48bd190688" +SRC_URI[sha256sum] = "c4d1a1b42c728e37b6b7947ae16563a011c4b297311aa04d56f9a1791fb5a30a" export INSTALL_MOD_DIR="kernel/lttng-modules" @@ -35,7 +39,8 @@ DEFAULT_PREFERENCE_class-devupstream = "-1" SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.12 \ file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ " -SRCREV_class-devupstream = "be71b60a327d7ad2588abc5cad2861177119972b" -PV_class-devupstream = "2.12.3+git${SRCPV}" + +SRCREV_class-devupstream = "92cc3e7f76a545a2cd4828576971f1eea83f4e68" +PV_class-devupstream = "2.12.5+git${SRCPV}" S_class-devupstream = "${WORKDIR}/git" SRCREV_FORMAT ?= "lttng_git" diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.2.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.3.bb index 52bfd3637..7074096ee 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.2.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.3.bb @@ -39,7 +39,7 @@ SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \ file://determinism.patch \ " -SRC_URI[sha256sum] = "9ed9161795ff023b076f9f95afaa4f1f822ec42495c0fa04c586ab8fa74e84f1" +SRC_URI[sha256sum] = "2890da230edd523fcf497e9eb28133b7606d64fa01bcbffadbfcba42104db153" inherit autotools ptest pkgconfig useradd python3-dir manpages systemd diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb index 5faf22a26..1274df68c 100644 --- a/poky/meta/recipes-kernel/perf/perf.bb +++ b/poky/meta/recipes-kernel/perf/perf.bb @@ -32,6 +32,7 @@ PACKAGECONFIG[coresight] = "CORESIGHT=1,,opencsd" # libunwind is not yet ported for some architectures PACKAGECONFIG_remove_arc = "libunwind" PACKAGECONFIG_remove_riscv64 = "libunwind" +PACKAGECONFIG_remove_riscv32 = "libunwind" DEPENDS = " \ virtual/${MLPREFIX}libc \ @@ -81,6 +82,7 @@ EXTRA_OEMAKE = '\ AR="${AR}" \ LD="${LD}" \ EXTRA_CFLAGS="-ldw" \ + YFLAGS='-y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}' \ EXTRA_LDFLAGS="${PERF_EXTRA_LDFLAGS}" \ perfexecdir=${libexecdir} \ NO_GTK2=1 \ @@ -214,6 +216,51 @@ do_configure_prepend () { ${S}/tools/build/Makefile.build fi + # start reproducibility substitutions + if [ -e "${S}/tools/perf/Makefile.config" ]; then + # The following line in the Makefle: + # override PYTHON := $(call get-executable-or-default,PYTHON,$(PYTHON_AUTO)) + # "PYTHON" / "PYTHON_AUTO" have the full path as part of the variable. We've + # ensure that the environment is setup and we do not need the full path to be + # captured, since the symbol gets built into the executable, making it not + # reproducible. + sed -i -e 's,$(call get-executable-or-default\,PYTHON\,$(PYTHON_AUTO)),$(notdir $(call get-executable-or-default\,PYTHON\,$(PYTHON_AUTO))),g' \ + ${S}/tools/perf/Makefile.config + + # The following line: + # srcdir_SQ = $(patsubst %tools/perf,tools/perf,$(subst ','\'',$(srcdir))), + # Captures the full src path of perf, which of course makes it not + # reproducible. We really only need the relative location 'tools/perf', so we + # change the Makefile line to remove everything before 'tools/perf' + sed -i -e "s%srcdir_SQ = \$(subst ','\\\'',\$(srcdir))%srcdir_SQ = \$(patsubst \%tools/perf,tools/perf,\$(subst ','\\\'',\$(srcdir)))%g" \ + ${S}/tools/perf/Makefile.config + fi + if [ -e "${S}/tools/perf/tests/Build" ]; then + # OUTPUT is the full path, we have python on the path so we remove it from the + # definition. This is captured in the perf binary, so breaks reproducibility + sed -i -e 's,PYTHONPATH="BUILD_STR($(OUTPUT)python)",PYTHONPATH="BUILD_STR(python)",g' \ + ${S}/tools/perf/tests/Build + fi + if [ -e "${S}/tools/perf/util/Build" ]; then + # To avoid bison generating #ifdefs that have captured paths, we make sure + # all the calls have YFLAGS, which contains prefix mapping information. + sed -i -e 's,$(BISON),$(BISON) $(YFLAGS),g' ${S}/tools/perf/util/Build + fi + if [ -e "${S}/scripts/Makefile.host" ]; then + # To avoid yacc (bison) generating #ifdefs that have captured paths, we make sure + # all the calls have YFLAGS, which contains prefix mapping information. + sed -i -e 's,$(YACC),$(YACC) $(YFLAGS),g' ${S}/scripts/Makefile.host + fi + if [ -e "${S}/tools/perf/pmu-events/Build" ]; then + target='$(OUTPUT)pmu-events/pmu-events.c $(V)' + replacement1='$(OUTPUT)pmu-events/pmu-events.c $(V)\n' + replacement2='\t$(srctree)/sort-pmuevents.py $(OUTPUT)pmu-events/pmu-events.c $(OUTPUT)pmu-events/pmu-events.c.new\n' + replacement3='\tcp $(OUTPUT)pmu-events/pmu-events.c.new $(OUTPUT)pmu-events/pmu-events.c' + sed -i -e "s,$target,$replacement1$replacement2$replacement3,g" \ + "${S}/tools/perf/pmu-events/Build" + fi + # end reproducibility substitutions + # We need to ensure the --sysroot option in CC is preserved if [ -e "${S}/tools/perf/Makefile.perf" ]; then sed -i 's,CC = $(CROSS_COMPILE)gcc,#CC,' ${S}/tools/perf/Makefile.perf @@ -254,6 +301,14 @@ do_configure_prepend () { # so we copy it from the sysroot unistd.h to the perf unistd.h install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/include/uapi/asm-generic/unistd.h + + # the fetcher is inhibited by the 'inherit kernelsrc', so we do a quick check and + # copy for a helper script we need + for p in $(echo ${FILESPATH} | tr ':' '\n'); do + if [ -e $p/sort-pmuevents.py ]; then + cp $p/sort-pmuevents.py ${S} + fi + done } python do_package_prepend() { diff --git a/poky/meta/recipes-kernel/perf/perf/sort-pmuevents.py b/poky/meta/recipes-kernel/perf/perf/sort-pmuevents.py new file mode 100755 index 000000000..5ddf0f144 --- /dev/null +++ b/poky/meta/recipes-kernel/perf/perf/sort-pmuevents.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python3 + +# perf pmu-events sorting tool +# +# Copyright (C) 2021 Bruce Ashfield +# +# SPDX-License-Identifier: MIT +# + +import sys +import os +import re +from collections import OrderedDict + +if len(sys.argv) < 2: + print( "[ERROR]: input and output pmu files missing" ) + sys.exit(1) + +if len(sys.argv) < 3: + print( "[ERROR]: output pmu file missing" ) + sys.exit(1) + +infile = sys.argv[1] +outfile = sys.argv[2] + +if not os.path.exists(infile): + print( "ERROR. input file does not exist: %s" % infile ) + sys.exit(1) + +if os.path.exists(outfile): + print( "WARNING. output file will be overwritten: %s" % infile ) + +with open(infile, 'r') as file: + data = file.read() + +preamble_regex = re.compile( '^(.*?)^struct', re.MULTILINE | re.DOTALL ) + +preamble = re.search( preamble_regex, data ) +struct_block_regex = re.compile( '^struct.*?(\w+) (.*?)\[\] = {(.*?)^};', re.MULTILINE | re.DOTALL ) +field_regex = re.compile( '{.*?},', re.MULTILINE | re.DOTALL ) +cpuid_regex = re.compile( '\.cpuid = (.*?),', re.MULTILINE | re.DOTALL ) +name_regex = re.compile( '\.name = (.*?),', re.MULTILINE | re.DOTALL ) + +# create a dictionary structure to store all the structs, their +# types and then their fields. +entry_dict = {} +for struct in re.findall( struct_block_regex, data ): + # print( "struct: %s %s" % (struct[0],struct[1]) ) + entry_dict[struct[1]] = {} + entry_dict[struct[1]]['type'] = struct[0] + entry_dict[struct[1]]['fields'] = {} + for entry in re.findall( field_regex, struct[2] ): + #print( " entry: %s" % entry ) + cpuid = re.search( cpuid_regex, entry ) + if cpuid: + #print( " cpuid found: %s" % cpuid.group(1) ) + entry_dict[struct[1]]['fields'][cpuid.group(1)] = entry + + name = re.search( name_regex, entry ) + if name: + #print( " name found: %s" % name.group(1) ) + entry_dict[struct[1]]['fields'][name.group(1)] = entry + + +# created ordered dictionaries from the captured values. These are ordered by +# a sorted() iteration of the keys. We don't care about the order we read +# things, just the sorted order. Hency why we couldn't create these during +# reading. +# +# yes, there's a more concise way to do this, but our nested dictionaries of +# fields make it complex enough that it becomes unreadable. +entry_dict_sorted = OrderedDict() +for i in sorted(entry_dict.keys()): + entry_dict_sorted[i] = {} + entry_dict_sorted[i]['type'] = entry_dict[i]['type'] + entry_dict_sorted[i]['fields'] = {} + for f in sorted(entry_dict[i]['fields'].keys()): + entry_dict_sorted[i]['fields'][f] = entry_dict[i]['fields'][f] + +# dump the sorted elements to the outfile +outf = open( outfile, 'w' ) + +print( preamble.group(1) ) +outf.write( preamble.group(1) ) +for d in entry_dict_sorted: + outf.write( "struct %s %s[] = {\n" % (entry_dict_sorted[d]['type'],d) ) + for f in entry_dict_sorted[d]['fields']: + outf.write( entry_dict_sorted[d]['fields'][f] + '\n' ) + + outf.write( "};\n" ) + +outf.close() + diff --git a/poky/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb b/poky/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb index 46820ef48..6ee0be5e3 100644 --- a/poky/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb +++ b/poky/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb @@ -1,5 +1,5 @@ SUMMARY = "UProbes kernel module for SystemTap" - +HOMEPAGE = "https://sourceware.org/systemtap/" require systemtap_git.inc DEPENDS = "systemtap virtual/kernel" |