diff --git a/.gitignore b/.gitignore
index ddaad8d..a02940f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
-SOURCES/kernel-rt-3.10.0-1160.25.1.rt56.1162.tar.xz
+SOURCES/kernel-rt-3.10.0-1160.31.1.rt56.1169.tar.xz
 SOURCES/rheldup3.x509
 SOURCES/rhelkpatch1.x509
diff --git a/.kernel-rt.metadata b/.kernel-rt.metadata
index 56e87f8..13536fe 100644
--- a/.kernel-rt.metadata
+++ b/.kernel-rt.metadata
@@ -1,3 +1,3 @@
-878cb0a2d3ab2a6265d6d61e126b4c43ad042745 SOURCES/kernel-rt-3.10.0-1160.25.1.rt56.1162.tar.xz
+f162342f1f43b84a765c80eeb98a1d4d716004f2 SOURCES/kernel-rt-3.10.0-1160.31.1.rt56.1169.tar.xz
 95b9b811c7b0a6c98b2eafc4e7d6d24f2cb63289 SOURCES/rheldup3.x509
 d90885108d225a234a5a9d054fc80893a5bd54d0 SOURCES/rhelkpatch1.x509
diff --git a/SPECS/kernel-rt.spec b/SPECS/kernel-rt.spec
index 8577dee..7549d76 100644
--- a/SPECS/kernel-rt.spec
+++ b/SPECS/kernel-rt.spec
@@ -6,10 +6,10 @@ Summary: The Linux Realtime kernel
 %global dist .el7
 
 # realtimeN
-%global rtbuild 1162
+%global rtbuild 1169
 
 # RHEL7 build number
-%global rhel_build 1160.25.1
+%global rhel_build 1160.31.1
 
 # The preempt RT patch level
 %global rttag rt56
@@ -1454,6 +1454,63 @@ fi
 %endif
 
 %changelog
+* Tue Jun 01 2021 Scott Wood <swood@redhat.com> [3.10.0-1160.31.1.rt56.1169.el7]
+- [rt] Update source tree to match RHEL rhel-7.9.z tree [1953118]
+- mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault() (Philipp Rudo) [1917840]
+- scsi: qla2xxx: Fix the call trace for flush workqueue (Nilesh Javali) [1937945]
+- futex: Handle faults correctly for PI futexes (Donghai Qiao) [1935108] {CVE-2021-3347}
+- futex: Provide and use pi_state_update_owner() (Donghai Qiao) [1935108] {CVE-2021-3347}
+- futex: Replace pointless printk in fixup_owner() (Donghai Qiao) [1935108] {CVE-2021-3347}
+- futex: Ensure the correct return value from futex_lock_pi() (Donghai Qiao) [1935108] {CVE-2021-3347}
+- scsi: qla2xxx: Remove WARN_ON_ONCE in qla2x00_status_cont_entry() (Nilesh Javali) [1933784]
+- scsi: zfcp: add handling for FCP_RESID_OVER to the fcp ingress path (Philipp Rudo) [1917839]
+- net: netfilter: Avoid deadlock when loading logger backend (Phil Sutter) [1858329]
+- net: netfilter: Link nfnetlink into bzImage (Phil Sutter) [1858329]
+
+* Thu May 20 2021 Scott Wood <swood@redhat.com> [3.10.0-1160.30.1.rt56.1168.el7]
+- [rt] Update source tree to match RHEL rhel-7.9.z tree [1953118]
+- [rt] redhat: genrtspec: Exclude RHEL commits from rt tagging (Scott Wood)
+- pf: Prohibit alu ops for pointer types not defining ptr_limit (Jiri Olsa) [1942689] {CVE-2020-27170}
+- bpf: Add sanity check for upper ptr_limit (Jiri Olsa) [1942689] {CVE-2020-27170}
+- bpf: Simplify alu_limit masking for pointer arithmetic (Jiri Olsa) [1942689] {CVE-2020-27170}
+- bpf: Fix off-by-one for area size in creating mask to left (Jiri Olsa) [1942689] {CVE-2020-27170}
+- netxen_nic: fix MSI/MSI-x interrupts (Tony Camuso) [1894274]
+- block: fix use-after-free on cached last_lookup partition (Ming Lei) [1898596]
+- mm: reduce struct page_cgroup overhead when page_owner is not enabled (Rafael Aquini) [1948451]
+- vt: selection, close sel_buffer race (Chris von Recklinghausen) [1831034] {CVE-2020-8648}
+
+* Thu May 13 2021 Scott Wood <swood@redhat.com> [3.10.0-1160.29.1.rt56.1167.el7]
+- [rt] Update source tree to match RHEL rhel-7.9.z tree [1953118]
+- drm/i915: warn on guc enable about CVE (Dave Airlie) [1935277] {CVE-2020-12362}
+- sched: prevent divide by zero error in scale_rt_power() (Phil Auld) [1910763]
+- x86/efi: reset the correct tlb_state in efi_switch_mm() (Rafael Aquini) [1837531]
+- x86/mm, sched/core: Turn off IRQs in switch_mm() (Rafael Aquini) [1837531]
+- x86/mm, sched/core: Uninline switch_mm() (Rafael Aquini) [1837531]
+- x86/mm: Build arch/x86/mm/tlb.c even on !SMP (Rafael Aquini) [1837531]
+- hpsa: fix regression issue for old controllers (Joseph Szczypek) [1830268]
+- scsi: hpsa: Correct dev cmds outstanding for retried cmds (Joseph Szczypek) [1830268]
+
+* Fri May 07 2021 Scott Wood <swood@redhat.com> [3.10.0-1160.28.1.rt56.1166.el7]
+- [rt] Update source tree to match RHEL rhel-7.9.z tree [1953118]
+- i40e: acquire VSI pointer only after VF is initialized (Stefan Assmann) [1886003]
+- ACPICA: Store GPE register enable masks upfront (Al Stone) [1883174]
+- netfilter: nf_tables: validate NFTA_SET_TABLE parameter (Phil Sutter) [1873171]
+- sctp: change to hold/put transport for proto_unreach_timer (Xin Long) [1707184]
+
+* Mon May 03 2021 Scott Wood <swood@redhat.com> [3.10.0-1160.27.1.rt56.1165.el7]
+- [rt] Update source tree to match RHEL rhel-7.9.z tree [1953118]
+- [rt] redhat: Replace inline awk script in genrtspec as well (Fernando Pacheco)
+- [rt] mm/swap: Don't alloc lru-add-drain workqueue on RT (Juri Lelli) [1894587]
+- video: hyperv: hyperv_fb: Obtain screen resolution from Hyper-V host (Mohammed Gamal) [1941841]
+- Drivers: hv: vmbus: enable VMBus protocol version 5.0 (Mohammed Gamal) [1941841]
+- redhat: Add git suffix to realtime_check merge_tree (Juri Lelli)
+
+* Thu Apr 22 2021 Scott Wood <swood@redhat.com> [3.10.0-1160.26.1.rt56.1163.el7]
+- [rt] Update source tree to match RHEL rhel-7.9.z tree [1939220]
+- selinux: fix deadlock in security_set_bools() (Ondrej Mosnacek) [1939091]
+- md: fix md io stats accounting broken (Ming Lei) [1927106]
+- redhat: Fix realtime_check for -private (Juri Lelli)
+
 * Thu Apr 15 2021 Scott Wood <swood@redhat.com> [3.10.0-1160.25.1.rt56.1162.el7]
 - [rt] Update source tree to match RHEL rhel-7.9.z tree [1939220]
 - [rt] Revert "mm/swap: Don't alloc lru-add-drain workqueue on RT" (Juri Lelli)