Kernel: T4928: update Linux Kernel to v6.1.4

This commit is contained in:
Christian Breunig 2023-01-11 18:52:27 +01:00
parent 1e59005e76
commit 2a754a85f9
3 changed files with 47 additions and 47 deletions

View File

@ -12,7 +12,7 @@ vyos_mirror = "http://dev.packages.vyos.net/repositories/current"
vyos_branch = "current" vyos_branch = "current"
release_train = "current" release_train = "current"
kernel_version = "5.15.86" kernel_version = "6.1.4"
bootloaders = "syslinux,grub-efi" bootloaders = "syslinux,grub-efi"
website_url = "https://vyos.io" website_url = "https://vyos.io"

View File

@ -18,10 +18,10 @@ Backport of earlier Vyatta patch.
8 files changed, 34 insertions(+) 8 files changed, 34 insertions(+)
diff --git a/Documentation/networking/ip-sysctl.rst b/Documentation/networking/ip-sysctl.rst diff --git a/Documentation/networking/ip-sysctl.rst b/Documentation/networking/ip-sysctl.rst
index ba0e8e6337c0..845599a58e0c 100644 index e7b3fa7bb3f7..081b344ea52b 100644
--- a/Documentation/networking/ip-sysctl.rst --- a/Documentation/networking/ip-sysctl.rst
+++ b/Documentation/networking/ip-sysctl.rst +++ b/Documentation/networking/ip-sysctl.rst
@@ -1526,6 +1526,17 @@ src_valid_mark - BOOLEAN @@ -1592,6 +1592,17 @@ src_valid_mark - BOOLEAN
Default value is 0. Default value is 0.
@ -40,23 +40,23 @@ index ba0e8e6337c0..845599a58e0c 100644
- 1 - Allows you to have multiple network interfaces on the same - 1 - Allows you to have multiple network interfaces on the same
subnet, and have the ARPs for each interface be answered subnet, and have the ARPs for each interface be answered
diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h
index a038feb63f23..8720f70360a7 100644 index ddb27fc0ee8c..8ee3191d9558 100644
--- a/include/linux/inetdevice.h --- a/include/linux/inetdevice.h
+++ b/include/linux/inetdevice.h +++ b/include/linux/inetdevice.h
@@ -133,6 +133,7 @@ static inline void ipv4_devconf_setall(struct in_device *in_dev) @@ -137,6 +137,7 @@ static inline void ipv4_devconf_setall(struct in_device *in_dev)
#define IN_DEV_ARP_ANNOUNCE(in_dev) IN_DEV_MAXCONF((in_dev), ARP_ANNOUNCE)
#define IN_DEV_ARP_IGNORE(in_dev) IN_DEV_MAXCONF((in_dev), ARP_IGNORE)
#define IN_DEV_ARP_NOTIFY(in_dev) IN_DEV_MAXCONF((in_dev), ARP_NOTIFY) #define IN_DEV_ARP_NOTIFY(in_dev) IN_DEV_MAXCONF((in_dev), ARP_NOTIFY)
+#define IN_DEV_LINKFILTER(in_dev) IN_DEV_MAXCONF((in_dev), LINKFILTER) #define IN_DEV_ARP_EVICT_NOCARRIER(in_dev) IN_DEV_ANDCONF((in_dev), \
ARP_EVICT_NOCARRIER)
+#define IN_DEV_LINKFILTER(in_dev) IN_DEV_MAXCONF((in_dev), LINKFILTER)
struct in_ifaddr { struct in_ifaddr {
struct hlist_node hash; struct hlist_node hash;
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h
index d1f386430795..6f24c8827d88 100644 index 37dfdcfcdd54..d549006be04c 100644
--- a/include/linux/ipv6.h --- a/include/linux/ipv6.h
+++ b/include/linux/ipv6.h +++ b/include/linux/ipv6.h
@@ -81,6 +81,7 @@ struct ipv6_devconf { @@ -83,6 +83,7 @@ struct ipv6_devconf {
__u8 ioam6_enabled; __u8 ndisc_evict_nocarrier;
struct ctl_table_header *sysctl_header; struct ctl_table_header *sysctl_header;
+ __s32 link_filter; + __s32 link_filter;
@ -64,34 +64,34 @@ index d1f386430795..6f24c8827d88 100644
struct ipv6_params { struct ipv6_params {
diff --git a/include/uapi/linux/ip.h b/include/uapi/linux/ip.h diff --git a/include/uapi/linux/ip.h b/include/uapi/linux/ip.h
index e42d13b55cf3..8f5291976f04 100644 index 874a92349bf5..37a9c7c7b56c 100644
--- a/include/uapi/linux/ip.h --- a/include/uapi/linux/ip.h
+++ b/include/uapi/linux/ip.h +++ b/include/uapi/linux/ip.h
@@ -169,6 +169,7 @@ enum @@ -172,6 +172,7 @@ enum
IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST,
IPV4_DEVCONF_DROP_GRATUITOUS_ARP, IPV4_DEVCONF_DROP_GRATUITOUS_ARP,
IPV4_DEVCONF_BC_FORWARDING, IPV4_DEVCONF_BC_FORWARDING,
IPV4_DEVCONF_ARP_EVICT_NOCARRIER,
+ IPV4_DEVCONF_LINKFILTER, + IPV4_DEVCONF_LINKFILTER,
__IPV4_DEVCONF_MAX __IPV4_DEVCONF_MAX
}; };
diff --git a/include/uapi/linux/ipv6.h b/include/uapi/linux/ipv6.h diff --git a/include/uapi/linux/ipv6.h b/include/uapi/linux/ipv6.h
index b243a53fa985..9a3e0c89d17c 100644 index 81f4243bebb1..9e001ea84841 100644
--- a/include/uapi/linux/ipv6.h --- a/include/uapi/linux/ipv6.h
+++ b/include/uapi/linux/ipv6.h +++ b/include/uapi/linux/ipv6.h
@@ -193,6 +193,7 @@ enum { @@ -197,6 +197,7 @@ enum {
DEVCONF_IOAM6_ENABLED,
DEVCONF_IOAM6_ID,
DEVCONF_IOAM6_ID_WIDE, DEVCONF_IOAM6_ID_WIDE,
DEVCONF_NDISC_EVICT_NOCARRIER,
DEVCONF_ACCEPT_UNTRACKED_NA,
+ DEVCONF_LINK_FILTER, + DEVCONF_LINK_FILTER,
DEVCONF_MAX DEVCONF_MAX
}; };
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index 4744c7839de5..4470bd7a9380 100644 index e8b9a9202fec..1bb48732e619 100644
--- a/net/ipv4/devinet.c --- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c
@@ -2552,6 +2552,7 @@ static struct devinet_sysctl_table { @@ -2561,6 +2561,7 @@ static struct devinet_sysctl_table {
"route_localnet"), "route_localnet"),
DEVINET_SYSCTL_FLUSHING_ENTRY(DROP_UNICAST_IN_L2_MULTICAST, DEVINET_SYSCTL_FLUSHING_ENTRY(DROP_UNICAST_IN_L2_MULTICAST,
"drop_unicast_in_l2_multicast"), "drop_unicast_in_l2_multicast"),
@ -100,20 +100,20 @@ index 4744c7839de5..4470bd7a9380 100644
}; };
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 6dcf034835ec..c1820333fd55 100644 index 9c3f5202a97b..fbc072c3534e 100644
--- a/net/ipv6/addrconf.c --- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c
@@ -5579,6 +5579,7 @@ static inline void ipv6_store_devconf(struct ipv6_devconf *cnf, @@ -5591,6 +5591,7 @@ static inline void ipv6_store_devconf(struct ipv6_devconf *cnf,
array[DEVCONF_IOAM6_ENABLED] = cnf->ioam6_enabled;
array[DEVCONF_IOAM6_ID] = cnf->ioam6_id;
array[DEVCONF_IOAM6_ID_WIDE] = cnf->ioam6_id_wide; array[DEVCONF_IOAM6_ID_WIDE] = cnf->ioam6_id_wide;
array[DEVCONF_NDISC_EVICT_NOCARRIER] = cnf->ndisc_evict_nocarrier;
array[DEVCONF_ACCEPT_UNTRACKED_NA] = cnf->accept_untracked_na;
+ array[DEVCONF_LINK_FILTER] = cnf->link_filter; + array[DEVCONF_LINK_FILTER] = cnf->link_filter;
} }
static inline size_t inet6_ifla6_size(void) static inline size_t inet6_ifla6_size(void)
@@ -7020,6 +7021,13 @@ static const struct ctl_table addrconf_sysctl[] = { @@ -7016,6 +7017,13 @@ static const struct ctl_table addrconf_sysctl[] = {
.mode = 0644, .extra1 = (void *)SYSCTL_ZERO,
.proc_handler = proc_douintvec, .extra2 = (void *)SYSCTL_ONE,
}, },
+ { + {
+ .procname = "link_filter", + .procname = "link_filter",
@ -123,13 +123,13 @@ index 6dcf034835ec..c1820333fd55 100644
+ .proc_handler = proc_dointvec, + .proc_handler = proc_dointvec,
+ }, + },
{ {
/* sentinel */ .procname = "ioam6_id",
} .data = &ipv6_devconf.ioam6_id,
diff --git a/net/ipv6/route.c b/net/ipv6/route.c diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 27274fc3619a..56e546ab8453 100644 index 2f355f0ec32a..388e0342c989 100644
--- a/net/ipv6/route.c --- a/net/ipv6/route.c
+++ b/net/ipv6/route.c +++ b/net/ipv6/route.c
@@ -672,6 +672,14 @@ static inline void rt6_probe(struct fib6_nh *fib6_nh) @@ -675,6 +675,14 @@ static inline void rt6_probe(struct fib6_nh *fib6_nh)
} }
#endif #endif
@ -144,7 +144,7 @@ index 27274fc3619a..56e546ab8453 100644
/* /*
* Default Router Selection (RFC 2461 6.3.6) * Default Router Selection (RFC 2461 6.3.6)
*/ */
@@ -713,6 +721,8 @@ static int rt6_score_route(const struct fib6_nh *nh, u32 fib6_flags, int oif, @@ -716,6 +724,8 @@ static int rt6_score_route(const struct fib6_nh *nh, u32 fib6_flags, int oif,
if (!m && (strict & RT6_LOOKUP_F_IFACE)) if (!m && (strict & RT6_LOOKUP_F_IFACE))
return RT6_NUD_FAIL_HARD; return RT6_NUD_FAIL_HARD;

View File

@ -44,7 +44,7 @@ index 1cc8be25df7e..bc4acd1a6ea4 100644
+ +
+ If unsure, say N. + If unsure, say N.
diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c
index 9fb7701d2f8a..a605abbf04ce 100644 index 1c4bfdab008d..cf567cc33679 100644
--- a/fs/notify/inotify/inotify_user.c --- a/fs/notify/inotify/inotify_user.c
+++ b/fs/notify/inotify/inotify_user.c +++ b/fs/notify/inotify/inotify_user.c
@@ -15,6 +15,7 @@ @@ -15,6 +15,7 @@
@ -55,8 +55,8 @@ index 9fb7701d2f8a..a605abbf04ce 100644
#include <linux/fsnotify_backend.h> #include <linux/fsnotify_backend.h>
#include <linux/idr.h> #include <linux/idr.h>
#include <linux/init.h> /* fs_initcall */ #include <linux/init.h> /* fs_initcall */
@@ -89,6 +90,93 @@ struct ctl_table inotify_table[] = { @@ -97,6 +98,93 @@ static void __init inotify_sysctls_init(void)
}; #define inotify_sysctls_init() do { } while (0)
#endif /* CONFIG_SYSCTL */ #endif /* CONFIG_SYSCTL */
+#ifdef CONFIG_INOTIFY_STACKFS +#ifdef CONFIG_INOTIFY_STACKFS
@ -149,7 +149,7 @@ index 9fb7701d2f8a..a605abbf04ce 100644
static inline __u32 inotify_arg_to_mask(struct inode *inode, u32 arg) static inline __u32 inotify_arg_to_mask(struct inode *inode, u32 arg)
{ {
__u32 mask; __u32 mask;
@@ -347,8 +435,8 @@ static const struct file_operations inotify_fops = { @@ -370,8 +458,8 @@ static const struct file_operations inotify_fops = {
/* /*
* find_inode - resolve a user-given path to a specific inode * find_inode - resolve a user-given path to a specific inode
*/ */
@ -160,7 +160,7 @@ index 9fb7701d2f8a..a605abbf04ce 100644
{ {
int error; int error;
@@ -369,6 +457,28 @@ static int inotify_find_inode(const char __user *dirname, struct path *path, @@ -392,6 +480,28 @@ static int inotify_find_inode(const char __user *dirname, struct path *path,
return error; return error;
} }
@ -190,7 +190,7 @@ index 9fb7701d2f8a..a605abbf04ce 100644
struct inotify_inode_mark *i_mark) struct inotify_inode_mark *i_mark)
{ {
diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c
index 7bb0a47cb615..6dd5f1000151 100644 index 3d14a3f1465d..adee0c20295a 100644
--- a/fs/overlayfs/super.c --- a/fs/overlayfs/super.c
+++ b/fs/overlayfs/super.c +++ b/fs/overlayfs/super.c
@@ -15,6 +15,7 @@ @@ -15,6 +15,7 @@
@ -198,10 +198,10 @@ index 7bb0a47cb615..6dd5f1000151 100644
#include <linux/posix_acl_xattr.h> #include <linux/posix_acl_xattr.h>
#include <linux/exportfs.h> #include <linux/exportfs.h>
+#include <linux/inotify.h> +#include <linux/inotify.h>
#include <linux/file.h>
#include "overlayfs.h" #include "overlayfs.h"
MODULE_AUTHOR("Miklos Szeredi <miklos@szeredi.hu>"); @@ -2202,6 +2203,18 @@ static void ovl_inode_init_once(void *foo)
@@ -2178,6 +2179,18 @@ static void ovl_inode_init_once(void *foo)
inode_init_once(&oi->vfs_inode); inode_init_once(&oi->vfs_inode);
} }
@ -220,7 +220,7 @@ index 7bb0a47cb615..6dd5f1000151 100644
static int __init ovl_init(void) static int __init ovl_init(void)
{ {
int err; int err;
@@ -2193,18 +2206,24 @@ static int __init ovl_init(void) @@ -2217,18 +2230,24 @@ static int __init ovl_init(void)
err = ovl_aio_request_cache_init(); err = ovl_aio_request_cache_init();
if (!err) { if (!err) {
err = register_filesystem(&ovl_fs_type); err = register_filesystem(&ovl_fs_type);
@ -250,19 +250,19 @@ index 7bb0a47cb615..6dd5f1000151 100644
/* /*
diff --git a/include/linux/inotify.h b/include/linux/inotify.h diff --git a/include/linux/inotify.h b/include/linux/inotify.h
index 6a24905f6e1e..4484f0760588 100644 index 8d20caa1b268..c126e2f93a73 100644
--- a/include/linux/inotify.h --- a/include/linux/inotify.h
+++ b/include/linux/inotify.h +++ b/include/linux/inotify.h
@@ -9,6 +9,8 @@ @@ -8,6 +8,8 @@
#define _LINUX_INOTIFY_H
#include <linux/sysctl.h>
#include <uapi/linux/inotify.h> #include <uapi/linux/inotify.h>
+#include <linux/list.h> +#include <linux/list.h>
+#include <linux/fs.h> +#include <linux/fs.h>
extern struct ctl_table inotify_table[]; /* for sysctl */ #define ALL_INOTIFY_BITS (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | \
IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | \
@@ -20,4 +22,30 @@ extern struct ctl_table inotify_table[]; /* for sysctl */ @@ -17,4 +19,30 @@
IN_DONT_FOLLOW | IN_EXCL_UNLINK | IN_MASK_ADD | \ IN_DONT_FOLLOW | IN_EXCL_UNLINK | IN_MASK_ADD | \
IN_MASK_CREATE | IN_ISDIR | IN_ONESHOT) IN_MASK_CREATE | IN_ISDIR | IN_ONESHOT)