kernel-5.12.14-0

* Wed Jun 30 2021 Justin M. Forbes <jforbes@fedoraproject.org> [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 <jforbes@fedoraproject.org>
This commit is contained in:
Justin M. Forbes 2021-07-14 12:34:39 -05:00
parent 48339b21fc
commit 90c03581cf
No known key found for this signature in database
GPG Key ID: B8FA7924A4B1C140
3 changed files with 11 additions and 105 deletions

View File

@ -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 200
@ -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} .

View File

@ -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 <linux/hugetlb.h>
#include <asm/boot_data.h>
@@ -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

View File

@ -1,3 +1,3 @@
SHA512 (linux-5.12.15.tar.xz) = ce2ec26c9cf179566e5c4366c05757b0847e0cd93a9d52f43120afefb09990ff601f52f0002772388a0e2b108d3d8a77611343139165a4ef3641dc9a42729d03
SHA512 (kernel-abi-whitelists-5.12.15-200.tar.bz2) = 32558f0c06d1c355795e5a7296512d721ee3580f8354a9557522ef7dff712842f55aefeed31f4880ca0502341571a0c297f77bce7fb9e5b4c48a0d5f1a495517
SHA512 (kernel-kabi-dw-5.12.15-200.tar.bz2) = ef817adfa46a2e6587ef07e207aceb8026d2fc442916e5c2ddb8b3b56acdb35c693e3cfe95f88c5d78ae234d3ad9c702c6f2775c2658f59840832f21018e4dd8
SHA512 (linux-5.12.17.tar.xz) = 01747cfab310aa93ad5d3a79d392745c4a790bfeb5a4c12f6fd848a1459934aa86396c33d84bfbf56188b7a350b7665c268e1a69f38c1e78bdef88adc74311e7
SHA512 (kernel-abi-whitelists-5.12.17-200.tar.bz2) = fb75fe45aa51de1d54619667e319a06acc47b5fff23be72268db277563adb8983c5407bd49a62106411b6f5819d9e277e3c53b878de80ae6dc9f0a362bd1182d
SHA512 (kernel-kabi-dw-5.12.17-200.tar.bz2) = 6c065c0a0ab30f76fedeef16f89ee83945f4a9b31767048d4f8f7198466cde96e1a4b524f6105d749f9080821792d4070bec110a00224a10dd2ee96a11f02809