diff options
Diffstat (limited to 'SOURCES')
-rw-r--r-- | SOURCES/Patchlist.changelog | 12 | ||||
-rw-r--r-- | SOURCES/kernel-aarch64-debug-fedora.config | 2 | ||||
-rw-r--r-- | SOURCES/kernel-aarch64-fedora.config | 2 | ||||
-rw-r--r-- | SOURCES/kernel-armv7hl-debug-fedora.config | 2 | ||||
-rw-r--r-- | SOURCES/kernel-armv7hl-fedora.config | 2 | ||||
-rw-r--r-- | SOURCES/kernel-armv7hl-lpae-debug-fedora.config | 2 | ||||
-rw-r--r-- | SOURCES/kernel-armv7hl-lpae-fedora.config | 2 | ||||
-rw-r--r-- | SOURCES/kernel-ppc64le-debug-fedora.config | 2 | ||||
-rw-r--r-- | SOURCES/kernel-ppc64le-fedora.config | 2 | ||||
-rw-r--r-- | SOURCES/kernel-s390x-debug-fedora.config | 2 | ||||
-rw-r--r-- | SOURCES/kernel-s390x-fedora.config | 2 | ||||
-rw-r--r-- | SOURCES/kernel-x86_64-debug-fedora.config | 2 | ||||
-rw-r--r-- | SOURCES/kernel-x86_64-fedora.config | 2 | ||||
-rw-r--r-- | SOURCES/patch-6.2-redhat.patch | 138 |
14 files changed, 160 insertions, 14 deletions
diff --git a/SOURCES/Patchlist.changelog b/SOURCES/Patchlist.changelog index ce381b2..7e97c3c 100644 --- a/SOURCES/Patchlist.changelog +++ b/SOURCES/Patchlist.changelog @@ -1,3 +1,15 @@ +"https://gitlab.com/cki-project/kernel-ark/-/commit"/14005bf69741499a3df8cb2e74c0dc99c37e9438 + 14005bf69741499a3df8cb2e74c0dc99c37e9438 NFS: Correct timing for assigning access cache timestamp + +"https://gitlab.com/cki-project/kernel-ark/-/commit"/b7c0075f41aa13dc0ed14938e56f5d68e2956c21 + b7c0075f41aa13dc0ed14938e56f5d68e2956c21 usb: ucsi: Fix ucsi->connector race + +"https://gitlab.com/cki-project/kernel-ark/-/commit"/4e622b7d9003916c4aa60cc08fa035b18e4f3a4e + 4e622b7d9003916c4aa60cc08fa035b18e4f3a4e usb: ucsi_acpi: Increase the command completion timeout + +"https://gitlab.com/cki-project/kernel-ark/-/commit"/28d667bc40d7af758a6968e29f8a93be531696ab + 28d667bc40d7af758a6968e29f8a93be531696ab usb: ucsi: Fix NULL pointer deref in ucsi_connector_change() + "https://gitlab.com/cki-project/kernel-ark/-/commit"/7bc9c467e64c373fd366282769229b76379659ac 7bc9c467e64c373fd366282769229b76379659ac wifi: cfg80211: Fix use after free for wext diff --git a/SOURCES/kernel-aarch64-debug-fedora.config b/SOURCES/kernel-aarch64-debug-fedora.config index f34d7cb..eb9b6d1 100644 --- a/SOURCES/kernel-aarch64-debug-fedora.config +++ b/SOURCES/kernel-aarch64-debug-fedora.config @@ -4809,7 +4809,7 @@ CONFIG_NET_SCH_ETF=m CONFIG_NET_SCH_ETS=m CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m -# CONFIG_NET_SCH_FQ_PIE is not set +CONFIG_NET_SCH_FQ_PIE=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m diff --git a/SOURCES/kernel-aarch64-fedora.config b/SOURCES/kernel-aarch64-fedora.config index e7a0f73..af39389 100644 --- a/SOURCES/kernel-aarch64-fedora.config +++ b/SOURCES/kernel-aarch64-fedora.config @@ -4789,7 +4789,7 @@ CONFIG_NET_SCH_ETF=m CONFIG_NET_SCH_ETS=m CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m -# CONFIG_NET_SCH_FQ_PIE is not set +CONFIG_NET_SCH_FQ_PIE=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m diff --git a/SOURCES/kernel-armv7hl-debug-fedora.config b/SOURCES/kernel-armv7hl-debug-fedora.config index 182abe0..a05e82e 100644 --- a/SOURCES/kernel-armv7hl-debug-fedora.config +++ b/SOURCES/kernel-armv7hl-debug-fedora.config @@ -4796,7 +4796,7 @@ CONFIG_NET_SCH_ETF=m CONFIG_NET_SCH_ETS=m CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m -# CONFIG_NET_SCH_FQ_PIE is not set +CONFIG_NET_SCH_FQ_PIE=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m diff --git a/SOURCES/kernel-armv7hl-fedora.config b/SOURCES/kernel-armv7hl-fedora.config index c693b2f..d3f101a 100644 --- a/SOURCES/kernel-armv7hl-fedora.config +++ b/SOURCES/kernel-armv7hl-fedora.config @@ -4778,7 +4778,7 @@ CONFIG_NET_SCH_ETF=m CONFIG_NET_SCH_ETS=m CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m -# CONFIG_NET_SCH_FQ_PIE is not set +CONFIG_NET_SCH_FQ_PIE=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m diff --git a/SOURCES/kernel-armv7hl-lpae-debug-fedora.config b/SOURCES/kernel-armv7hl-lpae-debug-fedora.config index 6b79c96..f5f25e0 100644 --- a/SOURCES/kernel-armv7hl-lpae-debug-fedora.config +++ b/SOURCES/kernel-armv7hl-lpae-debug-fedora.config @@ -4699,7 +4699,7 @@ CONFIG_NET_SCH_ETF=m CONFIG_NET_SCH_ETS=m CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m -# CONFIG_NET_SCH_FQ_PIE is not set +CONFIG_NET_SCH_FQ_PIE=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m diff --git a/SOURCES/kernel-armv7hl-lpae-fedora.config b/SOURCES/kernel-armv7hl-lpae-fedora.config index 430596a..8fd96d0 100644 --- a/SOURCES/kernel-armv7hl-lpae-fedora.config +++ b/SOURCES/kernel-armv7hl-lpae-fedora.config @@ -4681,7 +4681,7 @@ CONFIG_NET_SCH_ETF=m CONFIG_NET_SCH_ETS=m CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m -# CONFIG_NET_SCH_FQ_PIE is not set +CONFIG_NET_SCH_FQ_PIE=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m diff --git a/SOURCES/kernel-ppc64le-debug-fedora.config b/SOURCES/kernel-ppc64le-debug-fedora.config index 729f6da..143cde7 100644 --- a/SOURCES/kernel-ppc64le-debug-fedora.config +++ b/SOURCES/kernel-ppc64le-debug-fedora.config @@ -4035,7 +4035,7 @@ CONFIG_NET_SCH_ETF=m CONFIG_NET_SCH_ETS=m CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m -# CONFIG_NET_SCH_FQ_PIE is not set +CONFIG_NET_SCH_FQ_PIE=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m diff --git a/SOURCES/kernel-ppc64le-fedora.config b/SOURCES/kernel-ppc64le-fedora.config index f7c844f..89ff88e 100644 --- a/SOURCES/kernel-ppc64le-fedora.config +++ b/SOURCES/kernel-ppc64le-fedora.config @@ -4015,7 +4015,7 @@ CONFIG_NET_SCH_ETF=m CONFIG_NET_SCH_ETS=m CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m -# CONFIG_NET_SCH_FQ_PIE is not set +CONFIG_NET_SCH_FQ_PIE=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m diff --git a/SOURCES/kernel-s390x-debug-fedora.config b/SOURCES/kernel-s390x-debug-fedora.config index 0ca6c8c..3aca8ab 100644 --- a/SOURCES/kernel-s390x-debug-fedora.config +++ b/SOURCES/kernel-s390x-debug-fedora.config @@ -4014,7 +4014,7 @@ CONFIG_NET_SCH_ETF=m CONFIG_NET_SCH_ETS=m CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m -# CONFIG_NET_SCH_FQ_PIE is not set +CONFIG_NET_SCH_FQ_PIE=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m diff --git a/SOURCES/kernel-s390x-fedora.config b/SOURCES/kernel-s390x-fedora.config index 150b906..5e62602 100644 --- a/SOURCES/kernel-s390x-fedora.config +++ b/SOURCES/kernel-s390x-fedora.config @@ -3994,7 +3994,7 @@ CONFIG_NET_SCH_ETF=m CONFIG_NET_SCH_ETS=m CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m -# CONFIG_NET_SCH_FQ_PIE is not set +CONFIG_NET_SCH_FQ_PIE=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m diff --git a/SOURCES/kernel-x86_64-debug-fedora.config b/SOURCES/kernel-x86_64-debug-fedora.config index 7677474..ab30d30 100644 --- a/SOURCES/kernel-x86_64-debug-fedora.config +++ b/SOURCES/kernel-x86_64-debug-fedora.config @@ -4342,7 +4342,7 @@ CONFIG_NET_SCH_ETF=m CONFIG_NET_SCH_ETS=m CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m -# CONFIG_NET_SCH_FQ_PIE is not set +CONFIG_NET_SCH_FQ_PIE=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m diff --git a/SOURCES/kernel-x86_64-fedora.config b/SOURCES/kernel-x86_64-fedora.config index 9e6b851..f50da90 100644 --- a/SOURCES/kernel-x86_64-fedora.config +++ b/SOURCES/kernel-x86_64-fedora.config @@ -4323,7 +4323,7 @@ CONFIG_NET_SCH_ETF=m CONFIG_NET_SCH_ETS=m CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m -# CONFIG_NET_SCH_FQ_PIE is not set +CONFIG_NET_SCH_FQ_PIE=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m diff --git a/SOURCES/patch-6.2-redhat.patch b/SOURCES/patch-6.2-redhat.patch index 54d6478..399e4fb 100644 --- a/SOURCES/patch-6.2-redhat.patch +++ b/SOURCES/patch-6.2-redhat.patch @@ -21,6 +21,9 @@ drivers/iommu/iommu.c | 22 + drivers/pci/quirks.c | 24 + drivers/usb/core/hub.c | 7 + + drivers/usb/typec/ucsi/ucsi.c | 33 +- + drivers/usb/typec/ucsi/ucsi_acpi.c | 2 +- + fs/nfs/dir.c | 2 +- include/linux/efi.h | 22 +- include/linux/lsm_hook_defs.h | 2 + include/linux/lsm_hooks.h | 6 + @@ -33,10 +36,10 @@ security/lockdown/Kconfig | 13 + security/lockdown/lockdown.c | 1 + security/security.c | 6 + - 35 files changed, 980 insertions(+), 177 deletions(-) + 38 files changed, 997 insertions(+), 197 deletions(-) diff --git a/Makefile b/Makefile -index 70e66e771608..f2acee86e2e0 100644 +index 43cf2c785cb1..f3441e6f1ed6 100644 --- a/Makefile +++ b/Makefile @@ -22,6 +22,10 @@ $(if $(filter __%, $(MAKECMDGOALS)), \ @@ -1028,6 +1031,137 @@ index 97a0f8faea6e..d837548d2024 100644 /* Lock the device, then check to see if we were * disconnected while waiting for the lock to succeed. */ usb_lock_device(hdev); +diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c +index 1cf8947c6d66..086b50968983 100644 +--- a/drivers/usb/typec/ucsi/ucsi.c ++++ b/drivers/usb/typec/ucsi/ucsi.c +@@ -1039,9 +1039,8 @@ static struct fwnode_handle *ucsi_find_fwnode(struct ucsi_connector *con) + return NULL; + } + +-static int ucsi_register_port(struct ucsi *ucsi, int index) ++static int ucsi_register_port(struct ucsi *ucsi, struct ucsi_connector *con) + { +- struct ucsi_connector *con = &ucsi->connector[index]; + struct typec_capability *cap = &con->typec_cap; + enum typec_accessory *accessory = cap->accessory; + enum usb_role u_role = USB_ROLE_NONE; +@@ -1062,7 +1061,6 @@ static int ucsi_register_port(struct ucsi *ucsi, int index) + init_completion(&con->complete); + mutex_init(&con->lock); + INIT_LIST_HEAD(&con->partner_tasks); +- con->num = index + 1; + con->ucsi = ucsi; + + cap->fwnode = ucsi_find_fwnode(con); +@@ -1204,8 +1202,8 @@ static int ucsi_register_port(struct ucsi *ucsi, int index) + */ + static int ucsi_init(struct ucsi *ucsi) + { +- struct ucsi_connector *con; +- u64 command; ++ struct ucsi_connector *con, *connector; ++ u64 command, ntfy; + int ret; + int i; + +@@ -1217,8 +1215,8 @@ static int ucsi_init(struct ucsi *ucsi) + } + + /* Enable basic notifications */ +- ucsi->ntfy = UCSI_ENABLE_NTFY_CMD_COMPLETE | UCSI_ENABLE_NTFY_ERROR; +- command = UCSI_SET_NOTIFICATION_ENABLE | ucsi->ntfy; ++ ntfy = UCSI_ENABLE_NTFY_CMD_COMPLETE | UCSI_ENABLE_NTFY_ERROR; ++ command = UCSI_SET_NOTIFICATION_ENABLE | ntfy; + ret = ucsi_send_command(ucsi, command, NULL, 0); + if (ret < 0) + goto err_reset; +@@ -1235,31 +1233,33 @@ static int ucsi_init(struct ucsi *ucsi) + } + + /* Allocate the connectors. Released in ucsi_unregister() */ +- ucsi->connector = kcalloc(ucsi->cap.num_connectors + 1, +- sizeof(*ucsi->connector), GFP_KERNEL); +- if (!ucsi->connector) { ++ connector = kcalloc(ucsi->cap.num_connectors + 1, sizeof(*connector), GFP_KERNEL); ++ if (!connector) { + ret = -ENOMEM; + goto err_reset; + } + + /* Register all connectors */ + for (i = 0; i < ucsi->cap.num_connectors; i++) { +- ret = ucsi_register_port(ucsi, i); ++ connector[i].num = i + 1; ++ ret = ucsi_register_port(ucsi, &connector[i]); + if (ret) + goto err_unregister; + } + + /* Enable all notifications */ +- ucsi->ntfy = UCSI_ENABLE_NTFY_ALL; +- command = UCSI_SET_NOTIFICATION_ENABLE | ucsi->ntfy; ++ ntfy = UCSI_ENABLE_NTFY_ALL; ++ command = UCSI_SET_NOTIFICATION_ENABLE | ntfy; + ret = ucsi_send_command(ucsi, command, NULL, 0); + if (ret < 0) + goto err_unregister; + ++ ucsi->connector = connector; ++ ucsi->ntfy = ntfy; + return 0; + + err_unregister: +- for (con = ucsi->connector; con->port; con++) { ++ for (con = connector; con->port; con++) { + ucsi_unregister_partner(con); + ucsi_unregister_altmodes(con, UCSI_RECIPIENT_CON); + ucsi_unregister_port_psy(con); +@@ -1268,10 +1268,7 @@ static int ucsi_init(struct ucsi *ucsi) + typec_unregister_port(con->port); + con->port = NULL; + } +- +- kfree(ucsi->connector); +- ucsi->connector = NULL; +- ++ kfree(connector); + err_reset: + memset(&ucsi->cap, 0, sizeof(ucsi->cap)); + ucsi_reset_ppm(ucsi); +diff --git a/drivers/usb/typec/ucsi/ucsi_acpi.c b/drivers/usb/typec/ucsi/ucsi_acpi.c +index ce0c8ef80c04..62206a6b8ea7 100644 +--- a/drivers/usb/typec/ucsi/ucsi_acpi.c ++++ b/drivers/usb/typec/ucsi/ucsi_acpi.c +@@ -78,7 +78,7 @@ static int ucsi_acpi_sync_write(struct ucsi *ucsi, unsigned int offset, + if (ret) + goto out_clear_bit; + +- if (!wait_for_completion_timeout(&ua->complete, HZ)) ++ if (!wait_for_completion_timeout(&ua->complete, 5 * HZ)) + ret = -ETIMEDOUT; + + out_clear_bit: +diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c +index f7e4a88d5d92..e28dd6475e39 100644 +--- a/fs/nfs/dir.c ++++ b/fs/nfs/dir.c +@@ -3089,7 +3089,6 @@ static void nfs_access_add_rbtree(struct inode *inode, + else + goto found; + } +- set->timestamp = ktime_get_ns(); + rb_link_node(&set->rb_node, parent, p); + rb_insert_color(&set->rb_node, root_node); + list_add_tail(&set->lru, &nfsi->access_cache_entry_lru); +@@ -3114,6 +3113,7 @@ void nfs_access_add_cache(struct inode *inode, struct nfs_access_entry *set, + cache->fsgid = cred->fsgid; + cache->group_info = get_group_info(cred->group_info); + cache->mask = set->mask; ++ cache->timestamp = ktime_get_ns(); + + /* The above field assignments must be visible + * before this item appears on the lru. We cannot easily diff --git a/include/linux/efi.h b/include/linux/efi.h index 98598bd1d2fa..34a6233fabaf 100644 --- a/include/linux/efi.h |