From 11c4a21c67c2953a94658c7e22c51b7088dfeb87 Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Wed, 14 Jul 2021 12:33:29 -0500 Subject: kernel-5.12.14-0 * Wed Jun 30 2021 Justin M. Forbes [5.12.14-0] - Add CONFIG_SYSTEM_REVOCATION_LIST backported config option for 5.12.14 (Justin M. Forbes) - can: bcm: delay release of struct bcm_op after synchronize_rcu (Thadeu Lima de Souza Cascardo) Resolves: rhbz# Signed-off-by: Justin M. Forbes --- kernel.spec | 8 ++-- patch-5.12-redhat.patch | 102 ++---------------------------------------------- sources | 6 +-- 3 files changed, 11 insertions(+), 105 deletions(-) diff --git a/kernel.spec b/kernel.spec index 02475ea0c..f3a52edf4 100755 --- a/kernel.spec +++ b/kernel.spec @@ -106,7 +106,7 @@ Summary: The Linux kernel %define primary_target rhel %endif -%define rpmversion 5.12.15 +%define rpmversion 5.12.17 %define stableversion 5.12 %define pkgrelease 300 @@ -623,7 +623,7 @@ BuildRequires: clang # exact git commit you can run # # xzcat -qq ${TARBALL} | git get-tar-commit-id -Source0: linux-5.12.15.tar.xz +Source0: linux-5.12.17.tar.xz Source1: Makefile.rhelver @@ -1277,8 +1277,8 @@ ApplyOptionalPatch() fi } -%setup -q -n kernel-5.12.15 -c -mv linux-5.12.15 linux-%{KVERREL} +%setup -q -n kernel-5.12.17 -c +mv linux-5.12.17 linux-%{KVERREL} cd linux-%{KVERREL} cp -a %{SOURCE1} . diff --git a/patch-5.12-redhat.patch b/patch-5.12-redhat.patch index bad9b2cd4..3485d7650 100644 --- a/patch-5.12-redhat.patch +++ b/patch-5.12-redhat.patch @@ -12,7 +12,6 @@ drivers/acpi/pci_mcfg.c | 7 ++ drivers/acpi/scan.c | 9 ++ drivers/ata/libahci.c | 18 +++ - drivers/bluetooth/btqca.c | 27 +++-- drivers/char/ipmi/ipmi_dmi.c | 15 +++ drivers/char/ipmi/ipmi_msghandler.c | 16 ++- drivers/firmware/efi/Makefile | 1 + @@ -36,13 +35,12 @@ include/linux/security.h | 5 + kernel/crash_core.c | 28 ++++- kernel/module_signing.c | 9 +- - net/can/bcm.c | 6 + security/integrity/platform_certs/load_uefi.c | 6 +- security/lockdown/Kconfig | 13 +++ security/lockdown/lockdown.c | 1 + security/security.c | 6 + security/selinux/hooks.c | 3 +- - 44 files changed, 647 insertions(+), 185 deletions(-) + 42 files changed, 621 insertions(+), 178 deletions(-) diff --git a/Documentation/admin-guide/kdump/kdump.rst b/Documentation/admin-guide/kdump/kdump.rst index 75a9dd98e76e..3ff3291551f9 100644 @@ -67,7 +65,7 @@ index 75a9dd98e76e..3ff3291551f9 100644 Boot into System Kernel diff --git a/Makefile b/Makefile -index 09e1a0967bab..63c53593ee89 100644 +index f1d0775925cc..f9229000f2df 100644 --- a/Makefile +++ b/Makefile @@ -495,6 +495,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE @@ -145,7 +143,7 @@ index 7a21eca498aa..565f143c9858 100644 + return !!ipl_secure_flag; +} diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c -index 5aab59ad5688..c53572b81c37 100644 +index 382d73da134c..f5b2b127e24d 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c @@ -49,6 +49,7 @@ @@ -156,7 +154,7 @@ index 5aab59ad5688..c53572b81c37 100644 #include #include -@@ -1113,6 +1114,9 @@ void __init setup_arch(char **cmdline_p) +@@ -1114,6 +1115,9 @@ void __init setup_arch(char **cmdline_p) log_component_list(); @@ -342,74 +340,6 @@ index fec2e9754aed..bea4e2973259 100644 /* wait for engine to stop. This could be as long as 500 msec */ tmp = ata_wait_register(ap, port_mmio + PORT_CMD, PORT_CMD_LIST_ON, PORT_CMD_LIST_ON, 1, 500); -diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c -index 25114f0d1319..bd71dfc9c974 100644 ---- a/drivers/bluetooth/btqca.c -+++ b/drivers/bluetooth/btqca.c -@@ -183,7 +183,7 @@ int qca_send_pre_shutdown_cmd(struct hci_dev *hdev) - EXPORT_SYMBOL_GPL(qca_send_pre_shutdown_cmd); - - static void qca_tlv_check_data(struct qca_fw_config *config, -- const struct firmware *fw, enum qca_btsoc_type soc_type) -+ u8 *fw_data, enum qca_btsoc_type soc_type) - { - const u8 *data; - u32 type_len; -@@ -194,7 +194,7 @@ static void qca_tlv_check_data(struct qca_fw_config *config, - struct tlv_type_nvm *tlv_nvm; - uint8_t nvm_baud_rate = config->user_baud_rate; - -- tlv = (struct tlv_type_hdr *)fw->data; -+ tlv = (struct tlv_type_hdr *)fw_data; - - type_len = le32_to_cpu(tlv->type_len); - length = (type_len >> 8) & 0x00ffffff; -@@ -390,8 +390,9 @@ static int qca_download_firmware(struct hci_dev *hdev, - enum qca_btsoc_type soc_type) - { - const struct firmware *fw; -+ u8 *data; - const u8 *segment; -- int ret, remain, i = 0; -+ int ret, size, remain, i = 0; - - bt_dev_info(hdev, "QCA Downloading %s", config->fwname); - -@@ -402,10 +403,22 @@ static int qca_download_firmware(struct hci_dev *hdev, - return ret; - } - -- qca_tlv_check_data(config, fw, soc_type); -+ size = fw->size; -+ data = vmalloc(fw->size); -+ if (!data) { -+ bt_dev_err(hdev, "QCA Failed to allocate memory for file: %s", -+ config->fwname); -+ release_firmware(fw); -+ return -ENOMEM; -+ } -+ -+ memcpy(data, fw->data, size); -+ release_firmware(fw); -+ -+ qca_tlv_check_data(config, data, soc_type); - -- segment = fw->data; -- remain = fw->size; -+ segment = data; -+ remain = size; - while (remain > 0) { - int segsize = min(MAX_SIZE_PER_TLV_SEGMENT, remain); - -@@ -435,7 +448,7 @@ static int qca_download_firmware(struct hci_dev *hdev, - ret = qca_inject_cmd_complete_event(hdev); - - out: -- release_firmware(fw); -+ vfree(data); - - return ret; - } diff --git a/drivers/char/ipmi/ipmi_dmi.c b/drivers/char/ipmi/ipmi_dmi.c index bbf7029e224b..cf7faa970dd6 100644 --- a/drivers/char/ipmi/ipmi_dmi.c @@ -1538,30 +1468,6 @@ index 8723ae70ea1f..fb2d773498c2 100644 + } + return ret; } -diff --git a/net/can/bcm.c b/net/can/bcm.c -index f3e4d9528fa3..c67916020e63 100644 ---- a/net/can/bcm.c -+++ b/net/can/bcm.c -@@ -785,6 +785,7 @@ static int bcm_delete_rx_op(struct list_head *ops, struct bcm_msg_head *mh, - bcm_rx_handler, op); - - list_del(&op->list); -+ synchronize_rcu(); - bcm_remove_op(op); - return 1; /* done */ - } -@@ -1533,6 +1534,11 @@ static int bcm_release(struct socket *sock) - REGMASK(op->can_id), - bcm_rx_handler, op); - -+ } -+ -+ synchronize_rcu(); -+ -+ list_for_each_entry_safe(op, next, &bo->rx_ops, list) { - bcm_remove_op(op); - } - diff --git a/security/integrity/platform_certs/load_uefi.c b/security/integrity/platform_certs/load_uefi.c index f290f78c3f30..d3e7ae04f5be 100644 --- a/security/integrity/platform_certs/load_uefi.c diff --git a/sources b/sources index 9afcf5e6d..1d3c575d4 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (linux-5.12.15.tar.xz) = ce2ec26c9cf179566e5c4366c05757b0847e0cd93a9d52f43120afefb09990ff601f52f0002772388a0e2b108d3d8a77611343139165a4ef3641dc9a42729d03 -SHA512 (kernel-abi-whitelists-5.12.15-300.tar.bz2) = 7c9f1c7348e69760a890c1f4d2178e5b9a3f9da839ec3f2f2dc9a437f9859d7c7f48d07304cbee7e277e5b1dd09b935223b1dcd9d422ea3d12eda9cf5e57e193 -SHA512 (kernel-kabi-dw-5.12.15-300.tar.bz2) = ef817adfa46a2e6587ef07e207aceb8026d2fc442916e5c2ddb8b3b56acdb35c693e3cfe95f88c5d78ae234d3ad9c702c6f2775c2658f59840832f21018e4dd8 +SHA512 (linux-5.12.17.tar.xz) = 01747cfab310aa93ad5d3a79d392745c4a790bfeb5a4c12f6fd848a1459934aa86396c33d84bfbf56188b7a350b7665c268e1a69f38c1e78bdef88adc74311e7 +SHA512 (kernel-abi-whitelists-5.12.17-300.tar.bz2) = a4318b850ba3e1705f9646204148cd967e7fa8b961a1297dad00cfce28ebd76b3b39e757d1a605fb30175892a722eebfd27eae8ddc738d4a6289e1beb9ee328e +SHA512 (kernel-kabi-dw-5.12.17-300.tar.bz2) = 6c065c0a0ab30f76fedeef16f89ee83945f4a9b31767048d4f8f7198466cde96e1a4b524f6105d749f9080821792d4070bec110a00224a10dd2ee96a11f02809 -- cgit