diff options
Diffstat (limited to 'packages/linux-kernel/patches')
4 files changed, 48 insertions, 81 deletions
diff --git a/packages/linux-kernel/patches/kernel/0001-VyOS-Add-linkstate-IP-device-attribute.patch b/packages/linux-kernel/patches/kernel/0001-VyOS-Add-linkstate-IP-device-attribute.patch index c9467e74..2be1a3c8 100644 --- a/packages/linux-kernel/patches/kernel/0001-VyOS-Add-linkstate-IP-device-attribute.patch +++ b/packages/linux-kernel/patches/kernel/0001-VyOS-Add-linkstate-IP-device-attribute.patch @@ -6,6 +6,7 @@ Subject: [PATCH] VyOS: Add linkstate IP device attribute Backport of earlier Vyatta patch. (cherry picked from commit 7c5a851086686be14ae937c80d6cee34814dbefc) + --- Documentation/networking/ip-sysctl.txt | 13 +++++++++++++ include/linux/inetdevice.h | 1 + @@ -14,14 +15,14 @@ Backport of earlier Vyatta patch. include/uapi/linux/ipv6.h | 1 + net/ipv4/devinet.c | 2 ++ net/ipv6/addrconf.c | 9 +++++++++ - net/ipv6/route.c | 12 ++++++++++++ - 8 files changed, 40 insertions(+) + net/ipv6/route.c | 11 +++++++++++ + 8 files changed, 39 insertions(+) diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt -index 7eb9366422f5..b99d54a313a0 100644 +index 8af3771a3ebf..93408cc52991 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt -@@ -1177,6 +1177,19 @@ rp_filter - INTEGER +@@ -1245,6 +1245,19 @@ rp_filter - INTEGER Default value is 0. Note that some distributions enable it in startup scripts. @@ -42,7 +43,7 @@ index 7eb9366422f5..b99d54a313a0 100644 1 - Allows you to have multiple network interfaces on the same subnet, and have the ARPs for each interface be answered diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h -index a64f21a97369..4014dd852bae 100644 +index 3515ca64e638..dcae58193580 100644 --- a/include/linux/inetdevice.h +++ b/include/linux/inetdevice.h @@ -133,6 +133,7 @@ static inline void ipv4_devconf_setall(struct in_device *in_dev) @@ -54,7 +55,7 @@ index a64f21a97369..4014dd852bae 100644 struct in_ifaddr { struct hlist_node hash; diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h -index 8415bf1a9776..80a0ada19c9a 100644 +index ea7c7906591e..57f656ea2783 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h @@ -76,6 +76,7 @@ struct ipv6_devconf { @@ -90,10 +91,10 @@ index 9c0f4a92bcff..619edd130cfd 100644 }; diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c -index 12a2cea9d606..e0870ba2a8e2 100644 +index a27d034c85cc..b62b62abe907 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c -@@ -2319,6 +2319,8 @@ static struct devinet_sysctl_table { +@@ -2550,6 +2550,8 @@ static struct devinet_sysctl_table { "route_localnet"), DEVINET_SYSCTL_FLUSHING_ENTRY(DROP_UNICAST_IN_L2_MULTICAST, "drop_unicast_in_l2_multicast"), @@ -103,10 +104,10 @@ index 12a2cea9d606..e0870ba2a8e2 100644 }; diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c -index 627cd24b7c0d..8c49eac27fd0 100644 +index 635b2482fa20..ce1405ecf6f6 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c -@@ -5240,6 +5240,7 @@ static inline void ipv6_store_devconf(struct ipv6_devconf *cnf, +@@ -5477,6 +5477,7 @@ static inline void ipv6_store_devconf(struct ipv6_devconf *cnf, array[DEVCONF_ADDR_GEN_MODE] = cnf->addr_gen_mode; array[DEVCONF_DISABLE_POLICY] = cnf->disable_policy; array[DEVCONF_NDISC_TCLASS] = cnf->ndisc_tclass; @@ -114,7 +115,7 @@ index 627cd24b7c0d..8c49eac27fd0 100644 } static inline size_t inet6_ifla6_size(void) -@@ -6561,6 +6562,14 @@ static const struct ctl_table addrconf_sysctl[] = { +@@ -6849,6 +6850,14 @@ static const struct ctl_table addrconf_sysctl[] = { .mode = 0644, .proc_handler = addrconf_sysctl_disable_policy, }, @@ -130,34 +131,33 @@ index 627cd24b7c0d..8c49eac27fd0 100644 .procname = "ndisc_tclass", .data = &ipv6_devconf.ndisc_tclass, diff --git a/net/ipv6/route.c b/net/ipv6/route.c -index dad35cd48807..1a2439c6a257 100644 +index 46df6345bb99..2b930a2c4fdb 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c -@@ -595,6 +595,15 @@ static inline int rt6_check_dev(struct fib6_info *rt, int oif) - return 0; +@@ -686,6 +686,15 @@ static inline void rt6_probe(struct fib6_nh *fib6_nh) } + #endif -+static inline int rt6_link_filter(struct fib6_info *rt) ++static inline int rt6_link_filter(const struct fib6_nh *nh) +{ -+ const struct net_device *dev = rt->fib6_nh.nh_dev; ++ const struct net_device *dev = nh->fib_nh_dev; + int linkf = __in6_dev_get(dev)->cnf.link_filter; + + return (linkf && !netif_running(dev)) -+ || (linkf > 1 && !netif_carrier_ok(dev)); ++ || (linkf > 1 && !netif_carrier_ok(dev)); +} + - static inline enum rt6_nud_state rt6_check_neigh(struct fib6_info *rt) - { - enum rt6_nud_state ret = RT6_NUD_FAIL_HARD; -@@ -634,6 +643,9 @@ static int rt6_score_route(struct fib6_info *rt, int oif, int strict) - m = rt6_check_dev(rt, oif); + /* + * Default Router Selection (RFC 2461 6.3.6) + */ +@@ -727,6 +736,8 @@ static int rt6_score_route(const struct fib6_nh *nh, u32 fib6_flags, int oif, + if (!m && (strict & RT6_LOOKUP_F_IFACE)) return RT6_NUD_FAIL_HARD; -+ if (rt6_link_filter(rt)) ++ if (rt6_link_filter(nh)) + return -1; -+ #ifdef CONFIG_IPV6_ROUTER_PREF - m |= IPV6_DECODE_PREF(IPV6_EXTRACT_PREF(rt->fib6_flags)) << 2; + m |= IPV6_DECODE_PREF(IPV6_EXTRACT_PREF(fib6_flags)) << 2; #endif -- 2.20.1 diff --git a/packages/linux-kernel/patches/kernel/0002-VyOS-add-inotify-support-for-stackable-filesystems-o.patch b/packages/linux-kernel/patches/kernel/0002-VyOS-add-inotify-support-for-stackable-filesystems-o.patch index a8a2aede..21f4cd60 100644 --- a/packages/linux-kernel/patches/kernel/0002-VyOS-add-inotify-support-for-stackable-filesystems-o.patch +++ b/packages/linux-kernel/patches/kernel/0002-VyOS-add-inotify-support-for-stackable-filesystems-o.patch @@ -21,13 +21,13 @@ Bug #425 http://bugzilla.vyos.net/show_bug.cgi?id=425 (cherry picked from commit a93f1128bc83b5a6628da242e71c18ef05e81ea2) --- fs/notify/inotify/Kconfig | 9 +++ - fs/notify/inotify/inotify_user.c | 112 ++++++++++++++++++++++++++++++- + fs/notify/inotify/inotify_user.c | 110 ++++++++++++++++++++++++++++++- fs/overlayfs/super.c | 24 ++++++- include/linux/inotify.h | 28 ++++++++ - 4 files changed, 170 insertions(+), 3 deletions(-) + 4 files changed, 168 insertions(+), 3 deletions(-) diff --git a/fs/notify/inotify/Kconfig b/fs/notify/inotify/Kconfig -index b981fc0c8379..1ccd92e52784 100644 +index 6736e47d94d8..84d9b31300c0 100644 --- a/fs/notify/inotify/Kconfig +++ b/fs/notify/inotify/Kconfig @@ -15,3 +15,12 @@ config INOTIFY_USER @@ -44,10 +44,10 @@ index b981fc0c8379..1ccd92e52784 100644 + + If unsure, say N. diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c -index 97a51690338e..0595de27e1b5 100644 +index 81ffc8629fc4..cacedffa6534 100644 --- a/fs/notify/inotify/inotify_user.c +++ b/fs/notify/inotify/inotify_user.c -@@ -24,6 +24,7 @@ +@@ -15,6 +15,7 @@ #include <linux/file.h> #include <linux/fs.h> /* struct inode */ @@ -55,7 +55,7 @@ index 97a51690338e..0595de27e1b5 100644 #include <linux/fsnotify_backend.h> #include <linux/idr.h> #include <linux/init.h> /* fs_initcall */ -@@ -85,6 +86,94 @@ struct ctl_table inotify_table[] = { +@@ -75,6 +76,92 @@ struct ctl_table inotify_table[] = { }; #endif /* CONFIG_SYSCTL */ @@ -134,7 +134,6 @@ index 97a51690338e..0595de27e1b5 100644 +EXPORT_SYMBOL_GPL(inotify_unregister_stackfs); + +#else -+ +static inline struct inotify_stackfs* inotify_get_stackfs(struct path *path) +{ + return NULL; @@ -146,30 +145,29 @@ index 97a51690338e..0595de27e1b5 100644 + +#endif /* CONFIG_INOTIFY_STACKFS */ + -+ static inline __u32 inotify_arg_to_mask(u32 arg) { __u32 mask; -@@ -342,7 +431,7 @@ static const struct file_operations inotify_fops = { +@@ -332,7 +419,7 @@ static const struct file_operations inotify_fops = { /* * find_inode - resolve a user-given path to a specific inode */ --static int inotify_find_inode(const char __user *dirname, struct path *path, unsigned flags) -+static inline int __inotify_find_inode(const char __user *dirname, struct path *path, unsigned flags) +-static int inotify_find_inode(const char __user *dirname, struct path *path, ++static inline int __inotify_find_inode(const char __user *dirname, struct path *path, + unsigned int flags, __u64 mask) { int error; - -@@ -356,6 +445,27 @@ static int inotify_find_inode(const char __user *dirname, struct path *path, uns +@@ -354,6 +441,27 @@ static int inotify_find_inode(const char __user *dirname, struct path *path, return error; } -+static int inotify_find_inode(const char __user *dirname, struct path *path, unsigned flags) ++static int inotify_find_inode(const char __user *dirname, struct path *path, unsigned flags, __u64 mask) +{ + int ret; + struct path tpath; + struct inotify_stackfs *fse; + -+ ret = __inotify_find_inode(dirname, &tpath, flags); ++ ret = __inotify_find_inode(dirname, &tpath, flags, mask); + if (ret) + return ret; + fse = inotify_get_stackfs(&tpath); @@ -188,10 +186,10 @@ index 97a51690338e..0595de27e1b5 100644 struct inotify_inode_mark *i_mark) { diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c -index 246623406db9..dc13e98928ab 100644 +index d6b724beb304..380ac598f2e4 100644 --- a/fs/overlayfs/super.c +++ b/fs/overlayfs/super.c -@@ -18,6 +18,7 @@ +@@ -15,6 +15,7 @@ #include <linux/seq_file.h> #include <linux/posix_acl_xattr.h> #include <linux/exportfs.h> @@ -199,7 +197,7 @@ index 246623406db9..dc13e98928ab 100644 #include "overlayfs.h" MODULE_AUTHOR("Miklos Szeredi <miklos@szeredi.hu>"); -@@ -1712,6 +1713,18 @@ static void ovl_inode_init_once(void *foo) +@@ -1758,6 +1759,18 @@ static void ovl_inode_init_once(void *foo) inode_init_once(&oi->vfs_inode); } @@ -218,7 +216,7 @@ index 246623406db9..dc13e98928ab 100644 static int __init ovl_init(void) { int err; -@@ -1726,13 +1739,21 @@ static int __init ovl_init(void) +@@ -1772,13 +1785,21 @@ static int __init ovl_init(void) err = register_filesystem(&ovl_fs_type); if (err) @@ -241,7 +239,7 @@ index 246623406db9..dc13e98928ab 100644 unregister_filesystem(&ovl_fs_type); /* -@@ -1741,7 +1762,6 @@ static void __exit ovl_exit(void) +@@ -1787,7 +1808,6 @@ static void __exit ovl_exit(void) */ rcu_barrier(); kmem_cache_destroy(ovl_inode_cachep); diff --git a/packages/linux-kernel/patches/kernel/0003-Perf-is-shipped-in-debian-in-linux-tools-version-pac.patch b/packages/linux-kernel/patches/kernel/0003-Perf-is-shipped-in-debian-in-linux-tools-version-pac.patch index de0487f6..9e8378bc 100644 --- a/packages/linux-kernel/patches/kernel/0003-Perf-is-shipped-in-debian-in-linux-tools-version-pac.patch +++ b/packages/linux-kernel/patches/kernel/0003-Perf-is-shipped-in-debian-in-linux-tools-version-pac.patch @@ -33,10 +33,10 @@ Signed-off-by: Riku Voipio <riku.voipio@linaro.org> 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 0b31f4f1f92c..517a54e64509 100755 +index c4c580f547ef..9a4caabef7dc 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb -@@ -39,10 +39,12 @@ tmpdir="$objtree/debian/tmp" +@@ -51,10 +51,12 @@ tmpdir="$objtree/debian/tmp" kernel_headers_dir="$objtree/debian/hdrtmp" libc_headers_dir="$objtree/debian/headertmp" dbg_dir="$objtree/debian/dbgtmp" @@ -49,8 +49,8 @@ index 0b31f4f1f92c..517a54e64509 100755 if [ "$ARCH" = "um" ] ; then packagename=user-mode-linux-$version -@@ -65,7 +67,7 @@ esac - BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)" +@@ -77,7 +79,7 @@ esac + BUILD_DEBUG=$(if_enabled_echo CONFIG_DEBUG_INFO Yes) # Setup the directory structure -rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files @@ -58,7 +58,7 @@ index 0b31f4f1f92c..517a54e64509 100755 mkdir -m 755 -p "$tmpdir/DEBIAN" mkdir -p "$tmpdir/lib" "$tmpdir/boot" mkdir -p "$kernel_headers_dir/lib/modules/$version/" -@@ -194,4 +196,31 @@ if [ -n "$BUILD_DEBUG" ] ; then +@@ -205,4 +207,31 @@ if [ -n "$BUILD_DEBUG" ] ; then create_package "$dbg_packagename" "$dbg_dir" fi diff --git a/packages/linux-kernel/patches/kernel/0004-perf-fix-compilation-error-due-to-discarded-const-qu.patch b/packages/linux-kernel/patches/kernel/0004-perf-fix-compilation-error-due-to-discarded-const-qu.patch deleted file mode 100644 index 35c392f7..00000000 --- a/packages/linux-kernel/patches/kernel/0004-perf-fix-compilation-error-due-to-discarded-const-qu.patch +++ /dev/null @@ -1,31 +0,0 @@ -From b61355d12854a6a400e4ddfc79f2f849ac9656dc Mon Sep 17 00:00:00 2001 -From: Christian Poessinger <christian@poessinger.com> -Date: Sat, 17 Oct 2020 17:09:26 +0000 -Subject: [PATCH] perf: fix compilation error due to discarded const qualifier - ---- - tools/perf/Makefile.config | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config -index ae0c5bee8014..51a48ea869dd 100644 ---- a/tools/perf/Makefile.config -+++ b/tools/perf/Makefile.config -@@ -230,12 +230,12 @@ FEATURE_CHECK_LDFLAGS-libpython-version := $(PYTHON_EMBED_LDOPTS) - CFLAGS += -fno-omit-frame-pointer - CFLAGS += -ggdb3 - CFLAGS += -funwind-tables --CFLAGS += -Wall -+CFLAGS += -Wno-discarded-qualifiers - CFLAGS += -Wextra - CFLAGS += -std=gnu99 - - CXXFLAGS += -std=gnu++11 -fno-exceptions -fno-rtti --CXXFLAGS += -Wall -+CXXFLAGS += -Wno-discarded-qualifiers - CXXFLAGS += -fno-omit-frame-pointer - CXXFLAGS += -ggdb3 - CXXFLAGS += -funwind-tables --- -2.20.1 - |