diff options
Diffstat (limited to 'SOURCES/patch-5.16-redhat.patch')
-rw-r--r-- | SOURCES/patch-5.16-redhat.patch | 85 |
1 files changed, 26 insertions, 59 deletions
diff --git a/SOURCES/patch-5.16-redhat.patch b/SOURCES/patch-5.16-redhat.patch index 36d48d6..a670e92 100644 --- a/SOURCES/patch-5.16-redhat.patch +++ b/SOURCES/patch-5.16-redhat.patch @@ -17,7 +17,6 @@ drivers/firmware/efi/Makefile | 1 + drivers/firmware/efi/efi.c | 124 +++++++++++++++------ drivers/firmware/efi/secureboot.c | 38 +++++++ - drivers/gpu/drm/nouveau/nouveau_backlight.c | 3 +- drivers/hid/hid-rmi.c | 64 ----------- drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 ++++ drivers/input/rmi4/rmi_driver.c | 124 ++++++++++++--------- @@ -45,7 +44,7 @@ include/linux/rmi.h | 1 + include/linux/security.h | 5 + include/net/netfilter/nf_conntrack.h | 1 + - kernel/dma/swiotlb.c | 23 ++-- + kernel/dma/swiotlb.c | 12 +- kernel/module_signing.c | 9 +- net/netfilter/nf_conntrack_core.c | 3 + net/netfilter/nf_nat_core.c | 43 ++++++- @@ -55,7 +54,7 @@ security/lockdown/lockdown.c | 1 + security/security.c | 6 + tools/testing/selftests/netfilter/nft_nat.sh | 5 +- - 57 files changed, 835 insertions(+), 299 deletions(-) + 56 files changed, 829 insertions(+), 291 deletions(-) diff --git a/Documentation/core-api/dma-attributes.rst b/Documentation/core-api/dma-attributes.rst index 1887d92e8e92..17706dc91ec9 100644 @@ -74,7 +73,7 @@ index 1887d92e8e92..17706dc91ec9 100644 +previous buffer contents to be preserved. This allows bounce-buffering +implementations to optimise DMA_FROM_DEVICE transfers. diff --git a/Makefile b/Makefile -index f47cecba0618..cbac049b97a3 100644 +index c16a8a2ffd73..6f81a359f7ce 100644 --- a/Makefile +++ b/Makefile @@ -18,6 +18,10 @@ $(if $(filter __%, $(MAKECMDGOALS)), \ @@ -105,10 +104,10 @@ index c2724d986fa0..8063dcef65f7 100644 The VM uses one page of physical memory for each page table. For systems with a lot of processes, this can use a lot of diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index d05d94d2b28b..1dfcaaba8810 100644 +index 0a83e1728f7e..ef27e36baa6c 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -1109,7 +1109,7 @@ endchoice +@@ -1110,7 +1110,7 @@ endchoice config ARM64_FORCE_52BIT bool "Force 52-bit virtual addresses for userspace" @@ -117,7 +116,7 @@ index d05d94d2b28b..1dfcaaba8810 100644 help For systems with 52-bit userspace VAs enabled, the kernel will attempt to maintain compatibility with older software by providing 48-bit VAs -@@ -1360,6 +1360,7 @@ config XEN +@@ -1361,6 +1361,7 @@ config XEN config FORCE_MAX_ZONEORDER int default "14" if ARM64_64K_PAGES @@ -317,7 +316,7 @@ index fea082b25fe4..50a9d040bed1 100644 MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Random Number Generator"); diff --git a/drivers/acpi/apei/hest.c b/drivers/acpi/apei/hest.c -index 0edc1ed47673..782e2f399af2 100644 +index 6aef1ee5e1bd..8f146b1b4972 100644 --- a/drivers/acpi/apei/hest.c +++ b/drivers/acpi/apei/hest.c @@ -96,6 +96,14 @@ static int apei_hest_parse(apei_hest_func_t func, void *data) @@ -872,20 +871,6 @@ index 000000000000..de0a3714a5d4 + } + } +} -diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c -index 1cbd71abc80a..9d2513de959b 100644 ---- a/drivers/gpu/drm/nouveau/nouveau_backlight.c -+++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c -@@ -294,7 +294,8 @@ nv50_backlight_init(struct nouveau_backlight *bl, - struct nouveau_drm *drm = nouveau_drm(nv_encoder->base.base.dev); - struct nvif_object *device = &drm->client.device.object; - -- if (!nvif_rd32(device, NV50_PDISP_SOR_PWM_CTL(ffs(nv_encoder->dcb->or) - 1))) -+ if (!nvif_rd32(device, NV50_PDISP_SOR_PWM_CTL(ffs(nv_encoder->dcb->or) - 1)) || -+ nv_conn->base.status != connector_status_connected) - return -ENODEV; - - if (nv_conn->type == DCB_CONNECTOR_eDP) { diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c index 311eee599ce9..2460c6bd46f8 100644 --- a/drivers/hid/hid-rmi.c @@ -1392,7 +1377,7 @@ index 4c348bacf2cb..9fe496d35b38 100644 soc_hw_version_major, soc_hw_version_minor); ret = -EOPNOTSUPP; diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c -index 5785f6abf194..7fc5f15a4b78 100644 +index ecb98d1ad9f6..fa519e6cd72b 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -244,6 +244,9 @@ static void nvme_delete_ctrl_sync(struct nvme_ctrl *ctrl) @@ -1459,7 +1444,7 @@ index 5785f6abf194..7fc5f15a4b78 100644 } EXPORT_SYMBOL_GPL(nvme_complete_rq); diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c -index 99c2307b04e2..654c033bbbb2 100644 +index 65fe28895ef3..49992f083c7e 100644 --- a/drivers/nvme/host/multipath.c +++ b/drivers/nvme/host/multipath.c @@ -65,14 +65,10 @@ bool nvme_mpath_set_disk_name(struct nvme_ns *ns, char *disk_name, int *flags) @@ -1495,7 +1480,7 @@ index 99c2307b04e2..654c033bbbb2 100644 spin_lock_irqsave(&ns->head->requeue_lock, flags); for (bio = req->bio; bio; bio = bio->bi_next) { -@@ -838,8 +844,7 @@ int nvme_mpath_init_identify(struct nvme_ctrl *ctrl, struct nvme_id_ctrl *id) +@@ -839,8 +845,7 @@ int nvme_mpath_init_identify(struct nvme_ctrl *ctrl, struct nvme_id_ctrl *id) int error = 0; /* check if multipath is enabled and we have the capability */ @@ -1506,10 +1491,10 @@ index 99c2307b04e2..654c033bbbb2 100644 if (!ctrl->max_namespaces || diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h -index 9b095ee01364..bf25ef206cd2 100644 +index ec5d3d4dc2cc..b44fb1b28592 100644 --- a/drivers/nvme/host/nvme.h +++ b/drivers/nvme/host/nvme.h -@@ -765,6 +765,7 @@ void nvme_mpath_wait_freeze(struct nvme_subsystem *subsys); +@@ -784,6 +784,7 @@ void nvme_mpath_wait_freeze(struct nvme_subsystem *subsys); void nvme_mpath_start_freeze(struct nvme_subsystem *subsys); bool nvme_mpath_set_disk_name(struct nvme_ns *ns, char *disk_name, int *flags); void nvme_failover_req(struct request *req); @@ -1517,7 +1502,7 @@ index 9b095ee01364..bf25ef206cd2 100644 void nvme_kick_requeue_lists(struct nvme_ctrl *ctrl); int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl,struct nvme_ns_head *head); void nvme_mpath_add_disk(struct nvme_ns *ns, struct nvme_id_ns *id); -@@ -803,6 +804,9 @@ static inline bool nvme_mpath_set_disk_name(struct nvme_ns *ns, char *disk_name, +@@ -822,6 +823,9 @@ static inline bool nvme_mpath_set_disk_name(struct nvme_ns *ns, char *disk_name, static inline void nvme_failover_req(struct request *req) { } @@ -1559,10 +1544,10 @@ index 8465221be6d2..64f37ad8227d 100644 pcibios_free_irq(dev); diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index db864bf634a3..0489be6c81d4 100644 +index 6272b122f400..5156768a669d 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -4272,6 +4272,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000, +@@ -4284,6 +4284,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000, DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9084, quirk_bridge_cavm_thrx2_pcie_root); @@ -1657,7 +1642,7 @@ index 85c5d08dfa9c..2364661a6a08 100644 extern struct rpc_clnt *nfs4_proc_lookup_mountpoint(struct inode *, struct dentry *, diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c -index 0abbbf5d2bdf..ba3aa4575d25 100644 +index 5298c3a278c5..f9d84016280e 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -3933,60 +3933,6 @@ int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle) @@ -1792,7 +1777,7 @@ index 0abbbf5d2bdf..ba3aa4575d25 100644 if (status != -NFS4ERR_DELAY) break; nfs4_handle_exception(server, status, &exception); -@@ -10479,7 +10424,6 @@ const struct nfs_rpc_ops nfs_v4_clientops = { +@@ -10480,7 +10425,6 @@ const struct nfs_rpc_ops nfs_v4_clientops = { .free_client = nfs4_free_client, .create_server = nfs4_create_server, .clone_server = nfs_clone_server, @@ -1902,10 +1887,10 @@ index ef8dbc0a1522..836a5dfc6156 100644 enum efi_secureboot_mode efi_get_secureboot_mode(efi_get_variable_t *get_var) { diff --git a/include/linux/lsm_hook_defs.h b/include/linux/lsm_hook_defs.h -index f0c7b352340a..bea09711d8d7 100644 +index 2e078f40195d..37466c25e173 100644 --- a/include/linux/lsm_hook_defs.h +++ b/include/linux/lsm_hook_defs.h -@@ -395,6 +395,8 @@ LSM_HOOK(void, LSM_RET_VOID, bpf_prog_free_security, struct bpf_prog_aux *aux) +@@ -397,6 +397,8 @@ LSM_HOOK(void, LSM_RET_VOID, bpf_prog_free_security, struct bpf_prog_aux *aux) #endif /* CONFIG_BPF_SYSCALL */ LSM_HOOK(int, 0, locked_down, enum lockdown_reason what) @@ -1915,10 +1900,10 @@ index f0c7b352340a..bea09711d8d7 100644 #ifdef CONFIG_PERF_EVENTS LSM_HOOK(int, 0, perf_event_open, struct perf_event_attr *attr, int type) diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h -index d45b6f6e27fd..70622b506461 100644 +index d6823214d5c1..c927853f0732 100644 --- a/include/linux/lsm_hooks.h +++ b/include/linux/lsm_hooks.h -@@ -1548,6 +1548,12 @@ +@@ -1553,6 +1553,12 @@ * * @what: kernel feature being accessed * @@ -1981,7 +1966,7 @@ index ab7eea01ab42..fff7c5f737fc 100644 int rmi_register_transport_device(struct rmi_transport_dev *xport); diff --git a/include/linux/security.h b/include/linux/security.h -index bbf44a466832..026a06b98a96 100644 +index bd059e7b4766..44f8139795f5 100644 --- a/include/linux/security.h +++ b/include/linux/security.h @@ -473,6 +473,7 @@ int security_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen); @@ -2016,7 +2001,7 @@ index d24b0a34c8f0..871489df63c6 100644 #if IS_ENABLED(CONFIG_NF_NAT) diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c -index e7f138c7636c..d958b1201092 100644 +index a1bbe0b914f1..d958b1201092 100644 --- a/kernel/dma/swiotlb.c +++ b/kernel/dma/swiotlb.c @@ -581,14 +581,10 @@ phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr, @@ -2038,24 +2023,6 @@ index e7f138c7636c..d958b1201092 100644 return tlb_addr; } -@@ -655,13 +651,10 @@ void swiotlb_tbl_unmap_single(struct device *dev, phys_addr_t tlb_addr, - void swiotlb_sync_single_for_device(struct device *dev, phys_addr_t tlb_addr, - size_t size, enum dma_data_direction dir) - { -- /* -- * Unconditional bounce is necessary to avoid corruption on -- * sync_*_for_cpu or dma_ummap_* when the device didn't overwrite -- * the whole lengt of the bounce buffer. -- */ -- swiotlb_bounce(dev, tlb_addr, size, DMA_TO_DEVICE); -- BUG_ON(!valid_dma_direction(dir)); -+ if (dir == DMA_TO_DEVICE || dir == DMA_BIDIRECTIONAL) -+ swiotlb_bounce(dev, tlb_addr, size, DMA_TO_DEVICE); -+ else -+ BUG_ON(dir != DMA_FROM_DEVICE); - } - - void swiotlb_sync_single_for_cpu(struct device *dev, phys_addr_t tlb_addr, diff --git a/kernel/module_signing.c b/kernel/module_signing.c index 8723ae70ea1f..fb2d773498c2 100644 --- a/kernel/module_signing.c @@ -2078,7 +2045,7 @@ index 8723ae70ea1f..fb2d773498c2 100644 + return ret; } diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c -index 7f7997460764..c42478d48f7d 100644 +index 917e708a4561..110645cd5150 100644 --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c @@ -1749,6 +1749,9 @@ resolve_normal_ct(struct nf_conn *tmpl, @@ -2245,10 +2212,10 @@ index 87cbdc64d272..18555cf18da7 100644 static int __init lockdown_lsm_init(void) diff --git a/security/security.c b/security/security.c -index 64abdfb20bc2..ed920477e11d 100644 +index 745a8bf66d91..672345cafc1b 100644 --- a/security/security.c +++ b/security/security.c -@@ -2611,6 +2611,12 @@ int security_locked_down(enum lockdown_reason what) +@@ -2631,6 +2631,12 @@ int security_locked_down(enum lockdown_reason what) } EXPORT_SYMBOL(security_locked_down); |