* [PATCH 0/8] backports: Update to version 5.5.10
@ 2020-03-20 23:39 Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 1/8] backports: patches: Refresh against kernel 5.5.10 Hauke Mehrtens
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: Hauke Mehrtens @ 2020-03-20 23:39 UTC (permalink / raw)
To: backports; +Cc: johannes, Hauke Mehrtens
This adds the missing changes to make backports work with kernel 5.5.10
1 3.12.74 [ OK ]
2 3.13.11 [ LINK ]
3 3.14.79 [ LINK ]
4 3.16.82 [ OK ]
5 3.18.140 [ OK ]
6 4.0.9 [ LINK ]
7 4.1.52 [ OK ]
8 4.2.8 [ LINK ]
9 4.3.6 [ LINK ]
10 4.4.216 [ OK ]
11 4.5.7 [ OK ]
12 4.6.7 [ OK ]
13 4.7.10 [ OK ]
14 4.8.17 [ OK ]
15 4.9.216 [ OK ]
16 4.10.17 [ OK ]
17 4.11.12 [ OK ]
18 4.12.14 [ OK ]
19 4.13.16 [ OK ]
20 4.14.173 [ OK ]
21 4.15.18 [ OK ]
22 4.16.18 [ OK ]
23 4.17.19 [ OK ]
24 4.18.20 [ OK ]
25 4.19.109 [ OK ]
26 4.20.17 [ OK ]
27 5.0.21 [ OK ]
28 5.1.21 [ OK ]
29 5.2.21 [ OK ]
30 5.3.18 [ OK ]
31 5.4.25 [ OK ]
32 5.5.9 [ OK ]
My mails were not send to the mailing list, I hope this is fixed now.
Hauke Mehrtens (8):
backports: patches: Refresh against kernel 5.5.10
backports: fs.h: Add compat_ptr_ioctl()
backports: stddef.h: Add sizeof_field()
backports: Make qtnfmac depend on kernel 5.1 or later
backports: rcupdate.h: Add rcu_swap_protected()
backports: netdevice.h: Add return value to napi_complete()
backports: Do not build BPAUTO_BUILD_SYSTEM_DATA_VERIFICATION on <
3.13
backports: page_ref.h: Exclude page_ref_count() on kernel >= 4.4.216
backport/backport-include/linux/fs.h | 10 +++++
backport/backport-include/linux/netdevice.h | 6 +++
backport/backport-include/linux/page_ref.h | 2 +
backport/backport-include/linux/rcupdate.h | 18 ++++++++
backport/backport-include/linux/stddef.h | 12 +++++-
backport/compat/Kconfig | 1 +
backport/compat/Makefile | 1 +
backport/compat/backport-5.5.c | 41 +++++++++++++++++++
dependencies | 8 +++-
...2-disable-dump-adjust-on-old-kernels.patch | 4 +-
.../include_net_cfg80211.patch | 2 +-
.../net_wireless_core.patch | 2 +-
.../0013-fix-makefile-includes/rtw88.patch | 28 ++++---------
.../net_wireless_nl80211.patch | 2 +-
patches/0022-define-tracing/wil6210.patch | 2 +-
patches/0024-led-blink-api/mac80211.patch | 2 +-
patches/0025-usb-sg/usbnet.patch | 2 +-
patches/0028-select_queue/mwifiex.patch | 2 +-
patches/0028-select_queue/rtl8723bs.patch | 2 +-
patches/0053-possible_net_t.patch | 2 +-
patches/0055-name_assign_type/brcmfmac.patch | 2 +-
patches/0069-iwlwifi-pd-string-fix.patch | 2 +-
patches/0077-genl-ro-after-init/hwsim.patch | 2 +-
patches/0077-genl-ro-after-init/nl80211.patch | 2 +-
patches/0085-iwlwifi-pci-device-removal.patch | 4 +-
patches/0090-remove-GRO_CONSUMED.patch | 2 +-
patches/lib-refcount.patch | 10 ++---
27 files changed, 128 insertions(+), 45 deletions(-)
create mode 100644 backport/compat/backport-5.5.c
--
2.20.1
--
To unsubscribe from this list: send the line "unsubscribe backports" in
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/8] backports: patches: Refresh against kernel 5.5.10
2020-03-20 23:39 [PATCH 0/8] backports: Update to version 5.5.10 Hauke Mehrtens
@ 2020-03-20 23:39 ` Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 2/8] backports: fs.h: Add compat_ptr_ioctl() Hauke Mehrtens
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Hauke Mehrtens @ 2020-03-20 23:39 UTC (permalink / raw)
To: backports; +Cc: johannes, Hauke Mehrtens
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
...2-disable-dump-adjust-on-old-kernels.patch | 4 +--
.../include_net_cfg80211.patch | 2 +-
.../net_wireless_core.patch | 2 +-
.../0013-fix-makefile-includes/rtw88.patch | 28 ++++++-------------
.../net_wireless_nl80211.patch | 2 +-
patches/0022-define-tracing/wil6210.patch | 2 +-
patches/0024-led-blink-api/mac80211.patch | 2 +-
patches/0025-usb-sg/usbnet.patch | 2 +-
patches/0028-select_queue/mwifiex.patch | 2 +-
patches/0028-select_queue/rtl8723bs.patch | 2 +-
patches/0053-possible_net_t.patch | 2 +-
patches/0055-name_assign_type/brcmfmac.patch | 2 +-
patches/0069-iwlwifi-pd-string-fix.patch | 2 +-
patches/0077-genl-ro-after-init/hwsim.patch | 2 +-
patches/0077-genl-ro-after-init/nl80211.patch | 2 +-
patches/0085-iwlwifi-pci-device-removal.patch | 4 +--
patches/0090-remove-GRO_CONSUMED.patch | 2 +-
patches/lib-refcount.patch | 10 +++----
18 files changed, 32 insertions(+), 42 deletions(-)
diff --git a/patches/0002-disable-dump-adjust-on-old-kernels.patch b/patches/0002-disable-dump-adjust-on-old-kernels.patch
index 04103f35..3d752359 100644
--- a/patches/0002-disable-dump-adjust-on-old-kernels.patch
+++ b/patches/0002-disable-dump-adjust-on-old-kernels.patch
@@ -28,7 +28,7 @@ Date: Fri Mar 1 14:03:49 2013 +0100
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -2542,6 +2542,7 @@ static int nl80211_dump_wiphy(struct sk_
+@@ -2549,6 +2549,7 @@ static int nl80211_dump_wiphy(struct sk_
cb->nlh->nlmsg_seq,
NLM_F_MULTI, state);
if (ret < 0) {
@@ -36,7 +36,7 @@ Date: Fri Mar 1 14:03:49 2013 +0100
/*
* If sending the wiphy data didn't fit (ENOBUFS
* or EMSGSIZE returned), this SKB is still
-@@ -2563,6 +2564,7 @@ static int nl80211_dump_wiphy(struct sk_
+@@ -2570,6 +2571,7 @@ static int nl80211_dump_wiphy(struct sk_
rtnl_unlock();
return 1;
}
diff --git a/patches/0003-cfg80211-wext-padding/include_net_cfg80211.patch b/patches/0003-cfg80211-wext-padding/include_net_cfg80211.patch
index ab2b79ff..11c50887 100644
--- a/patches/0003-cfg80211-wext-padding/include_net_cfg80211.patch
+++ b/patches/0003-cfg80211-wext-padding/include_net_cfg80211.patch
@@ -1,6 +1,6 @@
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
-@@ -4536,6 +4536,9 @@ struct cfg80211_pmsr_capabilities {
+@@ -4552,6 +4552,9 @@ struct cfg80211_pmsr_capabilities {
struct wiphy {
/* assign these fields before you register the wiphy */
diff --git a/patches/0010-add-wext-handlers-to-netdev/net_wireless_core.patch b/patches/0010-add-wext-handlers-to-netdev/net_wireless_core.patch
index c5d8ddf9..6b14d347 100644
--- a/patches/0010-add-wext-handlers-to-netdev/net_wireless_core.patch
+++ b/patches/0010-add-wext-handlers-to-netdev/net_wireless_core.patch
@@ -11,7 +11,7 @@
device_initialize(&rdev->wiphy.dev);
rdev->wiphy.dev.class = &ieee80211_class;
rdev->wiphy.dev.platform_data = rdev;
-@@ -1295,6 +1291,15 @@ static int cfg80211_netdev_notifier_call
+@@ -1296,6 +1292,15 @@ static int cfg80211_netdev_notifier_call
}
wdev->netdev = dev;
#ifdef CONFIG_CFG80211_WEXT
diff --git a/patches/0013-fix-makefile-includes/rtw88.patch b/patches/0013-fix-makefile-includes/rtw88.patch
index 10bb1780..4e2ea808 100644
--- a/patches/0013-fix-makefile-includes/rtw88.patch
+++ b/patches/0013-fix-makefile-includes/rtw88.patch
@@ -1,40 +1,30 @@
--- a/drivers/net/wireless/realtek/rtw88/main.c
+++ b/drivers/net/wireless/realtek/rtw88/main.c
-@@ -13,6 +13,7 @@
- #include "reg.h"
- #include "efuse.h"
+@@ -15,6 +15,7 @@
+ #include "tx.h"
#include "debug.h"
+ #include "bf.h"
+#include <linux/module.h>
- static bool rtw_fw_support_lps;
- unsigned int rtw_debug_mask;
+ unsigned int rtw_fw_lps_deep_mode;
+ EXPORT_SYMBOL(rtw_fw_lps_deep_mode);
--- a/drivers/net/wireless/realtek/rtw88/rtw8822b.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw8822b.c
-@@ -13,6 +13,7 @@
- #include "mac.h"
+@@ -14,6 +14,7 @@
#include "reg.h"
#include "debug.h"
+ #include "bf.h"
+#include <linux/module.h>
static void rtw8822b_config_trx_mode(struct rtw_dev *rtwdev, u8 tx_path,
u8 rx_path, bool is_tx2_path);
--- a/drivers/net/wireless/realtek/rtw88/rtw8822c.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
-@@ -14,6 +14,7 @@
- #include "reg.h"
+@@ -15,6 +15,7 @@
#include "debug.h"
#include "util.h"
+ #include "bf.h"
+#include <linux/module.h>
static void rtw8822c_config_trx_mode(struct rtw_dev *rtwdev, u8 tx_path,
u8 rx_path, bool is_tx2_path);
---- a/drivers/net/wireless/realtek/rtw88/pci.c
-+++ b/drivers/net/wireless/realtek/rtw88/pci.c
-@@ -10,6 +10,7 @@
- #include "rx.h"
- #include "fw.h"
- #include "debug.h"
-+#include <linux/interrupt.h>
-
- static bool rtw_disable_msi;
- module_param_named(disable_msi, rtw_disable_msi, bool, 0644);
diff --git a/patches/0014-netlink_seq/net_wireless_nl80211.patch b/patches/0014-netlink_seq/net_wireless_nl80211.patch
index 8b7c33b0..28416330 100644
--- a/patches/0014-netlink_seq/net_wireless_nl80211.patch
+++ b/patches/0014-netlink_seq/net_wireless_nl80211.patch
@@ -1,6 +1,6 @@
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -8765,7 +8765,9 @@ static int nl80211_dump_scan(struct sk_b
+@@ -8780,7 +8780,9 @@ static int nl80211_dump_scan(struct sk_b
if (start == 0)
cfg80211_bss_expire(rdev);
diff --git a/patches/0022-define-tracing/wil6210.patch b/patches/0022-define-tracing/wil6210.patch
index 2e51beb1..a1093d16 100644
--- a/patches/0022-define-tracing/wil6210.patch
+++ b/patches/0022-define-tracing/wil6210.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/wil6210/trace.c
+++ b/drivers/net/wireless/ath/wil6210/trace.c
-@@ -15,6 +15,9 @@
+@@ -4,6 +4,9 @@
*/
#include <linux/module.h>
diff --git a/patches/0024-led-blink-api/mac80211.patch b/patches/0024-led-blink-api/mac80211.patch
index 39fb6f0c..99b78d0c 100644
--- a/patches/0024-led-blink-api/mac80211.patch
+++ b/patches/0024-led-blink-api/mac80211.patch
@@ -1,6 +1,6 @@
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
-@@ -1306,6 +1306,7 @@ struct ieee80211_local {
+@@ -1310,6 +1310,7 @@ struct ieee80211_local {
struct mutex chanctx_mtx;
#ifdef CONFIG_MAC80211_LEDS
diff --git a/patches/0025-usb-sg/usbnet.patch b/patches/0025-usb-sg/usbnet.patch
index 30cce14f..47f49b5c 100644
--- a/patches/0025-usb-sg/usbnet.patch
+++ b/patches/0025-usb-sg/usbnet.patch
@@ -61,7 +61,7 @@
/* fall through */
case rx_cleanup:
usb_free_urb (entry->urb);
-@@ -1896,7 +1914,9 @@ int usbnet_resume (struct usb_interface
+@@ -1903,7 +1921,9 @@ int usbnet_resume (struct usb_interface
retval = usb_submit_urb(res, GFP_ATOMIC);
if (retval < 0) {
dev_kfree_skb_any(skb);
diff --git a/patches/0028-select_queue/mwifiex.patch b/patches/0028-select_queue/mwifiex.patch
index 0b4e9838..ffcb4cbb 100644
--- a/patches/0028-select_queue/mwifiex.patch
+++ b/patches/0028-select_queue/mwifiex.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/wireless/marvell/mwifiex/main.c
+++ b/drivers/net/wireless/marvell/mwifiex/main.c
-@@ -1276,9 +1276,28 @@ static struct net_device_stats *mwifiex_
+@@ -1277,9 +1277,28 @@ static struct net_device_stats *mwifiex_
return &priv->stats;
}
diff --git a/patches/0028-select_queue/rtl8723bs.patch b/patches/0028-select_queue/rtl8723bs.patch
index 94524bc0..962c0cc9 100644
--- a/patches/0028-select_queue/rtl8723bs.patch
+++ b/patches/0028-select_queue/rtl8723bs.patch
@@ -1,6 +1,6 @@
--- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c
+++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
-@@ -395,8 +395,18 @@ static unsigned int rtw_classify8021d(st
+@@ -375,8 +375,18 @@ static unsigned int rtw_classify8021d(st
}
diff --git a/patches/0053-possible_net_t.patch b/patches/0053-possible_net_t.patch
index 85e6c24c..596aa90d 100644
--- a/patches/0053-possible_net_t.patch
+++ b/patches/0053-possible_net_t.patch
@@ -2,7 +2,7 @@ diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 04e5785..a251da1 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
-@@ -4685,12 +4685,12 @@ struct wiphy {
+@@ -4701,12 +4701,12 @@ struct wiphy {
static inline struct net *wiphy_net(struct wiphy *wiphy)
{
diff --git a/patches/0055-name_assign_type/brcmfmac.patch b/patches/0055-name_assign_type/brcmfmac.patch
index c242a44a..c9619b1c 100644
--- a/patches/0055-name_assign_type/brcmfmac.patch
+++ b/patches/0055-name_assign_type/brcmfmac.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
-@@ -2219,7 +2219,9 @@ struct wireless_dev *brcmf_p2p_add_vif(s
+@@ -2220,7 +2220,9 @@ struct wireless_dev *brcmf_p2p_add_vif(s
}
strncpy(ifp->ndev->name, name, sizeof(ifp->ndev->name) - 1);
diff --git a/patches/0069-iwlwifi-pd-string-fix.patch b/patches/0069-iwlwifi-pd-string-fix.patch
index 563fcbd7..f4580157 100644
--- a/patches/0069-iwlwifi-pd-string-fix.patch
+++ b/patches/0069-iwlwifi-pd-string-fix.patch
@@ -60,7 +60,7 @@
mvm->debugfs_dir, buf);
--- a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
-@@ -2081,6 +2081,12 @@ void iwl_mvm_dbgfs_register(struct iwl_m
+@@ -2085,6 +2085,12 @@ void iwl_mvm_dbgfs_register(struct iwl_m
* Create a symlink with mac80211. It will be removed when mac80211
* exists (before the opmode exists which removes the target.)
*/
diff --git a/patches/0077-genl-ro-after-init/hwsim.patch b/patches/0077-genl-ro-after-init/hwsim.patch
index 5a485060..f3f46e5a 100644
--- a/patches/0077-genl-ro-after-init/hwsim.patch
+++ b/patches/0077-genl-ro-after-init/hwsim.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/wireless/mac80211_hwsim.c
+++ b/drivers/net/wireless/mac80211_hwsim.c
-@@ -3765,7 +3765,7 @@ static const struct genl_ops hwsim_ops[]
+@@ -3790,7 +3790,7 @@ static const struct genl_ops hwsim_ops[]
},
};
diff --git a/patches/0077-genl-ro-after-init/nl80211.patch b/patches/0077-genl-ro-after-init/nl80211.patch
index eee2ee3c..e4071840 100644
--- a/patches/0077-genl-ro-after-init/nl80211.patch
+++ b/patches/0077-genl-ro-after-init/nl80211.patch
@@ -1,6 +1,6 @@
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -14750,7 +14750,7 @@ static const struct genl_ops nl80211_ops
+@@ -14768,7 +14768,7 @@ static const struct genl_ops nl80211_ops
},
};
diff --git a/patches/0085-iwlwifi-pci-device-removal.patch b/patches/0085-iwlwifi-pci-device-removal.patch
index f858fe99..08627746 100644
--- a/patches/0085-iwlwifi-pci-device-removal.patch
+++ b/patches/0085-iwlwifi-pci-device-removal.patch
@@ -2,7 +2,7 @@ diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c b/drivers/net/wirel
index f74281508197..3b11bd68f261 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
-@@ -1998,6 +1998,9 @@ static void iwl_trans_pcie_removal_wk(st
+@@ -2024,6 +2024,9 @@ static void iwl_trans_pcie_removal_wk(st
struct iwl_trans_pcie_removal *removal =
container_of(wk, struct iwl_trans_pcie_removal, work);
struct pci_dev *pdev = removal->pdev;
@@ -12,7 +12,7 @@ index f74281508197..3b11bd68f261 100644
static char *prop[] = {"EVENT=INACCESSIBLE", NULL};
dev_err(&pdev->dev, "Device gone - attempting removal\n");
-@@ -2006,6 +2009,7 @@ static void iwl_trans_pcie_removal_wk(st
+@@ -2032,6 +2035,7 @@ static void iwl_trans_pcie_removal_wk(st
pci_dev_put(pdev);
pci_stop_and_remove_bus_device(pdev);
pci_unlock_rescan_remove();
diff --git a/patches/0090-remove-GRO_CONSUMED.patch b/patches/0090-remove-GRO_CONSUMED.patch
index b2abfa96..ea0e1ea7 100644
--- a/patches/0090-remove-GRO_CONSUMED.patch
+++ b/patches/0090-remove-GRO_CONSUMED.patch
@@ -4,7 +4,7 @@ older kernel versions.
--- a/drivers/net/wireless/ath/wil6210/txrx.c
+++ b/drivers/net/wireless/ath/wil6210/txrx.c
-@@ -924,7 +924,9 @@ void wil_netif_rx(struct sk_buff *skb, s
+@@ -913,7 +913,9 @@ void wil_netif_rx(struct sk_buff *skb, s
[GRO_HELD] = "GRO_HELD",
[GRO_NORMAL] = "GRO_NORMAL",
[GRO_DROP] = "GRO_DROP",
diff --git a/patches/lib-refcount.patch b/patches/lib-refcount.patch
index 0f63ec6a..f375e1a2 100644
--- a/patches/lib-refcount.patch
+++ b/patches/lib-refcount.patch
@@ -2,15 +2,15 @@ diff --git a/compat/lib-refcount.c b/compat/lib-refcount.c
index 5d0582a..8d108f9 100644
--- a/compat/lib-refcount.c
+++ b/compat/lib-refcount.c
-@@ -42,6 +42,7 @@
+@@ -7,6 +7,7 @@
#include <linux/refcount.h>
#include <linux/spinlock.h>
#include <linux/bug.h>
+#include <linux/export.h>
- /**
- * refcount_add_not_zero_checked - add a value to a refcount unless it is 0
-@@ -153,6 +153,8 @@ bool refcount_dec_and_lock(refcount_t *r, spinlock_t *lock)
+ #define REFCOUNT_WARN(str) WARN_ONCE(1, "refcount_t: " str ".\n")
+
+@@ -152,6 +153,8 @@ bool refcount_dec_and_lock(refcount_t *r
return false;
}
@@ -19,7 +19,7 @@ index 5d0582a..8d108f9 100644
return true;
}
EXPORT_SYMBOL(refcount_dec_and_lock);
-@@ -182,6 +184,8 @@ bool refcount_dec_and_lock_irqsave(refcount_t *r, spinlock_t *lock,
+@@ -181,6 +184,8 @@ bool refcount_dec_and_lock_irqsave(refco
return false;
}
--
2.20.1
--
To unsubscribe from this list: send the line "unsubscribe backports" in
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/8] backports: fs.h: Add compat_ptr_ioctl()
2020-03-20 23:39 [PATCH 0/8] backports: Update to version 5.5.10 Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 1/8] backports: patches: Refresh against kernel 5.5.10 Hauke Mehrtens
@ 2020-03-20 23:39 ` Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 3/8] backports: stddef.h: Add sizeof_field() Hauke Mehrtens
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Hauke Mehrtens @ 2020-03-20 23:39 UTC (permalink / raw)
To: backports; +Cc: johannes, Hauke Mehrtens
compat_ptr_ioctl() was added in upstream commit 2952db0fd51b
("compat_ioctl: add compat_ptr_ioctl()") and is now used by the cdc-wdm
driver.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
backport/backport-include/linux/fs.h | 10 +++++++
backport/compat/Makefile | 1 +
backport/compat/backport-5.5.c | 41 ++++++++++++++++++++++++++++
3 files changed, 52 insertions(+)
create mode 100644 backport/compat/backport-5.5.c
diff --git a/backport/backport-include/linux/fs.h b/backport/backport-include/linux/fs.h
index 6e4d4a53..9854290a 100644
--- a/backport/backport-include/linux/fs.h
+++ b/backport/backport-include/linux/fs.h
@@ -49,4 +49,14 @@ static inline struct inode *file_inode(struct file *f)
extern loff_t no_seek_end_llseek(struct file *, loff_t, int);
#endif /* < 4.5 && >= 3.2 */
+#if LINUX_VERSION_IS_LESS(5,5,0)
+#ifdef CONFIG_COMPAT
+#define compat_ptr_ioctl LINUX_BACKPORT(compat_ptr_ioctl)
+extern long compat_ptr_ioctl(struct file *file, unsigned int cmd,
+ unsigned long arg);
+#else
+#define compat_ptr_ioctl NULL
+#endif
+#endif /* < 5.5 */
+
#endif /* _COMPAT_LINUX_FS_H */
diff --git a/backport/compat/Makefile b/backport/compat/Makefile
index e92e3120..6f1b0a89 100644
--- a/backport/compat/Makefile
+++ b/backport/compat/Makefile
@@ -38,6 +38,7 @@ compat-$(CPTCFG_KERNEL_4_8) += backport-4.8.o
compat-$(CPTCFG_KERNEL_4_10) += backport-4.10.o
compat-$(CPTCFG_KERNEL_4_18) += backport-4.18.o
compat-$(CPTCFG_KERNEL_5_2) += backport-5.2.o backport-genetlink.o
+compat-$(CPTCFG_KERNEL_5_5) += backport-5.5.o
compat-$(CPTCFG_BPAUTO_BUILD_SYSTEM_DATA_VERIFICATION) += verification/verify.o
compat-$(CPTCFG_BPAUTO_BUILD_SYSTEM_DATA_VERIFICATION) += verification/pkcs7.asn1.o
diff --git a/backport/compat/backport-5.5.c b/backport/compat/backport-5.5.c
new file mode 100644
index 00000000..6f46be9d
--- /dev/null
+++ b/backport/compat/backport-5.5.c
@@ -0,0 +1,41 @@
+// SPDX-License-Identifier: GPL-2.0
+
+#include <linux/export.h>
+#include <linux/kernel.h>
+#include <linux/errno.h>
+#include <linux/fs.h>
+#include <linux/compat.h>
+
+#ifdef CONFIG_COMPAT
+/**
+ * compat_ptr_ioctl - generic implementation of .compat_ioctl file operation
+ *
+ * This is not normally called as a function, but instead set in struct
+ * file_operations as
+ *
+ * .compat_ioctl = compat_ptr_ioctl,
+ *
+ * On most architectures, the compat_ptr_ioctl() just passes all arguments
+ * to the corresponding ->ioctl handler. The exception is arch/s390, where
+ * compat_ptr() clears the top bit of a 32-bit pointer value, so user space
+ * pointers to the second 2GB alias the first 2GB, as is the case for
+ * native 32-bit s390 user space.
+ *
+ * The compat_ptr_ioctl() function must therefore be used only with ioctl
+ * functions that either ignore the argument or pass a pointer to a
+ * compatible data type.
+ *
+ * If any ioctl command handled by fops->unlocked_ioctl passes a plain
+ * integer instead of a pointer, or any of the passed data types
+ * is incompatible between 32-bit and 64-bit architectures, a proper
+ * handler is required instead of compat_ptr_ioctl.
+ */
+long compat_ptr_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
+{
+ if (!file->f_op->unlocked_ioctl)
+ return -ENOIOCTLCMD;
+
+ return file->f_op->unlocked_ioctl(file, cmd, (unsigned long)compat_ptr(arg));
+}
+EXPORT_SYMBOL(compat_ptr_ioctl);
+#endif
--
2.20.1
--
To unsubscribe from this list: send the line "unsubscribe backports" in
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/8] backports: stddef.h: Add sizeof_field()
2020-03-20 23:39 [PATCH 0/8] backports: Update to version 5.5.10 Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 1/8] backports: patches: Refresh against kernel 5.5.10 Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 2/8] backports: fs.h: Add compat_ptr_ioctl() Hauke Mehrtens
@ 2020-03-20 23:39 ` Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 4/8] backports: Make qtnfmac depend on kernel 5.1 or later Hauke Mehrtens
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Hauke Mehrtens @ 2020-03-20 23:39 UTC (permalink / raw)
To: backports; +Cc: johannes, Hauke Mehrtens
This backports sizeof_field() from upstream Linux commit 4229a470175b
("stddef.h: Introduce sizeof_field()"). This is now used by multiple
drivers.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
backport/backport-include/linux/stddef.h | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/backport/backport-include/linux/stddef.h b/backport/backport-include/linux/stddef.h
index 2c836b00..a6cdc67d 100644
--- a/backport/backport-include/linux/stddef.h
+++ b/backport/backport-include/linux/stddef.h
@@ -2,6 +2,16 @@
#define __BACKPORT_LINUX_STDDEF_H
#include_next <linux/stddef.h>
+#ifndef sizeof_field
+/**
+ * sizeof_field(TYPE, MEMBER)
+ *
+ * @TYPE: The structure containing the field of interest
+ * @MEMBER: The field to return the size of
+ */
+#define sizeof_field(TYPE, MEMBER) sizeof((((TYPE *)0)->MEMBER))
+#endif
+
#ifndef offsetofend
/**
* offsetofend(TYPE, MEMBER)
@@ -10,7 +20,7 @@
* @MEMBER: The member within the structure to get the end offset of
*/
#define offsetofend(TYPE, MEMBER) \
- (offsetof(TYPE, MEMBER) + sizeof(((TYPE *)0)->MEMBER))
+ (offsetof(TYPE, MEMBER) + sizeof_field(TYPE, MEMBER))
#endif
#endif /* __BACKPORT_LINUX_STDDEF_H */
--
2.20.1
--
To unsubscribe from this list: send the line "unsubscribe backports" in
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 4/8] backports: Make qtnfmac depend on kernel 5.1 or later
2020-03-20 23:39 [PATCH 0/8] backports: Update to version 5.5.10 Hauke Mehrtens
` (2 preceding siblings ...)
2020-03-20 23:39 ` [PATCH 3/8] backports: stddef.h: Add sizeof_field() Hauke Mehrtens
@ 2020-03-20 23:39 ` Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 5/8] backports: rcupdate.h: Add rcu_swap_protected() Hauke Mehrtens
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Hauke Mehrtens @ 2020-03-20 23:39 UTC (permalink / raw)
To: backports; +Cc: johannes, Hauke Mehrtens
The qtnfmac driver now uses the .ndo_get_port_parent_id ndo callback
which was added in kernel 5.1. Instead of backporting this part just
make the driver depend on a kernel version which supports this callback.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
dependencies | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dependencies b/dependencies
index 02d46ca3..47558470 100644
--- a/dependencies
+++ b/dependencies
@@ -24,8 +24,9 @@ AIRO_CS 3.9
# pci_error_handlers->reset_notify is missing
MWIFIEX_PCIE 3.16
-# needs pcie_get_mps()
-QTNFMAC_PCIE 3.13
+# needs .ndo_get_port_parent_id
+QTNFMAC 5.1
+QTNFMAC_PCIE 5.1
# needs pm_system_wakeup() which can't reall be
# backported properly
--
2.20.1
--
To unsubscribe from this list: send the line "unsubscribe backports" in
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 5/8] backports: rcupdate.h: Add rcu_swap_protected()
2020-03-20 23:39 [PATCH 0/8] backports: Update to version 5.5.10 Hauke Mehrtens
` (3 preceding siblings ...)
2020-03-20 23:39 ` [PATCH 4/8] backports: Make qtnfmac depend on kernel 5.1 or later Hauke Mehrtens
@ 2020-03-20 23:39 ` Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 6/8] backports: netdevice.h: Add return value to napi_complete() Hauke Mehrtens
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Hauke Mehrtens @ 2020-03-20 23:39 UTC (permalink / raw)
To: backports; +Cc: johannes, Hauke Mehrtens
Backport rcu_swap_protected() from upstream Linux commit 26e3e3cb0560
("scsi: rcu: Introduce rcu_swap_protected()"). This is used by the mt76
driver.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
backport/backport-include/linux/rcupdate.h | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/backport/backport-include/linux/rcupdate.h b/backport/backport-include/linux/rcupdate.h
index cec4b3e8..db501007 100644
--- a/backport/backport-include/linux/rcupdate.h
+++ b/backport/backport-include/linux/rcupdate.h
@@ -59,4 +59,22 @@ rcu_head_after_call_rcu(struct rcu_head *rhp, rcu_callback_t f)
}
#endif /* < 4.20 */
+#ifndef rcu_swap_protected
+/**
+ * rcu_swap_protected() - swap an RCU and a regular pointer
+ * @rcu_ptr: RCU pointer
+ * @ptr: regular pointer
+ * @c: the conditions under which the dereference will take place
+ *
+ * Perform swap(@rcu_ptr, @ptr) where @rcu_ptr is an RCU-annotated pointer and
+ * @c is the argument that is passed to the rcu_dereference_protected() call
+ * used to read that pointer.
+ */
+#define rcu_swap_protected(rcu_ptr, ptr, c) do { \
+ typeof(ptr) __tmp = rcu_dereference_protected((rcu_ptr), (c)); \
+ rcu_assign_pointer((rcu_ptr), (ptr)); \
+ (ptr) = __tmp; \
+} while (0)
+#endif
+
#endif /* __BACKPORT_LINUX_RCUPDATE_H */
--
2.20.1
--
To unsubscribe from this list: send the line "unsubscribe backports" in
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 6/8] backports: netdevice.h: Add return value to napi_complete()
2020-03-20 23:39 [PATCH 0/8] backports: Update to version 5.5.10 Hauke Mehrtens
` (4 preceding siblings ...)
2020-03-20 23:39 ` [PATCH 5/8] backports: rcupdate.h: Add rcu_swap_protected() Hauke Mehrtens
@ 2020-03-20 23:39 ` Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 7/8] backports: Do not build BPAUTO_BUILD_SYSTEM_DATA_VERIFICATION on < 3.13 Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 8/8] backports: page_ref.h: Exclude page_ref_count() on kernel >= 4.4.216 Hauke Mehrtens
7 siblings, 0 replies; 9+ messages in thread
From: Hauke Mehrtens @ 2020-03-20 23:39 UTC (permalink / raw)
To: backports; +Cc: johannes, Hauke Mehrtens
mt76 checks the return value of napi_complete() now, add the same
handling as already done for napi_complete_done().
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
backport/backport-include/linux/netdevice.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/backport/backport-include/linux/netdevice.h b/backport/backport-include/linux/netdevice.h
index 76b57e4d..a71ed590 100644
--- a/backport/backport-include/linux/netdevice.h
+++ b/backport/backport-include/linux/netdevice.h
@@ -302,7 +302,13 @@ static inline bool backport_napi_complete_done(struct napi_struct *n, int work_d
#endif /* < 3.19 */
return true;
}
+
+static inline bool backport_napi_complete(struct napi_struct *n)
+{
+ return backport_napi_complete_done(n, 0);
+}
#define napi_complete_done LINUX_BACKPORT(napi_complete_done)
+#define napi_complete LINUX_BACKPORT(napi_complete)
#endif /* < 4.10 */
#if LINUX_VERSION_IS_LESS(4,5,0)
--
2.20.1
--
To unsubscribe from this list: send the line "unsubscribe backports" in
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 7/8] backports: Do not build BPAUTO_BUILD_SYSTEM_DATA_VERIFICATION on < 3.13
2020-03-20 23:39 [PATCH 0/8] backports: Update to version 5.5.10 Hauke Mehrtens
` (5 preceding siblings ...)
2020-03-20 23:39 ` [PATCH 6/8] backports: netdevice.h: Add return value to napi_complete() Hauke Mehrtens
@ 2020-03-20 23:39 ` Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 8/8] backports: page_ref.h: Exclude page_ref_count() on kernel >= 4.4.216 Hauke Mehrtens
7 siblings, 0 replies; 9+ messages in thread
From: Hauke Mehrtens @ 2020-03-20 23:39 UTC (permalink / raw)
To: backports; +Cc: johannes, Hauke Mehrtens
SYSTEM_DATA_VERIFICATION now uses hash_algo_name() which was added in
kernel 3.13. Just do not build this on older kernel versions.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
backport/compat/Kconfig | 1 +
dependencies | 3 +++
2 files changed, 4 insertions(+)
diff --git a/backport/compat/Kconfig b/backport/compat/Kconfig
index 3af729a3..41b50a6b 100644
--- a/backport/compat/Kconfig
+++ b/backport/compat/Kconfig
@@ -150,6 +150,7 @@ config BPAUTO_BUILD_SYSTEM_DATA_VERIFICATION
bool
default y if BPAUTO_SYSTEM_DATA_VERIFICATION
depends on KERNEL_4_7 || !SYSTEM_DATA_VERIFICATION
+ depends on !KERNEL_3_13
select BPAUTO_ASN1_DECODER
select BPAUTO_PUBLIC_KEY
select BPAUTO_PKCS7
diff --git a/dependencies b/dependencies
index 47558470..cb6741c7 100644
--- a/dependencies
+++ b/dependencies
@@ -89,3 +89,6 @@ R8188EU 3.14
# depends on crypto_sync_skcipher()
AIRO 4.20
AIRO_CS 4.20
+
+# needs BPAUTO_BUILD_SYSTEM_DATA_VERIFICATION
+CFG80211_REQUIRE_SIGNED_REGDB 3_13
--
2.20.1
--
To unsubscribe from this list: send the line "unsubscribe backports" in
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 8/8] backports: page_ref.h: Exclude page_ref_count() on kernel >= 4.4.216
2020-03-20 23:39 [PATCH 0/8] backports: Update to version 5.5.10 Hauke Mehrtens
` (6 preceding siblings ...)
2020-03-20 23:39 ` [PATCH 7/8] backports: Do not build BPAUTO_BUILD_SYSTEM_DATA_VERIFICATION on < 3.13 Hauke Mehrtens
@ 2020-03-20 23:39 ` Hauke Mehrtens
7 siblings, 0 replies; 9+ messages in thread
From: Hauke Mehrtens @ 2020-03-20 23:39 UTC (permalink / raw)
To: backports; +Cc: johannes, Hauke Mehrtens
page_ref_count() was backported to kernel version 4.4.216, do not add it
in backports for this kernel version any more.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
backport/backport-include/linux/page_ref.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/backport/backport-include/linux/page_ref.h b/backport/backport-include/linux/page_ref.h
index e45734ec..12fd86c9 100644
--- a/backport/backport-include/linux/page_ref.h
+++ b/backport/backport-include/linux/page_ref.h
@@ -9,10 +9,12 @@ static inline void page_ref_inc(struct page *page)
atomic_inc(&page->_count);
}
+#if !LINUX_VERSION_IN_RANGE(4,4,216, 4,5,0)
static inline int page_ref_count(struct page *page)
{
return atomic_read(&page->_count);
}
+#endif /* 4.4.216 <= x < 4.5 */
static inline int page_ref_sub_and_test(struct page *page, int nr)
{
--
2.20.1
--
To unsubscribe from this list: send the line "unsubscribe backports" in
^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2020-03-20 23:40 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-20 23:39 [PATCH 0/8] backports: Update to version 5.5.10 Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 1/8] backports: patches: Refresh against kernel 5.5.10 Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 2/8] backports: fs.h: Add compat_ptr_ioctl() Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 3/8] backports: stddef.h: Add sizeof_field() Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 4/8] backports: Make qtnfmac depend on kernel 5.1 or later Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 5/8] backports: rcupdate.h: Add rcu_swap_protected() Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 6/8] backports: netdevice.h: Add return value to napi_complete() Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 7/8] backports: Do not build BPAUTO_BUILD_SYSTEM_DATA_VERIFICATION on < 3.13 Hauke Mehrtens
2020-03-20 23:39 ` [PATCH 8/8] backports: page_ref.h: Exclude page_ref_count() on kernel >= 4.4.216 Hauke Mehrtens
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).