poky: subtree update:7231c10430..0ac99625bf

Alban Bedel (1):
      systemd: Fix systemd when used with busybox less

Alejandro Hernandez Samaniego (3):
      poky-tiny: Reduce busybox size by 13%
      poky-tiny: Enable size optimization by default
      python3: Update manifest

Alexander Kamensky (1):
      kexec: arm64: disabled check if kaslr-seed dtb property was wiped

Alexander Kanavin (128):
      systemd-boot: upgrade 246.2 -> 246.6
      glib-2.0: upgrade 2.64.5 -> 2.66.1
      cmake: update 3.18.2 -> 3.18.4
      python3-pygobject: upgrade 3.36.1 -> 3.38.0
      libdazzle: upgrade 3.36.0 -> 3.38.0
      gobject-introspection: upgrade 1.64.1 -> 1.66.1
      json-glib: upgrade 1.4.4 -> 1.6.0
      ovmf: update edk2-stable202005 -> edk2-stable202008
      gnu-config: update to latest revision
      file: enable all built-in compression checkers
      rpm: update 4.15.1 -> 4.16.0
      elfutils: update 0.180 -> 0.181
      ghostscript: update 9.52 -> 9.53.3
      ltp: update 20200515 -> 20200930
      gsettings-desktop-schemas: update 3.36.1 -> 3.38.0
      libsecret: update 0.20.3 -> 0.20.4
      mesa: update 20.1.8 -> 20.2.1
      xf86-video-vesa: update 2.4.0 -> 2.5.0
      lttng-modules: update 2.12.2 -> 2.12.3
      webkitgtk: update 2.28.4 -> 2.30.1
      dos2unix: update 7.4.1 -> 7.4.2
      gnutls: update 3.16.4 -> 3.16.5
      libcap: update 2.43 -> 2.44
      vte: update 0.60.3 -> 0.62.1
      libhandy: upgrade 0.0.13 -> 1.0.0
      libportal: add a recipe
      epiphany: upgrade 3.36.4 -> 3.38.1
      gtk-doc: upgrade 1.32 -> 1.33.0
      rpm: adjust MIPS64 N32 support
      apt: remove host contamination with gtest
      opkg-utils: correct priority matching in update-alternatives
      libxml2: add a patch to fix python 3.9 support
      python: update 3.8.5 -> 3.9.0
      glib-2.0: update 2.66.1 -> 2.66.2
      json-glib: fix reproducibility
      spirv-tools: correctly set PV
      spirv-tools: upgrade 2019.5 -> 2020.5
      glslang: fix upstream version check
      glslang: upgrade 8.13.3559 -> 8.13.3743
      glslang: bump to a newer commit
      shaderc: upgrade 2019.0 -> 2020.3
      vulkan: update 1.2.135 -> 1.2.154
      vulkan-samples: replace vulkan-demos
      piglit: upgrade to latest revision
      acpica: upgrade 20200717 -> 20200925
      adwaita-icon-theme: upgrade 3.36.1 -> 3.38.0
      at-spi2-atk: upgrade 2.34.2 -> 2.38.0
      at-spi2-core: upgrade 2.36.1 -> 2.38.0
      bison: upgrade 3.7.2 -> 3.7.3
      createrepo-c: upgrade 0.16.0 -> 0.16.1
      curl: upgrade 7.72.0 -> 7.73.0
      debianutils: upgrade 4.11.1 -> 4.11.2
      dhcpcd: upgrade 9.2.0 -> 9.3.1
      dmidecode: upgrade 3.2 -> 3.3
      dnf: upgrade 4.2.23 -> 4.4.0
      ethtool: upgrade 5.8 -> 5.9
      expat: upgrade 2.2.9 -> 2.2.10
      gcr: upgrade 3.36.0 -> 3.38.0
      glib-networking: upgrade 2.64.3 -> 2.66.0
      gtk+3: upgrade 3.24.22 -> 3.24.23
      help2man: upgrade 1.47.15 -> 1.47.16
      i2c-tools: upgrade 4.1 -> 4.2
      iw: upgrade 5.8 -> 5.9
      kmscube: upgrade to latest revision
      less: upgrade 562 -> 563
      libdnf: upgrade 0.48.0 -> 0.54.2
      libgudev: upgrade 233 -> 234
      libinput: upgrade 1.16.1 -> 1.16.2
      libuv: upgrade 1.39.0 -> 1.40.0
      libva: upgrade 2.8.0 -> 2.9.0
      libva-utils: update 2.8.0 -> 2.9.1
      libwpe: upgrade 1.7.1 -> 1.8.0
      libxkbcommon: upgrade 0.10.0 -> 1.0.1
      openssh: upgrade 8.3p1 -> 8.4p1
      openssl: upgrade 1.1.1g -> 1.1.1h
      strace: upgrade 5.8 -> 5.9
      sudo: upgrade 1.9.3 -> 1.9.3p1
      vala: upgrade 0.48.9 -> 0.50.1
      wpebackend-fdo: upgrade 1.7.1 -> 1.8.0
      xkeyboard-config: upgrade 2.30 -> 2.31
      u-boot: upgrade 2020.07 -> 2020.10
      usbutils: upgrade 012 -> 013
      nfs-utils: upgrade 2.5.1 -> 2.5.2
      dropbear: upgrade 2020.80 -> 2020.81
      btrfs-tools: upgrade 5.7 -> 5.9
      git: upgrade 2.28.0 -> 2.29.2
      go: upgrade 1.15.2 -> 1.15.3
      mtools: upgrade 4.0.24 -> 4.0.25
      python3-numpy: upgrade 1.19.1 -> 1.19.3
      python3-git: upgrade 3.1.7 -> 3.1.11
      python3-pyelftools: upgrade 0.26 -> 0.27
      python3-pygments: upgrade 2.6.1 -> 2.7.2
      python3-setuptools: upgrade 49.6.0 -> 50.3.2
      asciidoc: upgrade 9.0.2 -> 9.0.4
      iptables: upgrade 1.8.5 -> 1.8.6
      libsolv: upgrade 0.7.14 -> 0.7.16
      stress-ng: upgrade 0.11.21 -> 0.11.23
      libhandy: upgrade 1.0.0 -> 1.0.1
      freetype: upgrade 2.10.2 -> 2.10.4
      linux-firmware: upgrade 20200817 -> 20201022
      alsa: upgrade 1.2.3 -> 1.2.4
      gstreamer1.0: upgrade 1.18.0 -> 1.18.1
      x264: upgrade to latest revision
      rt-tests/hwlatdetect: upgrade 1.8 -> 1.9
      webkitgtk: upgrade 2.30.1 -> 2.30.2
      diffoscope: upgrade 160 -> 161
      enchant2: upgrade 2.2.9 -> 2.2.12
      libassuan: upgrade 2.5.3 -> 2.5.4
      libcap-ng: upgrade 0.7.11 -> 0.8
      libevdev: upgrade 1.9.1 -> 1.10.0
      libgcrypt: upgrade 1.8.6 -> 1.8.7
      libmpc: upgrade 1.2.0 -> 1.2.1
      libsoup-2.4: upgrade 2.70.0 -> 2.72.0
      numactl: upgrade 2.0.13 -> 2.0.14
      kea: use odd-even version scheme for updates
      mesa: fix a build race
      clutter-gst-3.0: do not call out to host gstreamer plugin scanner
      conf-notes.txt: mention more important images than just sato
      weston-init: correctly start under systemd
      weston-init: fall back to fbdev under x32
      wayland-utils: introduce a recipe
      poky/conf-notes.txt: mention more important images than just sato
      python3: split python target configuration into own class
      python3-pycairo: use python3targetconfig
      distutils3-base.bbclass: use python3targetconfig
      meta: drop _PYTHON_SYSCONFIGDATA_NAME hacks
      gpgme: use python3targetconfig
      bitbake: lib/bb/fetch2/__init__.py: drop _PYTHON_SYSCONFIGDATA_NAME unsetting

Alexander Vickberg (1):
      socat: make building with OpenSSL support optional

Alistair (1):
      weston-init: Fix incorrect idle-time setting

Andrej Valek (1):
      autotools: CONFIG_SHELL defaults

Andrey Zhizhikin (1):
      insane: add GitLab /archive/ tests

Anibal Limon (1):
      recipes-graphics: libxkbcommon disable build of libxkbregistry

Anuj Mittal (2):
      glib-2.0: RDEPEND on dbusmock only when GI_DATA_ENABLED is True
      distutils-common-base: fix LINKSHARED expansion

Bruce Ashfield (17):
      kernel: provide module.lds for out of tree builds in v5.10+
      linux-yocto/5.8: update to v5.8.15
      linux-yocto/5.4: update to v5.4.71
      linux-yocto/5.8: update to v5.8.16
      linux-yocto/5.4: update to v5.4.72
      linux-yocto/5.8: update to v5.8.17
      linux-yocto/5.4: update to v5.4.73
      linux-yocto-dev: move to v5.10-rc
      linux-yocto/5.4: config cleanup / warnings
      linux-yocto/5.8: config cleanup / warnings
      linux-yocto/5.8: update to v5.8.18
      linux-yocto/5.4: update to v5.4.75
      kernel: relocate copy of module.lds to module compilation task
      linux-yocto/5.4: perf: Alias SYS_futex with SYS_futex_time64 on 32-bit arches with 64bit time_t
      linux-yocto/5.8: perf: Alias SYS_futex with SYS_futex_time64 on 32-bit arches with 64bit time_t
      linux-yocto/5.8: ext4/tipc warning fixups
      linux-yocto/5.4: update to v5.4.78

Chaitanya Vadrevu (1):
      isoimage-isohybrid.py: Support adding files/dirs

Changqing Li (2):
      timezone: upgrade to 2020d
      vulkan-samples: fix do_compile failure

Chee Yang Lee (2):
      bluez5: update to 5.55
      ruby: update to 2.7.2

Chris Laplante (4):
      bitbake: main: extract creation of argument parser into function so it can be utilized externally, e.g. by unit tests
      bitbake: bb.ui: delete __init__.py to make bb.ui a namespace package
      bitbake: cookerdata: tweak to avoid mutable default argument
      cases/bbtests.py: ensure PACKAGE_CLASSES is set to RPM for bbtests.BitbakeTests.test_force_task_1

Dan Callaghan (1):
      gdb: add PACKAGECONFIG for xz (lzma) compression support

Denys Dmytriyenko (1):
      grep: upgrade 3.4 -> 3.5

Denys Zagorui (1):
      binutils: reproducibility: reuse debug-prefix-map for stabs

Federico Pellegrin (1):
      openssl: Add c_rehash to misc package and add perl runtime dependency

Fedor Ross (2):
      sysvinit: remove bashism to be compatible with dash
      eudev: remove bashism to be compatible with dash

Fredrik Gustafsson (1):
      package management: Allow dynamic loading of PM

Gratian Crisan (1):
      kernel-module-split.bbclass: identify kernel modconf files as configuration files

He Zhe (1):
      lttng-modules: Backport a patch to fix btrfs build failure

Hombourger, Cedric (1):
      bitbake: fetch2: use relative symlinks for anything pulled from PREMIRRORS

Hongxu Jia (1):
      bitbake: Revert "bb.ui: delete __init__.py to make bb.ui a namespace package"

INC@Cisco) (1):
      kernel-devsrc: improve reproducibility for arm64

Jason Wessel (2):
      base-files/profile: Add universal resize function
      systemd-serialgetty: Switch to TERM=linux

Jose Quaresma (31):
      spirv-tools: import from meta-oe to OE core
      spirv-tools: enable native build and install more header files
      glslang: add receipe
      shaderc: add receipe
      spirv-tools: fix identation and cleanup install append
      maintainers.inc: Add Jose Quaresma
      gstreamer1.0: Fix reproducibility issue around libcap
      gstreamer1.0: upgrade to version 1.18.0
      gstreamer1.0-plugins-base: upgrade to version 1.18.0
      gstreamer1.0-plugins-base: add new meson option as PACKAGECONFIG
      gstreamer1.0-plugins-good: upgrade to version 1.18.0
      gstreamer1.0-plugins-good: disable new meson options
      gstreamer1.0-plugins-good: add new meson option as PACKAGECONFIG
      gstreamer1.0-plugins-bad: upgrade to version 1.18.0
      gstreamer1.0-plugins-bad: disable new meson options
      gstreamer1.0-plugins-bad: add new meson options as PACKAGECONFIG
      gstreamer1.0-plugins-ugly: upgrade to version 1.18.0
      gstreamer1.0-python: upgrade to version 1.18.0
      gstreamer1.0-python: install append is not need any more
      gstreamer1.0-rtsp-server: upgrade to version 1.18.0
      gstreamer1.0-vaapi: upgrade to version 1.18.0
      gst-examples: upgrade to version 1.18.0
      gstreamer1.0-omx: upgrade to version 1.18.0
      gstreamer1.0-libav: upgrade to version 1.18.0
      gst-devtools: add version 1.18.0 (gst-validate -> gst-devtools)
      orc: Upgrade 0.4.31 -> 0.4.32
      gstreamer1.0-plugins-good: on wayland qt5 needs qtwayland
      gstreamer1.0-libav: add comercial license flags as ffmpeg needs this
      gstreamer1.0-plugins-bad: add srt package config knob
      ffmpeg: add srt package config knob
      gstreamer1.0-plugins-good: add package config knob for the Raspberry Pi

Joseph Reynolds (1):
      add new extrausers command passwd-expire

Joshua Watt (8):
      documentation: Add Pipenv support
      systemd: Re-enable chvt as non-root user without polkit
      python3-pycryptodomex: upgrade 3.9.8 -> 3.9.9
      weston-init: Stop running weston as root
      python3-pycryptodome: upgrade 3.9.8 -> 3.9.9
      bitbake: bitbake: hashserve: Add async client
      bitbake: bitbake: hashserve: Add support for readonly upstream
      bitbake: bitbake: cache: Remove bad keys() function

Kai Kang (1):
      sudo: fix multilib conflict

Khasim Mohammed (1):
      grub: add grub-nativesdk

Khem Raj (34):
      webkitgtk: Disable gold linker and JIT on riscv
      init-ifupdown: Define interfaces file for riscv emulators
      init-ifupdown: Merge all interface files for differnet qemus
      musl: Update to latest master
      qemuboot.bbclass: Fix a typo
      musl: Add .file directive in crt assembly files
      musl: Update to latest
      rpm: Fix error.h handing properly on musl
      gdb: Update to 10.x release
      numactl: Link with libatomic on rv64/rv32
      gstreamer: Fix build on 32bit arches with 64bit time_t
      rt-tests: Enable only for x86/ppc64 architectures
      lto: Add global LTO distro policy file
      python3: Enable lto if its in DISTRO_FEATURES
      lto.inc: Add -ffat-lto-objects and -fuse-linker-plugin
      lto: Introduce LTOEXTRA variable
      libaio: Disable LTO
      weston: Fix linking with LTO
      lto.inc: Disable LTO for xserver-xorg
      gcc: Do no parameterize LTO configuration flags
      puzzles: Check for excessive constant arguments
      lto.inc: Disable LTO for perf
      gcc: Handle duplicate names for variables
      musl: Update to latest master
      lrzsz: Use Cross AR during compile
      gawk: Avoid using host ar during cross compile
      lto.inc: Disable LTO for webkit
      python-numpy: Add support for riscv32
      arch-riscv: Enable qemu-usermode on rv32
      python3targetconfig.bbclass: Make py3 dep and tasks only for target recipes
      go: Update to 1.15.5
      binutils: Fix linker errors on chromium/ffmpeg on aarch64
      python3-numpy: Upgrade to 1.19.4
      python3-numpy: Add ptest

Konrad Weihmann (3):
      oeqa/core/context: expose results as variable
      oeqa/core/context: initialize _run_end_time
      testimage: print results for interrupted runs

Lee Chee Yang (5):
      bitbake: BBHandler: prompt error when task name contain expression
      libproxy: fix CVE-2020-26154
      python3: fix CVE-2020-27619
      python3: whitelist CVE-2020-15523
      qemu: fix CVE-2020-24352

Loic Domaigne (1):
      roofs_*.bbclass: fix missing vardeps for do_rootfs

Luca Boccassi (1):
      dbus: split -common and -tools out of main package

Mark Jonas (4):
      libsdl2: Fix directfb syntax error
      libsdl2: Fix directfb SDL_RenderFillRect
      libbsd: Remove BSD-4-Clause from main package
      libsdl2: Add directfb to PACKAGECONFIG rdepends

Martin Jansa (5):
      tune-arm9tdmi.inc: include arm9tdmi in PACKAGE_ARCHS
      gnutls: explicitly set --with-librt-prefix
      webkitgtk: fix opengl PACKAGECONFIG
      webkitgtk: fix build with x11 enabled
      weston: add pam to REQUIRED_DISTRO_FEATURES

Matt Madison (1):
      layer.conf: fix syntax error in PATH setting

Max Krummenacher (1):
      linux-firmware: rdepend on license for all nvidia packages

Maxime Roussin-BĂ©langer (3):
      meta: fix some unresponsive homepages and bugtracker links
      bitbake: cache: remove unused variables.
      bitbake: monitordisk: remove unused function parameter

Mert Kirpici (2):
      bitbake: fetch2: add zstd support to unpack
      bitbake: doc/conf.py: add missing import sys

Mingli Yu (2):
      bitbake.conf: Exclude ${CCACHE_DIR} from pseudo database
      update_udev_hwdb: clean hwdb.bin

Nathan Rossi (4):
      vim: add nativesdk to BBCLASSEXTEND
      rsync: add nativesdk to BBCLASSEXTEND
      diffstat: add nativesdk to BBCLASSEXTEND
      cml1.bbclass: Handle ncurses-native being available via pkg-config

Nicolas Dechesne (17):
      conf: update for release 3.2
      poky.yaml: remove unused variables
      poky.yaml: updates for 3.2
      sphinx: releases: add link to 3.1.3
      what-i-wish-id-known: replace labels with references to section title
      sdk-manual: replace labels with references to section title
      ref-manual: replace labels with references to section title
      dev-manual: replace labels with references to section title
      kernel-dev: replace labels with references to section title
      test-manual: remove unused labels
      bsp-guide: remove unused labels
      kernel-dev: remove unused labels
      profile-manual: remove unused labels
      sdk-manual: remove unused labels
      toaster-manual: remove unused labels
      Makefile: enable parallel build
      bitbake: docs: Makefile: enable parallel build

Norbert Kaminski (1):
      grub: Add support for RISC-V

Paul Barker (11):
      conf.py: Improve TOC and Outline depth in PDF output
      conf.py: Add oe_git directive
      documentation/README: Refer to top-level README for contributions
      dev-manual-common-tasks: Fix refs to testing branches
      dev-manual-common-tasks: Update & move patchwork reference
      dev-manual-common-tasks: Tidy up patch submission process
      dev-manual-common-tasks: Describe git-send-email accurately
      dev-manual-common-tasks: Describe how to handle patch feedback
      dev-manual-common-tasks: Describe how to propose changes to stable branches
      dev-manual-common-tasks: Re-order patch submission instructions
      poky.yaml: Define DISTRO_NAME_NO_CAP_LTS

Paul Eggleton (10):
      ref-manual: add reference anchors for each QA check
      ref-manual: fix for features_check class change
      ref-manual: QA check updates
      ref-manual: add PSEUDO_IGNORE_PATHS
      ref-manual: add IMAGE_VERSION_SUFFIX variable
      ref-manual: add IMAGE_NAME_SUFFIX variable
      ref-manual: add migration section for 3.2
      ref-manual: add IMAGE_LINK_NAME
      ref-manual: add migration info for image-artifact-names
      ref-manual: add migration info about MLPREFIX changes

Peter Bergin (2):
      rt-tests: backport patch that enable build for all archs
      Revert "rt-tests: Enable only for x86/ppc64 architectures"

Purushottam choudhary (1):
      systemd: selinux hook handling to enumerate nexthop

Randy MacLeod (1):
      libsdl2: Disable video-rpi

Randy Witt (4):
      numactl: Add the recipe for numactl
      numactl: Remove COMPATIBLE_HOST restrictions
      numactl: Skip the ptests when numa is not supported
      rt-tests: Update recipes to use 1.8

Ricardo Salveti (1):
      dosfstools: add mkfs.vfat to ALTERNATIVE

Richard Leitner (4):
      deb: replace deprecated apt force-yes argument
      xcb-proto: update to 1.14.1
      deb: export INTERCEPT_DIR for remove actions
      weston-init: introduce WESTON_GROUP

Richard Purdie (21):
      ref-manual/faq: Add entry for why binaries are changed in images
      dev-manual: Add a note about prelink changing prebuild binaries
      sstatesig: Log timestamps for hashequiv in reprodubile builds for do_package
      netbase: Add whitespace to purge bogus hash equivalence from autobuilder
      scripts/buildhistory_analysis: Avoid tracebacks from file comparision code
      maintainers: Add myself as numactl maintainer to avoid QA errors
      bitbake: bitbake: Post release version bump
      poky.conf: Post release version bump
      libxcb: Fix install file owner/group
      bitbake: siggen: Remove broken optimisation
      bitbake: fetch2/git: Document that we won't support passwords in git urls
      sstatesig: Remove workaround for bitbake taskhash bug
      ptest-runner: Fix license as it contains 'or later' clause
      libdnf: Fix license as it contains 'or later' clause
      alsa-utils: Fix license to GPLv2 only
      overview-manual-concepts: Fix the compiler bootstrap process
      bitbake: Add missing documentation Makefile
      oeqa/commands: Fix compatibility with python 3.9
      fs-perms: Ensure /usr/src/debug/ file modes are correct
      e2fsprogs: Fix a ptest permissions determinism issue
      uninative: Don't use single sstate for pseudo-native

Robert P. J. Day (3):
      ref-manual/ref-variables: "PACKAGE_FEEDS_ARCHS" -> "PACKAGE_FEED_ARCHS"
      README: "yocto-project-qs" -> "brief-yoctoprojectqs"
      adt-manual: delete obsolete ADT manual, and related content

Ross Burton (13):
      rpm: use libgcrypt instead of OpenSSL for cryptography
      syslinux: add link to upstream discussion in patch
      json-glib: use PACKAGECONFIG for tests
      json-glib: update patch status
      libical: backport a patch to fix build with ICU 68.1
      webkitgtk: fix build with ICU 68.1
      cve-check: show real PN/PV
      python3: add CVE-2007-4559 to whitelist
      sqlite3: add CVE-2015-3717 to whitelist
      gstreamer1.0-rtsp-server: set CVE_PRODUCT
      gstreamer1.0-plugins-base: set CVE_PRODUCT
      bitbake: providers: selected version not available should be a warning
      cve-update-db-native: handle all-wildcard versions

Saul Wold (1):
      classes/buildhistory: record LICENSE

Sinan Kaya (2):
      volatile-binds: add /srv to mount and install
      kernel-uboot: allow compression option to be configurable

Stacy Gaikovaia (1):
      valgrind: helgrind: Intercept libc functions

Steve Sakoman (3):
      netbase: update SRC_URI to reflect new file name
      openssh: whitelist CVE-2014-9278
      cups: whitelist CVE-2018-6553

Tim Orling (22):
      python3-atomicwrites: move from meta-python
      python3-attrs: move from meta-python
      python3-iniconfig: move from meta-python
      python3-more-itertools: move from meta-python
      python3-pathlib2: move from meta-python
      python3-toml: move from meta-python
      python3-py: move from meta-python
      python3-setuptools-scm: move from meta-python
      python3-packaging: move from meta-python
      python3-wcwidth: move from meta-python
      python3-zipp: move from meta-python
      python3-importlib-metadata: move from meta-python
      python3-pluggy: move from meta-python
      python3-pytest: move from meta-python
      maintainers.inc: add self for new pytest packages
      python3-more-itertools: upgrade 8.5.0 -> 8.6.0
      python3-importlib-metadata: upgrade 2.0.0 to 3.1.0
      python3-pytest: RDEPENDS on python3-toml
      python3-hypothesis: move from meta-python
      python3-sortedcontainers: move from meta-python
      maintainers.inc: add self for new python recipes
      python3-hypothesis: upgrade 5.41.3 -> 5.41.4

Tom Hochstein (1):
      mesa: Add xcb-fixes to loader when using x11 and dri3

Vyacheslav Yurkov (1):
      license_image.bbclass: use canonical name for license files

Wonmin Jung (1):
      kernel: Set proper LD in KERNEL_KCONFIG_COMMAND

Yann Dirson (6):
      systemtap: split examples and python scripts out of main package
      systemtap: remove extra dependencies
      systemtap: clarify the relation between exporter and python3-probes feature
      systemtap: fix install when python3-probes is disabled in PACKAGECONFIG
      systemtap: split runtime material in its own package
      systemtap: avoid RDEPENDS on python3-core when not using python3

Yann E. MORIN (2):
      common-licenses: add bzip2-1.0.4
      recipes-core/busybox: fixup licensing information

Yi Zhao (5):
      resolvconf: do not install dhclient hooks
      connman: set service to conflict with systemd-networkd
      pulseaudio: unify volatiles file name
      dhcpcd: install dhcpcd to /sbin rather than /usr/sbin
      dhcpcd: upgrade 9.3.1 -> 9.3.2

Yongxin Liu (2):
      grub: fix several CVEs in grub 2.04
      grub: clean up CVE patches

zangrc (18):
      python3-pycairo: upgrade 1.19.1 -> 1.20.0
      iproute2: upgrade 5.8.0 -> 5.9.0
      icu: upgrade 67.1 -> 68.1
      libdnf: upgrade 0.54.2 -> 0.55.0
      libinput: upgrade 1.16.2 -> 1.16.3
      enchant2: upgrade 2.2.12 -> 2.2.13
      libdrm: upgrade 2.4.102 -> 2.4.103
      gmp: upgrade 6.2.0 -> 6.2.1
      gpgme: upgrade 1.14.0 -> 1.15.0
      libunwind: upgrade 1.4.0 -> 1.5.0
      msmtp: upgrade 1.8.12 -> 1.8.13
      gtk-doc: upgrade 1.33.0 -> 1.33.1
      hdparm: upgrade 9.58 -> 9.60
      libcap-ng: upgrade 0.8 -> 0.8.1
      libjpeg-turbo: upgrade 2.0.5 -> 2.0.6
      libxkbcommon: upgrade 1.0.1 -> 1.0.3
      pulseaudio: upgrade 13.0 -> 14.0
      wireless-regdb: upgrade 2020.04.29 -> 2020.11.20

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I22fa6c7160be5ff2105113cc63acc25f8977ae4e
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch
new file mode 100644
index 0000000..c2301e7
--- /dev/null
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch
@@ -0,0 +1,67 @@
+From d48ec5e1a5fb7907520dee71b1d94045486a0c29 Mon Sep 17 00:00:00 2001
+From: Alexander Kamensky <alexander.kamensky42@gmail.com>
+Date: Thu, 12 Nov 2020 12:56:46 -0800
+Subject: [PATCH] arm64: kexec: disabled check if kaslr-seed dtb property was
+ wiped
+
+Kexec when loading arm64 kernel checks if chosen/kaslr-seed dtb property is
+wiped. It's a good assertion to verify proper behavior of kernel. However,
+if bootloader creates and fills kaslr-seed property and kernel is not
+configured with CONFIG_RANDOMIZE_BASE then logic of reading and wiping
+kaslr-seed does not run. As a result kaslr-seed property is not zero and when
+kexec tries to load secondary kernel it fails with the following message:
+
+setup_2nd_dtb: kaslr-seed is not wiped to 0.
+kexec: setup_2nd_dtb failed.
+kexec: load failed.
+
+This was observed on Yocto Project on qemuarm64 machine with 5.8 kernel,
+qemu 5.1.0. Qemu created kaslr-seed property but kernel was not configured
+with CONFIG_RANDOMIZE_BASE.
+
+Although check has some value, there is a use-case where it breaks kexec,
+this patch removes it.
+
+Note in described use-case the fact that kaslr-seed is not wiped and user
+readable through /sys/firmware/fdt or
+/sys/firmware/devicetree/base/chosen/kaslr-seed is not a security problem
+as kaslr is disabled anyway.
+
+Signed-off-by: Alexander Kamensky <alexander.kamensky42@gmail.com>
+Upstream-Status: Submitted [http://lists.infradead.org/pipermail/kexec/2020-November/021740.html]
+---
+ kexec/arch/arm64/kexec-arm64.c | 14 +-------------
+ 1 file changed, 1 insertion(+), 13 deletions(-)
+
+Index: kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.c
+===================================================================
+--- kexec-tools-2.0.20.orig/kexec/arch/arm64/kexec-arm64.c
++++ kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.c
+@@ -428,7 +428,7 @@ static int setup_2nd_dtb(struct dtb *dtb
+ 	int len, range_len;
+ 	int nodeoffset;
+ 	int new_size;
+-	int result, kaslr_seed;
++	int result;
+ 
+ 	result = fdt_check_header(dtb->buf);
+ 
+@@ -499,18 +499,6 @@ static int setup_2nd_dtb(struct dtb *dtb
+ 			return result;
+ 		}
+ 	} else {
+-		kaslr_seed = fdt64_to_cpu(*prop);
+-
+-		/* kaslr_seed must be wiped clean by primary
+-		 * kernel during boot
+-		 */
+-		if (kaslr_seed != 0) {
+-			dbgprintf("%s: kaslr-seed is not wiped to 0.\n",
+-					__func__);
+-			result = -EINVAL;
+-			goto on_error;
+-		}
+-
+ 		/*
+ 		 * Invoke the getrandom system call with
+ 		 * GRND_NONBLOCK, to make sure we
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.20.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.20.bb
index 1e81ecc..69d2e9b 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.20.bb
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.20.bb
@@ -21,6 +21,7 @@
            file://0006-kexec-arm-undefine-__NR_kexec_file_load-for-arm.patch \
            file://0007-kexec-un-break-the-build-on-32-bit-x86.patch \
            file://0001-kexec-Fix-build-with-fno-common.patch \
+           file://0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch \
            "
 
 SRC_URI[md5sum] = "46724b67f32501c5d3e778161347cad9"
diff --git a/poky/meta/recipes-kernel/kmod/kmod.inc b/poky/meta/recipes-kernel/kmod/kmod.inc
index 646dff9..dabda2d 100644
--- a/poky/meta/recipes-kernel/kmod/kmod.inc
+++ b/poky/meta/recipes-kernel/kmod/kmod.inc
@@ -4,7 +4,7 @@
 SUMMARY = "Tools for managing Linux kernel modules"
 DESCRIPTION = "kmod is a set of tools to handle common tasks with Linux kernel modules like \
                insert, remove, list, check properties, resolve dependencies and aliases."
-HOMEPAGE = "http://packages.profusion.mobi/kmod/"
+HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kmod/"
 LICENSE = "GPL-2.0+ & LGPL-2.1+"
 LICENSE_libkmod = "LGPL-2.1+"
 SECTION = "base"
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200817.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20201022.bb
similarity index 99%
rename from poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200817.bb
rename to poky/meta/recipes-kernel/linux-firmware/linux-firmware_20201022.bb
index 0abd28c..93b9d53 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20200817.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20201022.bb
@@ -126,7 +126,7 @@
                     file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
                     file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
                     file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
-                    file://WHENCE;md5=4d229f79f8770b5b2c4aac655b9fabef \
+                    file://WHENCE;md5=daf28db5d6353de0a886f08106cffa22 \
                     "
 
 # These are not common licenses, set NO_GENERIC_LICENSE for them
@@ -198,7 +198,7 @@
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/firmware/${BPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "76d05d5f1eff268d3b80675245fa596f557bd55ee2e16ddd54d18ffeae943887"
+SRC_URI[sha256sum] = "bf586e0beb4c65f22bf0a79811f259aa0a5a7cc9f70eebecb260525b6914cef7"
 
 inherit allarch
 
@@ -501,6 +501,7 @@
 
 RDEPENDS_${PN}-nvidia-gpu += "${PN}-nvidia-license"
 RDEPENDS_${PN}-nvidia-tegra += "${PN}-nvidia-license"
+RDEPENDS_${PN}-nvidia-tegra-k1 += "${PN}-nvidia-license"
 
 # For rtl
 LICENSE_${PN}-rtl8188 = "Firmware-rtlwifi_firmware"
diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
index aa8e162..8a900ed 100644
--- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -86,6 +86,12 @@
 	# be dealt with.
 	# cp -a scripts $kerneldir/build
 
+	# although module.lds can be regenerated on target via 'make modules_prepare'
+	# there are several places where 'makes scripts prepare' is done, and that won't
+	# regenerate the file. So we copy it onto the target as a migration to using
+	# modules_prepare
+	cp -a --parents scripts/module.lds $kerneldir/build/ 2>/dev/null || :
+
         if [ -d arch/${ARCH}/scripts ]; then
 	    cp -a arch/${ARCH}/scripts $kerneldir/build/arch/${ARCH}
 	fi
@@ -113,6 +119,10 @@
 	# but without this file, we get a forced syncconfig run in v5.8+, which prompts and
 	# breaks workflows.
 	cp -a --parents include/generated/autoconf.h $kerneldir/build 2>/dev/null || :
+
+	if [ -e $kerneldir/include/generated/.vdso-offsets.h.cmd ]; then
+	    rm $kerneldir/include/generated/.vdso-offsets.h.cmd
+	fi
     )
 
     # now grab the chunks from the source tree that we need
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
index fbc62f2..6272af6 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 @@
 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.9-rc+"
+LINUX_VERSION ?= "5.10-rc+"
 LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
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 13f7246..104ada2 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 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "3a5f7e9a874f0a6e9ad599b4fc6c491db231dd6f"
-SRCREV_meta ?= "7f765dcb29003bafc9c0ac770147940be6c420b2"
+SRCREV_machine ?= "97576fb7447efba82eb025bde3ae9ceb29939d5e"
+SRCREV_meta ?= "d626f9108d590d41e82b97cbffc380aa699e86e1"
 
 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.69"
+LINUX_VERSION ?= "5.4.78"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.8.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.8.bb
index 3d6d750..033dfc7 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.8.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.8.bb
@@ -11,13 +11,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_meta ?= "34775c20bc4f4ac32ac7eded79f9dc8ca77e4277"
+SRCREV_machine ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_meta ?= "7883b60d324029d26020c0b3f826b35c52fd9674"
 
 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.8;destsuffix=${KMETA}"
 
-LINUX_VERSION ?= "5.8.13"
+LINUX_VERSION ?= "5.8.18"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
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 00e1b65..d8784c4 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 @@
 
 require recipes-kernel/linux/linux-yocto.inc
 
-LINUX_VERSION ?= "5.4.69"
+LINUX_VERSION ?= "5.4.78"
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine_qemuarm ?= "58f39df46d9daf12a095ffe225032ec325612960"
-SRCREV_machine ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c"
-SRCREV_meta ?= "7f765dcb29003bafc9c0ac770147940be6c420b2"
+SRCREV_machine_qemuarm ?= "6cf3b1d30bc7ac9bd86190129b3cbbdd04b8b236"
+SRCREV_machine ?= "370ef947d5b1470e858bae5a300110566c994b9f"
+SRCREV_meta ?= "d626f9108d590d41e82b97cbffc380aa699e86e1"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.8.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.8.bb
index 764264f..50cee07 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.8.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.8.bb
@@ -6,7 +6,7 @@
 
 require recipes-kernel/linux/linux-yocto.inc
 
-LINUX_VERSION ?= "5.8.13"
+LINUX_VERSION ?= "5.8.18"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine_qemuarm ?= "627cc1717f47c4d9bc9d58f88b1764990d982a99"
-SRCREV_machine ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_meta ?= "34775c20bc4f4ac32ac7eded79f9dc8ca77e4277"
+SRCREV_machine_qemuarm ?= "9509db6e3ed6a23b1f7495b53248d1cbfe22710b"
+SRCREV_machine ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_meta ?= "7883b60d324029d26020c0b3f826b35c52fd9674"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
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 bcc5003..c24e5dd 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-64 ?= "v5.4/standard/base"
 KBRANCH_qemumips64 ?= "v5.4/standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "561d4f6eb1de32e1448451db86656826cf406eb5"
-SRCREV_machine_qemuarm64 ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c"
-SRCREV_machine_qemumips ?= "e421f3f2399c153c4d58241cb6d1be926f7efc45"
-SRCREV_machine_qemuppc ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c"
-SRCREV_machine_qemuriscv64 ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c"
-SRCREV_machine_qemux86 ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c"
-SRCREV_machine_qemux86-64 ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c"
-SRCREV_machine_qemumips64 ?= "72d2f11b5f171e196d6b9824b82575d9a7b59e6f"
-SRCREV_machine ?= "cfcdd63145c0d741e57ee3e3e58f794229c6c09c"
-SRCREV_meta ?= "7f765dcb29003bafc9c0ac770147940be6c420b2"
+SRCREV_machine_qemuarm ?= "b3bafed66cf1be24caaa9c876d7d9a8298df831b"
+SRCREV_machine_qemuarm64 ?= "370ef947d5b1470e858bae5a300110566c994b9f"
+SRCREV_machine_qemumips ?= "36c2a0b1caef0b2dd6b5777d1939c383238536a8"
+SRCREV_machine_qemuppc ?= "370ef947d5b1470e858bae5a300110566c994b9f"
+SRCREV_machine_qemuriscv64 ?= "370ef947d5b1470e858bae5a300110566c994b9f"
+SRCREV_machine_qemux86 ?= "370ef947d5b1470e858bae5a300110566c994b9f"
+SRCREV_machine_qemux86-64 ?= "370ef947d5b1470e858bae5a300110566c994b9f"
+SRCREV_machine_qemumips64 ?= "971a3cedf9a2a7774fa072b9a13380fb59fd605b"
+SRCREV_machine ?= "370ef947d5b1470e858bae5a300110566c994b9f"
+SRCREV_meta ?= "d626f9108d590d41e82b97cbffc380aa699e86e1"
 
 # remap qemuarm to qemuarma15 for the 5.4 kernel
 # KMACHINE_qemuarm ?= "qemuarma15"
@@ -30,7 +30,7 @@
            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.69"
+LINUX_VERSION ?= "5.4.78"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.8.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.8.bb
index f80ae23..af57689 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.8.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.8.bb
@@ -12,16 +12,16 @@
 KBRANCH_qemux86-64 ?= "v5.8/standard/base"
 KBRANCH_qemumips64 ?= "v5.8/standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "41542e01d0deb5a38c190809f4fd01a442769938"
-SRCREV_machine_qemuarm64 ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_machine_qemumips ?= "36e642d5b6c5b1d05f6172a75df172ad8fefc30b"
-SRCREV_machine_qemuppc ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_machine_qemuriscv64 ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_machine_qemux86 ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_machine_qemux86-64 ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_machine_qemumips64 ?= "5538a54afd2525803729c85a40609cae292cb242"
-SRCREV_machine ?= "5981001bf03f0d0c1cf641a2287ab6368baf628a"
-SRCREV_meta ?= "34775c20bc4f4ac32ac7eded79f9dc8ca77e4277"
+SRCREV_machine_qemuarm ?= "14b463d0e5c1e2ff354244420f9bbc7f0ab80533"
+SRCREV_machine_qemuarm64 ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_machine_qemumips ?= "8d8d9afb396f154f366f32948fdff3cf4e269841"
+SRCREV_machine_qemuppc ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_machine_qemuriscv64 ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_machine_qemux86 ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_machine_qemux86-64 ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_machine_qemumips64 ?= "01a02b058f9a8941032b298b8d25c673526152f4"
+SRCREV_machine ?= "3c5d210805d61bea8f8a8081e0e3a89ea8a61f3f"
+SRCREV_meta ?= "7883b60d324029d26020c0b3f826b35c52fd9674"
 
 # remap qemuarm to qemuarma15 for the 5.8 kernel
 # KMACHINE_qemuarm ?= "qemuarma15"
@@ -30,7 +30,7 @@
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.8;destsuffix=${KMETA}"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "5.8.13"
+LINUX_VERSION ?= "5.8.18"
 
 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-Kconfig-fix-dependency-issue-when-building-in-tree-w.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Kconfig-fix-dependency-issue-when-building-in-tree-w.patch
deleted file mode 100644
index ae8bec4..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Kconfig-fix-dependency-issue-when-building-in-tree-w.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From ff4d1d7e85be94ef43709cd698f0ec9a12f247d1 Mon Sep 17 00:00:00 2001
-From: Beniamin Sandu <beniaminsandu@gmail.com>
-Date: Thu, 13 Aug 2020 16:24:39 +0300
-Subject: [PATCH 01/10] Kconfig: fix dependency issue when building in-tree
- without CONFIG_FTRACE
-
-When building in-tree, one could disable CONFIG_FTRACE from kernel
-config which will leave CONFIG_TRACEPOINTS selected by LTTNG modules,
-but generate a lot of linker errors like below because it leaves out
-other stuff, e.g.:
-
-trace.c:(.text+0xd86b): undefined reference to `trace_event_buffer_reserve'
-ld: trace.c:(.text+0xd8de): undefined reference to `trace_event_buffer_commit'
-ld: trace.c:(.text+0xd926): undefined reference to `event_triggers_call'
-ld: trace.c:(.text+0xd942): undefined reference to `trace_event_ignore_this_pid'
-ld: net/mac80211/trace.o: in function `trace_event_raw_event_drv_tdls_cancel_channel_switch':
-
-It appears to be caused by the fact that TRACE_EVENT macros in the Linux
-kernel depend on the Ftrace ring buffer as soon as CONFIG_TRACEPOINTS is
-enabled.
-
-Steps to reproduce:
-
-- Get a clone of an upstream stable kernel and use scripts/built-in.sh on it
-
-- Configure a standard x86-64 build, enable built-in LTTNG but disable
-  CONFIG_FTRACE from Kernel Hacking-->Tracers using menuconfig
-
-- Build will fail at linking stage
-
-Upstream-Status: Backport
-
-Signed-off-by: Beniamin Sandu <beniaminsandu@gmail.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- Kconfig | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Kconfig b/Kconfig
-index acdab73..10eccff 100644
---- a/Kconfig
-+++ b/Kconfig
-@@ -2,7 +2,7 @@
- 
- config LTTNG
- 	tristate "LTTng support"
--	select TRACEPOINTS
-+	select TRACING
- 	help
- 	  LTTng is an open source tracing framework for Linux.
- 
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch
new file mode 100644
index 0000000..956f53d
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch
@@ -0,0 +1,318 @@
+From e13a7d262928984154fcf89feb14098e0cd1ad31 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Tue, 27 Oct 2020 11:42:23 -0400
+Subject: [PATCH 04/11] fix: btrfs: tracepoints: output proper root owner for
+ trace_find_free_extent() (v5.10)
+
+See upstream commit :
+
+  commit 437490fed3b0c9ae21af8f70e0f338d34560842b
+  Author: Qu Wenruo <wqu@suse.com>
+  Date:   Tue Jul 28 09:42:49 2020 +0800
+
+    btrfs: tracepoints: output proper root owner for trace_find_free_extent()
+
+    The current trace event always output result like this:
+
+     find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=4(METADATA)
+     find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=4(METADATA)
+     find_free_extent: root=2(EXTENT_TREE) len=8192 empty_size=0 flags=1(DATA)
+     find_free_extent: root=2(EXTENT_TREE) len=8192 empty_size=0 flags=1(DATA)
+     find_free_extent: root=2(EXTENT_TREE) len=4096 empty_size=0 flags=1(DATA)
+     find_free_extent: root=2(EXTENT_TREE) len=4096 empty_size=0 flags=1(DATA)
+
+    T's saying we're allocating data extent for EXTENT tree, which is not
+    even possible.
+
+    It's because we always use EXTENT tree as the owner for
+    trace_find_free_extent() without using the @root from
+    btrfs_reserve_extent().
+
+    This patch will change the parameter to use proper @root for
+    trace_find_free_extent():
+
+    Now it looks much better:
+
+     find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
+     find_free_extent: root=5(FS_TREE) len=8192 empty_size=0 flags=1(DATA)
+     find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=1(DATA)
+     find_free_extent: root=5(FS_TREE) len=4096 empty_size=0 flags=1(DATA)
+     find_free_extent: root=5(FS_TREE) len=8192 empty_size=0 flags=1(DATA)
+     find_free_extent: root=5(FS_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
+     find_free_extent: root=7(CSUM_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
+     find_free_extent: root=2(EXTENT_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
+     find_free_extent: root=1(ROOT_TREE) len=16384 empty_size=0 flags=36(METADATA|DUP)
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+Change-Id: I1d674064d29b31417e2acffdeb735f5052a87032
+
+Upstream-Status: Backport
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+---
+ instrumentation/events/lttng-module/btrfs.h | 206 ++++++++++++--------
+ 1 file changed, 122 insertions(+), 84 deletions(-)
+
+diff --git a/instrumentation/events/lttng-module/btrfs.h b/instrumentation/events/lttng-module/btrfs.h
+index 7b29008..52fcfd0 100644
+--- a/instrumentation/events/lttng-module/btrfs.h
++++ b/instrumentation/events/lttng-module/btrfs.h
+@@ -1856,7 +1856,29 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent,  btrfs_reserved_extent_f
+ 
+ #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
+ 
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0) || \
++	LTTNG_KERNEL_RANGE(5,9,6, 5,10,0) || \
++	LTTNG_KERNEL_RANGE(5,4,78, 5,5,0))
++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
++
++	btrfs_find_free_extent,
++
++	TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size,
++		 u64 data),
++
++	TP_ARGS(root, num_bytes, empty_size, data),
++
++	TP_FIELDS(
++		ctf_array(u8, fsid, root->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
++		ctf_integer(u64, root_objectid, root->root_key.objectid)
++		ctf_integer(u64, num_bytes, num_bytes)
++		ctf_integer(u64, empty_size, empty_size)
++		ctf_integer(u64, data, data)
++	)
++)
++
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
++
+ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+ 
+ 	btrfs_find_free_extent,
+@@ -1874,6 +1896,105 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+ 	)
+ )
+ 
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0))
++
++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
++
++	btrfs_find_free_extent,
++
++	TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
++		 u64 data),
++
++	TP_ARGS(fs_info, num_bytes, empty_size, data),
++
++	TP_FIELDS(
++		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
++		ctf_integer(u64, num_bytes, num_bytes)
++		ctf_integer(u64, empty_size, empty_size)
++		ctf_integer(u64, data, data)
++	)
++)
++
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
++
++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
++
++	btrfs_find_free_extent,
++
++	TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
++		 u64 data),
++
++	TP_ARGS(fs_info, num_bytes, empty_size, data),
++
++	TP_FIELDS(
++		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
++		ctf_integer(u64, num_bytes, num_bytes)
++		ctf_integer(u64, empty_size, empty_size)
++		ctf_integer(u64, data, data)
++	)
++)
++
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
++
++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
++
++	btrfs_find_free_extent,
++
++	TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
++		 u64 data),
++
++	TP_ARGS(fs_info, num_bytes, empty_size, data),
++
++	TP_FIELDS(
++		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
++		ctf_integer(u64, num_bytes, num_bytes)
++		ctf_integer(u64, empty_size, empty_size)
++		ctf_integer(u64, data, data)
++	)
++)
++
++#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
++	LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
++	LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
++	LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
++
++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
++
++	btrfs_find_free_extent,
++
++	TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size,
++		 u64 data),
++
++	TP_ARGS(root, num_bytes, empty_size, data),
++
++	TP_FIELDS(
++		ctf_integer(u64, root_objectid, root->root_key.objectid)
++		ctf_integer(u64, num_bytes, num_bytes)
++		ctf_integer(u64, empty_size, empty_size)
++		ctf_integer(u64, data, data)
++	)
++)
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
++
++LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
++
++	btrfs_find_free_extent,
++
++	TP_PROTO(struct btrfs_root *root, u64 num_bytes, u64 empty_size,
++		 u64 data),
++
++	TP_ARGS(root, num_bytes, empty_size, data),
++
++	TP_FIELDS(
++		ctf_integer(u64, root_objectid, root->root_key.objectid)
++		ctf_integer(u64, num_bytes, num_bytes)
++		ctf_integer(u64, empty_size, empty_size)
++		ctf_integer(u64, data, data)
++	)
++)
++#endif
++
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+ 
+ 	TP_PROTO(const struct btrfs_block_group *block_group, u64 start,
+@@ -1907,22 +2028,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
+ )
+ 
+ #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0))
+-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+-
+-	btrfs_find_free_extent,
+-
+-	TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
+-		 u64 data),
+-
+-	TP_ARGS(fs_info, num_bytes, empty_size, data),
+-
+-	TP_FIELDS(
+-		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+-		ctf_integer(u64, num_bytes, num_bytes)
+-		ctf_integer(u64, empty_size, empty_size)
+-		ctf_integer(u64, data, data)
+-	)
+-)
+ 
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+ 
+@@ -1957,22 +2062,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
+ )
+ 
+ #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
+-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+-
+-	btrfs_find_free_extent,
+-
+-	TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
+-		 u64 data),
+-
+-	TP_ARGS(fs_info, num_bytes, empty_size, data),
+-
+-	TP_FIELDS(
+-		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+-		ctf_integer(u64, num_bytes, num_bytes)
+-		ctf_integer(u64, empty_size, empty_size)
+-		ctf_integer(u64, data, data)
+-	)
+-)
+ 
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+ 
+@@ -2011,23 +2100,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
+ 
+ #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
+ 
+-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+-
+-	btrfs_find_free_extent,
+-
+-	TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
+-		 u64 data),
+-
+-	TP_ARGS(fs_info, num_bytes, empty_size, data),
+-
+-	TP_FIELDS(
+-		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
+-		ctf_integer(u64, num_bytes, num_bytes)
+-		ctf_integer(u64, empty_size, empty_size)
+-		ctf_integer(u64, data, data)
+-	)
+-)
+-
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+ 
+ 	TP_PROTO(struct btrfs_fs_info *fs_info,
+@@ -2066,23 +2138,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
+ 	LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
+ 	LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
+ 
+-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+-
+-	btrfs_find_free_extent,
+-
+-	TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size,
+-		 u64 data),
+-
+-	TP_ARGS(root, num_bytes, empty_size, data),
+-
+-	TP_FIELDS(
+-		ctf_integer(u64, root_objectid, root->root_key.objectid)
+-		ctf_integer(u64, num_bytes, num_bytes)
+-		ctf_integer(u64, empty_size, empty_size)
+-		ctf_integer(u64, data, data)
+-	)
+-)
+-
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+ 
+ 	TP_PROTO(const struct btrfs_root *root,
+@@ -2120,23 +2175,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_clus
+ 
+ #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
+ 
+-LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
+-
+-	btrfs_find_free_extent,
+-
+-	TP_PROTO(struct btrfs_root *root, u64 num_bytes, u64 empty_size,
+-		 u64 data),
+-
+-	TP_ARGS(root, num_bytes, empty_size, data),
+-
+-	TP_FIELDS(
+-		ctf_integer(u64, root_objectid, root->root_key.objectid)
+-		ctf_integer(u64, num_bytes, num_bytes)
+-		ctf_integer(u64, empty_size, empty_size)
+-		ctf_integer(u64, data, data)
+-	)
+-)
+-
+ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
+ 
+ 	TP_PROTO(struct btrfs_root *root,
+-- 
+2.17.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Move-mmutrace.h-into-the-mmu-sub-directory-v5.9.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Move-mmutrace.h-into-the-mmu-sub-directory-v5.9.patch
deleted file mode 100644
index fab673b..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Move-mmutrace.h-into-the-mmu-sub-directory-v5.9.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From e10ab43dd0e425df5bc0ac763447664ed075ba05 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 10 Aug 2020 11:22:05 -0400
-Subject: [PATCH 02/10] fix: Move mmutrace.h into the mmu/ sub-directory (v5.9)
-
-  commit 33e3042dac6bcc33b80835f7d7b502b1d74c457c
-  Author: Sean Christopherson <sean.j.christopherson@intel.com>
-  Date:   Mon Jun 22 13:20:29 2020 -0700
-
-    KVM: x86/mmu: Move mmu_audit.c and mmutrace.h into the mmu/ sub-directory
-
-    Move mmu_audit.c and mmutrace.h under mmu/ where they belong.
-
-Upstream-Status: Backport
-
-Change-Id: I582525ccca34e1e3bd62870364108a7d3e9df2e4
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- probes/lttng-probe-kvm-x86-mmu.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/probes/lttng-probe-kvm-x86-mmu.c b/probes/lttng-probe-kvm-x86-mmu.c
-index 37384a2..5a7ef1e 100644
---- a/probes/lttng-probe-kvm-x86-mmu.c
-+++ b/probes/lttng-probe-kvm-x86-mmu.c
-@@ -24,7 +24,11 @@
-  */
- #include <wrapper/tracepoint.h>
- 
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+#include <../../arch/x86/kvm/mmu/mmutrace.h>
-+#else
- #include <../../arch/x86/kvm/mmutrace.h>
-+#endif
- 
- #undef TRACE_INCLUDE_PATH
- #undef TRACE_INCLUDE_FILE
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-KVM-x86-mmu-Make-kvm_mmu_page-definition-and-acc.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-KVM-x86-mmu-Make-kvm_mmu_page-definition-and-acc.patch
deleted file mode 100644
index 524631c..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-KVM-x86-mmu-Make-kvm_mmu_page-definition-and-acc.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From f16315cc45c4c6b880de541bb092ca18a13952b7 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 10 Aug 2020 11:36:03 -0400
-Subject: [PATCH 03/10] fix: KVM: x86/mmu: Make kvm_mmu_page definition and
- accessor internal-only (v5.9)
-
-  commit 985ab2780164698ec6e7d73fad523d50449261dd
-  Author: Sean Christopherson <sean.j.christopherson@intel.com>
-  Date:   Mon Jun 22 13:20:32 2020 -0700
-
-    KVM: x86/mmu: Make kvm_mmu_page definition and accessor internal-only
-
-    Make 'struct kvm_mmu_page' MMU-only, nothing outside of the MMU should
-    be poking into the gory details of shadow pages.
-
-Upstream-Status: Backport
-
-Change-Id: Ia5c1b9c49c2b00dad1d5b17c50c3dc730dafda20
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- probes/lttng-probe-kvm-x86-mmu.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/probes/lttng-probe-kvm-x86-mmu.c b/probes/lttng-probe-kvm-x86-mmu.c
-index 5a7ef1e..8f98186 100644
---- a/probes/lttng-probe-kvm-x86-mmu.c
-+++ b/probes/lttng-probe-kvm-x86-mmu.c
-@@ -25,6 +25,7 @@
- #include <wrapper/tracepoint.h>
- 
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+#include <../../arch/x86/kvm/mmu/mmu_internal.h>
- #include <../../arch/x86/kvm/mmu/mmutrace.h>
- #else
- #include <../../arch/x86/kvm/mmutrace.h>
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-ext4-limit-the-length-of-per-inode-prealloc-list.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-ext4-limit-the-length-of-per-inode-prealloc-list.patch
deleted file mode 100644
index e29c072..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-ext4-limit-the-length-of-per-inode-prealloc-list.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 8fe742807e65af29dac3fea568ff93cbc5dd9a56 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 24 Aug 2020 15:26:04 -0400
-Subject: [PATCH 04/10] fix: ext4: limit the length of per-inode prealloc list
- (v5.9)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-See upstream commit:
-
-  commit 27bc446e2def38db3244a6eb4bb1d6312936610a
-  Author: brookxu <brookxu.cn@gmail.com>
-  Date:   Mon Aug 17 15:36:15 2020 +0800
-
-    ext4: limit the length of per-inode prealloc list
-
-    In the scenario of writing sparse files, the per-inode prealloc list may
-    be very long, resulting in high overhead for ext4_mb_use_preallocated().
-    To circumvent this problem, we limit the maximum length of per-inode
-    prealloc list to 512 and allow users to modify it.
-
-    After patching, we observed that the sys ratio of cpu has dropped, and
-    the system throughput has increased significantly. We created a process
-    to write the sparse file, and the running time of the process on the
-    fixed kernel was significantly reduced, as follows:
-
-    Running time on unfixed kernel:
-    [root@TENCENT64 ~]# time taskset 0x01 ./sparse /data1/sparce.dat
-    real    0m2.051s
-    user    0m0.008s
-    sys     0m2.026s
-
-    Running time on fixed kernel:
-    [root@TENCENT64 ~]# time taskset 0x01 ./sparse /data1/sparce.dat
-    real    0m0.471s
-    user    0m0.004s
-    sys     0m0.395s
-
-Upstream-Status: Backport
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Change-Id: I5169cb24853d4da32e2862a6626f1f058689b053
----
- instrumentation/events/lttng-module/ext4.h | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h
-index 5f7ab28..72ad4c9 100644
---- a/instrumentation/events/lttng-module/ext4.h
-+++ b/instrumentation/events/lttng-module/ext4.h
-@@ -460,6 +460,20 @@ LTTNG_TRACEPOINT_EVENT(ext4_mb_release_group_pa,
- )
- #endif
- 
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations,
-+	TP_PROTO(struct inode *inode, unsigned int len, unsigned int needed),
-+
-+	TP_ARGS(inode, len, needed),
-+
-+	TP_FIELDS(
-+		ctf_integer(dev_t, dev, inode->i_sb->s_dev)
-+		ctf_integer(ino_t, ino, inode->i_ino)
-+		ctf_integer(unsigned int, len, len)
-+		ctf_integer(unsigned int, needed, needed)
-+	)
-+)
-+#else
- LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations,
- 	TP_PROTO(struct inode *inode),
- 
-@@ -470,6 +484,7 @@ LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations,
- 		ctf_integer(ino_t, ino, inode->i_ino)
- 	)
- )
-+#endif
- 
- LTTNG_TRACEPOINT_EVENT(ext4_mb_discard_preallocations,
- 	TP_PROTO(struct super_block *sb, int needed),
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-fix-ext4-indicate-via-a-block-bitmap-read-is-prefetc.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0005-fix-ext4-indicate-via-a-block-bitmap-read-is-prefetc.patch
deleted file mode 100644
index f76e969..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-fix-ext4-indicate-via-a-block-bitmap-read-is-prefetc.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 52563d02a9234215b62c5f519aa1b5d8589ccd0a Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 24 Aug 2020 15:37:50 -0400
-Subject: [PATCH 05/10] =?UTF-8?q?fix:=20ext4:=20indicate=20via=20a=20block?=
- =?UTF-8?q?=20bitmap=20read=20is=20prefetched=E2=80=A6=20(v5.9)?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-See upstream commit:
-
-  commit ab74c7b23f3770935016e3eb3ecdf1e42b73efaa
-  Author: Theodore Ts'o <tytso@mit.edu>
-  Date:   Wed Jul 15 11:48:55 2020 -0400
-
-    ext4: indicate via a block bitmap read is prefetched via a tracepoint
-
-    Modify the ext4_read_block_bitmap_load tracepoint so that it tells us
-    whether a block bitmap is being prefetched.
-
-Upstream-Status: Backport
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Change-Id: I0e5e2c5b8004223d0928235c092449ee16a940e1
----
- instrumentation/events/lttng-module/ext4.h | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h
-index 72ad4c9..4476abb 100644
---- a/instrumentation/events/lttng-module/ext4.h
-+++ b/instrumentation/events/lttng-module/ext4.h
-@@ -893,12 +893,26 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_mb_buddy_bitmap_load,
- 	TP_ARGS(sb, group)
- )
- 
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+LTTNG_TRACEPOINT_EVENT(ext4_read_block_bitmap_load,
-+	TP_PROTO(struct super_block *sb, unsigned long group, bool prefetch),
-+
-+	TP_ARGS(sb, group, prefetch),
-+
-+	TP_FIELDS(
-+		ctf_integer(dev_t, dev, sb->s_dev)
-+		ctf_integer(__u32, group, group)
-+		ctf_integer(bool, prefetch, prefetch)
-+	)
-+)
-+#else
- LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_read_block_bitmap_load,
- 
- 	TP_PROTO(struct super_block *sb, unsigned long group),
- 
- 	TP_ARGS(sb, group)
- )
-+#endif
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_load_inode_bitmap,
- 
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0006-fix-removal-of-smp_-read_barrier_depends-v5.9.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0006-fix-removal-of-smp_-read_barrier_depends-v5.9.patch
deleted file mode 100644
index 0970dd3..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0006-fix-removal-of-smp_-read_barrier_depends-v5.9.patch
+++ /dev/null
@@ -1,391 +0,0 @@
-From 57ccbfa6a8a79c7b84394c2097efaf7935607aa5 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Tue, 25 Aug 2020 10:56:29 -0400
-Subject: [PATCH 06/10] fix: removal of [smp_]read_barrier_depends (v5.9)
-
-See upstream commits:
-
-  commit 76ebbe78f7390aee075a7f3768af197ded1bdfbb
-  Author: Will Deacon <will@kernel.org>
-  Date:   Tue Oct 24 11:22:47 2017 +0100
-
-    locking/barriers: Add implicit smp_read_barrier_depends() to READ_ONCE()
-
-    In preparation for the removal of lockless_dereference(), which is the
-    same as READ_ONCE() on all architectures other than Alpha, add an
-    implicit smp_read_barrier_depends() to READ_ONCE() so that it can be
-    used to head dependency chains on all architectures.
-
-  commit 76ebbe78f7390aee075a7f3768af197ded1bdfbb
-  Author: Will Deacon <will.deacon@arm.com>
-  Date:   Tue Oct 24 11:22:47 2017 +0100
-
-    locking/barriers: Add implicit smp_read_barrier_depends() to READ_ONCE()
-
-    In preparation for the removal of lockless_dereference(), which is the
-    same as READ_ONCE() on all architectures other than Alpha, add an
-    implicit smp_read_barrier_depends() to READ_ONCE() so that it can be
-    used to head dependency chains on all architectures.
-
-Upstream-Status: Backport
-
-Change-Id: Ife8880bd9378dca2972da8838f40fc35ccdfaaac
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- instrumentation/events/lttng-module/i2c.h |  4 ++--
- lib/ringbuffer/backend.h                  |  2 +-
- lib/ringbuffer/backend_internal.h         |  2 +-
- lib/ringbuffer/frontend.h                 |  4 ++--
- lib/ringbuffer/ring_buffer_frontend.c     |  4 ++--
- lib/ringbuffer/ring_buffer_iterator.c     |  2 +-
- lttng-events.c                            |  8 ++++----
- probes/lttng-kprobes.c                    |  6 +++---
- probes/lttng-kretprobes.c                 |  6 +++---
- probes/lttng-tracepoint-event-impl.h      | 12 ++++++------
- probes/lttng-uprobes.c                    |  6 +++---
- wrapper/compiler.h                        | 18 ++++++++++++++++++
- wrapper/trace-clock.h                     | 15 +++++----------
- 13 files changed, 51 insertions(+), 38 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/i2c.h b/instrumentation/events/lttng-module/i2c.h
-index dcbabf6..131d134 100644
---- a/instrumentation/events/lttng-module/i2c.h
-+++ b/instrumentation/events/lttng-module/i2c.h
-@@ -23,7 +23,7 @@ LTTNG_TRACEPOINT_EVENT_CODE(i2c_write,
- 
- 	TP_code_pre(
- 		tp_locvar->extract_sensitive_payload =
--			READ_ONCE(extract_sensitive_payload);
-+			LTTNG_READ_ONCE(extract_sensitive_payload);
- 	),
- 
- 	TP_FIELDS(
-@@ -78,7 +78,7 @@ LTTNG_TRACEPOINT_EVENT_CODE(i2c_reply,
- 
- 	TP_code_pre(
- 		tp_locvar->extract_sensitive_payload =
--			READ_ONCE(extract_sensitive_payload);
-+			LTTNG_READ_ONCE(extract_sensitive_payload);
- 	),
- 
- 	TP_FIELDS(
-diff --git a/lib/ringbuffer/backend.h b/lib/ringbuffer/backend.h
-index da937f2..43e1d47 100644
---- a/lib/ringbuffer/backend.h
-+++ b/lib/ringbuffer/backend.h
-@@ -156,7 +156,7 @@ size_t lib_ring_buffer_do_strcpy(const struct lib_ring_buffer_config *config,
- 		 * Only read source character once, in case it is
- 		 * modified concurrently.
- 		 */
--		c = READ_ONCE(src[count]);
-+		c = LTTNG_READ_ONCE(src[count]);
- 		if (!c)
- 			break;
- 		lib_ring_buffer_do_copy(config, &dest[count], &c, 1);
-diff --git a/lib/ringbuffer/backend_internal.h b/lib/ringbuffer/backend_internal.h
-index 2d6a345..1226fd8 100644
---- a/lib/ringbuffer/backend_internal.h
-+++ b/lib/ringbuffer/backend_internal.h
-@@ -367,7 +367,7 @@ void lib_ring_buffer_clear_noref(const struct lib_ring_buffer_config *config,
- 	 * Performing a volatile access to read the sb_pages, because we want to
- 	 * read a coherent version of the pointer and the associated noref flag.
- 	 */
--	id = READ_ONCE(bufb->buf_wsb[idx].id);
-+	id = LTTNG_READ_ONCE(bufb->buf_wsb[idx].id);
- 	for (;;) {
- 		/* This check is called on the fast path for each record. */
- 		if (likely(!subbuffer_id_is_noref(config, id))) {
-diff --git a/lib/ringbuffer/frontend.h b/lib/ringbuffer/frontend.h
-index 6f516d9..41382fe 100644
---- a/lib/ringbuffer/frontend.h
-+++ b/lib/ringbuffer/frontend.h
-@@ -79,7 +79,7 @@ void *channel_destroy(struct channel *chan);
- #define for_each_channel_cpu(cpu, chan)					\
- 	for ((cpu) = -1;						\
- 		({ (cpu) = cpumask_next(cpu, (chan)->backend.cpumask);	\
--		   smp_read_barrier_depends(); (cpu) < nr_cpu_ids; });)
-+		   smp_rmb(); (cpu) < nr_cpu_ids; });)
- 
- extern struct lib_ring_buffer *channel_get_ring_buffer(
- 				const struct lib_ring_buffer_config *config,
-@@ -155,7 +155,7 @@ static inline
- int lib_ring_buffer_is_finalized(const struct lib_ring_buffer_config *config,
- 				 struct lib_ring_buffer *buf)
- {
--	int finalized = READ_ONCE(buf->finalized);
-+	int finalized = LTTNG_READ_ONCE(buf->finalized);
- 	/*
- 	 * Read finalized before counters.
- 	 */
-diff --git a/lib/ringbuffer/ring_buffer_frontend.c b/lib/ringbuffer/ring_buffer_frontend.c
-index 3cab365..4980d20 100644
---- a/lib/ringbuffer/ring_buffer_frontend.c
-+++ b/lib/ringbuffer/ring_buffer_frontend.c
-@@ -1074,7 +1074,7 @@ int lib_ring_buffer_snapshot(struct lib_ring_buffer *buf,
- 	int finalized;
- 
- retry:
--	finalized = READ_ONCE(buf->finalized);
-+	finalized = LTTNG_READ_ONCE(buf->finalized);
- 	/*
- 	 * Read finalized before counters.
- 	 */
-@@ -1245,7 +1245,7 @@ int lib_ring_buffer_get_subbuf(struct lib_ring_buffer *buf,
- 		return -EBUSY;
- 	}
- retry:
--	finalized = READ_ONCE(buf->finalized);
-+	finalized = LTTNG_READ_ONCE(buf->finalized);
- 	/*
- 	 * Read finalized before counters.
- 	 */
-diff --git a/lib/ringbuffer/ring_buffer_iterator.c b/lib/ringbuffer/ring_buffer_iterator.c
-index d25db72..7b4f20a 100644
---- a/lib/ringbuffer/ring_buffer_iterator.c
-+++ b/lib/ringbuffer/ring_buffer_iterator.c
-@@ -46,7 +46,7 @@ restart:
- 	switch (iter->state) {
- 	case ITER_GET_SUBBUF:
- 		ret = lib_ring_buffer_get_next_subbuf(buf);
--		if (ret && !READ_ONCE(buf->finalized)
-+		if (ret && !LTTNG_READ_ONCE(buf->finalized)
- 		    && config->alloc == RING_BUFFER_ALLOC_GLOBAL) {
- 			/*
- 			 * Use "pull" scheme for global buffers. The reader
-diff --git a/lttng-events.c b/lttng-events.c
-index be7e389..d719294 100644
---- a/lttng-events.c
-+++ b/lttng-events.c
-@@ -1719,7 +1719,7 @@ int lttng_metadata_printf(struct lttng_session *session,
- 	size_t len;
- 	va_list ap;
- 
--	WARN_ON_ONCE(!READ_ONCE(session->active));
-+	WARN_ON_ONCE(!LTTNG_READ_ONCE(session->active));
- 
- 	va_start(ap, fmt);
- 	str = kvasprintf(GFP_KERNEL, fmt, ap);
-@@ -2305,7 +2305,7 @@ int _lttng_event_metadata_statedump(struct lttng_session *session,
- {
- 	int ret = 0;
- 
--	if (event->metadata_dumped || !READ_ONCE(session->active))
-+	if (event->metadata_dumped || !LTTNG_READ_ONCE(session->active))
- 		return 0;
- 	if (chan->channel_type == METADATA_CHANNEL)
- 		return 0;
-@@ -2377,7 +2377,7 @@ int _lttng_channel_metadata_statedump(struct lttng_session *session,
- {
- 	int ret = 0;
- 
--	if (chan->metadata_dumped || !READ_ONCE(session->active))
-+	if (chan->metadata_dumped || !LTTNG_READ_ONCE(session->active))
- 		return 0;
- 
- 	if (chan->channel_type == METADATA_CHANNEL)
-@@ -2604,7 +2604,7 @@ int _lttng_session_metadata_statedump(struct lttng_session *session)
- 	struct lttng_event *event;
- 	int ret = 0;
- 
--	if (!READ_ONCE(session->active))
-+	if (!LTTNG_READ_ONCE(session->active))
- 		return 0;
- 
- 	lttng_metadata_begin(session);
-diff --git a/probes/lttng-kprobes.c b/probes/lttng-kprobes.c
-index a44eaa1..38fb72e 100644
---- a/probes/lttng-kprobes.c
-+++ b/probes/lttng-kprobes.c
-@@ -31,11 +31,11 @@ int lttng_kprobes_handler_pre(struct kprobe *p, struct pt_regs *regs)
- 	int ret;
- 	unsigned long data = (unsigned long) p->addr;
- 
--	if (unlikely(!READ_ONCE(chan->session->active)))
-+	if (unlikely(!LTTNG_READ_ONCE(chan->session->active)))
- 		return 0;
--	if (unlikely(!READ_ONCE(chan->enabled)))
-+	if (unlikely(!LTTNG_READ_ONCE(chan->enabled)))
- 		return 0;
--	if (unlikely(!READ_ONCE(event->enabled)))
-+	if (unlikely(!LTTNG_READ_ONCE(event->enabled)))
- 		return 0;
- 
- 	lib_ring_buffer_ctx_init(&ctx, chan->chan, &lttng_probe_ctx, sizeof(data),
-diff --git a/probes/lttng-kretprobes.c b/probes/lttng-kretprobes.c
-index ab98ff2..a6bcd21 100644
---- a/probes/lttng-kretprobes.c
-+++ b/probes/lttng-kretprobes.c
-@@ -51,11 +51,11 @@ int _lttng_kretprobes_handler(struct kretprobe_instance *krpi,
- 		unsigned long parent_ip;
- 	} payload;
- 
--	if (unlikely(!READ_ONCE(chan->session->active)))
-+	if (unlikely(!LTTNG_READ_ONCE(chan->session->active)))
- 		return 0;
--	if (unlikely(!READ_ONCE(chan->enabled)))
-+	if (unlikely(!LTTNG_READ_ONCE(chan->enabled)))
- 		return 0;
--	if (unlikely(!READ_ONCE(event->enabled)))
-+	if (unlikely(!LTTNG_READ_ONCE(event->enabled)))
- 		return 0;
- 
- 	payload.ip = (unsigned long) krpi->rp->kp.addr;
-diff --git a/probes/lttng-tracepoint-event-impl.h b/probes/lttng-tracepoint-event-impl.h
-index 77b8638..72a669e 100644
---- a/probes/lttng-tracepoint-event-impl.h
-+++ b/probes/lttng-tracepoint-event-impl.h
-@@ -1132,11 +1132,11 @@ static void __event_probe__##_name(void *__data, _proto)		      \
- 									      \
- 	if (!_TP_SESSION_CHECK(session, __session))			      \
- 		return;							      \
--	if (unlikely(!READ_ONCE(__session->active)))			      \
-+	if (unlikely(!LTTNG_READ_ONCE(__session->active)))		      \
- 		return;							      \
--	if (unlikely(!READ_ONCE(__chan->enabled)))			      \
-+	if (unlikely(!LTTNG_READ_ONCE(__chan->enabled)))		      \
- 		return;							      \
--	if (unlikely(!READ_ONCE(__event->enabled)))			      \
-+	if (unlikely(!LTTNG_READ_ONCE(__event->enabled)))		      \
- 		return;							      \
- 	__lf = lttng_rcu_dereference(__session->pid_tracker.p);		      \
- 	if (__lf && likely(!lttng_id_tracker_lookup(__lf, current->tgid)))    \
-@@ -1225,11 +1225,11 @@ static void __event_probe__##_name(void *__data)			      \
- 									      \
- 	if (!_TP_SESSION_CHECK(session, __session))			      \
- 		return;							      \
--	if (unlikely(!READ_ONCE(__session->active)))			      \
-+	if (unlikely(!LTTNG_READ_ONCE(__session->active)))		      \
- 		return;							      \
--	if (unlikely(!READ_ONCE(__chan->enabled)))			      \
-+	if (unlikely(!LTTNG_READ_ONCE(__chan->enabled)))		      \
- 		return;							      \
--	if (unlikely(!READ_ONCE(__event->enabled)))			      \
-+	if (unlikely(!LTTNG_READ_ONCE(__event->enabled)))		      \
- 		return;							      \
- 	__lf = lttng_rcu_dereference(__session->pid_tracker.p);		      \
- 	if (__lf && likely(!lttng_id_tracker_lookup(__lf, current->tgid)))    \
-diff --git a/probes/lttng-uprobes.c b/probes/lttng-uprobes.c
-index bc10128..bda1d9b 100644
---- a/probes/lttng-uprobes.c
-+++ b/probes/lttng-uprobes.c
-@@ -40,11 +40,11 @@ int lttng_uprobes_handler_pre(struct uprobe_consumer *uc, struct pt_regs *regs)
- 		unsigned long ip;
- 	} payload;
- 
--	if (unlikely(!READ_ONCE(chan->session->active)))
-+	if (unlikely(!LTTNG_READ_ONCE(chan->session->active)))
- 		return 0;
--	if (unlikely(!READ_ONCE(chan->enabled)))
-+	if (unlikely(!LTTNG_READ_ONCE(chan->enabled)))
- 		return 0;
--	if (unlikely(!READ_ONCE(event->enabled)))
-+	if (unlikely(!LTTNG_READ_ONCE(event->enabled)))
- 		return 0;
- 
- 	lib_ring_buffer_ctx_init(&ctx, chan->chan, &lttng_probe_ctx,
-diff --git a/wrapper/compiler.h b/wrapper/compiler.h
-index 1496f33..b9f8c51 100644
---- a/wrapper/compiler.h
-+++ b/wrapper/compiler.h
-@@ -9,6 +9,7 @@
- #define _LTTNG_WRAPPER_COMPILER_H
- 
- #include <linux/compiler.h>
-+#include <linux/version.h>
- 
- /*
-  * Don't allow compiling with buggy compiler.
-@@ -39,4 +40,21 @@
- # define WRITE_ONCE(x, val)	({ ACCESS_ONCE(x) = val; })
- #endif
- 
-+/*
-+ * In v4.15 a smp read barrier was added to READ_ONCE to replace
-+ * lockless_dereference(), replicate this behavior on prior kernels
-+ * and remove calls to smp_read_barrier_depends which was dropped
-+ * in v5.9.
-+ */
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
-+#define LTTNG_READ_ONCE(x)	READ_ONCE(x)
-+#else
-+#define LTTNG_READ_ONCE(x)			\
-+({						\
-+	typeof(x) __val = READ_ONCE(x);		\
-+	smp_read_barrier_depends();		\
-+	__val;					\
-+})
-+#endif
-+
- #endif /* _LTTNG_WRAPPER_COMPILER_H */
-diff --git a/wrapper/trace-clock.h b/wrapper/trace-clock.h
-index 9f4e366..187fc82 100644
---- a/wrapper/trace-clock.h
-+++ b/wrapper/trace-clock.h
-@@ -160,33 +160,30 @@ static inline void put_trace_clock(void)
- 
- static inline u64 trace_clock_read64(void)
- {
--	struct lttng_trace_clock *ltc = READ_ONCE(lttng_trace_clock);
-+	struct lttng_trace_clock *ltc = LTTNG_READ_ONCE(lttng_trace_clock);
- 
- 	if (likely(!ltc)) {
- 		return trace_clock_read64_monotonic();
- 	} else {
--		read_barrier_depends();	/* load ltc before content */
- 		return ltc->read64();
- 	}
- }
- 
- static inline u64 trace_clock_freq(void)
- {
--	struct lttng_trace_clock *ltc = READ_ONCE(lttng_trace_clock);
-+	struct lttng_trace_clock *ltc = LTTNG_READ_ONCE(lttng_trace_clock);
- 
- 	if (!ltc) {
- 		return trace_clock_freq_monotonic();
- 	} else {
--		read_barrier_depends();	/* load ltc before content */
- 		return ltc->freq();
- 	}
- }
- 
- static inline int trace_clock_uuid(char *uuid)
- {
--	struct lttng_trace_clock *ltc = READ_ONCE(lttng_trace_clock);
-+	struct lttng_trace_clock *ltc = LTTNG_READ_ONCE(lttng_trace_clock);
- 
--	read_barrier_depends();	/* load ltc before content */
- 	/* Use default UUID cb when NULL */
- 	if (!ltc || !ltc->uuid) {
- 		return trace_clock_uuid_monotonic(uuid);
-@@ -197,24 +194,22 @@ static inline int trace_clock_uuid(char *uuid)
- 
- static inline const char *trace_clock_name(void)
- {
--	struct lttng_trace_clock *ltc = READ_ONCE(lttng_trace_clock);
-+	struct lttng_trace_clock *ltc = LTTNG_READ_ONCE(lttng_trace_clock);
- 
- 	if (!ltc) {
- 		return trace_clock_name_monotonic();
- 	} else {
--		read_barrier_depends();	/* load ltc before content */
- 		return ltc->name();
- 	}
- }
- 
- static inline const char *trace_clock_description(void)
- {
--	struct lttng_trace_clock *ltc = READ_ONCE(lttng_trace_clock);
-+	struct lttng_trace_clock *ltc = LTTNG_READ_ONCE(lttng_trace_clock);
- 
- 	if (!ltc) {
- 		return trace_clock_description_monotonic();
- 	} else {
--		read_barrier_depends();	/* load ltc before content */
- 		return ltc->description();
- 	}
- }
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-fix-writeback-Drop-I_DIRTY_TIME_EXPIRE-v5.9.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0007-fix-writeback-Drop-I_DIRTY_TIME_EXPIRE-v5.9.patch
deleted file mode 100644
index 2843c9c..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-fix-writeback-Drop-I_DIRTY_TIME_EXPIRE-v5.9.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From eae02feb58064eee5ce15a9f6bdffd107c47da05 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 31 Aug 2020 11:41:38 -0400
-Subject: [PATCH 07/10] fix: writeback: Drop I_DIRTY_TIME_EXPIRE (v5.9)
-
-See upstream commit:
-
-  commit 5fcd57505c002efc5823a7355e21f48dd02d5a51
-  Author: Jan Kara <jack@suse.cz>
-  Date:   Fri May 29 16:24:43 2020 +0200
-
-    writeback: Drop I_DIRTY_TIME_EXPIRE
-
-    The only use of I_DIRTY_TIME_EXPIRE is to detect in
-    __writeback_single_inode() that inode got there because flush worker
-    decided it's time to writeback the dirty inode time stamps (either
-    because we are syncing or because of age). However we can detect this
-    directly in __writeback_single_inode() and there's no need for the
-    strange propagation with I_DIRTY_TIME_EXPIRE flag.
-
-Upstream-Status: Backport
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Change-Id: I92e37c2ff3ec36d431e8f9de5c8e37c5a2da55ea
----
- instrumentation/events/lttng-module/writeback.h | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/instrumentation/events/lttng-module/writeback.h b/instrumentation/events/lttng-module/writeback.h
-index affb4eb..ece67ad 100644
---- a/instrumentation/events/lttng-module/writeback.h
-+++ b/instrumentation/events/lttng-module/writeback.h
-@@ -46,7 +46,21 @@ static inline struct backing_dev_info *lttng_inode_to_bdi(struct inode *inode)
- 
- #endif
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+#define show_inode_state(state)					\
-+	__print_flags(state, "|",				\
-+		{I_DIRTY_SYNC,		"I_DIRTY_SYNC"},	\
-+		{I_DIRTY_DATASYNC,	"I_DIRTY_DATASYNC"},	\
-+		{I_DIRTY_PAGES,		"I_DIRTY_PAGES"},	\
-+		{I_NEW,			"I_NEW"},		\
-+		{I_WILL_FREE,		"I_WILL_FREE"},		\
-+		{I_FREEING,		"I_FREEING"},		\
-+		{I_CLEAR,		"I_CLEAR"},		\
-+		{I_SYNC,		"I_SYNC"},		\
-+		{I_DIRTY_TIME,		"I_DIRTY_TIME"},	\
-+		{I_REFERENCED,		"I_REFERENCED"}		\
-+	)
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0))
- #define show_inode_state(state)					\
- 	__print_flags(state, "|",				\
- 		{I_DIRTY_SYNC,		"I_DIRTY_SYNC"},	\
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0008-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0008-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch
deleted file mode 100644
index 7a0d9a3..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0008-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 87b2affc3eb06f3fb2d0923f18af37713eb6814b Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 31 Aug 2020 14:16:01 -0400
-Subject: [PATCH 08/10] fix: writeback: Fix sync livelock due to b_dirty_time
- processing (v5.9)
-
-See upstream commit:
-
-  commit f9cae926f35e8230330f28c7b743ad088611a8de
-  Author: Jan Kara <jack@suse.cz>
-  Date:   Fri May 29 16:08:58 2020 +0200
-
-    writeback: Fix sync livelock due to b_dirty_time processing
-
-    When we are processing writeback for sync(2), move_expired_inodes()
-    didn't set any inode expiry value (older_than_this). This can result in
-    writeback never completing if there's steady stream of inodes added to
-    b_dirty_time list as writeback rechecks dirty lists after each writeback
-    round whether there's more work to be done. Fix the problem by using
-    sync(2) start time is inode expiry value when processing b_dirty_time
-    list similarly as for ordinarily dirtied inodes. This requires some
-    refactoring of older_than_this handling which simplifies the code
-    noticeably as a bonus.
-
-Upstream-Status: Backport
-
-Change-Id: I8b894b13ccc14d9b8983ee4c2810a927c319560b
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- .../events/lttng-module/writeback.h           | 39 ++++++++++++-------
- 1 file changed, 26 insertions(+), 13 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/writeback.h b/instrumentation/events/lttng-module/writeback.h
-index ece67ad..e9018dd 100644
---- a/instrumentation/events/lttng-module/writeback.h
-+++ b/instrumentation/events/lttng-module/writeback.h
-@@ -384,34 +384,48 @@ LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_balance_dirty_wait, writeback_wbc_balanc
- #endif
- LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_writepage, writeback_wbc_writepage)
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
-+	TP_PROTO(struct bdi_writeback *wb,
-+		 struct wb_writeback_work *work,
-+		 unsigned long dirtied_before,
-+		 int moved),
-+	TP_ARGS(wb, work, dirtied_before, moved),
-+	TP_FIELDS(
-+		ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
-+		ctf_integer(unsigned long, older, dirtied_before)
-+		ctf_integer(int, moved, moved)
-+	)
-+)
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
- LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
- 	TP_PROTO(struct bdi_writeback *wb,
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
- 		 struct wb_writeback_work *work,
--#else
--		 unsigned long *older_than_this,
--#endif
- 		 int moved),
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
- 	TP_ARGS(wb, work, moved),
--#else
-+	TP_FIELDS(
-+		ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
-+		ctf_integer(int, moved, moved)
-+	)
-+)
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
-+LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
-+	TP_PROTO(struct bdi_writeback *wb,
-+		 unsigned long *older_than_this,
-+		 int moved),
- 	TP_ARGS(wb, older_than_this, moved),
--#endif
- 	TP_FIELDS(
- 		ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
--#else
- 		ctf_integer(unsigned long, older,
- 			older_than_this ? *older_than_this : 0)
- 		ctf_integer(long, age,
- 			older_than_this ?
- 				(jiffies - *older_than_this) * 1000 / HZ
- 				: -1)
--#endif
- 		ctf_integer(int, moved, moved)
- 	)
- )
-+#endif
- 
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0))
- LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
-@@ -460,7 +474,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
- 		ctf_integer(unsigned long, dirty_limit, global_dirty_limit)
- 	)
- )
--#else
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
- LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
- 
- 	writeback_global_dirty_state,
-@@ -485,7 +499,6 @@ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
- 	)
- )
- #endif
--#endif
- 
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
- 
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-fix-version-ranges-for-ext4_discard_preallocations-a.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0009-fix-version-ranges-for-ext4_discard_preallocations-a.patch
deleted file mode 100644
index 346e1d6..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-fix-version-ranges-for-ext4_discard_preallocations-a.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From b74b25f349e92d7b5bdc8684e406d6a889f13773 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Fri, 4 Sep 2020 11:52:51 -0400
-Subject: [PATCH 09/10] fix: version ranges for ext4_discard_preallocations and
- writeback_queue_io
-
-Upstream-Status: Backport
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Change-Id: Id4fa53cb2e713cbda651e1a75deed91013115592
----
- instrumentation/events/lttng-module/ext4.h      | 3 ++-
- instrumentation/events/lttng-module/writeback.h | 8 +++++++-
- 2 files changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h
-index 4476abb..b172c8d 100644
---- a/instrumentation/events/lttng-module/ext4.h
-+++ b/instrumentation/events/lttng-module/ext4.h
-@@ -460,7 +460,8 @@ LTTNG_TRACEPOINT_EVENT(ext4_mb_release_group_pa,
- )
- #endif
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0) || \
-+	LTTNG_KERNEL_RANGE(5,8,6, 5,9,0))
- LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations,
- 	TP_PROTO(struct inode *inode, unsigned int len, unsigned int needed),
- 
-diff --git a/instrumentation/events/lttng-module/writeback.h b/instrumentation/events/lttng-module/writeback.h
-index e9018dd..09637d7 100644
---- a/instrumentation/events/lttng-module/writeback.h
-+++ b/instrumentation/events/lttng-module/writeback.h
-@@ -384,7 +384,13 @@ LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_balance_dirty_wait, writeback_wbc_balanc
- #endif
- LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_writepage, writeback_wbc_writepage)
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0) || \
-+	LTTNG_KERNEL_RANGE(5,8,6, 5,9,0) || \
-+	LTTNG_KERNEL_RANGE(5,4,62, 5,5,0) || \
-+	LTTNG_KERNEL_RANGE(4,19,143, 4,20,0) || \
-+	LTTNG_KERNEL_RANGE(4,14,196, 4,15,0) || \
-+	LTTNG_KERNEL_RANGE(4,9,235, 4,10,0) || \
-+	LTTNG_KERNEL_RANGE(4,4,235, 4,5,0))
- LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
- 	TP_PROTO(struct bdi_writeback *wb,
- 		 struct wb_writeback_work *work,
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0010-Fix-system-call-filter-table.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0010-Fix-system-call-filter-table.patch
deleted file mode 100644
index a16750d..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0010-Fix-system-call-filter-table.patch
+++ /dev/null
@@ -1,918 +0,0 @@
-From ad594e3a953db1b0c3c059fde45b5a5494f6be78 Mon Sep 17 00:00:00 2001
-From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Date: Tue, 28 Jan 2020 16:02:44 -0500
-Subject: [PATCH 10/10] Fix: system call filter table
-
-The system call filter table has effectively been unused for a long
-time due to system call name prefix mismatch. This means the overhead of
-selective system call tracing was larger than it should have been because
-the event payload preparation would be done for all system calls as soon
-as a single system call is traced.
-
-However, fixing this underlying issue unearths several issues that crept
-unnoticed when the "enabler" concept was introduced (after the original
-implementation of the system call filter table).
-
-Here is a list of the issues which are resolved here:
-
-- Split lttng_syscalls_unregister into an unregister and destroy
-  function, thus awaiting for a grace period (and therefore quiescence
-  of the users) after unregistering the system call tracepoints before
-  freeing the system call filter data structures. This effectively fixes
-  a use-after-free.
-
-- The state for enabling "all" system calls vs enabling specific system
-  calls (and sequences of enable-disable) was incorrect with respect to
-  the "enablers" semantic. This is solved by always tracking the
-  bitmap of enabled system calls, and keeping this bitmap even when
-  enabling all system calls. The sc_filter is now always allocated
-  before system call tracing is registered to tracepoints, which means
-  it does not need to be RCU dereferenced anymore.
-
-Padding fields in the ABI are reserved to select whether to:
-
-- Trace either native or compat system call (or both, which is the
-  behavior currently implemented),
-- Trace either system call entry or exit (or both, which is the
-  behavior currently implemented),
-- Select the system call to trace by name (behavior currently
-  implemented) or by system call number,
-
-Upstream-Status: Backport
-
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- lttng-abi.c      |  43 ++++++
- lttng-abi.h      |  26 ++++
- lttng-events.c   | 112 +++++++++++++--
- lttng-events.h   |  31 ++++-
- lttng-syscalls.c | 348 +++++++++++++++++++++++++----------------------
- 5 files changed, 380 insertions(+), 180 deletions(-)
-
-diff --git a/lttng-abi.c b/lttng-abi.c
-index 64ea99d..b33879d 100644
---- a/lttng-abi.c
-+++ b/lttng-abi.c
-@@ -1264,6 +1264,46 @@ nomem:
- 	return ret;
- }
- 
-+static
-+int lttng_abi_validate_event_param(struct lttng_kernel_event *event_param)
-+{
-+	/* Limit ABI to implemented features. */
-+	switch (event_param->instrumentation) {
-+	case LTTNG_KERNEL_SYSCALL:
-+		switch (event_param->u.syscall.entryexit) {
-+		case LTTNG_KERNEL_SYSCALL_ENTRYEXIT:
-+			break;
-+		default:
-+			return -EINVAL;
-+		}
-+		switch (event_param->u.syscall.abi) {
-+		case LTTNG_KERNEL_SYSCALL_ABI_ALL:
-+			break;
-+		default:
-+			return -EINVAL;
-+		}
-+		switch (event_param->u.syscall.match) {
-+		case LTTNG_SYSCALL_MATCH_NAME:
-+			break;
-+		default:
-+			return -EINVAL;
-+		}
-+		break;
-+
-+	case LTTNG_KERNEL_TRACEPOINT:	/* Fallthrough */
-+	case LTTNG_KERNEL_KPROBE:	/* Fallthrough */
-+	case LTTNG_KERNEL_KRETPROBE:	/* Fallthrough */
-+	case LTTNG_KERNEL_NOOP:		/* Fallthrough */
-+	case LTTNG_KERNEL_UPROBE:
-+		break;
-+
-+	case LTTNG_KERNEL_FUNCTION:	/* Fallthrough */
-+	default:
-+		return -EINVAL;
-+	}
-+	return 0;
-+}
-+
- static
- int lttng_abi_create_event(struct file *channel_file,
- 			   struct lttng_kernel_event *event_param)
-@@ -1305,6 +1345,9 @@ int lttng_abi_create_event(struct file *channel_file,
- 		ret = -EOVERFLOW;
- 		goto refcount_error;
- 	}
-+	ret = lttng_abi_validate_event_param(event_param);
-+	if (ret)
-+		goto event_error;
- 	if (event_param->instrumentation == LTTNG_KERNEL_TRACEPOINT
- 			|| event_param->instrumentation == LTTNG_KERNEL_SYSCALL) {
- 		struct lttng_enabler *enabler;
-diff --git a/lttng-abi.h b/lttng-abi.h
-index 1d356ab..51d60e5 100644
---- a/lttng-abi.h
-+++ b/lttng-abi.h
-@@ -90,6 +90,31 @@ struct lttng_kernel_event_callsite {
- 	} u;
- } __attribute__((packed));
- 
-+enum lttng_kernel_syscall_entryexit {
-+	LTTNG_KERNEL_SYSCALL_ENTRYEXIT = 0,
-+	LTTNG_KERNEL_SYSCALL_ENTRY = 1,		/* Not implemented. */
-+	LTTNG_KERNEL_SYSCALL_EXIT = 2,		/* Not implemented. */
-+};
-+
-+enum lttng_kernel_syscall_abi {
-+	LTTNG_KERNEL_SYSCALL_ABI_ALL = 0,
-+	LTTNG_KERNEL_SYSCALL_ABI_NATIVE = 1,	/* Not implemented. */
-+	LTTNG_KERNEL_SYSCALL_ABI_COMPAT = 2,	/* Not implemented. */
-+};
-+
-+enum lttng_kernel_syscall_match {
-+	LTTNG_SYSCALL_MATCH_NAME = 0,
-+	LTTNG_SYSCALL_MATCH_NR = 1,		/* Not implemented. */
-+};
-+
-+struct lttng_kernel_syscall {
-+	uint8_t entryexit;	/* enum lttng_kernel_syscall_entryexit */
-+	uint8_t abi;		/* enum lttng_kernel_syscall_abi */
-+	uint8_t match;		/* enum lttng_kernel_syscall_match */
-+	uint8_t padding;
-+	uint32_t nr;		/* For LTTNG_SYSCALL_MATCH_NR */
-+} __attribute__((packed));
-+
- /*
-  * For syscall tracing, name = "*" means "enable all".
-  */
-@@ -106,6 +131,7 @@ struct lttng_kernel_event {
- 		struct lttng_kernel_kprobe kprobe;
- 		struct lttng_kernel_function_tracer ftrace;
- 		struct lttng_kernel_uprobe uprobe;
-+		struct lttng_kernel_syscall syscall;
- 		char padding[LTTNG_KERNEL_EVENT_PADDING2];
- 	} u;
- } __attribute__((packed));
-diff --git a/lttng-events.c b/lttng-events.c
-index d719294..4c0b04a 100644
---- a/lttng-events.c
-+++ b/lttng-events.c
-@@ -201,6 +201,10 @@ void lttng_session_destroy(struct lttng_session *session)
- 		WARN_ON(ret);
- 	}
- 	synchronize_trace();	/* Wait for in-flight events to complete */
-+	list_for_each_entry(chan, &session->chan, list) {
-+		ret = lttng_syscalls_destroy(chan);
-+		WARN_ON(ret);
-+	}
- 	list_for_each_entry_safe(enabler, tmpenabler,
- 			&session->enablers_head, node)
- 		lttng_enabler_destroy(enabler);
-@@ -740,6 +744,28 @@ struct lttng_event *_lttng_event_create(struct lttng_channel *chan,
- 		event->enabled = 0;
- 		event->registered = 0;
- 		event->desc = event_desc;
-+		switch (event_param->u.syscall.entryexit) {
-+		case LTTNG_KERNEL_SYSCALL_ENTRYEXIT:
-+			ret = -EINVAL;
-+			goto register_error;
-+		case LTTNG_KERNEL_SYSCALL_ENTRY:
-+			event->u.syscall.entryexit = LTTNG_SYSCALL_ENTRY;
-+			break;
-+		case LTTNG_KERNEL_SYSCALL_EXIT:
-+			event->u.syscall.entryexit = LTTNG_SYSCALL_EXIT;
-+			break;
-+		}
-+		switch (event_param->u.syscall.abi) {
-+		case LTTNG_KERNEL_SYSCALL_ABI_ALL:
-+			ret = -EINVAL;
-+			goto register_error;
-+		case LTTNG_KERNEL_SYSCALL_ABI_NATIVE:
-+			event->u.syscall.abi = LTTNG_SYSCALL_ABI_NATIVE;
-+			break;
-+		case LTTNG_KERNEL_SYSCALL_ABI_COMPAT:
-+			event->u.syscall.abi = LTTNG_SYSCALL_ABI_COMPAT;
-+			break;
-+		}
- 		if (!event->desc) {
- 			ret = -EINVAL;
- 			goto register_error;
-@@ -826,8 +852,7 @@ void register_event(struct lttng_event *event)
- 						  event);
- 		break;
- 	case LTTNG_KERNEL_SYSCALL:
--		ret = lttng_syscall_filter_enable(event->chan,
--			desc->name);
-+		ret = lttng_syscall_filter_enable(event->chan, event);
- 		break;
- 	case LTTNG_KERNEL_KPROBE:
- 	case LTTNG_KERNEL_UPROBE:
-@@ -870,8 +895,7 @@ int _lttng_event_unregister(struct lttng_event *event)
- 		ret = 0;
- 		break;
- 	case LTTNG_KERNEL_SYSCALL:
--		ret = lttng_syscall_filter_disable(event->chan,
--			desc->name);
-+		ret = lttng_syscall_filter_disable(event->chan, event);
- 		break;
- 	case LTTNG_KERNEL_NOOP:
- 		ret = 0;
-@@ -1203,39 +1227,87 @@ int lttng_desc_match_enabler(const struct lttng_event_desc *desc,
- 		struct lttng_enabler *enabler)
- {
- 	const char *desc_name, *enabler_name;
-+	bool compat = false, entry = false;
- 
- 	enabler_name = enabler->event_param.name;
- 	switch (enabler->event_param.instrumentation) {
- 	case LTTNG_KERNEL_TRACEPOINT:
- 		desc_name = desc->name;
-+		switch (enabler->type) {
-+		case LTTNG_ENABLER_STAR_GLOB:
-+			return lttng_match_enabler_star_glob(desc_name, enabler_name);
-+		case LTTNG_ENABLER_NAME:
-+			return lttng_match_enabler_name(desc_name, enabler_name);
-+		default:
-+			return -EINVAL;
-+		}
- 		break;
- 	case LTTNG_KERNEL_SYSCALL:
- 		desc_name = desc->name;
--		if (!strncmp(desc_name, "compat_", strlen("compat_")))
-+		if (!strncmp(desc_name, "compat_", strlen("compat_"))) {
- 			desc_name += strlen("compat_");
-+			compat = true;
-+		}
- 		if (!strncmp(desc_name, "syscall_exit_",
- 				strlen("syscall_exit_"))) {
- 			desc_name += strlen("syscall_exit_");
- 		} else if (!strncmp(desc_name, "syscall_entry_",
- 				strlen("syscall_entry_"))) {
- 			desc_name += strlen("syscall_entry_");
-+			entry = true;
- 		} else {
- 			WARN_ON_ONCE(1);
- 			return -EINVAL;
- 		}
-+		switch (enabler->event_param.u.syscall.entryexit) {
-+		case LTTNG_KERNEL_SYSCALL_ENTRYEXIT:
-+			break;
-+		case LTTNG_KERNEL_SYSCALL_ENTRY:
-+			if (!entry)
-+				return 0;
-+			break;
-+		case LTTNG_KERNEL_SYSCALL_EXIT:
-+			if (entry)
-+				return 0;
-+			break;
-+		default:
-+			return -EINVAL;
-+		}
-+		switch (enabler->event_param.u.syscall.abi) {
-+		case LTTNG_KERNEL_SYSCALL_ABI_ALL:
-+			break;
-+		case LTTNG_KERNEL_SYSCALL_ABI_NATIVE:
-+			if (compat)
-+				return 0;
-+			break;
-+		case LTTNG_KERNEL_SYSCALL_ABI_COMPAT:
-+			if (!compat)
-+				return 0;
-+			break;
-+		default:
-+			return -EINVAL;
-+		}
-+		switch (enabler->event_param.u.syscall.match) {
-+		case LTTNG_SYSCALL_MATCH_NAME:
-+			switch (enabler->type) {
-+			case LTTNG_ENABLER_STAR_GLOB:
-+				return lttng_match_enabler_star_glob(desc_name, enabler_name);
-+			case LTTNG_ENABLER_NAME:
-+				return lttng_match_enabler_name(desc_name, enabler_name);
-+			default:
-+				return -EINVAL;
-+			}
-+			break;
-+		case LTTNG_SYSCALL_MATCH_NR:
-+			return -EINVAL;	/* Not implemented. */
-+		default:
-+			return -EINVAL;
-+		}
- 		break;
- 	default:
- 		WARN_ON_ONCE(1);
- 		return -EINVAL;
- 	}
--	switch (enabler->type) {
--	case LTTNG_ENABLER_STAR_GLOB:
--		return lttng_match_enabler_star_glob(desc_name, enabler_name);
--	case LTTNG_ENABLER_NAME:
--		return lttng_match_enabler_name(desc_name, enabler_name);
--	default:
--		return -EINVAL;
--	}
- }
- 
- static
-@@ -1361,9 +1433,21 @@ void lttng_create_event_if_missing(struct lttng_enabler *enabler)
- static
- int lttng_enabler_ref_events(struct lttng_enabler *enabler)
- {
--	struct lttng_session *session = enabler->chan->session;
-+	struct lttng_channel *chan = enabler->chan;
-+	struct lttng_session *session = chan->session;
- 	struct lttng_event *event;
- 
-+	if (enabler->event_param.instrumentation == LTTNG_KERNEL_SYSCALL &&
-+			enabler->event_param.u.syscall.entryexit == LTTNG_KERNEL_SYSCALL_ENTRYEXIT &&
-+			enabler->event_param.u.syscall.abi == LTTNG_KERNEL_SYSCALL_ABI_ALL &&
-+			enabler->event_param.u.syscall.match == LTTNG_SYSCALL_MATCH_NAME &&
-+			!strcmp(enabler->event_param.name, "*")) {
-+		if (enabler->enabled)
-+			WRITE_ONCE(chan->syscall_all, 1);
-+		else
-+			WRITE_ONCE(chan->syscall_all, 0);
-+	}
-+
- 	/* First ensure that probe events are created for this enabler. */
- 	lttng_create_event_if_missing(enabler);
- 
-diff --git a/lttng-events.h b/lttng-events.h
-index a36a312..d4d9976 100644
---- a/lttng-events.h
-+++ b/lttng-events.h
-@@ -292,6 +292,16 @@ struct lttng_uprobe_handler {
- 	struct list_head node;
- };
- 
-+enum lttng_syscall_entryexit {
-+	LTTNG_SYSCALL_ENTRY,
-+	LTTNG_SYSCALL_EXIT,
-+};
-+
-+enum lttng_syscall_abi {
-+	LTTNG_SYSCALL_ABI_NATIVE,
-+	LTTNG_SYSCALL_ABI_COMPAT,
-+};
-+
- /*
-  * lttng_event structure is referred to by the tracing fast path. It must be
-  * kept small.
-@@ -318,6 +328,11 @@ struct lttng_event {
- 			struct inode *inode;
- 			struct list_head head;
- 		} uprobe;
-+		struct {
-+			char *syscall_name;
-+			enum lttng_syscall_entryexit entryexit;
-+			enum lttng_syscall_abi abi;
-+		} syscall;
- 	} u;
- 	struct list_head list;		/* Event list in session */
- 	unsigned int metadata_dumped:1;
-@@ -457,10 +472,10 @@ struct lttng_channel {
- 	struct lttng_syscall_filter *sc_filter;
- 	int header_type;		/* 0: unset, 1: compact, 2: large */
- 	enum channel_type channel_type;
-+	int syscall_all;
- 	unsigned int metadata_dumped:1,
- 		sys_enter_registered:1,
- 		sys_exit_registered:1,
--		syscall_all:1,
- 		tstate:1;		/* Transient enable state */
- };
- 
-@@ -653,10 +668,11 @@ void lttng_clock_unref(void);
- #if defined(CONFIG_HAVE_SYSCALL_TRACEPOINTS)
- int lttng_syscalls_register(struct lttng_channel *chan, void *filter);
- int lttng_syscalls_unregister(struct lttng_channel *chan);
-+int lttng_syscalls_destroy(struct lttng_channel *chan);
- int lttng_syscall_filter_enable(struct lttng_channel *chan,
--		const char *name);
-+		struct lttng_event *event);
- int lttng_syscall_filter_disable(struct lttng_channel *chan,
--		const char *name);
-+		struct lttng_event *event);
- long lttng_channel_syscall_mask(struct lttng_channel *channel,
- 		struct lttng_kernel_syscall_mask __user *usyscall_mask);
- #else
-@@ -670,14 +686,19 @@ static inline int lttng_syscalls_unregister(struct lttng_channel *chan)
- 	return 0;
- }
- 
-+static inline int lttng_syscalls_destroy(struct lttng_channel *chan)
-+{
-+	return 0;
-+}
-+
- static inline int lttng_syscall_filter_enable(struct lttng_channel *chan,
--		const char *name)
-+		struct lttng_event *event);
- {
- 	return -ENOSYS;
- }
- 
- static inline int lttng_syscall_filter_disable(struct lttng_channel *chan,
--		const char *name)
-+		struct lttng_event *event);
- {
- 	return -ENOSYS;
- }
-diff --git a/lttng-syscalls.c b/lttng-syscalls.c
-index 97f1ba9..26cead6 100644
---- a/lttng-syscalls.c
-+++ b/lttng-syscalls.c
-@@ -367,8 +367,10 @@ const struct trace_syscall_entry compat_sc_exit_table[] = {
- #undef CREATE_SYSCALL_TABLE
- 
- struct lttng_syscall_filter {
--	DECLARE_BITMAP(sc, NR_syscalls);
--	DECLARE_BITMAP(sc_compat, NR_compat_syscalls);
-+	DECLARE_BITMAP(sc_entry, NR_syscalls);
-+	DECLARE_BITMAP(sc_exit, NR_syscalls);
-+	DECLARE_BITMAP(sc_compat_entry, NR_compat_syscalls);
-+	DECLARE_BITMAP(sc_compat_exit, NR_compat_syscalls);
- };
- 
- static void syscall_entry_unknown(struct lttng_event *event,
-@@ -391,29 +393,23 @@ void syscall_entry_probe(void *__data, struct pt_regs *regs, long id)
- 	size_t table_len;
- 
- 	if (unlikely(in_compat_syscall())) {
--		struct lttng_syscall_filter *filter;
--
--		filter = lttng_rcu_dereference(chan->sc_filter);
--		if (filter) {
--			if (id < 0 || id >= NR_compat_syscalls
--				|| !test_bit(id, filter->sc_compat)) {
--				/* System call filtered out. */
--				return;
--			}
-+		struct lttng_syscall_filter *filter = chan->sc_filter;
-+
-+		if (id < 0 || id >= NR_compat_syscalls
-+			|| (!READ_ONCE(chan->syscall_all) && !test_bit(id, filter->sc_compat_entry))) {
-+			/* System call filtered out. */
-+			return;
- 		}
- 		table = compat_sc_table;
- 		table_len = ARRAY_SIZE(compat_sc_table);
- 		unknown_event = chan->sc_compat_unknown;
- 	} else {
--		struct lttng_syscall_filter *filter;
--
--		filter = lttng_rcu_dereference(chan->sc_filter);
--		if (filter) {
--			if (id < 0 || id >= NR_syscalls
--				|| !test_bit(id, filter->sc)) {
--				/* System call filtered out. */
--				return;
--			}
-+		struct lttng_syscall_filter *filter = chan->sc_filter;
-+
-+		if (id < 0 || id >= NR_syscalls
-+			|| (!READ_ONCE(chan->syscall_all) && !test_bit(id, filter->sc_entry))) {
-+			/* System call filtered out. */
-+			return;
- 		}
- 		table = sc_table;
- 		table_len = ARRAY_SIZE(sc_table);
-@@ -545,29 +541,23 @@ void syscall_exit_probe(void *__data, struct pt_regs *regs, long ret)
- 
- 	id = syscall_get_nr(current, regs);
- 	if (unlikely(in_compat_syscall())) {
--		struct lttng_syscall_filter *filter;
--
--		filter = lttng_rcu_dereference(chan->sc_filter);
--		if (filter) {
--			if (id < 0 || id >= NR_compat_syscalls
--				|| !test_bit(id, filter->sc_compat)) {
--				/* System call filtered out. */
--				return;
--			}
-+		struct lttng_syscall_filter *filter = chan->sc_filter;
-+
-+		if (id < 0 || id >= NR_compat_syscalls
-+			|| (!READ_ONCE(chan->syscall_all) && !test_bit(id, filter->sc_compat_exit))) {
-+			/* System call filtered out. */
-+			return;
- 		}
- 		table = compat_sc_exit_table;
- 		table_len = ARRAY_SIZE(compat_sc_exit_table);
- 		unknown_event = chan->compat_sc_exit_unknown;
- 	} else {
--		struct lttng_syscall_filter *filter;
--
--		filter = lttng_rcu_dereference(chan->sc_filter);
--		if (filter) {
--			if (id < 0 || id >= NR_syscalls
--				|| !test_bit(id, filter->sc)) {
--				/* System call filtered out. */
--				return;
--			}
-+		struct lttng_syscall_filter *filter = chan->sc_filter;
-+
-+		if (id < 0 || id >= NR_syscalls
-+			|| (!READ_ONCE(chan->syscall_all) && !test_bit(id, filter->sc_exit))) {
-+			/* System call filtered out. */
-+			return;
- 		}
- 		table = sc_exit_table;
- 		table_len = ARRAY_SIZE(sc_exit_table);
-@@ -713,27 +703,23 @@ int fill_table(const struct trace_syscall_entry *table, size_t table_len,
- 		memset(&ev, 0, sizeof(ev));
- 		switch (type) {
- 		case SC_TYPE_ENTRY:
--			strncpy(ev.name, SYSCALL_ENTRY_STR,
--				LTTNG_KERNEL_SYM_NAME_LEN);
-+			ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_ENTRY;
-+			ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_NATIVE;
- 			break;
- 		case SC_TYPE_EXIT:
--			strncpy(ev.name, SYSCALL_EXIT_STR,
--				LTTNG_KERNEL_SYM_NAME_LEN);
-+			ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_EXIT;
-+			ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_NATIVE;
- 			break;
- 		case SC_TYPE_COMPAT_ENTRY:
--			strncpy(ev.name, COMPAT_SYSCALL_ENTRY_STR,
--				LTTNG_KERNEL_SYM_NAME_LEN);
-+			ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_ENTRY;
-+			ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_COMPAT;
- 			break;
- 		case SC_TYPE_COMPAT_EXIT:
--			strncpy(ev.name, COMPAT_SYSCALL_EXIT_STR,
--				LTTNG_KERNEL_SYM_NAME_LEN);
--			break;
--		default:
--			BUG_ON(1);
-+			ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_EXIT;
-+			ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_COMPAT;
- 			break;
- 		}
--		strncat(ev.name, desc->name,
--			LTTNG_KERNEL_SYM_NAME_LEN - strlen(ev.name) - 1);
-+		strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN);
- 		ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0';
- 		ev.instrumentation = LTTNG_KERNEL_SYSCALL;
- 		chan_table[i] = _lttng_event_create(chan, &ev, filter,
-@@ -803,6 +789,8 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter)
- 		strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN);
- 		ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0';
- 		ev.instrumentation = LTTNG_KERNEL_SYSCALL;
-+		ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_ENTRY;
-+		ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_NATIVE;
- 		chan->sc_unknown = _lttng_event_create(chan, &ev, filter,
- 						desc,
- 						ev.instrumentation);
-@@ -820,6 +808,8 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter)
- 		strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN);
- 		ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0';
- 		ev.instrumentation = LTTNG_KERNEL_SYSCALL;
-+		ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_ENTRY;
-+		ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_COMPAT;
- 		chan->sc_compat_unknown = _lttng_event_create(chan, &ev, filter,
- 						desc,
- 						ev.instrumentation);
-@@ -837,6 +827,8 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter)
- 		strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN);
- 		ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0';
- 		ev.instrumentation = LTTNG_KERNEL_SYSCALL;
-+		ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_EXIT;
-+		ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_COMPAT;
- 		chan->compat_sc_exit_unknown = _lttng_event_create(chan, &ev,
- 						filter, desc,
- 						ev.instrumentation);
-@@ -854,6 +846,8 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter)
- 		strncpy(ev.name, desc->name, LTTNG_KERNEL_SYM_NAME_LEN);
- 		ev.name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0';
- 		ev.instrumentation = LTTNG_KERNEL_SYSCALL;
-+		ev.u.syscall.entryexit = LTTNG_KERNEL_SYSCALL_EXIT;
-+		ev.u.syscall.abi = LTTNG_KERNEL_SYSCALL_ABI_NATIVE;
- 		chan->sc_exit_unknown = _lttng_event_create(chan, &ev, filter,
- 						desc, ev.instrumentation);
- 		WARN_ON_ONCE(!chan->sc_exit_unknown);
-@@ -883,6 +877,14 @@ int lttng_syscalls_register(struct lttng_channel *chan, void *filter)
- 	if (ret)
- 		return ret;
- #endif
-+
-+	if (!chan->sc_filter) {
-+		chan->sc_filter = kzalloc(sizeof(struct lttng_syscall_filter),
-+				GFP_KERNEL);
-+		if (!chan->sc_filter)
-+			return -ENOMEM;
-+	}
-+
- 	if (!chan->sys_enter_registered) {
- 		ret = lttng_wrapper_tracepoint_probe_register("sys_enter",
- 				(void *) syscall_entry_probe, chan);
-@@ -930,7 +932,11 @@ int lttng_syscalls_unregister(struct lttng_channel *chan)
- 			return ret;
- 		chan->sys_exit_registered = 0;
- 	}
--	/* lttng_event destroy will be performed by lttng_session_destroy() */
-+	return 0;
-+}
-+
-+int lttng_syscalls_destroy(struct lttng_channel *chan)
-+{
- 	kfree(chan->sc_table);
- 	kfree(chan->sc_exit_table);
- #ifdef CONFIG_COMPAT
-@@ -993,136 +999,150 @@ uint32_t get_sc_tables_len(void)
- 	return ARRAY_SIZE(sc_table) + ARRAY_SIZE(compat_sc_table);
- }
- 
--int lttng_syscall_filter_enable(struct lttng_channel *chan,
--		const char *name)
-+static
-+const char *get_syscall_name(struct lttng_event *event)
- {
--	int syscall_nr, compat_syscall_nr, ret;
--	struct lttng_syscall_filter *filter;
-+	size_t prefix_len = 0;
- 
--	WARN_ON_ONCE(!chan->sc_table);
-+	WARN_ON_ONCE(event->instrumentation != LTTNG_KERNEL_SYSCALL);
- 
--	if (!name) {
--		/* Enable all system calls by removing filter */
--		if (chan->sc_filter) {
--			filter = chan->sc_filter;
--			rcu_assign_pointer(chan->sc_filter, NULL);
--			synchronize_trace();
--			kfree(filter);
-+	switch (event->u.syscall.entryexit) {
-+	case LTTNG_SYSCALL_ENTRY:
-+		switch (event->u.syscall.abi) {
-+		case LTTNG_SYSCALL_ABI_NATIVE:
-+			prefix_len = strlen(SYSCALL_ENTRY_STR);
-+			break;
-+		case LTTNG_SYSCALL_ABI_COMPAT:
-+			prefix_len = strlen(COMPAT_SYSCALL_ENTRY_STR);
-+			break;
- 		}
--		chan->syscall_all = 1;
--		return 0;
--	}
--
--	if (!chan->sc_filter) {
--		if (chan->syscall_all) {
--			/*
--			 * All syscalls are already enabled.
--			 */
--			return -EEXIST;
-+		break;
-+	case LTTNG_SYSCALL_EXIT:
-+		switch (event->u.syscall.abi) {
-+		case LTTNG_SYSCALL_ABI_NATIVE:
-+			prefix_len = strlen(SYSCALL_EXIT_STR);
-+			break;
-+		case LTTNG_SYSCALL_ABI_COMPAT:
-+			prefix_len = strlen(COMPAT_SYSCALL_EXIT_STR);
-+			break;
- 		}
--		filter = kzalloc(sizeof(struct lttng_syscall_filter),
--				GFP_KERNEL);
--		if (!filter)
--			return -ENOMEM;
--	} else {
--		filter = chan->sc_filter;
-+		break;
- 	}
--	syscall_nr = get_syscall_nr(name);
--	compat_syscall_nr = get_compat_syscall_nr(name);
--	if (syscall_nr < 0 && compat_syscall_nr < 0) {
--		ret = -ENOENT;
--		goto error;
-+	WARN_ON_ONCE(prefix_len == 0);
-+	return event->desc->name + prefix_len;
-+}
-+
-+int lttng_syscall_filter_enable(struct lttng_channel *chan,
-+		struct lttng_event *event)
-+{
-+	struct lttng_syscall_filter *filter = chan->sc_filter;
-+	const char *syscall_name;
-+	unsigned long *bitmap;
-+	int syscall_nr;
-+
-+	WARN_ON_ONCE(!chan->sc_table);
-+
-+	syscall_name = get_syscall_name(event);
-+
-+	switch (event->u.syscall.abi) {
-+	case LTTNG_SYSCALL_ABI_NATIVE:
-+		syscall_nr = get_syscall_nr(syscall_name);
-+		break;
-+	case LTTNG_SYSCALL_ABI_COMPAT:
-+		syscall_nr = get_compat_syscall_nr(syscall_name);
-+		break;
-+	default:
-+		return -EINVAL;
- 	}
--	if (syscall_nr >= 0) {
--		if (test_bit(syscall_nr, filter->sc)) {
--			ret = -EEXIST;
--			goto error;
-+	if (syscall_nr < 0)
-+		return -ENOENT;
-+
-+
-+	switch (event->u.syscall.entryexit) {
-+	case LTTNG_SYSCALL_ENTRY:
-+		switch (event->u.syscall.abi) {
-+		case LTTNG_SYSCALL_ABI_NATIVE:
-+			bitmap = filter->sc_entry;
-+			break;
-+		case LTTNG_SYSCALL_ABI_COMPAT:
-+			bitmap = filter->sc_compat_entry;
-+			break;
- 		}
--		bitmap_set(filter->sc, syscall_nr, 1);
--	}
--	if (compat_syscall_nr >= 0) {
--		if (test_bit(compat_syscall_nr, filter->sc_compat)) {
--			ret = -EEXIST;
--			goto error;
-+		break;
-+	case LTTNG_SYSCALL_EXIT:
-+		switch (event->u.syscall.abi) {
-+		case LTTNG_SYSCALL_ABI_NATIVE:
-+			bitmap = filter->sc_exit;
-+			break;
-+		case LTTNG_SYSCALL_ABI_COMPAT:
-+			bitmap = filter->sc_compat_exit;
-+			break;
- 		}
--		bitmap_set(filter->sc_compat, compat_syscall_nr, 1);
-+		break;
-+	default:
-+		return -EINVAL;
- 	}
--	if (!chan->sc_filter)
--		rcu_assign_pointer(chan->sc_filter, filter);
-+	if (test_bit(syscall_nr, bitmap))
-+		return -EEXIST;
-+	bitmap_set(bitmap, syscall_nr, 1);
- 	return 0;
--
--error:
--	if (!chan->sc_filter)
--		kfree(filter);
--	return ret;
- }
- 
- int lttng_syscall_filter_disable(struct lttng_channel *chan,
--		const char *name)
-+		struct lttng_event *event)
- {
--	int syscall_nr, compat_syscall_nr, ret;
--	struct lttng_syscall_filter *filter;
-+	struct lttng_syscall_filter *filter = chan->sc_filter;
-+	const char *syscall_name;
-+	unsigned long *bitmap;
-+	int syscall_nr;
- 
- 	WARN_ON_ONCE(!chan->sc_table);
- 
--	if (!chan->sc_filter) {
--		if (!chan->syscall_all)
--			return -EEXIST;
--		filter = kzalloc(sizeof(struct lttng_syscall_filter),
--				GFP_KERNEL);
--		if (!filter)
--			return -ENOMEM;
--		/* Trace all system calls, then apply disable. */
--		bitmap_set(filter->sc, 0, NR_syscalls);
--		bitmap_set(filter->sc_compat, 0, NR_compat_syscalls);
--	} else {
--		filter = chan->sc_filter;
-+	syscall_name = get_syscall_name(event);
-+
-+	switch (event->u.syscall.abi) {
-+	case LTTNG_SYSCALL_ABI_NATIVE:
-+		syscall_nr = get_syscall_nr(syscall_name);
-+		break;
-+	case LTTNG_SYSCALL_ABI_COMPAT:
-+		syscall_nr = get_compat_syscall_nr(syscall_name);
-+		break;
-+	default:
-+		return -EINVAL;
- 	}
-+	if (syscall_nr < 0)
-+		return -ENOENT;
- 
--	if (!name) {
--		/* Fail if all syscalls are already disabled. */
--		if (bitmap_empty(filter->sc, NR_syscalls)
--			&& bitmap_empty(filter->sc_compat,
--				NR_compat_syscalls)) {
--			ret = -EEXIST;
--			goto error;
--		}
- 
--		/* Disable all system calls */
--		bitmap_clear(filter->sc, 0, NR_syscalls);
--		bitmap_clear(filter->sc_compat, 0, NR_compat_syscalls);
--		goto apply_filter;
--	}
--	syscall_nr = get_syscall_nr(name);
--	compat_syscall_nr = get_compat_syscall_nr(name);
--	if (syscall_nr < 0 && compat_syscall_nr < 0) {
--		ret = -ENOENT;
--		goto error;
--	}
--	if (syscall_nr >= 0) {
--		if (!test_bit(syscall_nr, filter->sc)) {
--			ret = -EEXIST;
--			goto error;
-+	switch (event->u.syscall.entryexit) {
-+	case LTTNG_SYSCALL_ENTRY:
-+		switch (event->u.syscall.abi) {
-+		case LTTNG_SYSCALL_ABI_NATIVE:
-+			bitmap = filter->sc_entry;
-+			break;
-+		case LTTNG_SYSCALL_ABI_COMPAT:
-+			bitmap = filter->sc_compat_entry;
-+			break;
- 		}
--		bitmap_clear(filter->sc, syscall_nr, 1);
--	}
--	if (compat_syscall_nr >= 0) {
--		if (!test_bit(compat_syscall_nr, filter->sc_compat)) {
--			ret = -EEXIST;
--			goto error;
-+		break;
-+	case LTTNG_SYSCALL_EXIT:
-+		switch (event->u.syscall.abi) {
-+		case LTTNG_SYSCALL_ABI_NATIVE:
-+			bitmap = filter->sc_exit;
-+			break;
-+		case LTTNG_SYSCALL_ABI_COMPAT:
-+			bitmap = filter->sc_compat_exit;
-+			break;
- 		}
--		bitmap_clear(filter->sc_compat, compat_syscall_nr, 1);
-+		break;
-+	default:
-+		return -EINVAL;
- 	}
--apply_filter:
--	if (!chan->sc_filter)
--		rcu_assign_pointer(chan->sc_filter, filter);
--	chan->syscall_all = 0;
--	return 0;
-+	if (!test_bit(syscall_nr, bitmap))
-+		return -EEXIST;
-+	bitmap_clear(bitmap, syscall_nr, 1);
- 
--error:
--	if (!chan->sc_filter)
--		kfree(filter);
--	return ret;
-+	return 0;
- }
- 
- static
-@@ -1236,6 +1256,9 @@ const struct file_operations lttng_syscall_list_fops = {
- 	.release = seq_release,
- };
- 
-+/*
-+ * A syscall is enabled if it is traced for either entry or exit.
-+ */
- long lttng_channel_syscall_mask(struct lttng_channel *channel,
- 		struct lttng_kernel_syscall_mask __user *usyscall_mask)
- {
-@@ -1262,8 +1285,9 @@ long lttng_channel_syscall_mask(struct lttng_channel *channel,
- 		char state;
- 
- 		if (channel->sc_table) {
--			if (filter)
--				state = test_bit(bit, filter->sc);
-+			if (!READ_ONCE(channel->syscall_all) && filter)
-+				state = test_bit(bit, filter->sc_entry)
-+					|| test_bit(bit, filter->sc_exit);
- 			else
- 				state = 1;
- 		} else {
-@@ -1275,9 +1299,11 @@ long lttng_channel_syscall_mask(struct lttng_channel *channel,
- 		char state;
- 
- 		if (channel->compat_sc_table) {
--			if (filter)
-+			if (!READ_ONCE(channel->syscall_all) && filter)
- 				state = test_bit(bit - ARRAY_SIZE(sc_table),
--						filter->sc_compat);
-+						filter->sc_compat_entry)
-+					|| test_bit(bit - ARRAY_SIZE(sc_table),
-+						filter->sc_compat_exit);
- 			else
- 				state = 1;
- 		} else {
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.2.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb
similarity index 64%
rename from poky/meta/recipes-kernel/lttng/lttng-modules_2.12.2.bb
rename to poky/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb
index e36b327..ca79e27 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.2.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.3.bb
@@ -11,19 +11,10 @@
 SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
            file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
            file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \
-           file://0001-Kconfig-fix-dependency-issue-when-building-in-tree-w.patch \
-           file://0002-fix-Move-mmutrace.h-into-the-mmu-sub-directory-v5.9.patch \
-           file://0003-fix-KVM-x86-mmu-Make-kvm_mmu_page-definition-and-acc.patch \
-           file://0004-fix-ext4-limit-the-length-of-per-inode-prealloc-list.patch \
-           file://0005-fix-ext4-indicate-via-a-block-bitmap-read-is-prefetc.patch \
-           file://0006-fix-removal-of-smp_-read_barrier_depends-v5.9.patch \
-           file://0007-fix-writeback-Drop-I_DIRTY_TIME_EXPIRE-v5.9.patch \
-           file://0008-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch \
-           file://0009-fix-version-ranges-for-ext4_discard_preallocations-a.patch \
-           file://0010-Fix-system-call-filter-table.patch \
+           file://0001-fix-btrfs-tracepoints-output-proper-root-owner-for-t.patch \
            "
 
-SRC_URI[sha256sum] = "df50bc3bd58679705714f17721acf619a8b0cedc694f8a97052aa5099626feca"
+SRC_URI[sha256sum] = "673ef85c9f03e9b8fed10795e09d4e68add39404b70068d08b10f7b85754d7f0"
 
 export INSTALL_MOD_DIR="kernel/lttng-modules"
 
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb
index 1c9f2ae..923d64b 100644
--- a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb
+++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb
@@ -19,25 +19,50 @@
 EXTRA_OECONF += "${STAP_DOCS} "
 
 PACKAGECONFIG ??= "translator sqlite monitor python3-probes"
-PACKAGECONFIG[translator] = "--enable-translator,--disable-translator,boost,python3-core bash perl"
+PACKAGECONFIG[translator] = "--enable-translator,--disable-translator,boost,bash"
 PACKAGECONFIG[libvirt] = "--enable-libvirt,--disable-libvirt,libvirt"
 PACKAGECONFIG[sqlite] = "--enable-sqlite,--disable-sqlite,sqlite3"
 PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor,ncurses json-c"
 PACKAGECONFIG[python3-probes] = "--with-python3-probes,--without-python3-probes,python3-setuptools-native"
 
-inherit autotools gettext pkgconfig distutils3-base systemd
+inherit autotools gettext pkgconfig systemd
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3-probes', 'distutils3-base', '', d)}
 
+# exporter comes with python3-probes
 PACKAGES =+ "${PN}-exporter"
-
 FILES_${PN}-exporter = "${sysconfdir}/stap-exporter/* \
                         ${sysconfdir}/sysconfig/stap-exporter \
                         ${systemd_unitdir}/system/stap-exporter.service \
                         ${sbindir}/stap-exporter"
-
 RDEPENDS_${PN}-exporter = "${PN} python3-core python3-netclient"
-
 SYSTEMD_SERVICE_${PN}-exporter = "stap-exporter.service"
 
+PACKAGES =+ "${PN}-runtime"
+FILES_${PN}-runtime = "\
+ ${bindir}/staprun \
+ ${bindir}/stap-merge \
+ ${bindir}/stapsh \
+ ${libexecdir}/${BPN}/stapio \
+"
+RDEPENDS_${PN}_class-target += "${PN}-runtime"
+
+PACKAGES =+ "${PN}-examples"
+FILES_${PN}-examples = "${datadir}/${BPN}/examples/"
+RDEPENDS_${PN}-examples += "${PN}"
+
+# don't complain that some examples involve bash, perl, php...
+INSANE_SKIP_${PN}-examples += "file-rdeps"
+
+PACKAGES =+ "${PN}-python"
+FILES_${PN}-python += "\
+ ${bindir}/dtrace \
+ ${libdir}/python*/ \
+ ${libexecdir}/${BPN}/python/ \
+"
+# python material requires sdt headers
+RDEPENDS_${PN}-python += "${PN}-dev python3-core"
+INSANE_SKIP_${PN}-python += "dev-deps"
+
 do_configure_prepend () {
     # Improve reproducibility for c++ object files
     reltivepath="${@os.path.relpath(d.getVar('STAGING_INCDIR'), d.getVar('S'))}"
@@ -51,7 +76,7 @@
       rm ${D}${libexecdir}/${PN}/stap-env
    fi
 
-   if [ ${D}${prefix}/lib != `dirname ${D}${systemd_unitdir}` ]; then
+   if [ -d ${D}${prefix}/lib/systemd -a ${D}${prefix}/lib != `dirname ${D}${systemd_unitdir}` ]; then
       # Fix makefile hardcoded path assumptions for systemd (assumes $prefix)
       # without usrmerge distro feature enabled
       install -d `dirname ${D}${systemd_unitdir}`
@@ -60,7 +85,9 @@
    fi
 
    # Ensure correct ownership for files copied in
-   chown root:root ${D}${sysconfdir}/stap-exporter/* -R
+   if [ -d ${D}${sysconfdir}/stap-exporter ]; then
+       chown root:root ${D}${sysconfdir}/stap-exporter/* -R
+   fi
 }
 
 BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.04.29.bb b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb
similarity index 89%
rename from poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.04.29.bb
rename to poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb
index a5827b9..b3567bc 100644
--- a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.04.29.bb
+++ b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb
@@ -1,11 +1,11 @@
 SUMMARY = "Wireless Central Regulatory Domain Database"
-HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA"
+HOMEPAGE = "https://wireless.wiki.kernel.org/en/developers/regulatory/crda"
 SECTION = "net"
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c"
 
 SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz"
-SRC_URI[sha256sum] = "89fd031aed5977c219a71501e144375a10e7c90d1005d5d086ea7972886a2c7a"
+SRC_URI[sha256sum] = "b4164490d82ff7b0086e812ac42ab27baf57be24324d4c0ee1c5dd6ba27f2a52"
 
 inherit bin_package allarch