diff --git a/poky/meta/recipes-kernel/cryptodev/cryptodev.inc b/poky/meta/recipes-kernel/cryptodev/cryptodev.inc
index 252d39d..9d8ba44 100644
--- a/poky/meta/recipes-kernel/cryptodev/cryptodev.inc
+++ b/poky/meta/recipes-kernel/cryptodev/cryptodev.inc
@@ -3,7 +3,9 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-SRC_URI = "git://github.com/cryptodev-linux/cryptodev-linux"
+SRC_URI = "git://github.com/cryptodev-linux/cryptodev-linux \
+           file://0001-Fix-module-loading-with-Linux-v5.0-rc5.patch \
+           "
 SRCREV = "fd8b15ef1c8398a69a37932ee48c74ab40329a29"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-kernel/cryptodev/files/0001-Fix-module-loading-with-Linux-v5.0-rc5.patch b/poky/meta/recipes-kernel/cryptodev/files/0001-Fix-module-loading-with-Linux-v5.0-rc5.patch
new file mode 100644
index 0000000..34ec872
--- /dev/null
+++ b/poky/meta/recipes-kernel/cryptodev/files/0001-Fix-module-loading-with-Linux-v5.0-rc5.patch
@@ -0,0 +1,59 @@
+Upstream-Status: Backport [https://github.com/cryptodev-linux/cryptodev-linux/commit/f971e0c]
+
+Backport patch from upstream to fix module cryptodev loading error.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From f971e0cd4a0ebe59fb2e8e17240399bf6901b09b Mon Sep 17 00:00:00 2001
+From: "Derald D. Woods" <woods.technical@gmail.com>
+Date: Sun, 10 Feb 2019 13:22:19 -0600
+Subject: [PATCH] Fix module loading with Linux v5.0-rc5
+
+This commit fixes this module load error:
+[...]
+[   29.112091] cryptodev: loading out-of-tree module taints kernel.
+[   29.128906] cryptodev: Unknown symbol crypto_givcipher_type (err -2)
+[   29.188842] cryptodev: Unknown symbol crypto_givcipher_type (err -2)
+modprobe: can't load module cryptodev (extra/cryptodev.ko): unknown symbol in module, or unknown parameter
+[...]
+
+Upstream Linux support for unused GIVCIPHER, and others, was dropped here:
+
+c79b411eaa72 (crypto: skcipher - remove remnants of internal IV generators)
+
+Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
+---
+ cryptlib.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/cryptlib.c b/cryptlib.c
+index 6e66698..4a87037 100644
+--- a/cryptlib.c
++++ b/cryptlib.c
+@@ -38,7 +38,9 @@
+ #include "cryptodev_int.h"
+ #include "cipherapi.h"
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0))
+ extern const struct crypto_type crypto_givcipher_type;
++#endif
+ 
+ static void cryptodev_complete(struct crypto_async_request *req, int err)
+ {
+@@ -157,8 +159,11 @@ int cryptodev_cipher_init(struct cipher_data *out, const char *alg_name,
+ 
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0))
+ 		tfm = crypto_skcipher_tfm(out->async.s);
+-		if ((tfm->__crt_alg->cra_type == &crypto_ablkcipher_type) ||
+-		    (tfm->__crt_alg->cra_type == &crypto_givcipher_type)) {
++		if ((tfm->__crt_alg->cra_type == &crypto_ablkcipher_type)
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0))
++		    || (tfm->__crt_alg->cra_type == &crypto_givcipher_type)
++#endif
++							) {
+ 			struct ablkcipher_alg *alg;
+ 
+ 			alg = &tfm->__crt_alg->cra_ablkcipher;
+-- 
+2.20.0
+
diff --git a/poky/meta/recipes-kernel/dtc/dtc.inc b/poky/meta/recipes-kernel/dtc/dtc.inc
index 7a923bf..0650e3c 100644
--- a/poky/meta/recipes-kernel/dtc/dtc.inc
+++ b/poky/meta/recipes-kernel/dtc/dtc.inc
@@ -12,6 +12,8 @@
 
 EXTRA_OEMAKE='NO_PYTHON=1 PREFIX="${prefix}" LIBDIR="${libdir}" DESTDIR="${D}"'
 
+inherit pkgconfig
+
 S = "${WORKDIR}/git"
 
 do_install () {
diff --git a/poky/meta/recipes-kernel/dtc/dtc_1.4.7.bb b/poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb
similarity index 81%
rename from poky/meta/recipes-kernel/dtc/dtc_1.4.7.bb
rename to poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb
index 6ce462a..a9c1317 100644
--- a/poky/meta/recipes-kernel/dtc/dtc_1.4.7.bb
+++ b/poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb
@@ -3,7 +3,7 @@
 LIC_FILES_CHKSUM = "file://GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
 		    file://libfdt/libfdt.h;beginline=3;endline=52;md5=fb360963151f8ec2d6c06b055bcbb68c"
 
-SRCREV = "88f18909db731a627456f26d779445f84e449536"
+SRCREV = "d37f6b20107e952064e3f77e9d6915a9c09d10a6"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0002-powerpc-change-the-memory-size-limit.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0001-powerpc-change-the-memory-size-limit.patch
similarity index 75%
rename from poky/meta/recipes-kernel/kexec/kexec-tools/0002-powerpc-change-the-memory-size-limit.patch
rename to poky/meta/recipes-kernel/kexec/kexec-tools/0001-powerpc-change-the-memory-size-limit.patch
index dc97d93..029650f 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools/0002-powerpc-change-the-memory-size-limit.patch
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0001-powerpc-change-the-memory-size-limit.patch
@@ -1,4 +1,4 @@
-From b19b68eab567aa534cf8dec79fe18e3dc0e14043 Mon Sep 17 00:00:00 2001
+From 211cae4b6a02a4d9d37bfcd76f3702696e095fc3 Mon Sep 17 00:00:00 2001
 From: Quanyang Wang <quanyang.wang@windriver.com>
 Date: Tue, 16 Jun 2015 12:59:57 +0800
 Subject: [PATCH] powerpc: change the memory size limit
@@ -20,11 +20,11 @@
  kexec/arch/ppc/kexec-ppc.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-Index: kexec-tools-2.0.10/kexec/arch/ppc/kexec-ppc.h
-===================================================================
---- kexec-tools-2.0.10.orig/kexec/arch/ppc/kexec-ppc.h
-+++ kexec-tools-2.0.10/kexec/arch/ppc/kexec-ppc.h
-@@ -42,7 +42,7 @@ void dol_ppc_usage(void);
+diff --git a/kexec/arch/ppc/kexec-ppc.h b/kexec/arch/ppc/kexec-ppc.h
+index 04e728e..6bae9ec 100644
+--- a/kexec/arch/ppc/kexec-ppc.h
++++ b/kexec/arch/ppc/kexec-ppc.h
+@@ -44,7 +44,7 @@ void dol_ppc_usage(void);
   * During inital setup the kernel does not map the whole memory but a part of
   * it. On Book-E that is 64MiB, 601 24MiB or 256MiB (if possible).
   */
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-purgatory-Pass-r-directly-to-linker.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch
similarity index 83%
rename from poky/meta/recipes-kernel/kexec/kexec-tools/0001-purgatory-Pass-r-directly-to-linker.patch
rename to poky/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch
index bfd077d..363d5da 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-purgatory-Pass-r-directly-to-linker.patch
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch
@@ -1,4 +1,4 @@
-From a1135b3170963ba956f2364c1283864c35541295 Mon Sep 17 00:00:00 2001
+From a04bcf8f683c1a5a7d015920124457ad56fb7cf0 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 7 Sep 2015 07:59:45 +0000
 Subject: [PATCH] purgatory: Pass -r directly to linker
@@ -8,17 +8,17 @@
 unfiltered
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
 
+Upstream-Status: Pending
+---
  purgatory/Makefile | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/purgatory/Makefile b/purgatory/Makefile
-index 2b5c061..b251353 100644
+index 2dd6c47..416e6b9 100644
 --- a/purgatory/Makefile
 +++ b/purgatory/Makefile
-@@ -61,7 +61,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
+@@ -60,7 +60,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
  			-I$(shell $(CC) -print-file-name=include)
  $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\
  			-Wl,--no-undefined -nostartfiles -nostdlib \
@@ -27,6 +27,3 @@
  			-Wl,-Map=$(PURGATORY_MAP)
  
  $(PURGATORY): $(PURGATORY_OBJS)
--- 
-2.5.1
-
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
similarity index 94%
rename from poky/meta/recipes-kernel/kexec/kexec-tools/0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
rename to poky/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
index 6c6c66d..832fe67 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools/0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
@@ -1,4 +1,4 @@
-From 78e497fb69950665e639cfab8f4fb50cc404a1eb Mon Sep 17 00:00:00 2001
+From 55e583d20651e829afbbc8dba0f8ec3017cda2d5 Mon Sep 17 00:00:00 2001
 From: Haiqing Bai <Haiqing.Bai@windriver.com>
 Date: Mon, 9 Jan 2017 15:26:29 +0800
 Subject: [PATCH] kexec: ARM: Fix add_buffer_phys_virt() align issue
@@ -17,7 +17,7 @@
  1 file changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c
-index 245c21a..12139c3 100644
+index daa4788..3f72b38 100644
 --- a/kexec/arch/arm/crashdump-arm.c
 +++ b/kexec/arch/arm/crashdump-arm.c
 @@ -240,6 +240,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
@@ -47,6 +47,3 @@
  					  crash_kernel_mem.start,
  					  crash_kernel_mem.end, -1, 0);
  
--- 
-1.9.1
-
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0004-x86_64-Add-support-to-build-kexec-tools-with-x32-ABI.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0004-x86_64-Add-support-to-build-kexec-tools-with-x32-ABI.patch
new file mode 100644
index 0000000..a809d5b
--- /dev/null
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0004-x86_64-Add-support-to-build-kexec-tools-with-x32-ABI.patch
@@ -0,0 +1,93 @@
+From 8c9a5076543eb3d497e016b3d7707e93d6311883 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
+Date: Mon, 15 Jul 2013 23:32:36 -0700
+Subject: [PATCH] x86_64: Add support to build kexec-tools with x32 ABI
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Summary of changes,
+
+configure.ac: Add test for detect x32 ABI.
+purgatory/arch/x86_64/Makefile: Not use mcmodel large when
+	x32 ABI is set.
+kexec/arch/x86_64/kexec-elf-rel-x86_64.c: When x32 ABI is set
+	use ELFCLASS32 instead of ELFCLASS64.
+kexec/kexec-syscall.h: Add correct syscall number for x32 ABI.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
+Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
+---
+ configure.ac                             | 9 +++++++++
+ kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 4 ++++
+ kexec/kexec-syscall.h                    | 4 ++++
+ purgatory/arch/x86_64/Makefile           | 4 +++-
+ 4 files changed, 20 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c2b0c68..60882b8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -54,6 +54,15 @@ case $target_cpu in
+ 		;;
+ 	ia64|x86_64|alpha|m68k )
+ 		ARCH="$target_cpu"
++
++		dnl ---Test for x32 ABI in x86_64
++		if test "x$ARCH" = "xx86_64" ; then
++			AC_EGREP_CPP(x32_test,
++			[#if defined(__x86_64__) && defined (__ILP32__)
++				x32_test
++			#endif
++			], SUBARCH='x32', SUBARCH='64')
++		fi
+ 		;;
+ 	* )
+ 		AC_MSG_ERROR([unsupported architecture $target_cpu])
+diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+index db85b44..0ce1172 100644
+--- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
++++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+@@ -8,7 +8,11 @@ int machine_verify_elf_rel(struct mem_ehdr *ehdr)
+ 	if (ehdr->ei_data != ELFDATA2LSB) {
+ 		return 0;
+ 	}
++#ifdef __ILP32__
++	if (ehdr->ei_class != ELFCLASS32) {
++#else
+ 	if (ehdr->ei_class != ELFCLASS64) {
++#endif
+ 		return 0;
+ 	}
+ 	if (ehdr->e_machine != EM_X86_64) {
+diff --git a/kexec/kexec-syscall.h b/kexec/kexec-syscall.h
+index dac1c1f..e9479b7 100644
+--- a/kexec/kexec-syscall.h
++++ b/kexec/kexec-syscall.h
+@@ -31,8 +31,12 @@
+ #define __NR_kexec_load		268
+ #endif
+ #ifdef __x86_64__
++#ifdef __ILP32__
++#define __NR_kexec_load		528
++#else
+ #define __NR_kexec_load		246
+ #endif
++#endif
+ #ifdef __s390x__
+ #define __NR_kexec_load		277
+ #endif
+diff --git a/purgatory/arch/x86_64/Makefile b/purgatory/arch/x86_64/Makefile
+index 7300937..4af11e4 100644
+--- a/purgatory/arch/x86_64/Makefile
++++ b/purgatory/arch/x86_64/Makefile
+@@ -23,4 +23,6 @@ x86_64_PURGATORY_SRCS += purgatory/arch/i386/console-x86.c
+ x86_64_PURGATORY_SRCS += purgatory/arch/i386/vga.c
+ x86_64_PURGATORY_SRCS += purgatory/arch/i386/pic.c
+ 
+-x86_64_PURGATORY_EXTRA_CFLAGS = -mcmodel=large
++ifeq ($(SUBARCH),64)
++        x86_64_PURGATORY_EXTRA_CFLAGS = -mcmodel=large
++endif
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-Disable-PIE-during-link.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch
similarity index 88%
rename from poky/meta/recipes-kernel/kexec/kexec-tools/0001-Disable-PIE-during-link.patch
rename to poky/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch
index 3f2f85e..7a4b854 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-Disable-PIE-during-link.patch
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch
@@ -1,4 +1,4 @@
-From ea7be6d71b85880e8e8a2c8a4f49a696c5f31ae4 Mon Sep 17 00:00:00 2001
+From c54488ad5fd657e0f154d76d7456d9080be24836 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 10 Jun 2017 11:18:49 -0700
 Subject: [PATCH] Disable PIE during link
@@ -14,7 +14,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/purgatory/Makefile b/purgatory/Makefile
-index 564bdb7..a08e41f 100644
+index 416e6b9..f00edb4 100644
 --- a/purgatory/Makefile
 +++ b/purgatory/Makefile
 @@ -59,7 +59,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
@@ -26,6 +26,3 @@
  			-nodefaultlibs -e purgatory_start -Wl,-r \
  			-Wl,-Map=$(PURGATORY_MAP)
  
--- 
-2.13.1
-
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/kexec-x32.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/kexec-x32.patch
deleted file mode 100644
index 26d18eb..0000000
--- a/poky/meta/recipes-kernel/kexec/kexec-tools/kexec-x32.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-x86_64: Add support to build kexec-tools with x32 ABI
-
-Summary of changes,
-
-configure.ac: Add test for detect x32 ABI.
-purgatory/arch/x86_64/Makefile: Not use mcmodel large when
-	x32 ABI is set.
-kexec/arch/x86_64/kexec-elf-rel-x86_64.c: When x32 ABI is set
-	use ELFCLASS32 instead of ELFCLASS64.
-kexec/kexec-syscall.h: Add correct syscall number for x32 ABI.
-
-Upstream-Status: Submitted
-
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
-
----
- configure.ac                             | 9 +++++++++
- kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 4 ++++
- kexec/kexec-syscall.h                    | 4 ++++
- purgatory/arch/x86_64/Makefile           | 4 +++-
- 4 files changed, 20 insertions(+), 1 deletion(-)
-
-Index: kexec-tools-2.0.10/configure.ac
-===================================================================
---- kexec-tools-2.0.10.orig/configure.ac
-+++ kexec-tools-2.0.10/configure.ac
-@@ -56,6 +56,15 @@ case $target_cpu in
- 		;;
- 	ia64|x86_64|alpha|m68k )
- 		ARCH="$target_cpu"
-+
-+		dnl ---Test for x32 ABI in x86_64
-+		if test "x$ARCH" = "xx86_64" ; then
-+			AC_EGREP_CPP(x32_test,
-+			[#if defined(__x86_64__) && defined (__ILP32__)
-+				x32_test
-+			#endif
-+			], SUBARCH='x32', SUBARCH='64')
-+		fi
- 		;;
- 	* )
- 		AC_MSG_ERROR([unsupported architecture $target_cpu])
-Index: kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-===================================================================
---- kexec-tools-2.0.10.orig/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-+++ kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-@@ -8,7 +8,11 @@ int machine_verify_elf_rel(struct mem_eh
- 	if (ehdr->ei_data != ELFDATA2LSB) {
- 		return 0;
- 	}
-+#ifdef __ILP32__
-+	if (ehdr->ei_class != ELFCLASS32) {
-+#else
- 	if (ehdr->ei_class != ELFCLASS64) {
-+#endif
- 		return 0;
- 	}
- 	if (ehdr->e_machine != EM_X86_64) {
-Index: kexec-tools-2.0.10/kexec/kexec-syscall.h
-===================================================================
---- kexec-tools-2.0.10.orig/kexec/kexec-syscall.h
-+++ kexec-tools-2.0.10/kexec/kexec-syscall.h
-@@ -31,8 +31,12 @@
- #define __NR_kexec_load		268
- #endif
- #ifdef __x86_64__
-+#ifdef __ILP32__
-+#define __NR_kexec_load		528
-+#else
- #define __NR_kexec_load		246
- #endif
-+#endif
- #ifdef __s390x__
- #define __NR_kexec_load		277
- #endif
-Index: kexec-tools-2.0.10/purgatory/arch/x86_64/Makefile
-===================================================================
---- kexec-tools-2.0.10.orig/purgatory/arch/x86_64/Makefile
-+++ kexec-tools-2.0.10/purgatory/arch/x86_64/Makefile
-@@ -23,4 +23,6 @@ x86_64_PURGATORY_SRCS += purgatory/arch/
- x86_64_PURGATORY_SRCS += purgatory/arch/i386/vga.c
- x86_64_PURGATORY_SRCS += purgatory/arch/i386/pic.c
- 
--x86_64_PURGATORY_EXTRA_CFLAGS = -mcmodel=large
-+ifeq ($(SUBARCH),64)
-+        x86_64_PURGATORY_EXTRA_CFLAGS = -mcmodel=large
-+endif
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb
index f65cd9f..3439899 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb
@@ -10,15 +10,15 @@
 DEPENDS = "zlib xz"
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz \
-           file://kdump \
-           file://kdump.conf \
-           file://kdump.service \
-           file://0002-powerpc-change-the-memory-size-limit.patch \
-           file://0001-purgatory-Pass-r-directly-to-linker.patch \
-           file://0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \
-           file://kexec-x32.patch \
-           file://0001-Disable-PIE-during-link.patch \
-           "
+    file://kdump \
+    file://kdump.conf \
+    file://kdump.service \
+    file://0001-powerpc-change-the-memory-size-limit.patch \
+    file://0002-purgatory-Pass-r-directly-to-linker.patch \
+    file://0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \
+    file://0004-x86_64-Add-support-to-build-kexec-tools-with-x32-ABI.patch \
+    file://0005-Disable-PIE-during-link.patch \
+"
 
 SRC_URI[md5sum] = "052458f0a35c2a3b0d2302caa3318e9f"
 SRC_URI[sha256sum] = "913c8dee918e5855a4ba60d609371390978144b4c8d15d6446ca0057b7bc5e58"
diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
index 69a8eae..5ec5929 100644
--- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -228,6 +228,9 @@
 
         # required to build scripts/selinux/genheaders/genheaders
         cp -a --parents security/selinux/include/* $kerneldir/build/
+
+	# copy any localversion files
+	cp -a localversion* $kerneldir/build/ 2>/dev/null || :
     )
 
     # Make sure the Makefile and version.h have a matching timestamp so that
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
index 7a0b723..834b8fc 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
@@ -11,13 +11,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "eac4b8fe170fc8745377cb37c5433db69356d6d8"
-SRCREV_meta ?= "55b740965496961a660674aa4e5b8568b1b9fb7e"
+SRCREV_machine ?= "c279a81f1e654023c4cc78afa9f14350ee5f836f"
+SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09"
 
 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-4.19;destsuffix=${KMETA}"
 
-LINUX_VERSION ?= "4.19.30"
+LINUX_VERSION ?= "4.19.34"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
index adffe4e..54f86da 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
@@ -11,13 +11,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "06e1ff79ea9efef052404ee1989cae038b28e954"
-SRCREV_meta ?= "f0b575cda6d03540ff8da2f70421f13a08f34a5e"
+SRCREV_machine ?= "494384666b623a23e19cbbc54574d08e31496a03"
+SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38"
 
 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.0;destsuffix=${KMETA}"
 
-LINUX_VERSION ?= "5.0.3"
+LINUX_VERSION ?= "5.0.7"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
index 84a02af..dea7f2b 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
@@ -6,7 +6,7 @@
 
 require recipes-kernel/linux/linux-yocto.inc
 
-LINUX_VERSION ?= "4.19.30"
+LINUX_VERSION ?= "4.19.34"
 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 ?= "03eb6106990498e86298646c682fce9fc61f2131"
-SRCREV_machine ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
-SRCREV_meta ?= "55b740965496961a660674aa4e5b8568b1b9fb7e"
+SRCREV_machine_qemuarm ?= "6fbb768bd43d85b2cfd905e431101e214c580634"
+SRCREV_machine ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
+SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
index 49c69c4..7201921 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
@@ -6,7 +6,7 @@
 
 require recipes-kernel/linux/linux-yocto.inc
 
-LINUX_VERSION ?= "5.0.3"
+LINUX_VERSION ?= "5.0.7"
 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 ?= "b0477279877bb2b5cca6ec49c64e931901ff2022"
-SRCREV_machine ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
-SRCREV_meta ?= "f0b575cda6d03540ff8da2f70421f13a08f34a5e"
+SRCREV_machine_qemuarm ?= "f07da0a13d6f503b72594776b5e8a9795da6d6a0"
+SRCREV_machine ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
+SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb
index f83a6d6..de4ae92 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb
@@ -11,22 +11,22 @@
 KBRANCH_qemux86-64 ?= "v4.19/standard/base"
 KBRANCH_qemumips64 ?= "v4.19/standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "3df49db2ea9b8e800cb30d5d695d4d2a2f8c1bed"
-SRCREV_machine_qemuarm64 ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
-SRCREV_machine_qemumips ?= "5dc975d0e586edd5d33bce62560f998f9a246be6"
-SRCREV_machine_qemuppc ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
-SRCREV_machine_qemux86 ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
-SRCREV_machine_qemux86-64 ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
-SRCREV_machine_qemumips64 ?= "bb7ae8a8cbe76c9ce2804f651936f059f9f621a2"
-SRCREV_machine ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
-SRCREV_meta ?= "55b740965496961a660674aa4e5b8568b1b9fb7e"
+SRCREV_machine_qemuarm ?= "b266576aa10e76afeded8e13ffce93c4638b8ddb"
+SRCREV_machine_qemuarm64 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
+SRCREV_machine_qemumips ?= "f6ef1a5233db0a1f569d7d6638fa803ebe5c867b"
+SRCREV_machine_qemuppc ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
+SRCREV_machine_qemux86 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
+SRCREV_machine_qemux86-64 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
+SRCREV_machine_qemumips64 ?= "f5b26e4d7a0eee36298d970590c50c26a800b84d"
+SRCREV_machine ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
+SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA} \
           "
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-LINUX_VERSION ?= "4.19.30"
+LINUX_VERSION ?= "4.19.34"
 
 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.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb
index 82bbbd6..ae8f643 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb
@@ -11,15 +11,15 @@
 KBRANCH_qemux86-64 ?= "v5.0/standard/base"
 KBRANCH_qemumips64 ?= "v5.0/standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "18a5ffa0e90184c8503ff1df45e4e5e501b1bab3"
-SRCREV_machine_qemuarm64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
-SRCREV_machine_qemumips ?= "c4d3cd6437329407e2cc7e3e4615769452d426b1"
-SRCREV_machine_qemuppc ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
-SRCREV_machine_qemux86 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
-SRCREV_machine_qemux86-64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
-SRCREV_machine_qemumips64 ?= "2468c20c15477ebe5ecd73c0e0162d7432149318"
-SRCREV_machine ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
-SRCREV_meta ?= "f0b575cda6d03540ff8da2f70421f13a08f34a5e"
+SRCREV_machine_qemuarm ?= "99f3821bdc8718af3ef6e96d594b593d644ab2e4"
+SRCREV_machine_qemuarm64 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
+SRCREV_machine_qemumips ?= "1128cfe6c7915535c4066b75342c952640e65d72"
+SRCREV_machine_qemuppc ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
+SRCREV_machine_qemux86 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
+SRCREV_machine_qemux86-64 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
+SRCREV_machine_qemumips64 ?= "55e385d52db438df1ff7ad3845c9076b2bb221eb"
+SRCREV_machine ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
+SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38"
 
 # remap qemuarm to qemuarma15 for the 5.0 kernel
 # KMACHINE_qemuarm ?= "qemuarma15"
@@ -28,7 +28,7 @@
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-LINUX_VERSION ?= "5.0.3"
+LINUX_VERSION ?= "5.0.7"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
@@ -39,6 +39,7 @@
 KCONF_BSP_AUDIT_LEVEL = "2"
 
 KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
 
 COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
 
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch
deleted file mode 100644
index 351184d..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From 0a0d736ec89dffdbc83e7181166a99d5563acfe8 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 5 Nov 2018 11:35:52 -0500
-Subject: [PATCH 1/9] Fix: signal: Distinguish between kernel_siginfo and
- siginfo (v4.20)
-
-See upstream commit :
-
-  commit ae7795bc6187a15ec51cf258abae656a625f9980
-  Author: Eric W. Biederman <ebiederm@xmission.com>
-  Date:   Tue Sep 25 11:27:20 2018 +0200
-
-    signal: Distinguish between kernel_siginfo and siginfo
-
-    Linus recently observed that if we did not worry about the padding
-    member in struct siginfo it is only about 48 bytes, and 48 bytes is
-    much nicer than 128 bytes for allocating on the stack and copying
-    around in the kernel.
-
-    The obvious thing of only adding the padding when userspace is
-    including siginfo.h won't work as there are sigframe definitions in
-    the kernel that embed struct siginfo.
-
-    So split siginfo in two; kernel_siginfo and siginfo.  Keeping the
-    traditional name for the userspace definition.  While the version that
-    is used internally to the kernel and ultimately will not be padded to
-    128 bytes is called kernel_siginfo.
-
-    The definition of struct kernel_siginfo I have put in include/signal_types.h
-
-    A set of buildtime checks has been added to verify the two structures have
-    the same field offsets.
-
-    To make it easy to verify the change kernel_siginfo retains the same
-    size as siginfo.  The reduction in size comes in a following change.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/0a0d736ec89dffdbc83e7181166a99d5563acfe8
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- instrumentation/events/lttng-module/signal.h | 41 ++++++++++++++++++--
- 1 file changed, 37 insertions(+), 4 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/signal.h b/instrumentation/events/lttng-module/signal.h
-index b3c9126..8783b52 100644
---- a/instrumentation/events/lttng-module/signal.h
-+++ b/instrumentation/events/lttng-module/signal.h
-@@ -35,21 +35,24 @@
-  * SEND_SIG_NOINFO means that si_code is SI_USER, and SEND_SIG_PRIV
-  * means that si_code is SI_KERNEL.
-  */
--#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
- LTTNG_TRACEPOINT_EVENT(signal_generate,
- 
--	TP_PROTO(int sig, struct siginfo *info, struct task_struct *task),
-+	TP_PROTO(int sig, struct kernel_siginfo *info, struct task_struct *task,
-+			int group, int result),
- 
--	TP_ARGS(sig, info, task),
-+	TP_ARGS(sig, info, task, group, result),
- 
- 	TP_FIELDS(
- 		ctf_integer(int, sig, sig)
- 		LTTNG_FIELDS_SIGINFO(info)
- 		ctf_array_text(char, comm, task->comm, TASK_COMM_LEN)
- 		ctf_integer(pid_t, pid, task->pid)
-+		ctf_integer(int, group, group)
-+		ctf_integer(int, result, result)
- 	)
- )
--#else
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
- LTTNG_TRACEPOINT_EVENT(signal_generate,
- 
- 	TP_PROTO(int sig, struct siginfo *info, struct task_struct *task,
-@@ -66,6 +69,20 @@ LTTNG_TRACEPOINT_EVENT(signal_generate,
- 		ctf_integer(int, result, result)
- 	)
- )
-+#else
-+LTTNG_TRACEPOINT_EVENT(signal_generate,
-+
-+	TP_PROTO(int sig, struct siginfo *info, struct task_struct *task),
-+
-+	TP_ARGS(sig, info, task),
-+
-+	TP_FIELDS(
-+		ctf_integer(int, sig, sig)
-+		LTTNG_FIELDS_SIGINFO(info)
-+		ctf_array_text(char, comm, task->comm, TASK_COMM_LEN)
-+		ctf_integer(pid_t, pid, task->pid)
-+	)
-+)
- #endif
- 
- /**
-@@ -82,6 +99,21 @@ LTTNG_TRACEPOINT_EVENT(signal_generate,
-  * This means, this can show which signals are actually delivered, but
-  * matching generated signals and delivered signals may not be correct.
-  */
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
-+LTTNG_TRACEPOINT_EVENT(signal_deliver,
-+
-+	TP_PROTO(int sig, struct kernel_siginfo *info, struct k_sigaction *ka),
-+
-+	TP_ARGS(sig, info, ka),
-+
-+	TP_FIELDS(
-+		ctf_integer(int, sig, sig)
-+		LTTNG_FIELDS_SIGINFO(info)
-+		ctf_integer(unsigned long, sa_handler, (unsigned long) ka->sa.sa_handler)
-+		ctf_integer(unsigned long, sa_flags, ka->sa.sa_flags)
-+	)
-+)
-+#else
- LTTNG_TRACEPOINT_EVENT(signal_deliver,
- 
- 	TP_PROTO(int sig, struct siginfo *info, struct k_sigaction *ka),
-@@ -95,6 +127,7 @@ LTTNG_TRACEPOINT_EVENT(signal_deliver,
- 		ctf_integer(unsigned long, sa_flags, ka->sa.sa_flags)
- 	)
- )
-+#endif
- 
- #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0))
- LTTNG_TRACEPOINT_EVENT_CLASS(signal_queue_overflow,
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch
deleted file mode 100644
index 905b681..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 26bc064a4d4c85e6000393aadb38659f99b59162 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 5 Nov 2018 11:35:53 -0500
-Subject: [PATCH 2/9] Fix: signal: Remove SEND_SIG_FORCED (v4.20)
-
-See upstream commit :
-
-  commit 4ff4c31a6e85f4c49fbeebeaa28018d002884b5a
-  Author: Eric W. Biederman <ebiederm@xmission.com>
-  Date:   Mon Sep 3 10:39:04 2018 +0200
-
-    signal: Remove SEND_SIG_FORCED
-
-    There are no more users of SEND_SIG_FORCED so it may be safely removed.
-
-    Remove the definition of SEND_SIG_FORCED, it's use in is_si_special,
-    it's use in TP_STORE_SIGINFO, and it's use in __send_signal as without
-    any users the uses of SEND_SIG_FORCED are now unncessary.
-
-    This makes the code simpler, easier to understand and use.  Users of
-    signal sending functions now no longer need to ask themselves do I
-    need to use SEND_SIG_FORCED.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/26bc064a4d4c85e6000393aadb38659f99b59162
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> 
-
----
- instrumentation/events/lttng-module/signal.h | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/instrumentation/events/lttng-module/signal.h b/instrumentation/events/lttng-module/signal.h
-index 8783b52..ad8fe69 100644
---- a/instrumentation/events/lttng-module/signal.h
-+++ b/instrumentation/events/lttng-module/signal.h
-@@ -12,6 +12,17 @@
- #include <linux/signal.h>
- #include <linux/sched.h>
- #undef LTTNG_FIELDS_SIGINFO
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
-+#define LTTNG_FIELDS_SIGINFO(info)				\
-+		ctf_integer(int, errno,				\
-+			(info == SEND_SIG_NOINFO || info == SEND_SIG_PRIV) ? \
-+			0 :					\
-+			info->si_errno)				\
-+		ctf_integer(int, code,				\
-+			(info == SEND_SIG_NOINFO) ? 		\
-+			SI_USER : 				\
-+			((info == SEND_SIG_PRIV) ? SI_KERNEL : info->si_code))
-+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0) */
- #define LTTNG_FIELDS_SIGINFO(info)				\
- 		ctf_integer(int, errno,				\
- 			(info == SEND_SIG_NOINFO || info == SEND_SIG_FORCED || info == SEND_SIG_PRIV) ? \
-@@ -21,6 +32,7 @@
- 			(info == SEND_SIG_NOINFO || info == SEND_SIG_FORCED) ? \
- 			SI_USER : 				\
- 			((info == SEND_SIG_PRIV) ? SI_KERNEL : info->si_code))
-+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0) */
- #endif /* _TRACE_SIGNAL_DEF */
- 
- /**
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch
deleted file mode 100644
index 7edffee..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-From cb9f1a821bcf55cecf3813195fd6d4eff8070927 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 5 Nov 2018 11:35:54 -0500
-Subject: [PATCH 3/9] Fix: ext4: adjust reserved cluster count when removing
- extents (v4.20)
-
-See upstream commit :
-
-  commit 9fe671496b6c286f9033aedfc1718d67721da0ae
-  Author: Eric Whitney <enwlinux@gmail.com>
-  Date:   Mon Oct 1 14:25:08 2018 -0400
-
-    ext4: adjust reserved cluster count when removing extents
-
-    Modify ext4_ext_remove_space() and the code it calls to correct the
-    reserved cluster count for pending reservations (delayed allocated
-    clusters shared with allocated blocks) when a block range is removed
-    from the extent tree.  Pending reservations may be found for the clusters
-    at the ends of written or unwritten extents when a block range is removed.
-    If a physical cluster at the end of an extent is freed, it's necessary
-    to increment the reserved cluster count to maintain correct accounting
-    if the corresponding logical cluster is shared with at least one
-    delayed and unwritten extent as found in the extents status tree.
-
-    Add a new function, ext4_rereserve_cluster(), to reapply a reservation
-    on a delayed allocated cluster sharing blocks with a freed allocated
-    cluster.  To avoid ENOSPC on reservation, a flag is applied to
-    ext4_free_blocks() to briefly defer updating the freeclusters counter
-    when an allocated cluster is freed.  This prevents another thread
-    from allocating the freed block before the reservation can be reapplied.
-
-    Redefine the partial cluster object as a struct to carry more state
-    information and to clarify the code using it.
-
-    Adjust the conditional code structure in ext4_ext_remove_space to
-    reduce the indentation level in the main body of the code to improve
-    readability.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/cb9f1a821bcf55cecf3813195fd6d4eff8070927
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
-
----
- instrumentation/events/lttng-module/ext4.h | 72 +++++++++++++++++++++-
- 1 file changed, 69 insertions(+), 3 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h
-index fe6f802..83a80ba 100644
---- a/instrumentation/events/lttng-module/ext4.h
-+++ b/instrumentation/events/lttng-module/ext4.h
-@@ -1602,7 +1602,30 @@ LTTNG_TRACEPOINT_EVENT(ext4_ext_show_extent,
- 	)
- )
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
-+
-+LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks,
-+	TP_PROTO(struct inode *inode, struct ext4_extent *ex,
-+		 ext4_lblk_t from, ext4_fsblk_t to,
-+		 struct partial_cluster *pc),
-+
-+	TP_ARGS(inode, ex, from, to, pc),
-+
-+	TP_FIELDS(
-+		ctf_integer(dev_t, dev, inode->i_sb->s_dev)
-+		ctf_integer(ino_t, ino, inode->i_ino)
-+		ctf_integer(ext4_lblk_t, from, from)
-+		ctf_integer(ext4_lblk_t, to, to)
-+		ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex))
-+		ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block))
-+		ctf_integer(unsigned short, ee_len, ext4_ext_get_actual_len(ex))
-+		ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu)
-+		ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk)
-+		ctf_integer(int, pc_state, pc->state)
-+	)
-+)
-+
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
- 
- LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks,
- 	    TP_PROTO(struct inode *inode, struct ext4_extent *ex,
-@@ -1646,7 +1669,29 @@ LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks,
- 
- #endif
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
-+
-+LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf,
-+	TP_PROTO(struct inode *inode, ext4_lblk_t start,
-+		 struct ext4_extent *ex,
-+		 struct partial_cluster *pc),
-+
-+	TP_ARGS(inode, start, ex, pc),
-+
-+	TP_FIELDS(
-+		ctf_integer(dev_t, dev, inode->i_sb->s_dev)
-+		ctf_integer(ino_t, ino, inode->i_ino)
-+		ctf_integer(ext4_lblk_t, start, start)
-+		ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block))
-+		ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex))
-+		ctf_integer(short, ee_len, ext4_ext_get_actual_len(ex))
-+		ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu)
-+		ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk)
-+		ctf_integer(int, pc_state, pc->state)
-+	)
-+)
-+
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
- 
- LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf,
- 	TP_PROTO(struct inode *inode, ext4_lblk_t start,
-@@ -1733,7 +1778,28 @@ LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space,
- 
- #endif
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
-+
-+LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done,
-+	TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t end,
-+		 int depth, struct partial_cluster *pc, __le16 eh_entries),
-+
-+	TP_ARGS(inode, start, end, depth, pc, eh_entries),
-+
-+	TP_FIELDS(
-+		ctf_integer(dev_t, dev, inode->i_sb->s_dev)
-+		ctf_integer(ino_t, ino, inode->i_ino)
-+		ctf_integer(ext4_lblk_t, start, start)
-+		ctf_integer(ext4_lblk_t, end, end)
-+		ctf_integer(int, depth, depth)
-+		ctf_integer(unsigned short, eh_entries, le16_to_cpu(eh_entries))
-+		ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu)
-+		ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk)
-+		ctf_integer(int, pc_state, pc->state)
-+	)
-+)
-+
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
- 
- LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done,
- 	TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t end,
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-timer-instrumentation-for-RHEL-7.6.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-timer-instrumentation-for-RHEL-7.6.patch
deleted file mode 100644
index b5d50db..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-timer-instrumentation-for-RHEL-7.6.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4eaeb54a27fbf701c2a4908a6e90a978b93deb06 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Thu, 6 Dec 2018 11:31:51 -0500
-Subject: [PATCH 4/9] Fix: timer instrumentation for RHEL 7.6
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/4eaeb54a27fbf701c2a4908a6e90a978b93deb06
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- instrumentation/events/lttng-module/timer.h | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/instrumentation/events/lttng-module/timer.h b/instrumentation/events/lttng-module/timer.h
-index 6f0cb7f..8807ad5 100644
---- a/instrumentation/events/lttng-module/timer.h
-+++ b/instrumentation/events/lttng-module/timer.h
-@@ -44,7 +44,8 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_init,
- 	TP_ARGS(timer)
- )
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0) || \
-+	LTTNG_RHEL_KERNEL_RANGE(3,10,0,957,0,0, 3,11,0,0,0,0))
- /**
-  * timer_start - called when the timer is started
-  * @timer:	pointer to struct timer_list
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch
deleted file mode 100644
index 2266bbd..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch
+++ /dev/null
@@ -1,204 +0,0 @@
-From 0039dbe9891cfdf2c0d04691f83c2f342993dfd7 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Wed, 9 Jan 2019 14:59:15 -0500
-Subject: [PATCH 5/9] Fix: Remove 'type' argument from access_ok() function
- (v5.0)
-
-See upstream commit :
-
-  commit 96d4f267e40f9509e8a66e2b39e8b95655617693
-  Author: Linus Torvalds <torvalds@linux-foundation.org>
-  Date:   Thu Jan 3 18:57:57 2019 -0800
-
-    Remove 'type' argument from access_ok() function
-
-    Nobody has actually used the type (VERIFY_READ vs VERIFY_WRITE) argument
-    of the user address range verification function since we got rid of the
-    old racy i386-only code to walk page tables by hand.
-
-    It existed because the original 80386 would not honor the write protect
-    bit when in kernel mode, so you had to do COW by hand before doing any
-    user access.  But we haven't supported that in a long time, and these
-    days the 'type' argument is a purely historical artifact.
-
-    A discussion about extending 'user_access_begin()' to do the range
-    checking resulted this patch, because there is no way we're going to
-    move the old VERIFY_xyz interface to that model.  And it's best done at
-    the end of the merge window when I've done most of my merges, so let's
-    just get this done once and for all.
-
-    This patch was mostly done with a sed-script, with manual fix-ups for
-    the cases that weren't of the trivial 'access_ok(VERIFY_xyz' form.
-
-    There were a couple of notable cases:
-
-     - csky still had the old "verify_area()" name as an alias.
-
-     - the iter_iov code had magical hardcoded knowledge of the actual
-       values of VERIFY_{READ,WRITE} (not that they mattered, since nothing
-       really used it)
-
-     - microblaze used the type argument for a debug printout
-
-    but other than those oddities this should be a total no-op patch.
-
-    I tried to fix up all architectures, did fairly extensive grepping for
-    access_ok() uses, and the changes are trivial, but I may have missed
-    something.  Any missed conversion should be trivially fixable, though.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/0039dbe9891cfdf2c0d04691f83c2f342993dfd7
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- lib/ringbuffer/backend.h              |  8 ++++----
- lib/ringbuffer/ring_buffer_iterator.c |  3 ++-
- lttng-filter-interpreter.c            |  4 ++--
- probes/lttng-probe-user.c             |  3 ++-
- wrapper/uaccess.h                     | 28 +++++++++++++++++++++++++++
- 5 files changed, 38 insertions(+), 8 deletions(-)
- create mode 100644 wrapper/uaccess.h
-
-diff --git a/lib/ringbuffer/backend.h b/lib/ringbuffer/backend.h
-index 0b75de8..3f8c108 100644
---- a/lib/ringbuffer/backend.h
-+++ b/lib/ringbuffer/backend.h
-@@ -34,7 +34,7 @@
- #include <linux/list.h>
- #include <linux/fs.h>
- #include <linux/mm.h>
--#include <linux/uaccess.h>
-+#include <wrapper/uaccess.h>
- 
- /* Internal helpers */
- #include <wrapper/ringbuffer/backend_internal.h>
-@@ -302,7 +302,7 @@ void lib_ring_buffer_copy_from_user_inatomic(const struct lib_ring_buffer_config
- 
- 	set_fs(KERNEL_DS);
- 	pagefault_disable();
--	if (unlikely(!access_ok(VERIFY_READ, src, len)))
-+	if (unlikely(!lttng_access_ok(VERIFY_READ, src, len)))
- 		goto fill_buffer;
- 
- 	if (likely(pagecpy == len)) {
-@@ -372,7 +372,7 @@ void lib_ring_buffer_strcpy_from_user_inatomic(const struct lib_ring_buffer_conf
- 
- 	set_fs(KERNEL_DS);
- 	pagefault_disable();
--	if (unlikely(!access_ok(VERIFY_READ, src, len)))
-+	if (unlikely(!lttng_access_ok(VERIFY_READ, src, len)))
- 		goto fill_buffer;
- 
- 	if (likely(pagecpy == len)) {
-@@ -462,7 +462,7 @@ unsigned long lib_ring_buffer_copy_from_user_check_nofault(void *dest,
- 	unsigned long ret;
- 	mm_segment_t old_fs;
- 
--	if (!access_ok(VERIFY_READ, src, len))
-+	if (!lttng_access_ok(VERIFY_READ, src, len))
- 		return 1;
- 	old_fs = get_fs();
- 	set_fs(KERNEL_DS);
-diff --git a/lib/ringbuffer/ring_buffer_iterator.c b/lib/ringbuffer/ring_buffer_iterator.c
-index 61eaa5b..9645946 100644
---- a/lib/ringbuffer/ring_buffer_iterator.c
-+++ b/lib/ringbuffer/ring_buffer_iterator.c
-@@ -27,6 +27,7 @@
- 
- #include <wrapper/ringbuffer/iterator.h>
- #include <wrapper/file.h>
-+#include <wrapper/uaccess.h>
- #include <linux/jiffies.h>
- #include <linux/delay.h>
- #include <linux/module.h>
-@@ -621,7 +622,7 @@ ssize_t channel_ring_buffer_file_read(struct file *filp,
- 	ssize_t len;
- 
- 	might_sleep();
--	if (!access_ok(VERIFY_WRITE, user_buf, count))
-+	if (!lttng_access_ok(VERIFY_WRITE, user_buf, count))
- 		return -EFAULT;
- 
- 	/* Finish copy of previous record */
-diff --git a/lttng-filter-interpreter.c b/lttng-filter-interpreter.c
-index e131462..bee2918 100644
---- a/lttng-filter-interpreter.c
-+++ b/lttng-filter-interpreter.c
-@@ -24,7 +24,7 @@
-  * SOFTWARE.
-  */
- 
--#include <linux/uaccess.h>
-+#include <wrapper/uaccess.h>
- #include <wrapper/frame.h>
- #include <wrapper/types.h>
- 
-@@ -46,7 +46,7 @@ char get_char(struct estack_entry *reg, size_t offset)
- 		char c;
- 
- 		/* Handle invalid access as end of string. */
--		if (unlikely(!access_ok(VERIFY_READ,
-+		if (unlikely(!lttng_access_ok(VERIFY_READ,
- 				reg->u.s.user_str + offset,
- 				sizeof(c))))
- 			return '\0';
-diff --git a/probes/lttng-probe-user.c b/probes/lttng-probe-user.c
-index 099a66b..ed566dd 100644
---- a/probes/lttng-probe-user.c
-+++ b/probes/lttng-probe-user.c
-@@ -20,6 +20,7 @@
- 
- #include <linux/uaccess.h>
- #include <linux/module.h>
-+#include <wrapper/uaccess.h>
- #include <probes/lttng-probe-user.h>
- 
- /*
-@@ -43,7 +44,7 @@ long lttng_strlen_user_inatomic(const char *addr)
- 		char v;
- 		unsigned long ret;
- 
--		if (unlikely(!access_ok(VERIFY_READ,
-+		if (unlikely(!lttng_access_ok(VERIFY_READ,
- 				(__force const char __user *) addr,
- 				sizeof(v))))
- 			break;
-diff --git a/wrapper/uaccess.h b/wrapper/uaccess.h
-new file mode 100644
-index 0000000..c56427c
---- /dev/null
-+++ b/wrapper/uaccess.h
-@@ -0,0 +1,28 @@
-+/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
-+ *
-+ * wrapper/uaccess.h
-+ *
-+ * wrapper around linux/uaccess.h.
-+ *
-+ * Copyright (C) 2019 Michael Jeanson <mjeanson@efficios.com>
-+ */
-+
-+#ifndef _LTTNG_WRAPPER_UACCESS_H
-+#define _LTTNG_WRAPPER_UACCESS_H
-+
-+#include <linux/uaccess.h>
-+#include <lttng-kernel-version.h>
-+
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
-+
-+#define VERIFY_READ	0
-+#define VERIFY_WRITE	1
-+#define lttng_access_ok(type, addr, size) access_ok(addr, size)
-+
-+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0) */
-+
-+#define lttng_access_ok(type, addr, size) access_ok(type, addr, size)
-+
-+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0) */
-+
-+#endif /* _LTTNG_WRAPPER_UACCESS_H */
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch
deleted file mode 100644
index 089486f..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-From 89f0be35e1baf411df6852014013ac64ad1bbcf8 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Wed, 9 Jan 2019 14:59:16 -0500
-Subject: [PATCH 6/9] Fix: Replace pointer values with task->tk_pid and
- rpc_clnt->cl_clid
-
-Introduced in v3.12.
-
-See upstream commit :
-
-  commit 92cb6c5be8134db6f7c38f25f6afd13e444cebaf
-  Author: Trond Myklebust <Trond.Myklebust@netapp.com>
-  Date:   Wed Sep 4 22:09:50 2013 -0400
-
-    SUNRPC: Replace pointer values with task->tk_pid and rpc_clnt->cl_clid
-
-    Instead of the pointer values, use the task and client identifier values
-    for tracing purposes.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/89f0be35e1baf411df6852014013ac64ad1bbcf8
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- instrumentation/events/lttng-module/rpc.h | 108 ++++++++++++++++++++--
- 1 file changed, 102 insertions(+), 6 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/rpc.h b/instrumentation/events/lttng-module/rpc.h
-index b9e45fe..a4ac557 100644
---- a/instrumentation/events/lttng-module/rpc.h
-+++ b/instrumentation/events/lttng-module/rpc.h
-@@ -8,6 +8,20 @@
- #include <linux/sunrpc/sched.h>
- #include <linux/sunrpc/clnt.h>
- 
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
-+LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
-+
-+	TP_PROTO(struct rpc_task *task),
-+
-+	TP_ARGS(task),
-+
-+	TP_FIELDS(
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
-+		ctf_integer(int, status, task->tk_status)
-+	)
-+)
-+#else
- LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
- 
- 	TP_PROTO(struct rpc_task *task),
-@@ -20,6 +34,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
- 		ctf_integer(int, status, task->tk_status)
- 	)
- )
-+#endif
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
- 	TP_PROTO(struct rpc_task *task),
-@@ -40,8 +55,8 @@ LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
- 	TP_ARGS(task),
- 
- 	TP_FIELDS(
--		ctf_integer_hex(const struct rpc_task *, task, task)
--		ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
- 		ctf_integer(int, status, task->tk_status)
- 	)
- )
-@@ -53,8 +68,8 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
- 	TP_ARGS(task, action),
- 
- 	TP_FIELDS(
--		ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
--		ctf_integer_hex(const struct rpc_task *, task, task)
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
- 		ctf_integer_hex(const void *, action, action)
- 		ctf_integer(unsigned long, runstate, task->tk_runstate)
- 		ctf_integer(int, status, task->tk_status)
-@@ -90,8 +105,8 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
- 	TP_ARGS(task, q),
- 
- 	TP_FIELDS(
--		ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
--		ctf_integer_hex(const struct rpc_task *, task, task)
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
- 		ctf_integer(unsigned long, timeout, task->tk_timeout)
- 		ctf_integer(unsigned long, runstate, task->tk_runstate)
- 		ctf_integer(int, status, task->tk_status)
-@@ -114,6 +129,87 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
- 	TP_ARGS(task, q)
- )
- 
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
-+LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
-+	TP_PROTO(struct rpc_task *task, int status),
-+
-+	TP_ARGS(task, status),
-+
-+	TP_FIELDS(
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
-+		ctf_integer(int, status, status)
-+	)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
-+
-+	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
-+
-+	TP_ARGS(clnt, task, action),
-+
-+	TP_FIELDS(
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
-+		ctf_integer_hex(const void *, action, action)
-+		ctf_integer(unsigned long, runstate, task->tk_runstate)
-+		ctf_integer(int, status, task->tk_status)
-+		ctf_integer(unsigned short, flags, task->tk_flags)
-+	)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_begin,
-+
-+	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
-+
-+	TP_ARGS(clnt, task, action)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_run_action,
-+
-+	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
-+
-+	TP_ARGS(clnt, task, action)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_complete,
-+
-+	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
-+
-+	TP_ARGS(clnt, task, action)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
-+
-+	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
-+
-+	TP_ARGS(clnt, task, q),
-+
-+	TP_FIELDS(
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
-+		ctf_integer(unsigned long, timeout, task->tk_timeout)
-+		ctf_integer(unsigned long, runstate, task->tk_runstate)
-+		ctf_integer(int, status, task->tk_status)
-+		ctf_integer(unsigned short, flags, task->tk_flags)
-+		ctf_string(q_name, rpc_qname(q))
-+	)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_sleep,
-+
-+	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
-+
-+	TP_ARGS(clnt, task, q)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
-+
-+	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
-+
-+	TP_ARGS(clnt, task, q)
-+)
-+
- #else
- LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
- 	TP_PROTO(struct rpc_task *task, int status),
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch
deleted file mode 100644
index f367330..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-From d11b568681f87c2df6ecb0516d3f16d153f24bd2 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Wed, 9 Jan 2019 14:59:17 -0500
-Subject: [PATCH 7/9] Fix: SUNRPC: Simplify defining common RPC trace events
- (v5.0)
-
-See upstream commit :
-
-  commit dc5820bd21d84ee34770b0a1e2fca9378f8f7456
-  Author: Chuck Lever <chuck.lever@oracle.com>
-  Date:   Wed Dec 19 11:00:16 2018 -0500
-
-    SUNRPC: Simplify defining common RPC trace events
-
-    Clean up, no functional change is expected.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/d11b568681f87c2df6ecb0516d3f16d153f24bd2
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- instrumentation/events/lttng-module/rpc.h | 99 ++++++++++++++++-------
- 1 file changed, 72 insertions(+), 27 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/rpc.h b/instrumentation/events/lttng-module/rpc.h
-index a4ac557..4239280 100644
---- a/instrumentation/events/lttng-module/rpc.h
-+++ b/instrumentation/events/lttng-module/rpc.h
-@@ -8,7 +8,32 @@
- #include <linux/sunrpc/sched.h>
- #include <linux/sunrpc/clnt.h>
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
-+LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
-+
-+	TP_PROTO(const struct rpc_task *task),
-+
-+	TP_ARGS(task),
-+
-+	TP_FIELDS(
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
-+		ctf_integer(int, status, task->tk_status)
-+	)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
-+	TP_PROTO(const struct rpc_task *task),
-+
-+	TP_ARGS(task)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status,
-+	TP_PROTO(const struct rpc_task *task),
-+
-+	TP_ARGS(task)
-+)
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
- LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
- 
- 	TP_PROTO(struct rpc_task *task),
-@@ -21,6 +46,18 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
- 		ctf_integer(int, status, task->tk_status)
- 	)
- )
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
-+	TP_PROTO(struct rpc_task *task),
-+
-+	TP_ARGS(task)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status,
-+	TP_PROTO(struct rpc_task *task),
-+
-+	TP_ARGS(task)
-+)
- #else
- LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
- 
-@@ -34,7 +71,6 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
- 		ctf_integer(int, status, task->tk_status)
- 	)
- )
--#endif
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
- 	TP_PROTO(struct rpc_task *task),
-@@ -47,8 +83,15 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status,
- 
- 	TP_ARGS(task)
- )
-+#endif
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_connect_status,
-+	TP_PROTO(const struct rpc_task *task),
-+
-+	TP_ARGS(task)
-+)
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
- LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
- 	TP_PROTO(const struct rpc_task *task),
- 
-@@ -60,7 +103,33 @@ LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
- 		ctf_integer(int, status, task->tk_status)
- 	)
- )
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
-+LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
-+	TP_PROTO(struct rpc_task *task, int status),
-+
-+	TP_ARGS(task, status),
-+
-+	TP_FIELDS(
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
-+		ctf_integer(int, status, status)
-+	)
-+)
-+#else
-+LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
-+	TP_PROTO(struct rpc_task *task, int status),
-+
-+	TP_ARGS(task, status),
-+
-+	TP_FIELDS(
-+		ctf_integer_hex(const struct rpc_task *, task, task)
-+		ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
-+		ctf_integer(int, status, status)
-+	)
-+)
-+#endif
- 
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
- LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
- 
- 	TP_PROTO(const struct rpc_task *task, const void *action),
-@@ -130,18 +199,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
- )
- 
- #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
--LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
--	TP_PROTO(struct rpc_task *task, int status),
--
--	TP_ARGS(task, status),
--
--	TP_FIELDS(
--		ctf_integer(unsigned int, task_id, task->tk_pid)
--		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
--		ctf_integer(int, status, status)
--	)
--)
--
- LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
- 
- 	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
-@@ -211,18 +268,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
- )
- 
- #else
--LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
--	TP_PROTO(struct rpc_task *task, int status),
--
--	TP_ARGS(task, status),
--
--	TP_FIELDS(
--		ctf_integer_hex(const struct rpc_task *, task, task)
--		ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
--		ctf_integer(int, status, status)
--	)
--)
--
- LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
- 
- 	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch
deleted file mode 100644
index 5f12989..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch
+++ /dev/null
@@ -1,341 +0,0 @@
-From 8af8245f6f86370d01cc4acaabafb90de45e143f Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Thu, 10 Jan 2019 14:56:15 -0500
-Subject: [PATCH 8/9] Fix: btrfs: Remove fsid/metadata_fsid fields from
- btrfs_info
-
-Introduced in v5.0.
-
-See upstream commit :
-
-  commit de37aa513105f864d3c21105bf5542d498f21ca2
-  Author: Nikolay Borisov <nborisov@suse.com>
-  Date:   Tue Oct 30 16:43:24 2018 +0200
-
-    btrfs: Remove fsid/metadata_fsid fields from btrfs_info
-
-    Currently btrfs_fs_info structure contains a copy of the
-    fsid/metadata_uuid fields. Same values are also contained in the
-    btrfs_fs_devices structure which fs_info has a reference to. Let's
-    reduce duplication by removing the fields from fs_info and always refer
-    to the ones in fs_devices. No functional changes.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/8af8245f6f86370d01cc4acaabafb90de45e143f
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- instrumentation/events/lttng-module/btrfs.h | 100 +++++++++++---------
- 1 file changed, 53 insertions(+), 47 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/btrfs.h b/instrumentation/events/lttng-module/btrfs.h
-index 4dfbf5b..ec45a1e 100644
---- a/instrumentation/events/lttng-module/btrfs.h
-+++ b/instrumentation/events/lttng-module/btrfs.h
-@@ -32,6 +32,12 @@ struct extent_state;
- 
- #define BTRFS_UUID_SIZE 16
- 
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
-+#define lttng_fs_info_fsid fs_info->fs_devices->fsid
-+#else
-+#define lttng_fs_info_fsid fs_info->fsid
-+#endif
-+
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
- 	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) || \
-@@ -629,7 +635,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group,
- 	TP_ARGS(fs_info, block_group, create),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
-+		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- 		ctf_integer(u64, offset, block_group->key.objectid)
- 		ctf_integer(u64, size, block_group->key.offset)
- 		ctf_integer(u64, flags, block_group->flags)
-@@ -647,7 +653,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group,
- 	TP_ARGS(fs_info, block_group, create),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
-+		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- 		ctf_integer(u64, offset, block_group->key.objectid)
- 		ctf_integer(u64, size, block_group->key.offset)
- 		ctf_integer(u64, flags, block_group->flags)
-@@ -1015,18 +1021,18 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk,  btrfs_chunk_alloc,
- 
--	TP_PROTO(const struct btrfs_fs_info *info, const struct map_lookup *map,
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map,
- 		 u64 offset, u64 size),
- 
--	TP_ARGS(info, map, offset, size)
-+	TP_ARGS(fs_info, map, offset, size)
- )
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk,  btrfs_chunk_free,
- 
--	TP_PROTO(const struct btrfs_fs_info *info, const struct map_lookup *map,
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map,
- 		 u64 offset, u64 size),
- 
--	TP_ARGS(info, map, offset, size)
-+	TP_ARGS(fs_info, map, offset, size)
- )
- 
- #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
-@@ -1050,18 +1056,18 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk,  btrfs_chunk_alloc,
- 
--	TP_PROTO(struct btrfs_fs_info *info, struct map_lookup *map,
-+	TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map,
- 		 u64 offset, u64 size),
- 
--	TP_ARGS(info, map, offset, size)
-+	TP_ARGS(fs_info, map, offset, size)
- )
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk,  btrfs_chunk_free,
- 
--	TP_PROTO(struct btrfs_fs_info *info, struct map_lookup *map,
-+	TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map,
- 		 u64 offset, u64 size),
- 
--	TP_ARGS(info, map, offset, size)
-+	TP_ARGS(fs_info, map, offset, size)
- )
- 
- #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
-@@ -1192,7 +1198,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
- 	TP_ARGS(fs_info, type, val, bytes, reserve),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
-+		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- 		ctf_string(type, type)
- 		ctf_integer(u64, val, val)
- 		ctf_integer(u64, bytes, bytes)
-@@ -1208,7 +1214,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
- 	TP_ARGS(fs_info, type, val, bytes, reserve),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
-+		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- 		ctf_string(type, type)
- 		ctf_integer(u64, val, val)
- 		ctf_integer(u64, bytes, bytes)
-@@ -1221,9 +1227,9 @@ LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
- 
- LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
- 
--	TP_PROTO(const struct btrfs_fs_info *info, u64 start, u64 len),
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len),
- 
--	TP_ARGS(info, start, len),
-+	TP_ARGS(fs_info, start, len),
- 
- 	TP_FIELDS(
- 		ctf_integer(u64, start, start)
-@@ -1233,25 +1239,25 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent,  btrfs_reserved_extent_alloc,
- 
--	TP_PROTO(const struct btrfs_fs_info *info, u64 start, u64 len),
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len),
- 
--	TP_ARGS(info, start, len)
-+	TP_ARGS(fs_info, start, len)
- )
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent,  btrfs_reserved_extent_free,
- 
--	TP_PROTO(const struct btrfs_fs_info *info, u64 start, u64 len),
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len),
- 
--	TP_ARGS(info, start, len)
-+	TP_ARGS(fs_info, start, len)
- )
- 
- #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
- 
- LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
- 
--	TP_PROTO(struct btrfs_fs_info *info, u64 start, u64 len),
-+	TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len),
- 
--	TP_ARGS(info, start, len),
-+	TP_ARGS(fs_info, start, len),
- 
- 	TP_FIELDS(
- 		ctf_integer(u64, start, start)
-@@ -1261,16 +1267,16 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent,  btrfs_reserved_extent_alloc,
- 
--	TP_PROTO(struct btrfs_fs_info *info, u64 start, u64 len),
-+	TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len),
- 
--	TP_ARGS(info, start, len)
-+	TP_ARGS(fs_info, start, len)
- )
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent,  btrfs_reserved_extent_free,
- 
--	TP_PROTO(struct btrfs_fs_info *info, u64 start, u64 len),
-+	TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len),
- 
--	TP_ARGS(info, start, len)
-+	TP_ARGS(fs_info, start, len)
- )
- 
- #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
-@@ -1341,13 +1347,13 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
- 
- 	btrfs_find_free_extent,
- 
--	TP_PROTO(const struct btrfs_fs_info *info, u64 num_bytes, u64 empty_size,
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
- 		 u64 data),
- 
--	TP_ARGS(info, num_bytes, empty_size, data),
-+	TP_ARGS(fs_info, num_bytes, empty_size, data),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
-+		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)
-@@ -1362,7 +1368,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
- 	TP_ARGS(block_group, start, len),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, block_group->fs_info->fsid, BTRFS_UUID_SIZE)
-+		ctf_array(u8, fsid, block_group->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- 		ctf_integer(u64, bg_objectid, block_group->key.objectid)
- 		ctf_integer(u64, flags, block_group->flags)
- 		ctf_integer(u64, start, start)
-@@ -1391,13 +1397,13 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
- 
- 	btrfs_find_free_extent,
- 
--	TP_PROTO(const struct btrfs_fs_info *info, u64 num_bytes, u64 empty_size,
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
- 		 u64 data),
- 
--	TP_ARGS(info, num_bytes, empty_size, data),
-+	TP_ARGS(fs_info, num_bytes, empty_size, data),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
-+		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)
-@@ -1406,14 +1412,14 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
- 
- LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
- 
--	TP_PROTO(const struct btrfs_fs_info *info,
-+	TP_PROTO(const struct btrfs_fs_info *fs_info,
- 		 const struct btrfs_block_group_cache *block_group, u64 start,
- 		 u64 len),
- 
--	TP_ARGS(info, block_group, start, len),
-+	TP_ARGS(fs_info, block_group, start, len),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
-+		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- 		ctf_integer(u64, bg_objectid, block_group->key.objectid)
- 		ctf_integer(u64, flags, block_group->flags)
- 		ctf_integer(u64, start, start)
-@@ -1423,20 +1429,20 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
- 
--	TP_PROTO(const struct btrfs_fs_info *info,
-+	TP_PROTO(const struct btrfs_fs_info *fs_info,
- 		 const struct btrfs_block_group_cache *block_group, u64 start,
- 		 u64 len),
- 
--	TP_ARGS(info, block_group, start, len)
-+	TP_ARGS(fs_info, block_group, start, len)
- )
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
- 
--	TP_PROTO(const struct btrfs_fs_info *info,
-+	TP_PROTO(const struct btrfs_fs_info *fs_info,
- 		 const struct btrfs_block_group_cache *block_group, u64 start,
- 		 u64 len),
- 
--	TP_ARGS(info, block_group, start, len)
-+	TP_ARGS(fs_info, block_group, start, len)
- )
- 
- #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
-@@ -1445,13 +1451,13 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
- 
- 	btrfs_find_free_extent,
- 
--	TP_PROTO(struct btrfs_fs_info *info, u64 num_bytes, u64 empty_size,
-+	TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
- 		 u64 data),
- 
--	TP_ARGS(info, num_bytes, empty_size, data),
-+	TP_ARGS(fs_info, num_bytes, empty_size, data),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
-+		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)
-@@ -1460,11 +1466,11 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
- 
- LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
- 
--	TP_PROTO(struct btrfs_fs_info *info,
-+	TP_PROTO(struct btrfs_fs_info *fs_info,
- 		 struct btrfs_block_group_cache *block_group, u64 start,
- 		 u64 len),
- 
--	TP_ARGS(info, block_group, start, len),
-+	TP_ARGS(fs_info, block_group, start, len),
- 
- 	TP_FIELDS(
- 		ctf_integer(u64, bg_objectid, block_group->key.objectid)
-@@ -1476,20 +1482,20 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
- 
--	TP_PROTO(struct btrfs_fs_info *info,
-+	TP_PROTO(struct btrfs_fs_info *fs_info,
- 		 struct btrfs_block_group_cache *block_group, u64 start,
- 		 u64 len),
- 
--	TP_ARGS(info, block_group, start, len)
-+	TP_ARGS(fs_info, block_group, start, len)
- )
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
- 
--	TP_PROTO(struct btrfs_fs_info *info,
-+	TP_PROTO(struct btrfs_fs_info *fs_info,
- 		 struct btrfs_block_group_cache *block_group, u64 start,
- 		 u64 len),
- 
--	TP_ARGS(info, block_group, start, len)
-+	TP_ARGS(fs_info, block_group, start, len)
- )
- #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) || \
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch
deleted file mode 100644
index 4ffe488..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 416cee8707053a9015dfec8332e12f8c263098e3 Mon Sep 17 00:00:00 2001
-From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Date: Thu, 14 Feb 2019 11:40:50 -0500
-Subject: [PATCH 9/9] Cleanup: tp mempool: Remove logically dead code
-
-Found by Coverity:
-CID 1391045 (#1 of 1): Logically dead code (DEADCODE)
-
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/416cee8707053a9015dfec8332e12f8c263098e3
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- lttng-tp-mempool.c | 11 ++---------
- 1 file changed, 2 insertions(+), 9 deletions(-)
-
-diff --git a/lttng-tp-mempool.c b/lttng-tp-mempool.c
-index d984bd4..21e8376 100644
---- a/lttng-tp-mempool.c
-+++ b/lttng-tp-mempool.c
-@@ -151,19 +151,12 @@ void lttng_tp_mempool_free(void *ptr)
- 	struct lttng_tp_buf_entry *entry;
- 	struct per_cpu_buf *cpu_buf;
- 
--	if (!ptr) {
-+	if (!ptr)
- 		goto end;
--	}
--
- 	entry = container_of(ptr, struct lttng_tp_buf_entry, buf);
--	if (!entry) {
--		goto end;
--	}
--
- 	cpu_buf = per_cpu_ptr(pool, entry->cpu);
--	if (!cpu_buf) {
-+	if (!cpu_buf)
- 		goto end;
--	}
- 	/* Add it to the free list. */
- 	list_add_tail(&entry->list, &cpu_buf->free_list);
- 
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.8.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb
similarity index 61%
rename from poky/meta/recipes-kernel/lttng/lttng-modules_2.10.8.bb
rename to poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb
index 15e75e5..70a6843 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.8.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb
@@ -15,19 +15,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-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch \
-           file://0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch \
-           file://0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch \
-           file://0004-Fix-timer-instrumentation-for-RHEL-7.6.patch \
-           file://0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch \
-           file://0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch \
-           file://0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch \
-           file://0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch \
-           file://0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch \
            "
 
-SRC_URI[md5sum] = "54bd9fca61487bbec1b3fca2f2213c98"
-SRC_URI[sha256sum] = "fe1d269bca723e8948af871c322c37d3900e647cdc5eb3efbe821e434beee44c"
+SRC_URI[md5sum] = "09df0ac2e8f245740a2f32411d10c0d1"
+SRC_URI[sha256sum] = "a1855bbd02d0f71ebd180e9872309862036624f012442ab9cc5852eb60340145"
 
 export INSTALL_MOD_DIR="kernel/lttng-modules"
 
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch
index e07c227..30aa66b 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch
@@ -3,7 +3,7 @@
 Date: Mon, 25 Mar 2019 14:24:51 -0400
 Subject: [2/2] tests: check for lttng-modules presence
 
-Upstream-status: Accepted [5da3fc8579a9f93ea4767729a107784bf2d034ae]
+Upstream-Status: Accepted [5da3fc8579a9f93ea4767729a107784bf2d034ae]
 Backported to 2.11 and 2.10
 
 Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch
index 5437de2..a3362ea 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch
@@ -55,6 +55,8 @@
 if we need to warn or not.
 
 Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+
+Upstream-Status: Submitted [https://patchwork.lttng.org/patch/2314703]
 ---
  src/bin/lttng-consumerd/health-consumerd.c   | 10 ++-
  src/bin/lttng-relayd/health-relayd.c         | 20 ++++--
diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb
index 5acdcfb..4e603f1 100644
--- a/poky/meta/recipes-kernel/perf/perf.bb
+++ b/poky/meta/recipes-kernel/perf/perf.bb
@@ -238,7 +238,7 @@
 
     # unistd.h can be out of sync between libc-headers and the captured version in the perf source
     # so we copy it from the sysroot unistd.h to the perf unistd.h
-    cp ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h
+    install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h
 }
 
 python do_package_prepend() {
@@ -271,3 +271,4 @@
 
 
 INHIBIT_PACKAGE_DEBUG_SPLIT="1"
+DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized"
diff --git a/poky/meta/recipes-kernel/sysprof/sysprof_3.30.2.bb b/poky/meta/recipes-kernel/sysprof/sysprof_3.32.0.bb
similarity index 87%
rename from poky/meta/recipes-kernel/sysprof/sysprof_3.30.2.bb
rename to poky/meta/recipes-kernel/sysprof/sysprof_3.32.0.bb
index 24e49cb..b929338 100644
--- a/poky/meta/recipes-kernel/sysprof/sysprof_3.30.2.bb
+++ b/poky/meta/recipes-kernel/sysprof/sysprof_3.32.0.bb
@@ -9,8 +9,8 @@
 
 DEPENDS = "glib-2.0 libxml2-native glib-2.0-native"
 
-SRC_URI[archive.md5sum] = "80cb47906eced2e7b9976bf00deec323"
-SRC_URI[archive.sha256sum] = "e90878e5a509bd79d170a7a51d47cc5508ab1363afaf0d97654373dfd9c8ba0b"
+SRC_URI[archive.md5sum] = "d1fa9ad216419d722770ca36713ad3af"
+SRC_URI[archive.sha256sum] = "fc22a69e468701c5ec9036e960c6273afa1ed6a89df1f889fed49417add5554d"
 SRC_URI += " \
            file://define-NT_GNU_BUILD_ID.patch \
            file://0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch \
