-
Notifications
You must be signed in to change notification settings - Fork 19.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
kernel: add linux 5.19 stable release support
- Loading branch information
1 parent
1202e11
commit de2e28c
Showing
137 changed files
with
30,246 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
LINUX_VERSION-5.19 = | ||
LINUX_KERNEL_HASH-5.19 = 11614fc737638f693d02bf0d95422dfe2b3bcf3088196cd1c4c799cfdf675b70 |
75 changes: 75 additions & 0 deletions
75
target/linux/generic/backport-5.19/001-CONFIG_INITRAMFS_PRESERVE_MTIME.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
--- a/init/Kconfig | ||
+++ b/init/Kconfig | ||
@@ -1380,16 +1380,6 @@ config BOOT_CONFIG_EMBED_FILE | ||
This bootconfig will be used if there is no initrd or no other | ||
bootconfig in the initrd. | ||
|
||
-config INITRAMFS_PRESERVE_MTIME | ||
- bool "Preserve cpio archive mtimes in initramfs" | ||
- default y | ||
- help | ||
- Each entry in an initramfs cpio archive carries an mtime value. When | ||
- enabled, extracted cpio items take this mtime, with directory mtime | ||
- setting deferred until after creation of any child entries. | ||
- | ||
- If unsure, say Y. | ||
- | ||
choice | ||
prompt "Compiler optimization level" | ||
default CC_OPTIMIZE_FOR_PERFORMANCE | ||
--- a/init/initramfs.c | ||
+++ b/init/initramfs.c | ||
@@ -127,17 +127,15 @@ static void __init free_hash(void) | ||
} | ||
} | ||
|
||
-#ifdef CONFIG_INITRAMFS_PRESERVE_MTIME | ||
-static void __init do_utime(char *filename, time64_t mtime) | ||
+static long __init do_utime(char *filename, time64_t mtime) | ||
{ | ||
- struct timespec64 t[2] = { { .tv_sec = mtime }, { .tv_sec = mtime } }; | ||
- init_utimes(filename, t); | ||
-} | ||
+ struct timespec64 t[2]; | ||
|
||
-static void __init do_utime_path(const struct path *path, time64_t mtime) | ||
-{ | ||
- struct timespec64 t[2] = { { .tv_sec = mtime }, { .tv_sec = mtime } }; | ||
- vfs_utimes(path, t); | ||
+ t[0].tv_sec = mtime; | ||
+ t[0].tv_nsec = 0; | ||
+ t[1].tv_sec = mtime; | ||
+ t[1].tv_nsec = 0; | ||
+ return init_utimes(filename, t); | ||
} | ||
|
||
static __initdata LIST_HEAD(dir_list); | ||
@@ -170,12 +168,6 @@ static void __init dir_utime(void) | ||
kfree(de); | ||
} | ||
} | ||
-#else | ||
-static void __init do_utime(char *filename, time64_t mtime) {} | ||
-static void __init do_utime_path(const struct path *path, time64_t mtime) {} | ||
-static void __init dir_add(const char *name, time64_t mtime) {} | ||
-static void __init dir_utime(void) {} | ||
-#endif | ||
|
||
static __initdata time64_t mtime; | ||
|
||
@@ -407,10 +399,14 @@ static int __init do_name(void) | ||
static int __init do_copy(void) | ||
{ | ||
if (byte_count >= body_len) { | ||
+ struct timespec64 t[2] = { }; | ||
if (xwrite(wfile, victim, body_len, &wfile_pos) != body_len) | ||
error("write error"); | ||
|
||
- do_utime_path(&wfile->f_path, mtime); | ||
+ t[0].tv_sec = mtime; | ||
+ t[1].tv_sec = mtime; | ||
+ vfs_utimes(&wfile->f_path, t); | ||
+ | ||
fput(wfile); | ||
if (csum_present && io_csum != hdr_csum) | ||
error("bad data checksum"); |
122 changes: 122 additions & 0 deletions
122
target/linux/generic/backport-5.19/002-struct-net_device.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
--- a/include/linux/netdevice.h | ||
+++ b/include/linux/netdevice.h | ||
@@ -2119,8 +2119,6 @@ struct net_device { | ||
|
||
/* Protocol-specific pointers */ | ||
|
||
- struct in_device __rcu *ip_ptr; | ||
- struct inet6_dev __rcu *ip6_ptr; | ||
#if IS_ENABLED(CONFIG_VLAN_8021Q) | ||
struct vlan_info __rcu *vlan_info; | ||
#endif | ||
@@ -2133,18 +2131,16 @@ struct net_device { | ||
#if IS_ENABLED(CONFIG_ATALK) | ||
void *atalk_ptr; | ||
#endif | ||
+ struct in_device __rcu *ip_ptr; | ||
#if IS_ENABLED(CONFIG_DECNET) | ||
struct dn_dev __rcu *dn_ptr; | ||
#endif | ||
+ struct inet6_dev __rcu *ip6_ptr; | ||
#if IS_ENABLED(CONFIG_AX25) | ||
void *ax25_ptr; | ||
#endif | ||
-#if IS_ENABLED(CONFIG_CFG80211) | ||
struct wireless_dev *ieee80211_ptr; | ||
-#endif | ||
-#if IS_ENABLED(CONFIG_IEEE802154) || IS_ENABLED(CONFIG_6LOWPAN) | ||
struct wpan_dev *ieee802154_ptr; | ||
-#endif | ||
#if IS_ENABLED(CONFIG_MPLS_ROUTING) | ||
struct mpls_dev __rcu *mpls_ptr; | ||
#endif | ||
--- a/include/net/cfg80211.h | ||
+++ b/include/net/cfg80211.h | ||
@@ -8006,9 +8006,7 @@ int cfg80211_register_netdevice(struct n | ||
*/ | ||
static inline void cfg80211_unregister_netdevice(struct net_device *dev) | ||
{ | ||
-#if IS_ENABLED(CONFIG_CFG80211) | ||
cfg80211_unregister_wdev(dev->ieee80211_ptr); | ||
-#endif | ||
} | ||
|
||
/** | ||
--- a/include/net/cfg802154.h | ||
+++ b/include/net/cfg802154.h | ||
@@ -373,7 +373,6 @@ struct wpan_dev { | ||
|
||
#define to_phy(_dev) container_of(_dev, struct wpan_phy, dev) | ||
|
||
-#if IS_ENABLED(CONFIG_IEEE802154) || IS_ENABLED(CONFIG_6LOWPAN) | ||
static inline int | ||
wpan_dev_hard_header(struct sk_buff *skb, struct net_device *dev, | ||
const struct ieee802154_addr *daddr, | ||
@@ -384,7 +383,6 @@ wpan_dev_hard_header(struct sk_buff *skb | ||
|
||
return wpan_dev->header_ops->create(skb, dev, daddr, saddr, len); | ||
} | ||
-#endif | ||
|
||
struct wpan_phy * | ||
wpan_phy_new(const struct cfg802154_ops *ops, size_t priv_size); | ||
--- a/net/batman-adv/hard-interface.c | ||
+++ b/net/batman-adv/hard-interface.c | ||
@@ -307,11 +307,9 @@ static bool batadv_is_cfg80211_netdev(st | ||
if (!net_device) | ||
return false; | ||
|
||
-#if IS_ENABLED(CONFIG_CFG80211) | ||
/* cfg80211 drivers have to set ieee80211_ptr */ | ||
if (net_device->ieee80211_ptr) | ||
return true; | ||
-#endif | ||
|
||
return false; | ||
} | ||
--- a/net/core/net-sysfs.c | ||
+++ b/net/core/net-sysfs.c | ||
@@ -747,6 +747,7 @@ static const struct attribute_group nets | ||
.attrs = netstat_attrs, | ||
}; | ||
|
||
+#if IS_ENABLED(CONFIG_WIRELESS_EXT) || IS_ENABLED(CONFIG_CFG80211) | ||
static struct attribute *wireless_attrs[] = { | ||
NULL | ||
}; | ||
@@ -755,19 +756,7 @@ static const struct attribute_group wire | ||
.name = "wireless", | ||
.attrs = wireless_attrs, | ||
}; | ||
- | ||
-static bool wireless_group_needed(struct net_device *ndev) | ||
-{ | ||
-#if IS_ENABLED(CONFIG_CFG80211) | ||
- if (ndev->ieee80211_ptr) | ||
- return true; | ||
#endif | ||
-#if IS_ENABLED(CONFIG_WIRELESS_EXT) | ||
- if (ndev->wireless_handlers) | ||
- return true; | ||
-#endif | ||
- return false; | ||
-} | ||
|
||
#else /* CONFIG_SYSFS */ | ||
#define net_class_groups NULL | ||
@@ -2008,8 +1997,14 @@ int netdev_register_kobject(struct net_d | ||
|
||
*groups++ = &netstat_group; | ||
|
||
- if (wireless_group_needed(ndev)) | ||
+#if IS_ENABLED(CONFIG_WIRELESS_EXT) || IS_ENABLED(CONFIG_CFG80211) | ||
+ if (ndev->ieee80211_ptr) | ||
+ *groups++ = &wireless_group; | ||
+#if IS_ENABLED(CONFIG_WIRELESS_EXT) | ||
+ else if (ndev->wireless_handlers) | ||
*groups++ = &wireless_group; | ||
+#endif | ||
+#endif | ||
#endif /* CONFIG_SYSFS */ | ||
|
||
error = device_add(dev); |
21 changes: 21 additions & 0 deletions
21
target/linux/generic/backport-5.19/011-kbuild-export-SUBARCH.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
From 173019b66dcc9d68ad9333aa744dad1e369b5aa8 Mon Sep 17 00:00:00 2001 | ||
From: Felix Fietkau <nbd@nbd.name> | ||
Date: Sun, 9 Jul 2017 00:26:53 +0200 | ||
Subject: [PATCH 34/34] kernel: add compile fix for linux 4.9 on x86 | ||
|
||
Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||
--- | ||
Makefile | 4 ++-- | ||
1 file changed, 2 insertions(+), 2 deletions(-) | ||
|
||
--- a/Makefile | ||
+++ b/Makefile | ||
@@ -534,7 +534,7 @@ KBUILD_LDFLAGS_MODULE := | ||
KBUILD_LDFLAGS := | ||
CLANG_FLAGS := | ||
|
||
-export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC HOSTPKG_CONFIG | ||
+export ARCH SRCARCH SUBARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC HOSTPKG_CONFIG | ||
export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL | ||
export PERL PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX | ||
export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD |
106 changes: 106 additions & 0 deletions
106
...inux/generic/backport-5.19/343-netfilter-nft_flow_offload-handle-netdevice-events-f.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
From: Pablo Neira Ayuso <pablo@netfilter.org> | ||
Date: Thu, 25 Jan 2018 12:58:55 +0100 | ||
Subject: [PATCH] netfilter: nft_flow_offload: handle netdevice events from | ||
nf_flow_table | ||
|
||
Move the code that deals with device events to the core. | ||
|
||
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> | ||
--- | ||
|
||
--- a/net/netfilter/nf_flow_table_core.c | ||
+++ b/net/netfilter/nf_flow_table_core.c | ||
@@ -614,13 +614,41 @@ void nf_flow_table_free(struct nf_flowta | ||
} | ||
EXPORT_SYMBOL_GPL(nf_flow_table_free); | ||
|
||
+static int nf_flow_table_netdev_event(struct notifier_block *this, | ||
+ unsigned long event, void *ptr) | ||
+{ | ||
+ struct net_device *dev = netdev_notifier_info_to_dev(ptr); | ||
+ | ||
+ if (event != NETDEV_DOWN) | ||
+ return NOTIFY_DONE; | ||
+ | ||
+ nf_flow_table_cleanup(dev); | ||
+ | ||
+ return NOTIFY_DONE; | ||
+} | ||
+ | ||
+static struct notifier_block flow_offload_netdev_notifier = { | ||
+ .notifier_call = nf_flow_table_netdev_event, | ||
+}; | ||
+ | ||
static int __init nf_flow_table_module_init(void) | ||
{ | ||
- return nf_flow_table_offload_init(); | ||
+ int ret; | ||
+ | ||
+ ret = nf_flow_table_offload_init(); | ||
+ if (ret) | ||
+ return ret; | ||
+ | ||
+ ret = register_netdevice_notifier(&flow_offload_netdev_notifier); | ||
+ if (ret) | ||
+ nf_flow_table_offload_exit(); | ||
+ | ||
+ return ret; | ||
} | ||
|
||
static void __exit nf_flow_table_module_exit(void) | ||
{ | ||
+ unregister_netdevice_notifier(&flow_offload_netdev_notifier); | ||
nf_flow_table_offload_exit(); | ||
} | ||
|
||
--- a/net/netfilter/nft_flow_offload.c | ||
+++ b/net/netfilter/nft_flow_offload.c | ||
@@ -468,47 +468,14 @@ static struct nft_expr_type nft_flow_off | ||
.owner = THIS_MODULE, | ||
}; | ||
|
||
-static int flow_offload_netdev_event(struct notifier_block *this, | ||
- unsigned long event, void *ptr) | ||
-{ | ||
- struct net_device *dev = netdev_notifier_info_to_dev(ptr); | ||
- | ||
- if (event != NETDEV_DOWN) | ||
- return NOTIFY_DONE; | ||
- | ||
- nf_flow_table_cleanup(dev); | ||
- | ||
- return NOTIFY_DONE; | ||
-} | ||
- | ||
-static struct notifier_block flow_offload_netdev_notifier = { | ||
- .notifier_call = flow_offload_netdev_event, | ||
-}; | ||
- | ||
static int __init nft_flow_offload_module_init(void) | ||
{ | ||
- int err; | ||
- | ||
- err = register_netdevice_notifier(&flow_offload_netdev_notifier); | ||
- if (err) | ||
- goto err; | ||
- | ||
- err = nft_register_expr(&nft_flow_offload_type); | ||
- if (err < 0) | ||
- goto register_expr; | ||
- | ||
- return 0; | ||
- | ||
-register_expr: | ||
- unregister_netdevice_notifier(&flow_offload_netdev_notifier); | ||
-err: | ||
- return err; | ||
+ return nft_register_expr(&nft_flow_offload_type); | ||
} | ||
|
||
static void __exit nft_flow_offload_module_exit(void) | ||
{ | ||
nft_unregister_expr(&nft_flow_offload_type); | ||
- unregister_netdevice_notifier(&flow_offload_netdev_notifier); | ||
} | ||
|
||
module_init(nft_flow_offload_module_init); |
Oops, something went wrong.