1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/scripts/mkcompile_h b/scripts/mkcompile_h
-index 87f1fc9801d7..4ef868f1f244 100755
+index 2339f86126cb..643657404049 100755
--- a/scripts/mkcompile_h
+++ b/scripts/mkcompile_h
@@ -33,10 +33,14 @@ else
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
-index 808e2b914015..b0ad54384826 100644
+index d174d3a566aa..885e18c72c87 100644
--- a/net/bridge/br_stp_if.c
+++ b/net/bridge/br_stp_if.c
-@@ -259,10 +259,7 @@ bool br_stp_recalculate_bridge_id(struct net_bridge *br)
+@@ -256,10 +256,7 @@ bool br_stp_recalculate_bridge_id(struct net_bridge *br)
return false;
list_for_each_entry(p, &br->port_list, list) {
2 files changed, 111 insertions(+)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
-index 3dda6833f586..241de26a2f17 100644
+index 2d2b797cbaee..cf188fa76276 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -3287,6 +3287,15 @@
+@@ -3361,6 +3361,15 @@
Also, it enforces the PCI Local Bus spec
rule that those bits should be 0 in system reset
events (useful for kexec/kdump cases).
Safety option to keep boot IRQs enabled. This
should never be necessary.
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
-index 66eac47bbdd6..315e170523d8 100644
+index 4558d1192817..22104194fc8d 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
-@@ -194,6 +194,106 @@ static int __init pci_apply_final_quirks(void)
+@@ -193,6 +193,106 @@ static int __init pci_apply_final_quirks(void)
}
fs_initcall_sync(pci_apply_final_quirks);
/*
* Decoding should be disabled for a PCI device during BAR sizing to avoid
* conflict. But doing so may cause problems on host bridge and perhaps other
-@@ -4564,6 +4664,8 @@ static const struct pci_dev_acs_enabled {
+@@ -4567,6 +4667,8 @@ static const struct pci_dev_acs_enabled {
{ PCI_VENDOR_ID_CAVIUM, PCI_ANY_ID, pci_quirk_cavium_acs },
/* APM X-Gene */
{ PCI_VENDOR_ID_AMCC, 0xE004, pci_quirk_xgene_acs },
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
-index f48f911d4663..5d906fc47e98 100644
+index c6a91b044d8d..aa972e4412f8 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
-@@ -77,7 +77,7 @@ module_param(halt_poll_ns, uint, 0644);
+@@ -75,7 +75,7 @@ module_param(halt_poll_ns, uint, 0644);
EXPORT_SYMBOL_GPL(halt_poll_ns);
/* Default doubles per-vcpu halt_poll_ns. */
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
-index fb467d310c99..3759f52b5966 100644
+index c030c96fc81a..6ca9a886cbb8 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
-@@ -106,7 +106,7 @@ module_param(enable_apicv, bool, S_IRUGO);
+@@ -103,7 +103,7 @@ module_param(enable_apicv, bool, S_IRUGO);
* VMX and be a hypervisor for its own guests. If nested=0, guests may not
* use VMX instructions.
*/
+++ /dev/null
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Ilya Dryomov <idryomov@gmail.com>
-Date: Fri, 3 May 2019 17:27:03 +0200
-Subject: [PATCH] rbd: don't assert on writes to snapshots
-
-The check added in commit 721c7fc701c7 ("block: fail op_is_write()
-requests to read-only partitions") was lifted in commit a32e236eb93e
-("Partially revert "block: fail op_is_write() requests to read-only
-partitions""). Basic things like user triggered writes and discards
-are still caught, but internal kernel users can submit anything. In
-particular, ext4 will attempt to write to the superblock if it detects
-errors in the filesystem, even if the filesystem is mounted read-only
-on a read-only partition.
-
-The assert is overkill regardless.
-
-Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
-Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
----
- drivers/block/rbd.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
-index 1e92b61d0bd5..339cdd4062bb 100644
---- a/drivers/block/rbd.c
-+++ b/drivers/block/rbd.c
-@@ -3664,8 +3664,12 @@ static void rbd_queue_workfn(struct work_struct *work)
- goto err_rq;
- }
-
-- rbd_assert(op_type == OBJ_OP_READ ||
-- rbd_dev->spec->snap_id == CEPH_NOSNAP);
-+ if (op_type != OBJ_OP_READ && rbd_dev->spec->snap_id != CEPH_NOSNAP) {
-+ rbd_warn(rbd_dev, "%s on read-only snapshot",
-+ obj_op_name(op_type));
-+ result = -EIO;
-+ goto err;
-+ }
-
- /*
- * Quit early if the mapped snapshot no longer exists. It's
+++ /dev/null
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Thomas Lamprecht <t.lamprecht@proxmox.com>
-Date: Wed, 3 Apr 2019 18:41:50 +0200
-Subject: [PATCH] x86/fpu: backport copy_kernel_to_XYZ_err helpers
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-partial cherry-pick from upstream 5.2 "86/fpu: Restore from kernel
-memory on the 64-bit path too"
-commit 926b21f37b072ae4c117052de45a975c6d468fec
-Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-
-Namely, only backport the added helpers, none of the semantic changes.
-
-relevant parts of the original commit message:
-> In order to avoid that mess, copy the FPU state from userland, validate
-> it and then load it. The copy_kernel_…() helpers are basically just
-> like the old helpers except that they operate on kernel memory and the
-> fault handler just sets the error value and the caller handles it.
-
-Link: https://lkml.kernel.org/r/20190403164156.19645-22-bigeasy@linutronix.de
-(partial cherry picked from commit 926b21f37b072ae4c117052de45a975c6d468fec)
-Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
----
- arch/x86/include/asm/fpu/internal.h | 43 +++++++++++++++++++++++++++++
- 1 file changed, 43 insertions(+)
-
-diff --git a/arch/x86/include/asm/fpu/internal.h b/arch/x86/include/asm/fpu/internal.h
-index fa2c93cb42a2..f3193ab0a2fb 100644
---- a/arch/x86/include/asm/fpu/internal.h
-+++ b/arch/x86/include/asm/fpu/internal.h
-@@ -122,6 +122,21 @@ extern void fpstate_sanitize_xstate(struct fpu *fpu);
- err; \
- })
-
-+#define kernel_insn_err(insn, output, input...) \
-+({ \
-+ int err; \
-+ asm volatile("1:" #insn "\n\t" \
-+ "2:\n" \
-+ ".section .fixup,\"ax\"\n" \
-+ "3: movl $-1,%[err]\n" \
-+ " jmp 2b\n" \
-+ ".previous\n" \
-+ _ASM_EXTABLE(1b, 3b) \
-+ : [err] "=r" (err), output \
-+ : "0"(0), input); \
-+ err; \
-+})
-+
- #define kernel_insn(insn, output, input...) \
- asm volatile("1:" #insn "\n\t" \
- "2:\n" \
-@@ -158,6 +173,14 @@ static inline void copy_kernel_to_fxregs(struct fxregs_state *fx)
- }
- }
-
-+static inline int copy_kernel_to_fxregs_err(struct fxregs_state *fx)
-+{
-+ if (IS_ENABLED(CONFIG_X86_32))
-+ return kernel_insn_err(fxrstor %[fx], "=m" (*fx), [fx] "m" (*fx));
-+ else
-+ return kernel_insn_err(fxrstorq %[fx], "=m" (*fx), [fx] "m" (*fx));
-+}
-+
- static inline int copy_user_to_fxregs(struct fxregs_state __user *fx)
- {
- if (IS_ENABLED(CONFIG_X86_32))
-@@ -175,6 +198,11 @@ static inline void copy_kernel_to_fregs(struct fregs_state *fx)
- kernel_insn(frstor %[fx], "=m" (*fx), [fx] "m" (*fx));
- }
-
-+static inline int copy_kernel_to_fregs_err(struct fregs_state *fx)
-+{
-+ return kernel_insn_err(frstor %[fx], "=m" (*fx), [fx] "m" (*fx));
-+}
-+
- static inline int copy_user_to_fregs(struct fregs_state __user *fx)
- {
- return user_insn(frstor %[fx], "=m" (*fx), [fx] "m" (*fx));
-@@ -400,6 +428,21 @@ static inline int copy_user_to_xregs(struct xregs_state __user *buf, u64 mask)
- return err;
- }
-
-+/*
-+ * Restore xstate from kernel space xsave area, return an error code instead of
-+ * an exception.
-+ */
-+static inline int copy_kernel_to_xregs_err(struct xregs_state *xstate, u64 mask)
-+{
-+ u32 lmask = mask;
-+ u32 hmask = mask >> 32;
-+ int err;
-+
-+ XSTATE_OP(XRSTOR, xstate, lmask, hmask, err);
-+
-+ return err;
-+}
-+
- /*
- * These must be called with preempt disabled. Returns
- * 'true' if the FPU state is still intact and we can