kernel-5.11.18-200

* Mon May 03 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.11.18-200]
- nitro_enclaves: Fix stale file descriptors on failed usercopy (Mathias Krause)
Resolves: rhbz#

Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
This commit is contained in:
Justin M. Forbes 2021-05-03 09:43:28 -05:00
parent cfe1331ef8
commit 4a0e1984f8
18 changed files with 215 additions and 24 deletions

View File

@ -1,3 +1,15 @@
https://gitlab.com/cki-project/kernel-ark/-/commit/3f376f878f898469dfbbc1b244b20ffb69f00076
3f376f878f898469dfbbc1b244b20ffb69f00076 nitro_enclaves: Fix stale file descriptors on failed usercopy
https://gitlab.com/cki-project/kernel-ark/-/commit/8aa4dd3792cb3abf1ddfe8849373c929f766f349
8aa4dd3792cb3abf1ddfe8849373c929f766f349 sfc: ef10: fix TX queue lookup in TX event handling
https://gitlab.com/cki-project/kernel-ark/-/commit/529556bc1873b233571c0b6ef943ab9c95ceb63c
529556bc1873b233571c0b6ef943ab9c95ceb63c sfc: farch: fix TX queue lookup in TX event handling
https://gitlab.com/cki-project/kernel-ark/-/commit/7a830bef2ea006ce525cc542e4b1fb8698c96e70
7a830bef2ea006ce525cc542e4b1fb8698c96e70 sfc: farch: fix TX queue lookup in TX flush done handling
https://gitlab.com/cki-project/kernel-ark/-/commit/2632d432606c16de479f4fd0140a6ddb56ebd2dd
2632d432606c16de479f4fd0140a6ddb56ebd2dd Re-enable PSR2 on Tigerlake with new workarounds from Intel

View File

@ -4063,7 +4063,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_MTDRAM=m
# CONFIG_MTD_NAND_ARASAN is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
CONFIG_MTD_NAND_CADENCE=m
@ -4105,7 +4105,9 @@ CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_PSTORE=m
CONFIG_MTDRAM_ERASE_SIZE=128
# CONFIG_MTD_RAM is not set
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTD_RAW_NAND=m
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_ROM is not set

View File

@ -4040,7 +4040,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_MTDRAM=m
# CONFIG_MTD_NAND_ARASAN is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
CONFIG_MTD_NAND_CADENCE=m
@ -4082,7 +4082,9 @@ CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_PSTORE=m
CONFIG_MTDRAM_ERASE_SIZE=128
# CONFIG_MTD_RAM is not set
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTD_RAW_NAND=m
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_ROM is not set

View File

@ -4146,7 +4146,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_MTDRAM=m
# CONFIG_MTD_NAND_ARASAN is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
CONFIG_MTD_NAND_CADENCE=m
@ -4192,7 +4192,9 @@ CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_PSTORE=m
CONFIG_MTDRAM_ERASE_SIZE=128
# CONFIG_MTD_RAM is not set
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTD_RAW_NAND=m
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_ROM is not set

View File

@ -4124,7 +4124,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_MTDRAM=m
# CONFIG_MTD_NAND_ARASAN is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
CONFIG_MTD_NAND_CADENCE=m
@ -4170,7 +4170,9 @@ CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_PSTORE=m
CONFIG_MTDRAM_ERASE_SIZE=128
# CONFIG_MTD_RAM is not set
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTD_RAW_NAND=m
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_ROM is not set

View File

@ -4046,7 +4046,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_MTDRAM=m
# CONFIG_MTD_NAND_ARASAN is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
CONFIG_MTD_NAND_CADENCE=m
@ -4091,7 +4091,9 @@ CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_PSTORE=m
CONFIG_MTDRAM_ERASE_SIZE=128
# CONFIG_MTD_RAM is not set
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTD_RAW_NAND=m
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_ROM is not set

View File

@ -4024,7 +4024,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_MTDRAM=m
# CONFIG_MTD_NAND_ARASAN is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
CONFIG_MTD_NAND_CADENCE=m
@ -4069,7 +4069,9 @@ CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_PSTORE=m
CONFIG_MTDRAM_ERASE_SIZE=128
# CONFIG_MTD_RAM is not set
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTD_RAW_NAND=m
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_ROM is not set

View File

@ -3699,7 +3699,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_MTDRAM=m
# CONFIG_MTD_NAND_ARASAN is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
CONFIG_MTD_NAND_CADENCE=m
@ -3732,7 +3732,9 @@ CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_PSTORE=m
CONFIG_MTDRAM_ERASE_SIZE=128
# CONFIG_MTD_RAM is not set
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTD_RAW_NAND=m
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_ROM is not set

View File

@ -3677,7 +3677,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_MTDRAM=m
# CONFIG_MTD_NAND_ARASAN is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
CONFIG_MTD_NAND_CADENCE=m
@ -3710,7 +3710,9 @@ CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_PSTORE=m
CONFIG_MTDRAM_ERASE_SIZE=128
# CONFIG_MTD_RAM is not set
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTD_RAW_NAND=m
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_ROM is not set

View File

@ -3428,7 +3428,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_MTDRAM=m
# CONFIG_MTD_NAND_ARASAN is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
CONFIG_MTD_NAND_CADENCE=m
@ -3462,7 +3462,9 @@ CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_POWERNV_FLASH=m
CONFIG_MTD_PSTORE=m
CONFIG_MTDRAM_ERASE_SIZE=128
# CONFIG_MTD_RAM is not set
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTD_RAW_NAND=m
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_ROM is not set

View File

@ -3405,7 +3405,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_MTDRAM=m
# CONFIG_MTD_NAND_ARASAN is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
CONFIG_MTD_NAND_CADENCE=m
@ -3439,7 +3439,9 @@ CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_POWERNV_FLASH=m
CONFIG_MTD_PSTORE=m
CONFIG_MTDRAM_ERASE_SIZE=128
# CONFIG_MTD_RAM is not set
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTD_RAW_NAND=m
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_ROM is not set

View File

@ -3401,7 +3401,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_MTDRAM=m
# CONFIG_MTD_NAND_ARASAN is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
CONFIG_MTD_NAND_CADENCE=m
@ -3433,7 +3433,9 @@ CONFIG_MTD_NAND_NANDSIM=m
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_PSTORE=m
CONFIG_MTDRAM_ERASE_SIZE=128
# CONFIG_MTD_RAM is not set
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTD_RAW_NAND=m
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_ROM is not set

View File

@ -3378,7 +3378,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_MTDRAM=m
# CONFIG_MTD_NAND_ARASAN is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
CONFIG_MTD_NAND_CADENCE=m
@ -3410,7 +3410,9 @@ CONFIG_MTD_NAND_NANDSIM=m
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_PSTORE=m
CONFIG_MTDRAM_ERASE_SIZE=128
# CONFIG_MTD_RAM is not set
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTD_RAW_NAND=m
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_ROM is not set

View File

@ -3738,7 +3738,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_MTDRAM=m
# CONFIG_MTD_NAND_ARASAN is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
CONFIG_MTD_NAND_CADENCE=m
@ -3770,7 +3770,9 @@ CONFIG_MTD_NAND_NANDSIM=m
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_PSTORE=m
CONFIG_MTDRAM_ERASE_SIZE=128
# CONFIG_MTD_RAM is not set
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTD_RAW_NAND=m
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_ROM is not set

View File

@ -3716,7 +3716,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_MTDRAM=m
# CONFIG_MTD_NAND_ARASAN is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
CONFIG_MTD_NAND_CADENCE=m
@ -3748,7 +3748,9 @@ CONFIG_MTD_NAND_NANDSIM=m
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_PSTORE=m
CONFIG_MTDRAM_ERASE_SIZE=128
# CONFIG_MTD_RAM is not set
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTD_RAW_NAND=m
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_ROM is not set

View File

@ -104,7 +104,7 @@ Summary: The Linux kernel
%define primary_target rhel
%endif
%define rpmversion 5.11.17
%define rpmversion 5.11.18
%define stableversion 5.11
%define pkgrelease 200
@ -603,7 +603,7 @@ BuildRequires: asciidoc
# exact git commit you can run
#
# xzcat -qq ${TARBALL} | git get-tar-commit-id
Source0: linux-5.11.17.tar.xz
Source0: linux-5.11.18.tar.xz
Source1: Makefile.rhelver
@ -1251,8 +1251,8 @@ ApplyOptionalPatch()
fi
}
%setup -q -n kernel-5.11.17 -c
mv linux-5.11.17 linux-%{KVERREL}
%setup -q -n kernel-5.11.18 -c
mv linux-5.11.18 linux-%{KVERREL}
cd linux-%{KVERREL}
cp -a %{SOURCE1} .
@ -2414,7 +2414,7 @@ if [ -f /etc/sysconfig/kernel ]\
then\
. /etc/sysconfig/kernel || exit $?\
fi\
if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink -a ! -e /run/ostree-booted ] \
if [ "$HARDLINK" != "no" -a -x /usr/bin/hardlink -a ! -e /run/ostree-booted ] \
then\
(cd /usr/src/kernels/%{KVERREL}%{?1:+%{1}} &&\
/usr/bin/find . -type f | while read f; do\
@ -2765,6 +2765,16 @@ fi
#
#
%changelog
* Mon May 03 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.11.18-200]
- nitro_enclaves: Fix stale file descriptors on failed usercopy (Mathias Krause)
* Mon May 03 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.11.18-0]
- Enable mtdram for fedora (rhbz 1955916) (Justin M. Forbes)
- hardlink is in /usr/bin/ (rhbz 1889043) (Justin M. Forbes)
- sfc: ef10: fix TX queue lookup in TX event handling (Edward Cree)
- sfc: farch: fix TX queue lookup in TX event handling (Edward Cree)
- sfc: farch: fix TX queue lookup in TX flush done handling (Edward Cree)
* Wed Apr 28 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.11.17-0]
- Fedora: ARMv7: build for 16 CPUs. (Peter Robinson)

View File

@ -43,6 +43,8 @@
drivers/hid/hid-rmi.c | 64 ---
drivers/input/rmi4/rmi_driver.c | 124 +++--
drivers/iommu/iommu.c | 22 +
drivers/net/ethernet/sfc/ef10.c | 3 +-
drivers/net/ethernet/sfc/farch.c | 16 +-
drivers/pci/controller/dwc/Kconfig | 10 +-
drivers/pci/controller/dwc/Makefile | 2 +-
drivers/pci/controller/dwc/pcie-tegra194.c | 102 +++++
@ -53,6 +55,7 @@
drivers/platform/x86/thinkpad_acpi.c | 510 ++++++++++++++++++++-
drivers/scsi/smartpqi/smartpqi_init.c | 16 +
drivers/usb/core/hub.c | 7 +
drivers/virt/nitro_enclaves/ne_misc_dev.c | 43 +-
include/linux/efi.h | 22 +-
include/linux/lsm_hook_defs.h | 2 +
include/linux/lsm_hooks.h | 6 +
@ -78,7 +81,7 @@
sound/soc/sof/ops.h | 8 +
sound/soc/sof/sof-pci-dev.c | 2 +-
sound/soc/sof/sof-priv.h | 4 +-
80 files changed, 2378 insertions(+), 330 deletions(-)
83 files changed, 2404 insertions(+), 366 deletions(-)
diff --git a/Documentation/ABI/testing/sysfs-platform_profile b/Documentation/ABI/testing/sysfs-platform_profile
new file mode 100644
@ -292,7 +295,7 @@ index 000000000000..c33a71263d9e
+ 2. Add the new profile name, along with a clear description of the
+ expected behaviour, to the sysfs-platform_profile ABI documentation.
diff --git a/Makefile b/Makefile
index d8367e193232..d0621367191f 100644
index 6cf79e492f72..9d762784ce21 100644
--- a/Makefile
+++ b/Makefile
@@ -495,6 +495,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE
@ -2390,6 +2393,64 @@ index fd5f59373fc6..8a11aa9e0318 100644
/*
* Changes the default domain of an iommu group that has *only* one device
*
diff --git a/drivers/net/ethernet/sfc/ef10.c b/drivers/net/ethernet/sfc/ef10.c
index da6886dcac37..4fa72b573c17 100644
--- a/drivers/net/ethernet/sfc/ef10.c
+++ b/drivers/net/ethernet/sfc/ef10.c
@@ -2928,8 +2928,7 @@ efx_ef10_handle_tx_event(struct efx_channel *channel, efx_qword_t *event)
/* Get the transmit queue */
tx_ev_q_label = EFX_QWORD_FIELD(*event, ESF_DZ_TX_QLABEL);
- tx_queue = efx_channel_get_tx_queue(channel,
- tx_ev_q_label % EFX_MAX_TXQ_PER_CHANNEL);
+ tx_queue = channel->tx_queue + (tx_ev_q_label % EFX_MAX_TXQ_PER_CHANNEL);
if (!tx_queue->timestamping) {
/* Transmit completion */
diff --git a/drivers/net/ethernet/sfc/farch.c b/drivers/net/ethernet/sfc/farch.c
index d75cf5ff5686..49df02ecee91 100644
--- a/drivers/net/ethernet/sfc/farch.c
+++ b/drivers/net/ethernet/sfc/farch.c
@@ -835,14 +835,14 @@ efx_farch_handle_tx_event(struct efx_channel *channel, efx_qword_t *event)
/* Transmit completion */
tx_ev_desc_ptr = EFX_QWORD_FIELD(*event, FSF_AZ_TX_EV_DESC_PTR);
tx_ev_q_label = EFX_QWORD_FIELD(*event, FSF_AZ_TX_EV_Q_LABEL);
- tx_queue = efx_channel_get_tx_queue(
- channel, tx_ev_q_label % EFX_MAX_TXQ_PER_CHANNEL);
+ tx_queue = channel->tx_queue +
+ (tx_ev_q_label % EFX_MAX_TXQ_PER_CHANNEL);
efx_xmit_done(tx_queue, tx_ev_desc_ptr);
} else if (EFX_QWORD_FIELD(*event, FSF_AZ_TX_EV_WQ_FF_FULL)) {
/* Rewrite the FIFO write pointer */
tx_ev_q_label = EFX_QWORD_FIELD(*event, FSF_AZ_TX_EV_Q_LABEL);
- tx_queue = efx_channel_get_tx_queue(
- channel, tx_ev_q_label % EFX_MAX_TXQ_PER_CHANNEL);
+ tx_queue = channel->tx_queue +
+ (tx_ev_q_label % EFX_MAX_TXQ_PER_CHANNEL);
netif_tx_lock(efx->net_dev);
efx_farch_notify_tx_desc(tx_queue);
@@ -1081,16 +1081,16 @@ static void
efx_farch_handle_tx_flush_done(struct efx_nic *efx, efx_qword_t *event)
{
struct efx_tx_queue *tx_queue;
+ struct efx_channel *channel;
int qid;
qid = EFX_QWORD_FIELD(*event, FSF_AZ_DRIVER_EV_SUBDATA);
if (qid < EFX_MAX_TXQ_PER_CHANNEL * (efx->n_tx_channels + efx->n_extra_tx_channels)) {
- tx_queue = efx_get_tx_queue(efx, qid / EFX_MAX_TXQ_PER_CHANNEL,
- qid % EFX_MAX_TXQ_PER_CHANNEL);
- if (atomic_cmpxchg(&tx_queue->flush_outstanding, 1, 0)) {
+ channel = efx_get_tx_channel(efx, qid / EFX_MAX_TXQ_PER_CHANNEL);
+ tx_queue = channel->tx_queue + (qid % EFX_MAX_TXQ_PER_CHANNEL);
+ if (atomic_cmpxchg(&tx_queue->flush_outstanding, 1, 0))
efx_farch_magic_event(tx_queue->channel,
EFX_CHANNEL_MAGIC_TX_DRAIN(tx_queue));
- }
}
}
diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig
index 22c5529e9a65..259ff5ff3f24 100644
--- a/drivers/pci/controller/dwc/Kconfig
@ -3606,6 +3667,86 @@ index 7f71218cc1e5..283fc0f41cd2 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/virt/nitro_enclaves/ne_misc_dev.c b/drivers/virt/nitro_enclaves/ne_misc_dev.c
index f1964ea4b826..e21e1e86ad15 100644
--- a/drivers/virt/nitro_enclaves/ne_misc_dev.c
+++ b/drivers/virt/nitro_enclaves/ne_misc_dev.c
@@ -1524,7 +1524,8 @@ static const struct file_operations ne_enclave_fops = {
* enclave file descriptor to be further used for enclave
* resources handling e.g. memory regions and CPUs.
* @ne_pci_dev : Private data associated with the PCI device.
- * @slot_uid: Generated unique slot id associated with an enclave.
+ * @slot_uid: User pointer to store the generated unique slot id
+ * associated with an enclave to.
*
* Context: Process context. This function is called with the ne_pci_dev enclave
* mutex held.
@@ -1532,7 +1533,7 @@ static const struct file_operations ne_enclave_fops = {
* * Enclave fd on success.
* * Negative return value on failure.
*/
-static int ne_create_vm_ioctl(struct ne_pci_dev *ne_pci_dev, u64 *slot_uid)
+static int ne_create_vm_ioctl(struct ne_pci_dev *ne_pci_dev, u64 __user *slot_uid)
{
struct ne_pci_dev_cmd_reply cmd_reply = {};
int enclave_fd = -1;
@@ -1634,7 +1635,18 @@ static int ne_create_vm_ioctl(struct ne_pci_dev *ne_pci_dev, u64 *slot_uid)
list_add(&ne_enclave->enclave_list_entry, &ne_pci_dev->enclaves_list);
- *slot_uid = ne_enclave->slot_uid;
+ if (copy_to_user(slot_uid, &ne_enclave->slot_uid, sizeof(ne_enclave->slot_uid))) {
+ /*
+ * As we're holding the only reference to 'enclave_file', fput()
+ * will call ne_enclave_release() which will do a proper cleanup
+ * of all so far allocated resources, leaving only the unused fd
+ * for us to free.
+ */
+ fput(enclave_file);
+ put_unused_fd(enclave_fd);
+
+ return -EFAULT;
+ }
fd_install(enclave_fd, enclave_file);
@@ -1671,34 +1683,13 @@ static long ne_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
switch (cmd) {
case NE_CREATE_VM: {
int enclave_fd = -1;
- struct file *enclave_file = NULL;
struct ne_pci_dev *ne_pci_dev = ne_devs.ne_pci_dev;
- int rc = -EINVAL;
- u64 slot_uid = 0;
+ u64 __user *slot_uid = (void __user *)arg;
mutex_lock(&ne_pci_dev->enclaves_list_mutex);
-
- enclave_fd = ne_create_vm_ioctl(ne_pci_dev, &slot_uid);
- if (enclave_fd < 0) {
- rc = enclave_fd;
-
- mutex_unlock(&ne_pci_dev->enclaves_list_mutex);
-
- return rc;
- }
-
+ enclave_fd = ne_create_vm_ioctl(ne_pci_dev, slot_uid);
mutex_unlock(&ne_pci_dev->enclaves_list_mutex);
- if (copy_to_user((void __user *)arg, &slot_uid, sizeof(slot_uid))) {
- enclave_file = fget(enclave_fd);
- /* Decrement file refs to have release() called. */
- fput(enclave_file);
- fput(enclave_file);
- put_unused_fd(enclave_fd);
-
- return -EFAULT;
- }
-
return enclave_fd;
}
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 119262585e9b..7d67f0187c34 100644
--- a/include/linux/efi.h

View File

@ -1,3 +1,3 @@
SHA512 (linux-5.11.17.tar.xz) = 4909bdf3479821ba4e4970d20bcd84c2b689bb69f318021288ad3b78f92f051a02354cfc32beb80334385d485dab652610a4dd698a25abc303df04a543dca3dd
SHA512 (kernel-abi-whitelists-5.11.17-200.tar.bz2) = 34462e0f190b45666d2529649f5ddbacf9b57ce21b1e3e898244859b11af82961125c34c77219d987cb654de4e758eab8b4ca13d9f3c5acb2c2e9ef32170ac77
SHA512 (kernel-kabi-dw-5.11.17-200.tar.bz2) = 6e70d6aec94dbe333e1e4b35415a8fd307277fbe5c5c1fb652f96be5c2fb77146e4a00420f0e6a5bc723a2b201573e2ba9081b894593f2c10a0959428556ea79
SHA512 (linux-5.11.18.tar.xz) = 05b7bb0a0653bef5c34ec5831429ebdaf00fe700b2dbc58f729c69c4c72f1adea00a29fbd70425b1bc07a462dcbb9aceefe374431897ba20afca6a90863dce2d
SHA512 (kernel-abi-whitelists-5.11.18-200.tar.bz2) = 758da71cc47ea748aa6af032239fc07ffe717c23011b9f2c80ab2f2d78661957c418f5b092fc22f7be98520ede3d7d57c0ee9e20158c21059a3689d10595b8a5
SHA512 (kernel-kabi-dw-5.11.18-200.tar.bz2) = 10e7f20555d1cc2f8d10c9a58f22cb2e189e9bb4286d7d4ee30e58c9b95aff5ee7774bdf34b5e75d5211056b9a393d0d3fb76c610572ca6c04b8068d8ae74399