We did some work on analyzing patches potentially missing from stable
releases based on the Fixes: and Revert references in the commit
messages. Our script is based on similar idea as described by Guenter
Roeck in this earlier mail:
https://lore.kernel.org/stable/20190827171621.GA30360@roeck-us.net/.
Although the list is not comprehensive, we figured it makes sense to
publish it in case the results are of interest to someone else also.
The below list of potentially missing commits is based on 4.19, but some
of the commits might also apply to 5.4 and 5.6.
For each potentially missing commit flagged by the script, we read the
commit message and had a short look at the change. We then added
comments on our own judgement if it might be stable material or not. No
comments simply means the potentially missing patch appears stable
material. "Based on commit" is the mainline patch that has been
backported to 4.19 and is referenced by the missing commit. We did not
check if the patch applies without changes, nor did we build or execute
any tests.
6011002c1584 uio: make symbol 'uio_class_registered' static
Based on commit: ae61cf5b9913
968339fad422 powerpc/boot: Delete unneeded .globl _zimage_start
Based on commit: ee9d21b3b358
Comment: not stable material?
ed4d81c4b3f2 net: aquantia: when cleaning hw cache it should be toggled
Based on commit: 7a1bb49461b1
Comment: this was backported to 5.3, but for some reason not to
older stable releases
b27507bb59ed net/ibmvnic: unlock rtnl_lock in reset so linkwatch_event can ru
Based on commit: a5681e20b541
61c347ba5511 afs: Clear AFS_VNODE_CB_PROMISED if we detect callback expiry
Based on commit: ae3b7361dc0e
Comment: likely requires manual backport
1a49b2fd8f58 kbuild: strip whitespace in cmd_record_mcount findstring
Based on commit: 6977f95e63b9
Comment: not stable material?
669e859b5ea7 btrfs: drop the lock on error in btrfs_dev_replace_cancel
Based on commit: d189dd70e255
Comment: earlier backport failed, this would likely require manual
backport: https://lore.kernel.org/stable/15531096685894@kroah.com/
dddaf89e2fbc netfilter: ipt_CLUSTERIP: make symbol 'cip_netdev_notifier' stat
Based on commit: 5a86d68bcf02
01091c496f92 acpi/nfit: improve bounds checking for 'func'
Based on commit: 11189c1089da
Comment: the missing commit was picked by AUTOSEL to 5.4, 5.5, and
5.6, but for some reason, it was not backported 4.19:
https://lore.kernel.org/stable/?q=01091c496f92*
2b74c878b0ea IB/hfi1: Unreserve a flushed OPFN request
Based on commit: ca95f802ef51
Comment: earlier backport failed, this would likely require manual
backport: https://lore.kernel.org/stable/15649835016938@kroah.com/
0b815023a1d4 bnxt_en: Fix ring checking logic on 57500 chips.
Based on commit: 36d65be9a880
Comment: likely requires manual backport
6ae865615fc4 x86/uaccess: Dont leak the AC flag into __put_user() argument ev
Based on commit: 2a418cf3f5f1
Comment: commit 9b8bd476e78e which mentions complementing
6ae865615fc4, has already been backported to 4.19
70db5b04cbe1 f2fs: give some messages for inline_xattr_size
Based on commit: 500e0b28ecd3
Comment: not stable material?
2a06b8982f8f net: reorder 'struct net' fields to avoid false sharing
Based on commit: 355b98553789
Comment: this was backported to 5.3, but for some reason not to
older stable releases
0fbf21c3b36a ALSA: hda/realtek - Enable micmute LED for Huawei laptops
Based on commit: 8ac51bbc4cfe
Comment: not stable material?
Thanks,
-- Henri
Since the driver was first introduced into the kernel, it has only
handled the ciphers associated with WEP, WPA, and WPA2. It fails with
WPA3 even though mac80211 can handle those additional ciphers in software,
b43 did not report that it could handle them. By setting MFP_CAPABLE using
ieee80211_set_hw(), the problem is fixed.
With this change, b43 will handle the ciohers it knows in hardare,
and let mac80211 handle the others in software. It is not necessary to
use the module parameter NOHWCRYPT to turn hardware encryption off.
Although this change essentially eliminates that module parameter,
I am choosing to keep it for cases where the hardware is broken,
and software encryption is required for all ciphers.
This patch fixes a prooblem that has been in the driver since it was first
merged with commit e4d6b7951812 ("[B43]: add mac80211-based driver for
modern BCM43xx devices").
Fixes e4d6b7951812 ("[B43]: add mac80211-based driver for modern BCM43xx devices")
Reported-and-tested-by: Rui Salvaterra <rsalvaterra(a)gmail.com>
Signed-off-by: Larry Finger <Larry.Finger(a)lwfinger.net>
Cc: Stable <stable(a)vger.kernel.org>
---
drivers/net/wireless/broadcom/b43/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/wireless/broadcom/b43/main.c b/drivers/net/wireless/broadcom/b43/main.c
index 39da1a4c30ac..3ad94dad2d89 100644
--- a/drivers/net/wireless/broadcom/b43/main.c
+++ b/drivers/net/wireless/broadcom/b43/main.c
@@ -5569,7 +5569,7 @@ static struct b43_wl *b43_wireless_init(struct b43_bus_dev *dev)
/* fill hw info */
ieee80211_hw_set(hw, RX_INCLUDES_FCS);
ieee80211_hw_set(hw, SIGNAL_DBM);
-
+ ieee80211_hw_set(hw, MFP_CAPABLE);
hw->wiphy->interface_modes =
BIT(NL80211_IFTYPE_AP) |
BIT(NL80211_IFTYPE_MESH_POINT) |
--
2.26.2
On a modern Linux distro, compiling the following program fails:
#include<stdlib.h>
#include<stdint.h>
#include<pthread.h>
#include<linux/sched/types.h>
void main() {
struct sched_attr sa;
return;
}
with:
/usr/include/linux/sched/types.h:8:8: \
error: redefinition of ‘struct sched_param’
8 | struct sched_param {
| ^~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/bits/sched.h:74,
from /usr/include/sched.h:43,
from /usr/include/pthread.h:23,
from /tmp/s.c:4:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:23:8:
note: originally defined here
23 | struct sched_param
| ^~~~~~~~~~~
This also causes a problem with using sched_attr in Chrome. The issue is
sched_param is already provided by glibc.
Guard the kernel's UAPI definition of sched_param with __KERNEL__ so
that userspace can compile.
Fixes: e2d1e2aec572a ("sched/headers: Move various ABI definitions to <uapi/linux/sched/types.h>"
Signed-off-by: Joel Fernandes (Google) <joel(a)joelfernandes.org>
---
include/uapi/linux/sched/types.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/uapi/linux/sched/types.h b/include/uapi/linux/sched/types.h
index c852153ddb0d3..1f10d935a63fe 100644
--- a/include/uapi/linux/sched/types.h
+++ b/include/uapi/linux/sched/types.h
@@ -4,9 +4,11 @@
#include <linux/types.h>
+#if defined(__KERNEL__)
struct sched_param {
int sched_priority;
};
+#endif
#define SCHED_ATTR_SIZE_VER0 48 /* sizeof first published struct */
#define SCHED_ATTR_SIZE_VER1 56 /* add: util_{min,max} */
--
2.26.2.761.g0e0b3e54be-goog
To avoid lot of interrupts from dwc2 core, which can be asserted in
specific conditions need to disable interrupts on HW level instead of
disable IRQs on Kernel level, because of IRQ can be shared between
drivers.
Cc: stable(a)vger.kernel.org
Fixes: a40a00318c7fc ("usb: dwc2: add shutdown callback to platform variant")
Tested-by: Frank Mori Hess <fmh6jj(a)gmail.com>
Signed-off-by: Minas Harutyunyan <hminas(a)synopsys.com>
---
drivers/usb/dwc2/platform.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c
index e571c8ae65ec..ada5b66b948e 100644
--- a/drivers/usb/dwc2/platform.c
+++ b/drivers/usb/dwc2/platform.c
@@ -342,7 +342,7 @@ static void dwc2_driver_shutdown(struct platform_device *dev)
{
struct dwc2_hsotg *hsotg = platform_get_drvdata(dev);
- disable_irq(hsotg->irq);
+ dwc2_disable_global_interrupts(hsotg);
}
/**
--
2.11.0
Clear tuning_done flag while executing tuning to ensure vendor
specific HS400 settings are applied properly when the controller
is re-initialized in HS400 mode.
Without this, re-initialization of the qcom SDHC in HS400 mode fails
while resuming the driver from runtime-suspend or system-suspend.
Fixes: ff06ce4 ("mmc: sdhci-msm: Add HS400 platform support")
Cc: stable(a)vger.kernel.org
Signed-off-by: Veerabhadrarao Badiganti <vbadigan(a)codeaurora.org>
---
drivers/mmc/host/sdhci-msm.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
index 95cd973..b277dd7 100644
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
@@ -1174,6 +1174,12 @@ static int sdhci_msm_execute_tuning(struct mmc_host *mmc, u32 opcode)
msm_host->use_cdr = true;
/*
+ * Clear tuning_done flag before tuning to ensure proper
+ * HS400 settings.
+ */
+ msm_host->tuning_done = 0;
+
+ /*
* For HS400 tuning in HS200 timing requires:
* - select MCLK/2 in VENDOR_SPEC
* - program MCLK to 400MHz (or nearest supported) in GCC
--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc., is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
From: Alexander Sverdlin <alexander.sverdlin(a)nokia.com>
The removal of mips_swiotlb_ops exposed a problem in octeon_mgmt Ethernet
driver. mips_swiotlb_ops had an mb() after most of the operations and the
removal of the ops had broken the receive functionality of the driver.
My code inspection has shown no other places except
octeon_mgmt_rx_fill_ring() where an explicit barrier would be obviously
missing. The latter function however has to make sure that "ringing the
bell" doesn't happen before RX ring entry is really written.
The patch has been successfully tested on Octeon II.
Fixes: a999933db9ed ("MIPS: remove mips_swiotlb_ops")
Cc: stable(a)vger.kernel.org
Signed-off-by: Alexander Sverdlin <alexander.sverdlin(a)nokia.com>
---
drivers/net/ethernet/cavium/octeon/octeon_mgmt.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c b/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
index 07b960e..79c110a 100644
--- a/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
+++ b/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
@@ -235,6 +235,11 @@ static void octeon_mgmt_rx_fill_ring(struct net_device *netdev)
/* Put it in the ring. */
p->rx_ring[p->rx_next_fill] = re.d64;
+ /* Make sure there is no reorder of filling the ring and ringing
+ * the bell
+ */
+ wmb();
+
dma_sync_single_for_device(p->dev, p->rx_ring_handle,
ring_size_to_bytes(OCTEON_MGMT_RX_RING_SIZE),
DMA_BIDIRECTIONAL);
--
2.10.2