From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev,
syzbot+256c348558aa5cf611a9@syzkaller.appspotmail.com,
Florian Westphal <fw@strlen.de>,
Pablo Neira Ayuso <pablo@netfilter.org>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.6 149/213] netfilter: xtables: avoid NFPROTO_UNSPEC where needed
Date: Mon, 14 Oct 2024 16:20:55 +0200 [thread overview]
Message-ID: <20241014141048.783855867@linuxfoundation.org> (raw)
In-Reply-To: <20241014141042.954319779@linuxfoundation.org>
6.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Florian Westphal <fw@strlen.de>
[ Upstream commit 0bfcb7b71e735560077a42847f69597ec7dcc326 ]
syzbot managed to call xt_cluster match via ebtables:
WARNING: CPU: 0 PID: 11 at net/netfilter/xt_cluster.c:72 xt_cluster_mt+0x196/0x780
[..]
ebt_do_table+0x174b/0x2a40
Module registers to NFPROTO_UNSPEC, but it assumes ipv4/ipv6 packet
processing. As this is only useful to restrict locally terminating
TCP/UDP traffic, register this for ipv4 and ipv6 family only.
Pablo points out that this is a general issue, direct users of the
set/getsockopt interface can call into targets/matches that were only
intended for use with ip(6)tables.
Check all UNSPEC matches and targets for similar issues:
- matches and targets are fine except if they assume skb_network_header()
is valid -- this is only true when called from inet layer: ip(6) stack
pulls the ip/ipv6 header into linear data area.
- targets that return XT_CONTINUE or other xtables verdicts must be
restricted too, they are incompatbile with the ebtables traverser, e.g.
EBT_CONTINUE is a completely different value than XT_CONTINUE.
Most matches/targets are changed to register for NFPROTO_IPV4/IPV6, as
they are provided for use by ip(6)tables.
The MARK target is also used by arptables, so register for NFPROTO_ARP too.
While at it, bail out if connbytes fails to enable the corresponding
conntrack family.
This change passes the selftests in iptables.git.
Reported-by: syzbot+256c348558aa5cf611a9@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/netfilter-devel/66fec2e2.050a0220.9ec68.0047.GAE@google.com/
Fixes: 0269ea493734 ("netfilter: xtables: add cluster match")
Signed-off-by: Florian Westphal <fw@strlen.de>
Co-developed-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
net/netfilter/xt_CHECKSUM.c | 33 ++++++----
net/netfilter/xt_CLASSIFY.c | 16 ++++-
net/netfilter/xt_CONNSECMARK.c | 36 +++++++----
net/netfilter/xt_CT.c | 106 +++++++++++++++++++++------------
net/netfilter/xt_IDLETIMER.c | 59 ++++++++++++------
net/netfilter/xt_LED.c | 39 ++++++++----
net/netfilter/xt_NFLOG.c | 36 +++++++----
net/netfilter/xt_RATEEST.c | 39 ++++++++----
net/netfilter/xt_SECMARK.c | 27 ++++++++-
net/netfilter/xt_TRACE.c | 35 +++++++----
net/netfilter/xt_addrtype.c | 15 ++++-
net/netfilter/xt_cluster.c | 33 ++++++----
net/netfilter/xt_connbytes.c | 4 +-
net/netfilter/xt_connlimit.c | 39 ++++++++----
net/netfilter/xt_connmark.c | 28 ++++++++-
net/netfilter/xt_mark.c | 42 +++++++++----
16 files changed, 422 insertions(+), 165 deletions(-)
diff --git a/net/netfilter/xt_CHECKSUM.c b/net/netfilter/xt_CHECKSUM.c
index c8a639f561684..9d99f5a3d1764 100644
--- a/net/netfilter/xt_CHECKSUM.c
+++ b/net/netfilter/xt_CHECKSUM.c
@@ -63,24 +63,37 @@ static int checksum_tg_check(const struct xt_tgchk_param *par)
return 0;
}
-static struct xt_target checksum_tg_reg __read_mostly = {
- .name = "CHECKSUM",
- .family = NFPROTO_UNSPEC,
- .target = checksum_tg,
- .targetsize = sizeof(struct xt_CHECKSUM_info),
- .table = "mangle",
- .checkentry = checksum_tg_check,
- .me = THIS_MODULE,
+static struct xt_target checksum_tg_reg[] __read_mostly = {
+ {
+ .name = "CHECKSUM",
+ .family = NFPROTO_IPV4,
+ .target = checksum_tg,
+ .targetsize = sizeof(struct xt_CHECKSUM_info),
+ .table = "mangle",
+ .checkentry = checksum_tg_check,
+ .me = THIS_MODULE,
+ },
+#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "CHECKSUM",
+ .family = NFPROTO_IPV6,
+ .target = checksum_tg,
+ .targetsize = sizeof(struct xt_CHECKSUM_info),
+ .table = "mangle",
+ .checkentry = checksum_tg_check,
+ .me = THIS_MODULE,
+ },
+#endif
};
static int __init checksum_tg_init(void)
{
- return xt_register_target(&checksum_tg_reg);
+ return xt_register_targets(checksum_tg_reg, ARRAY_SIZE(checksum_tg_reg));
}
static void __exit checksum_tg_exit(void)
{
- xt_unregister_target(&checksum_tg_reg);
+ xt_unregister_targets(checksum_tg_reg, ARRAY_SIZE(checksum_tg_reg));
}
module_init(checksum_tg_init);
diff --git a/net/netfilter/xt_CLASSIFY.c b/net/netfilter/xt_CLASSIFY.c
index 0accac98dea78..0ae8d8a1216e1 100644
--- a/net/netfilter/xt_CLASSIFY.c
+++ b/net/netfilter/xt_CLASSIFY.c
@@ -38,9 +38,9 @@ static struct xt_target classify_tg_reg[] __read_mostly = {
{
.name = "CLASSIFY",
.revision = 0,
- .family = NFPROTO_UNSPEC,
+ .family = NFPROTO_IPV4,
.hooks = (1 << NF_INET_LOCAL_OUT) | (1 << NF_INET_FORWARD) |
- (1 << NF_INET_POST_ROUTING),
+ (1 << NF_INET_POST_ROUTING),
.target = classify_tg,
.targetsize = sizeof(struct xt_classify_target_info),
.me = THIS_MODULE,
@@ -54,6 +54,18 @@ static struct xt_target classify_tg_reg[] __read_mostly = {
.targetsize = sizeof(struct xt_classify_target_info),
.me = THIS_MODULE,
},
+#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "CLASSIFY",
+ .revision = 0,
+ .family = NFPROTO_IPV6,
+ .hooks = (1 << NF_INET_LOCAL_OUT) | (1 << NF_INET_FORWARD) |
+ (1 << NF_INET_POST_ROUTING),
+ .target = classify_tg,
+ .targetsize = sizeof(struct xt_classify_target_info),
+ .me = THIS_MODULE,
+ },
+#endif
};
static int __init classify_tg_init(void)
diff --git a/net/netfilter/xt_CONNSECMARK.c b/net/netfilter/xt_CONNSECMARK.c
index 76acecf3e757a..1494b3ee30e11 100644
--- a/net/netfilter/xt_CONNSECMARK.c
+++ b/net/netfilter/xt_CONNSECMARK.c
@@ -114,25 +114,39 @@ static void connsecmark_tg_destroy(const struct xt_tgdtor_param *par)
nf_ct_netns_put(par->net, par->family);
}
-static struct xt_target connsecmark_tg_reg __read_mostly = {
- .name = "CONNSECMARK",
- .revision = 0,
- .family = NFPROTO_UNSPEC,
- .checkentry = connsecmark_tg_check,
- .destroy = connsecmark_tg_destroy,
- .target = connsecmark_tg,
- .targetsize = sizeof(struct xt_connsecmark_target_info),
- .me = THIS_MODULE,
+static struct xt_target connsecmark_tg_reg[] __read_mostly = {
+ {
+ .name = "CONNSECMARK",
+ .revision = 0,
+ .family = NFPROTO_IPV4,
+ .checkentry = connsecmark_tg_check,
+ .destroy = connsecmark_tg_destroy,
+ .target = connsecmark_tg,
+ .targetsize = sizeof(struct xt_connsecmark_target_info),
+ .me = THIS_MODULE,
+ },
+#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "CONNSECMARK",
+ .revision = 0,
+ .family = NFPROTO_IPV6,
+ .checkentry = connsecmark_tg_check,
+ .destroy = connsecmark_tg_destroy,
+ .target = connsecmark_tg,
+ .targetsize = sizeof(struct xt_connsecmark_target_info),
+ .me = THIS_MODULE,
+ },
+#endif
};
static int __init connsecmark_tg_init(void)
{
- return xt_register_target(&connsecmark_tg_reg);
+ return xt_register_targets(connsecmark_tg_reg, ARRAY_SIZE(connsecmark_tg_reg));
}
static void __exit connsecmark_tg_exit(void)
{
- xt_unregister_target(&connsecmark_tg_reg);
+ xt_unregister_targets(connsecmark_tg_reg, ARRAY_SIZE(connsecmark_tg_reg));
}
module_init(connsecmark_tg_init);
diff --git a/net/netfilter/xt_CT.c b/net/netfilter/xt_CT.c
index 2be2f7a7b60f4..3ba94c34297cf 100644
--- a/net/netfilter/xt_CT.c
+++ b/net/netfilter/xt_CT.c
@@ -313,10 +313,30 @@ static void xt_ct_tg_destroy_v1(const struct xt_tgdtor_param *par)
xt_ct_tg_destroy(par, par->targinfo);
}
+static unsigned int
+notrack_tg(struct sk_buff *skb, const struct xt_action_param *par)
+{
+ /* Previously seen (loopback)? Ignore. */
+ if (skb->_nfct != 0)
+ return XT_CONTINUE;
+
+ nf_ct_set(skb, NULL, IP_CT_UNTRACKED);
+
+ return XT_CONTINUE;
+}
+
static struct xt_target xt_ct_tg_reg[] __read_mostly = {
+ {
+ .name = "NOTRACK",
+ .revision = 0,
+ .family = NFPROTO_IPV4,
+ .target = notrack_tg,
+ .table = "raw",
+ .me = THIS_MODULE,
+ },
{
.name = "CT",
- .family = NFPROTO_UNSPEC,
+ .family = NFPROTO_IPV4,
.targetsize = sizeof(struct xt_ct_target_info),
.usersize = offsetof(struct xt_ct_target_info, ct),
.checkentry = xt_ct_tg_check_v0,
@@ -327,7 +347,7 @@ static struct xt_target xt_ct_tg_reg[] __read_mostly = {
},
{
.name = "CT",
- .family = NFPROTO_UNSPEC,
+ .family = NFPROTO_IPV4,
.revision = 1,
.targetsize = sizeof(struct xt_ct_target_info_v1),
.usersize = offsetof(struct xt_ct_target_info, ct),
@@ -339,7 +359,7 @@ static struct xt_target xt_ct_tg_reg[] __read_mostly = {
},
{
.name = "CT",
- .family = NFPROTO_UNSPEC,
+ .family = NFPROTO_IPV4,
.revision = 2,
.targetsize = sizeof(struct xt_ct_target_info_v1),
.usersize = offsetof(struct xt_ct_target_info, ct),
@@ -349,49 +369,61 @@ static struct xt_target xt_ct_tg_reg[] __read_mostly = {
.table = "raw",
.me = THIS_MODULE,
},
-};
-
-static unsigned int
-notrack_tg(struct sk_buff *skb, const struct xt_action_param *par)
-{
- /* Previously seen (loopback)? Ignore. */
- if (skb->_nfct != 0)
- return XT_CONTINUE;
-
- nf_ct_set(skb, NULL, IP_CT_UNTRACKED);
-
- return XT_CONTINUE;
-}
-
-static struct xt_target notrack_tg_reg __read_mostly = {
- .name = "NOTRACK",
- .revision = 0,
- .family = NFPROTO_UNSPEC,
- .target = notrack_tg,
- .table = "raw",
- .me = THIS_MODULE,
+#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "NOTRACK",
+ .revision = 0,
+ .family = NFPROTO_IPV6,
+ .target = notrack_tg,
+ .table = "raw",
+ .me = THIS_MODULE,
+ },
+ {
+ .name = "CT",
+ .family = NFPROTO_IPV6,
+ .targetsize = sizeof(struct xt_ct_target_info),
+ .usersize = offsetof(struct xt_ct_target_info, ct),
+ .checkentry = xt_ct_tg_check_v0,
+ .destroy = xt_ct_tg_destroy_v0,
+ .target = xt_ct_target_v0,
+ .table = "raw",
+ .me = THIS_MODULE,
+ },
+ {
+ .name = "CT",
+ .family = NFPROTO_IPV6,
+ .revision = 1,
+ .targetsize = sizeof(struct xt_ct_target_info_v1),
+ .usersize = offsetof(struct xt_ct_target_info, ct),
+ .checkentry = xt_ct_tg_check_v1,
+ .destroy = xt_ct_tg_destroy_v1,
+ .target = xt_ct_target_v1,
+ .table = "raw",
+ .me = THIS_MODULE,
+ },
+ {
+ .name = "CT",
+ .family = NFPROTO_IPV6,
+ .revision = 2,
+ .targetsize = sizeof(struct xt_ct_target_info_v1),
+ .usersize = offsetof(struct xt_ct_target_info, ct),
+ .checkentry = xt_ct_tg_check_v2,
+ .destroy = xt_ct_tg_destroy_v1,
+ .target = xt_ct_target_v1,
+ .table = "raw",
+ .me = THIS_MODULE,
+ },
+#endif
};
static int __init xt_ct_tg_init(void)
{
- int ret;
-
- ret = xt_register_target(¬rack_tg_reg);
- if (ret < 0)
- return ret;
-
- ret = xt_register_targets(xt_ct_tg_reg, ARRAY_SIZE(xt_ct_tg_reg));
- if (ret < 0) {
- xt_unregister_target(¬rack_tg_reg);
- return ret;
- }
- return 0;
+ return xt_register_targets(xt_ct_tg_reg, ARRAY_SIZE(xt_ct_tg_reg));
}
static void __exit xt_ct_tg_exit(void)
{
xt_unregister_targets(xt_ct_tg_reg, ARRAY_SIZE(xt_ct_tg_reg));
- xt_unregister_target(¬rack_tg_reg);
}
module_init(xt_ct_tg_init);
diff --git a/net/netfilter/xt_IDLETIMER.c b/net/netfilter/xt_IDLETIMER.c
index db720efa811d5..f8b25b6f5da73 100644
--- a/net/netfilter/xt_IDLETIMER.c
+++ b/net/netfilter/xt_IDLETIMER.c
@@ -458,28 +458,49 @@ static void idletimer_tg_destroy_v1(const struct xt_tgdtor_param *par)
static struct xt_target idletimer_tg[] __read_mostly = {
{
- .name = "IDLETIMER",
- .family = NFPROTO_UNSPEC,
- .target = idletimer_tg_target,
- .targetsize = sizeof(struct idletimer_tg_info),
- .usersize = offsetof(struct idletimer_tg_info, timer),
- .checkentry = idletimer_tg_checkentry,
- .destroy = idletimer_tg_destroy,
- .me = THIS_MODULE,
+ .name = "IDLETIMER",
+ .family = NFPROTO_IPV4,
+ .target = idletimer_tg_target,
+ .targetsize = sizeof(struct idletimer_tg_info),
+ .usersize = offsetof(struct idletimer_tg_info, timer),
+ .checkentry = idletimer_tg_checkentry,
+ .destroy = idletimer_tg_destroy,
+ .me = THIS_MODULE,
},
{
- .name = "IDLETIMER",
- .family = NFPROTO_UNSPEC,
- .revision = 1,
- .target = idletimer_tg_target_v1,
- .targetsize = sizeof(struct idletimer_tg_info_v1),
- .usersize = offsetof(struct idletimer_tg_info_v1, timer),
- .checkentry = idletimer_tg_checkentry_v1,
- .destroy = idletimer_tg_destroy_v1,
- .me = THIS_MODULE,
+ .name = "IDLETIMER",
+ .family = NFPROTO_IPV4,
+ .revision = 1,
+ .target = idletimer_tg_target_v1,
+ .targetsize = sizeof(struct idletimer_tg_info_v1),
+ .usersize = offsetof(struct idletimer_tg_info_v1, timer),
+ .checkentry = idletimer_tg_checkentry_v1,
+ .destroy = idletimer_tg_destroy_v1,
+ .me = THIS_MODULE,
},
-
-
+#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "IDLETIMER",
+ .family = NFPROTO_IPV6,
+ .target = idletimer_tg_target,
+ .targetsize = sizeof(struct idletimer_tg_info),
+ .usersize = offsetof(struct idletimer_tg_info, timer),
+ .checkentry = idletimer_tg_checkentry,
+ .destroy = idletimer_tg_destroy,
+ .me = THIS_MODULE,
+ },
+ {
+ .name = "IDLETIMER",
+ .family = NFPROTO_IPV6,
+ .revision = 1,
+ .target = idletimer_tg_target_v1,
+ .targetsize = sizeof(struct idletimer_tg_info_v1),
+ .usersize = offsetof(struct idletimer_tg_info_v1, timer),
+ .checkentry = idletimer_tg_checkentry_v1,
+ .destroy = idletimer_tg_destroy_v1,
+ .me = THIS_MODULE,
+ },
+#endif
};
static struct class *idletimer_tg_class;
diff --git a/net/netfilter/xt_LED.c b/net/netfilter/xt_LED.c
index 36c9720ad8d6d..f7b0286d106ac 100644
--- a/net/netfilter/xt_LED.c
+++ b/net/netfilter/xt_LED.c
@@ -175,26 +175,41 @@ static void led_tg_destroy(const struct xt_tgdtor_param *par)
kfree(ledinternal);
}
-static struct xt_target led_tg_reg __read_mostly = {
- .name = "LED",
- .revision = 0,
- .family = NFPROTO_UNSPEC,
- .target = led_tg,
- .targetsize = sizeof(struct xt_led_info),
- .usersize = offsetof(struct xt_led_info, internal_data),
- .checkentry = led_tg_check,
- .destroy = led_tg_destroy,
- .me = THIS_MODULE,
+static struct xt_target led_tg_reg[] __read_mostly = {
+ {
+ .name = "LED",
+ .revision = 0,
+ .family = NFPROTO_IPV4,
+ .target = led_tg,
+ .targetsize = sizeof(struct xt_led_info),
+ .usersize = offsetof(struct xt_led_info, internal_data),
+ .checkentry = led_tg_check,
+ .destroy = led_tg_destroy,
+ .me = THIS_MODULE,
+ },
+#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "LED",
+ .revision = 0,
+ .family = NFPROTO_IPV6,
+ .target = led_tg,
+ .targetsize = sizeof(struct xt_led_info),
+ .usersize = offsetof(struct xt_led_info, internal_data),
+ .checkentry = led_tg_check,
+ .destroy = led_tg_destroy,
+ .me = THIS_MODULE,
+ },
+#endif
};
static int __init led_tg_init(void)
{
- return xt_register_target(&led_tg_reg);
+ return xt_register_targets(led_tg_reg, ARRAY_SIZE(led_tg_reg));
}
static void __exit led_tg_exit(void)
{
- xt_unregister_target(&led_tg_reg);
+ xt_unregister_targets(led_tg_reg, ARRAY_SIZE(led_tg_reg));
}
module_init(led_tg_init);
diff --git a/net/netfilter/xt_NFLOG.c b/net/netfilter/xt_NFLOG.c
index e660c3710a109..d80abd6ccaf8f 100644
--- a/net/netfilter/xt_NFLOG.c
+++ b/net/netfilter/xt_NFLOG.c
@@ -64,25 +64,39 @@ static void nflog_tg_destroy(const struct xt_tgdtor_param *par)
nf_logger_put(par->family, NF_LOG_TYPE_ULOG);
}
-static struct xt_target nflog_tg_reg __read_mostly = {
- .name = "NFLOG",
- .revision = 0,
- .family = NFPROTO_UNSPEC,
- .checkentry = nflog_tg_check,
- .destroy = nflog_tg_destroy,
- .target = nflog_tg,
- .targetsize = sizeof(struct xt_nflog_info),
- .me = THIS_MODULE,
+static struct xt_target nflog_tg_reg[] __read_mostly = {
+ {
+ .name = "NFLOG",
+ .revision = 0,
+ .family = NFPROTO_IPV4,
+ .checkentry = nflog_tg_check,
+ .destroy = nflog_tg_destroy,
+ .target = nflog_tg,
+ .targetsize = sizeof(struct xt_nflog_info),
+ .me = THIS_MODULE,
+ },
+#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "NFLOG",
+ .revision = 0,
+ .family = NFPROTO_IPV4,
+ .checkentry = nflog_tg_check,
+ .destroy = nflog_tg_destroy,
+ .target = nflog_tg,
+ .targetsize = sizeof(struct xt_nflog_info),
+ .me = THIS_MODULE,
+ },
+#endif
};
static int __init nflog_tg_init(void)
{
- return xt_register_target(&nflog_tg_reg);
+ return xt_register_targets(nflog_tg_reg, ARRAY_SIZE(nflog_tg_reg));
}
static void __exit nflog_tg_exit(void)
{
- xt_unregister_target(&nflog_tg_reg);
+ xt_unregister_targets(nflog_tg_reg, ARRAY_SIZE(nflog_tg_reg));
}
module_init(nflog_tg_init);
diff --git a/net/netfilter/xt_RATEEST.c b/net/netfilter/xt_RATEEST.c
index 80f6624e23554..4f49cfc278312 100644
--- a/net/netfilter/xt_RATEEST.c
+++ b/net/netfilter/xt_RATEEST.c
@@ -179,16 +179,31 @@ static void xt_rateest_tg_destroy(const struct xt_tgdtor_param *par)
xt_rateest_put(par->net, info->est);
}
-static struct xt_target xt_rateest_tg_reg __read_mostly = {
- .name = "RATEEST",
- .revision = 0,
- .family = NFPROTO_UNSPEC,
- .target = xt_rateest_tg,
- .checkentry = xt_rateest_tg_checkentry,
- .destroy = xt_rateest_tg_destroy,
- .targetsize = sizeof(struct xt_rateest_target_info),
- .usersize = offsetof(struct xt_rateest_target_info, est),
- .me = THIS_MODULE,
+static struct xt_target xt_rateest_tg_reg[] __read_mostly = {
+ {
+ .name = "RATEEST",
+ .revision = 0,
+ .family = NFPROTO_IPV4,
+ .target = xt_rateest_tg,
+ .checkentry = xt_rateest_tg_checkentry,
+ .destroy = xt_rateest_tg_destroy,
+ .targetsize = sizeof(struct xt_rateest_target_info),
+ .usersize = offsetof(struct xt_rateest_target_info, est),
+ .me = THIS_MODULE,
+ },
+#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "RATEEST",
+ .revision = 0,
+ .family = NFPROTO_IPV6,
+ .target = xt_rateest_tg,
+ .checkentry = xt_rateest_tg_checkentry,
+ .destroy = xt_rateest_tg_destroy,
+ .targetsize = sizeof(struct xt_rateest_target_info),
+ .usersize = offsetof(struct xt_rateest_target_info, est),
+ .me = THIS_MODULE,
+ },
+#endif
};
static __net_init int xt_rateest_net_init(struct net *net)
@@ -214,12 +229,12 @@ static int __init xt_rateest_tg_init(void)
if (err)
return err;
- return xt_register_target(&xt_rateest_tg_reg);
+ return xt_register_targets(xt_rateest_tg_reg, ARRAY_SIZE(xt_rateest_tg_reg));
}
static void __exit xt_rateest_tg_fini(void)
{
- xt_unregister_target(&xt_rateest_tg_reg);
+ xt_unregister_targets(xt_rateest_tg_reg, ARRAY_SIZE(xt_rateest_tg_reg));
unregister_pernet_subsys(&xt_rateest_net_ops);
}
diff --git a/net/netfilter/xt_SECMARK.c b/net/netfilter/xt_SECMARK.c
index 498a0bf6f0444..5bc5ea505eb9e 100644
--- a/net/netfilter/xt_SECMARK.c
+++ b/net/netfilter/xt_SECMARK.c
@@ -157,7 +157,7 @@ static struct xt_target secmark_tg_reg[] __read_mostly = {
{
.name = "SECMARK",
.revision = 0,
- .family = NFPROTO_UNSPEC,
+ .family = NFPROTO_IPV4,
.checkentry = secmark_tg_check_v0,
.destroy = secmark_tg_destroy,
.target = secmark_tg_v0,
@@ -167,7 +167,7 @@ static struct xt_target secmark_tg_reg[] __read_mostly = {
{
.name = "SECMARK",
.revision = 1,
- .family = NFPROTO_UNSPEC,
+ .family = NFPROTO_IPV4,
.checkentry = secmark_tg_check_v1,
.destroy = secmark_tg_destroy,
.target = secmark_tg_v1,
@@ -175,6 +175,29 @@ static struct xt_target secmark_tg_reg[] __read_mostly = {
.usersize = offsetof(struct xt_secmark_target_info_v1, secid),
.me = THIS_MODULE,
},
+#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "SECMARK",
+ .revision = 0,
+ .family = NFPROTO_IPV6,
+ .checkentry = secmark_tg_check_v0,
+ .destroy = secmark_tg_destroy,
+ .target = secmark_tg_v0,
+ .targetsize = sizeof(struct xt_secmark_target_info),
+ .me = THIS_MODULE,
+ },
+ {
+ .name = "SECMARK",
+ .revision = 1,
+ .family = NFPROTO_IPV6,
+ .checkentry = secmark_tg_check_v1,
+ .destroy = secmark_tg_destroy,
+ .target = secmark_tg_v1,
+ .targetsize = sizeof(struct xt_secmark_target_info_v1),
+ .usersize = offsetof(struct xt_secmark_target_info_v1, secid),
+ .me = THIS_MODULE,
+ },
+#endif
};
static int __init secmark_tg_init(void)
diff --git a/net/netfilter/xt_TRACE.c b/net/netfilter/xt_TRACE.c
index 5582dce98cae7..f3fa4f11348cd 100644
--- a/net/netfilter/xt_TRACE.c
+++ b/net/netfilter/xt_TRACE.c
@@ -29,25 +29,38 @@ trace_tg(struct sk_buff *skb, const struct xt_action_param *par)
return XT_CONTINUE;
}
-static struct xt_target trace_tg_reg __read_mostly = {
- .name = "TRACE",
- .revision = 0,
- .family = NFPROTO_UNSPEC,
- .table = "raw",
- .target = trace_tg,
- .checkentry = trace_tg_check,
- .destroy = trace_tg_destroy,
- .me = THIS_MODULE,
+static struct xt_target trace_tg_reg[] __read_mostly = {
+ {
+ .name = "TRACE",
+ .revision = 0,
+ .family = NFPROTO_IPV4,
+ .table = "raw",
+ .target = trace_tg,
+ .checkentry = trace_tg_check,
+ .destroy = trace_tg_destroy,
+ .me = THIS_MODULE,
+ },
+#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "TRACE",
+ .revision = 0,
+ .family = NFPROTO_IPV6,
+ .table = "raw",
+ .target = trace_tg,
+ .checkentry = trace_tg_check,
+ .destroy = trace_tg_destroy,
+ },
+#endif
};
static int __init trace_tg_init(void)
{
- return xt_register_target(&trace_tg_reg);
+ return xt_register_targets(trace_tg_reg, ARRAY_SIZE(trace_tg_reg));
}
static void __exit trace_tg_exit(void)
{
- xt_unregister_target(&trace_tg_reg);
+ xt_unregister_targets(trace_tg_reg, ARRAY_SIZE(trace_tg_reg));
}
module_init(trace_tg_init);
diff --git a/net/netfilter/xt_addrtype.c b/net/netfilter/xt_addrtype.c
index e9b2181e8c425..a770889431071 100644
--- a/net/netfilter/xt_addrtype.c
+++ b/net/netfilter/xt_addrtype.c
@@ -208,13 +208,24 @@ static struct xt_match addrtype_mt_reg[] __read_mostly = {
},
{
.name = "addrtype",
- .family = NFPROTO_UNSPEC,
+ .family = NFPROTO_IPV4,
.revision = 1,
.match = addrtype_mt_v1,
.checkentry = addrtype_mt_checkentry_v1,
.matchsize = sizeof(struct xt_addrtype_info_v1),
.me = THIS_MODULE
- }
+ },
+#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "addrtype",
+ .family = NFPROTO_IPV6,
+ .revision = 1,
+ .match = addrtype_mt_v1,
+ .checkentry = addrtype_mt_checkentry_v1,
+ .matchsize = sizeof(struct xt_addrtype_info_v1),
+ .me = THIS_MODULE
+ },
+#endif
};
static int __init addrtype_mt_init(void)
diff --git a/net/netfilter/xt_cluster.c b/net/netfilter/xt_cluster.c
index a047a545371e1..908fd5f2c3c84 100644
--- a/net/netfilter/xt_cluster.c
+++ b/net/netfilter/xt_cluster.c
@@ -146,24 +146,37 @@ static void xt_cluster_mt_destroy(const struct xt_mtdtor_param *par)
nf_ct_netns_put(par->net, par->family);
}
-static struct xt_match xt_cluster_match __read_mostly = {
- .name = "cluster",
- .family = NFPROTO_UNSPEC,
- .match = xt_cluster_mt,
- .checkentry = xt_cluster_mt_checkentry,
- .matchsize = sizeof(struct xt_cluster_match_info),
- .destroy = xt_cluster_mt_destroy,
- .me = THIS_MODULE,
+static struct xt_match xt_cluster_match[] __read_mostly = {
+ {
+ .name = "cluster",
+ .family = NFPROTO_IPV4,
+ .match = xt_cluster_mt,
+ .checkentry = xt_cluster_mt_checkentry,
+ .matchsize = sizeof(struct xt_cluster_match_info),
+ .destroy = xt_cluster_mt_destroy,
+ .me = THIS_MODULE,
+ },
+#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "cluster",
+ .family = NFPROTO_IPV6,
+ .match = xt_cluster_mt,
+ .checkentry = xt_cluster_mt_checkentry,
+ .matchsize = sizeof(struct xt_cluster_match_info),
+ .destroy = xt_cluster_mt_destroy,
+ .me = THIS_MODULE,
+ },
+#endif
};
static int __init xt_cluster_mt_init(void)
{
- return xt_register_match(&xt_cluster_match);
+ return xt_register_matches(xt_cluster_match, ARRAY_SIZE(xt_cluster_match));
}
static void __exit xt_cluster_mt_fini(void)
{
- xt_unregister_match(&xt_cluster_match);
+ xt_unregister_matches(xt_cluster_match, ARRAY_SIZE(xt_cluster_match));
}
MODULE_AUTHOR("Pablo Neira Ayuso <pablo@netfilter.org>");
diff --git a/net/netfilter/xt_connbytes.c b/net/netfilter/xt_connbytes.c
index 93cb018c3055f..2aabdcea87072 100644
--- a/net/netfilter/xt_connbytes.c
+++ b/net/netfilter/xt_connbytes.c
@@ -111,9 +111,11 @@ static int connbytes_mt_check(const struct xt_mtchk_param *par)
return -EINVAL;
ret = nf_ct_netns_get(par->net, par->family);
- if (ret < 0)
+ if (ret < 0) {
pr_info_ratelimited("cannot load conntrack support for proto=%u\n",
par->family);
+ return ret;
+ }
/*
* This filter cannot function correctly unless connection tracking
diff --git a/net/netfilter/xt_connlimit.c b/net/netfilter/xt_connlimit.c
index 5d04ef80a61dc..d1d0fa6c8061e 100644
--- a/net/netfilter/xt_connlimit.c
+++ b/net/netfilter/xt_connlimit.c
@@ -106,26 +106,41 @@ static void connlimit_mt_destroy(const struct xt_mtdtor_param *par)
nf_conncount_destroy(par->net, par->family, info->data);
}
-static struct xt_match connlimit_mt_reg __read_mostly = {
- .name = "connlimit",
- .revision = 1,
- .family = NFPROTO_UNSPEC,
- .checkentry = connlimit_mt_check,
- .match = connlimit_mt,
- .matchsize = sizeof(struct xt_connlimit_info),
- .usersize = offsetof(struct xt_connlimit_info, data),
- .destroy = connlimit_mt_destroy,
- .me = THIS_MODULE,
+static struct xt_match connlimit_mt_reg[] __read_mostly = {
+ {
+ .name = "connlimit",
+ .revision = 1,
+ .family = NFPROTO_IPV4,
+ .checkentry = connlimit_mt_check,
+ .match = connlimit_mt,
+ .matchsize = sizeof(struct xt_connlimit_info),
+ .usersize = offsetof(struct xt_connlimit_info, data),
+ .destroy = connlimit_mt_destroy,
+ .me = THIS_MODULE,
+ },
+#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "connlimit",
+ .revision = 1,
+ .family = NFPROTO_IPV6,
+ .checkentry = connlimit_mt_check,
+ .match = connlimit_mt,
+ .matchsize = sizeof(struct xt_connlimit_info),
+ .usersize = offsetof(struct xt_connlimit_info, data),
+ .destroy = connlimit_mt_destroy,
+ .me = THIS_MODULE,
+ },
+#endif
};
static int __init connlimit_mt_init(void)
{
- return xt_register_match(&connlimit_mt_reg);
+ return xt_register_matches(connlimit_mt_reg, ARRAY_SIZE(connlimit_mt_reg));
}
static void __exit connlimit_mt_exit(void)
{
- xt_unregister_match(&connlimit_mt_reg);
+ xt_unregister_matches(connlimit_mt_reg, ARRAY_SIZE(connlimit_mt_reg));
}
module_init(connlimit_mt_init);
diff --git a/net/netfilter/xt_connmark.c b/net/netfilter/xt_connmark.c
index ad3c033db64e7..4277084de2e70 100644
--- a/net/netfilter/xt_connmark.c
+++ b/net/netfilter/xt_connmark.c
@@ -151,7 +151,7 @@ static struct xt_target connmark_tg_reg[] __read_mostly = {
{
.name = "CONNMARK",
.revision = 1,
- .family = NFPROTO_UNSPEC,
+ .family = NFPROTO_IPV4,
.checkentry = connmark_tg_check,
.target = connmark_tg,
.targetsize = sizeof(struct xt_connmark_tginfo1),
@@ -161,13 +161,35 @@ static struct xt_target connmark_tg_reg[] __read_mostly = {
{
.name = "CONNMARK",
.revision = 2,
- .family = NFPROTO_UNSPEC,
+ .family = NFPROTO_IPV4,
.checkentry = connmark_tg_check,
.target = connmark_tg_v2,
.targetsize = sizeof(struct xt_connmark_tginfo2),
.destroy = connmark_tg_destroy,
.me = THIS_MODULE,
- }
+ },
+#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "CONNMARK",
+ .revision = 1,
+ .family = NFPROTO_IPV6,
+ .checkentry = connmark_tg_check,
+ .target = connmark_tg,
+ .targetsize = sizeof(struct xt_connmark_tginfo1),
+ .destroy = connmark_tg_destroy,
+ .me = THIS_MODULE,
+ },
+ {
+ .name = "CONNMARK",
+ .revision = 2,
+ .family = NFPROTO_IPV6,
+ .checkentry = connmark_tg_check,
+ .target = connmark_tg_v2,
+ .targetsize = sizeof(struct xt_connmark_tginfo2),
+ .destroy = connmark_tg_destroy,
+ .me = THIS_MODULE,
+ },
+#endif
};
static struct xt_match connmark_mt_reg __read_mostly = {
diff --git a/net/netfilter/xt_mark.c b/net/netfilter/xt_mark.c
index 1ad74b5920b53..f76fe04fc9a4e 100644
--- a/net/netfilter/xt_mark.c
+++ b/net/netfilter/xt_mark.c
@@ -39,13 +39,35 @@ mark_mt(const struct sk_buff *skb, struct xt_action_param *par)
return ((skb->mark & info->mask) == info->mark) ^ info->invert;
}
-static struct xt_target mark_tg_reg __read_mostly = {
- .name = "MARK",
- .revision = 2,
- .family = NFPROTO_UNSPEC,
- .target = mark_tg,
- .targetsize = sizeof(struct xt_mark_tginfo2),
- .me = THIS_MODULE,
+static struct xt_target mark_tg_reg[] __read_mostly = {
+ {
+ .name = "MARK",
+ .revision = 2,
+ .family = NFPROTO_IPV4,
+ .target = mark_tg,
+ .targetsize = sizeof(struct xt_mark_tginfo2),
+ .me = THIS_MODULE,
+ },
+#if IS_ENABLED(CONFIG_IP_NF_ARPTABLES)
+ {
+ .name = "MARK",
+ .revision = 2,
+ .family = NFPROTO_ARP,
+ .target = mark_tg,
+ .targetsize = sizeof(struct xt_mark_tginfo2),
+ .me = THIS_MODULE,
+ },
+#endif
+#if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "MARK",
+ .revision = 2,
+ .family = NFPROTO_IPV4,
+ .target = mark_tg,
+ .targetsize = sizeof(struct xt_mark_tginfo2),
+ .me = THIS_MODULE,
+ },
+#endif
};
static struct xt_match mark_mt_reg __read_mostly = {
@@ -61,12 +83,12 @@ static int __init mark_mt_init(void)
{
int ret;
- ret = xt_register_target(&mark_tg_reg);
+ ret = xt_register_targets(mark_tg_reg, ARRAY_SIZE(mark_tg_reg));
if (ret < 0)
return ret;
ret = xt_register_match(&mark_mt_reg);
if (ret < 0) {
- xt_unregister_target(&mark_tg_reg);
+ xt_unregister_targets(mark_tg_reg, ARRAY_SIZE(mark_tg_reg));
return ret;
}
return 0;
@@ -75,7 +97,7 @@ static int __init mark_mt_init(void)
static void __exit mark_mt_exit(void)
{
xt_unregister_match(&mark_mt_reg);
- xt_unregister_target(&mark_tg_reg);
+ xt_unregister_targets(mark_tg_reg, ARRAY_SIZE(mark_tg_reg));
}
module_init(mark_mt_init);
--
2.43.0
next prev parent reply other threads:[~2024-10-14 14:44 UTC|newest]
Thread overview: 220+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-14 14:18 [PATCH 6.6 000/213] 6.6.57-rc1 review Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 001/213] unicode: Dont special case ignorable code points Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 002/213] net: fec: dont save PTP state if PTP is unsupported Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 003/213] Revert "PCI/MSI: Provide stubs for IMS functions" Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 004/213] ASoC: cs35l56: Load tunings for the correct speaker models Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 005/213] phy: qualcomm: phy-qcom-eusb2-repeater: Add tuning overrides Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 006/213] phy: qualcomm: eusb2-repeater: Rework init to drop redundant zero-out loop Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 007/213] gfs2: Revert "introduce qd_bh_get_or_undo" Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 008/213] gfs2: qd_check_sync cleanups Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 009/213] gfs2: Revert "ignore negated quota changes" Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 010/213] riscv: Remove SHADOW_OVERFLOW_STACK_SIZE macro Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 011/213] net: ethernet: cortina: Drop TSO support Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 012/213] drm/panel: boe-tv101wum-nl6: Fine tune Himax83102-j02 panel HFP and HBP (again) Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 013/213] tracing: Remove precision vsnprintf() check from print event Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 014/213] ALSA: hda/realtek: cs35l41: Fix order and duplicates in quirks table Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 015/213] ALSA: hda/realtek: cs35l41: Fix device ID / model name Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 016/213] drm/crtc: fix uninitialized variable use even harder Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 017/213] bus: mhi: ep: Rename read_from_host() and write_to_host() APIs Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 018/213] bus: mhi: ep: Introduce async read/write callbacks Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 019/213] bus: mhi: ep: Add support for async DMA write operation Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 020/213] bus: mhi: ep: Add support for async DMA read operation Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 021/213] bus: mhi: ep: Do not allocate memory for MHI objects from DMA zone Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 022/213] Revert "powerpc/ps3_defconfig: Disable PPC64_BIG_ENDIAN_ELF_ABI_V2" Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 023/213] pds_core: no health-thread in VF path Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 024/213] libceph: init the cursor when preparing sparse read in msgr2 Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 025/213] tracing: Have saved_cmdlines arrays all in one allocation Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 026/213] riscv: cpufeature: Fix thead vector hwcap removal Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 027/213] spi: spi-fsl-lpspi: remove redundant spi_controller_put call Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 028/213] ata: ahci: Add mask_port_map module parameter Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 029/213] ASoC: tas2781: mark dvc_tlv with __maybe_unused Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 030/213] scsi: Remove scsi device no_start_on_resume flag Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 031/213] scsi: sd: Do not repeat the starting disk message Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 032/213] i40e: Fix ST code value for Clause 45 Greg Kroah-Hartman
2024-10-14 14:18 ` [PATCH 6.6 033/213] i40e: Include types.h to some headers Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 034/213] e1000e: move force SMBUS near the end of enable_ulp function Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 035/213] bootconfig: Fix the kerneldoc of _xbc_exit() Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 036/213] perf sched: Move start_work_mutex and work_done_wait_mutex initialization to perf_sched__replay() Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 037/213] perf sched: Fix memory leak in perf_sched__map() Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 038/213] perf sched: Move curr_thread initialization to perf_sched__map() Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 039/213] perf sched: Move curr_pid and cpu_last_switched initialization to perf_sched__{lat|map|replay}() Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 040/213] libsubcmd: Dont free the usage string Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 041/213] selftests: net: Remove executable bits from library scripts Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 042/213] selftests: Introduce Makefile variable to list shared bash scripts Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 043/213] Bluetooth: Fix usage of __hci_cmd_sync_status Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 044/213] jbd2: fix kernel-doc for j_transaction_overhead_buffers Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 045/213] lib/build_OID_registry: avoid non-destructive substitution for Perl < 5.13.2 compat Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 046/213] drm/amd/display: Remove a redundant check in authenticated_dp Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 047/213] drm/amd/display: Revert "Check HDCP returned status" Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 048/213] fs/ntfs3: Do not call file_modified if collapse range failed Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 049/213] fs/ntfs3: Fix sparse warning in ni_fiemap Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 050/213] fs/ntfs3: Refactor enum_rstbl to suppress static checker Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 051/213] virtio_console: fix misc probe bugs Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 052/213] ntfs3: Change to non-blocking allocation in ntfs_d_hash Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 053/213] zram: free secondary algorithms names Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 054/213] zram: dont free statically defined names Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 055/213] Input: synaptics-rmi4 - fix UAF of IRQ domain on driver removal Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 056/213] selftests/bpf: Fix ARG_PTR_TO_LONG {half-,}uninitialized test Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 057/213] bpf: Check percpu map value size first Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 058/213] s390/boot: Compile all files with the same march flag Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 059/213] s390/facility: Disable compile time optimization for decompressor code Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 060/213] s390/mm: Add cond_resched() to cmm_alloc/free_pages() Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 061/213] bpf, x64: Fix a jit convergence issue Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 062/213] ext4: dont set SB_RDONLY after filesystem errors Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 063/213] ext4: nested locking for xattr inode Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 064/213] s390/cpum_sf: Remove WARN_ON_ONCE statements Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 065/213] s390/traps: Handle early warnings gracefully Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 066/213] bpf: Prevent tail call between progs attached to different hooks Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 067/213] ktest.pl: Avoid false positives with grub2 skip regex Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 068/213] RDMA/mad: Improve handling of timed out WRs of mad agent Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 069/213] soundwire: intel_bus_common: enable interrupts before exiting reset Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 070/213] PCI: Add function 0 DMA alias quirk for Glenfly Arise chip Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 071/213] RDMA/rtrs-srv: Avoid null pointer deref during path establishment Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 072/213] clk: bcm: bcm53573: fix OF node leak in init Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 073/213] PCI: Add ACS quirk for Qualcomm SA8775P Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 074/213] i2c: i801: Use a different adapter-name for IDF adapters Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 075/213] PCI: Mark Creative Labs EMU20k2 INTx masking as broken Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 076/213] i3c: master: cdns: Fix use after free vulnerability in cdns_i3c_master Driver Due to Race Condition Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 077/213] RISC-V: Dont have MAX_PHYSMEM_BITS exceed phys_addr_t Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 078/213] io_uring: check if we need to reschedule during overflow flush Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 079/213] ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 080/213] mfd: intel_soc_pmic_chtwc: Make Lenovo Yoga Tab 3 X90F DMI match less strict Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 081/213] riscv: avoid Imbalance in RAS Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 082/213] RDMA/mlx5: Enforce umem boundaries for explicit ODP page faults Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 083/213] soundwire: cadence: re-check Peripheral status with delayed_work Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 084/213] riscv/kexec_file: Fix relocation type R_RISCV_ADD16 and R_RISCV_SUB16 unknown Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 085/213] media: videobuf2-core: clear memory related fields in __vb2_plane_dmabuf_put() Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 086/213] remoteproc: imx_rproc: Use imx specific hook for find_loaded_rsc_table Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 087/213] clk: imx: Remove CLK_SET_PARENT_GATE for DRAM mux for i.MX7D Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 088/213] serial: protect uart_port_dtr_rts() in uart_shutdown() too Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 089/213] usb: typec: tipd: Free IRQ only if it was requested before Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 090/213] usb: chipidea: udc: enable suspend interrupt after usb reset Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 091/213] usb: dwc2: Adjust the timing of USB Driver Interrupt Registration in the Crashkernel Scenario Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 092/213] comedi: ni_routing: tools: Check when the file could not be opened Greg Kroah-Hartman
2024-10-14 14:19 ` [PATCH 6.6 093/213] LoongArch: Fix memleak in pci_acpi_scan_root() Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 094/213] netfilter: nf_nat: dont try nat source port reallocation for reverse dir clash Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 095/213] netfilter: nf_reject: Fix build warning when CONFIG_BRIDGE_NETFILTER=n Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 096/213] virtio_pmem: Check device status before requesting flush Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 097/213] tools/iio: Add memory allocation failure check for trigger_name Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 098/213] staging: vme_user: added bound check to geoid Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 099/213] driver core: bus: Fix double free in driver API bus_register() Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 100/213] driver core: bus: Return -EIO instead of 0 when show/store invalid bus attribute Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 101/213] scsi: lpfc: Add ELS_RSP cmd to the list of WQEs to flush in lpfc_els_flush_cmd() Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 102/213] scsi: lpfc: Ensure DA_ID handling completion before deleting an NPIV instance Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 103/213] drm/amd/display: Check null pointer before dereferencing se Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 104/213] fbcon: Fix a NULL pointer dereference issue in fbcon_putcs Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 105/213] smb: client: fix UAF in async decryption Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 106/213] fbdev: sisfb: Fix strbuf array overflow Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 107/213] x86/amd_nb: Add new PCI IDs for AMD family 0x1a Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 108/213] x86/amd_nb: Add new PCI IDs for AMD family 1Ah model 60h Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 109/213] NFSD: Mark filecache "down" if init fails Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 110/213] ice: set correct dst VSI in only LAN filters Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 111/213] ice: fix VLAN replay after reset Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 112/213] SUNRPC: Fix integer overflow in decode_rc_list() Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 113/213] NFSv4: Prevent NULL-pointer dereference in nfs42_complete_copies() Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 114/213] net: phy: dp83869: fix memory corruption when enabling fiber Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 115/213] tcp: fix to allow timestamp undo if no retransmits were sent Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 116/213] tcp: fix tcp_enter_recovery() to zero retrans_stamp when its safe Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 117/213] tcp: new TCP_INFO stats for RTO events Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 118/213] tcp: fix TFO SYN_RECV to not zero retrans_stamp with retransmits out Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 119/213] rxrpc: Fix uninitialised variable in rxrpc_send_data() Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 120/213] netfilter: br_netfilter: fix panic with metadata_dst skb Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 121/213] selftests: net: no_forwarding: fix VID for $swp2 in one_bridge_two_pvids() test Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 122/213] Bluetooth: RFCOMM: FIX possible deadlock in rfcomm_sk_state_change Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 123/213] net: phy: bcm84881: Fix some error handling paths Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 124/213] thermal: int340x: processor_thermal: Set feature mask before proc_thermal_add Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 125/213] thermal: intel: int340x: processor: Fix warning during module unload Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 126/213] Revert "net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled" Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 127/213] net: ethernet: adi: adin1110: Fix some error handling path in adin1110_read_fifo() Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 128/213] net: dsa: b53: fix jumbo frame mtu check Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 129/213] net: dsa: b53: fix max MTU for 1g switches Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 130/213] net: dsa: b53: fix max MTU for BCM5325/BCM5365 Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 131/213] net: dsa: b53: allow lower MTUs on BCM5325/5365 Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 132/213] net: dsa: b53: fix jumbo frames on 10/100 ports Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 133/213] drm/nouveau: pass cli to nouveau_channel_new() instead of drm+device Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 134/213] nouveau/dmem: Fix privileged error in copy engine channel Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 135/213] gpio: aspeed: Add the flush write to ensure the write complete Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 136/213] gpio: aspeed: Use devm_clk api to manage clock source Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 137/213] platform/x86/intel/tpmi: Add defines to get version information Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 138/213] powercap: intel_rapl_tpmi: Ignore minor version change Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 139/213] ice: Fix netif_is_ice() in Safe Mode Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 140/213] ice: rename switchdev to eswitch Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 141/213] ice: Flush FDB entries before reset Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 142/213] i40e: Fix macvlan leak by synchronizing access to mac_filter_hash Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 143/213] igb: Do not bring the device up after non-fatal error Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 144/213] e1000e: change I219 (19) devices to ADP Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 145/213] net/sched: accept TCA_STAB only for root qdisc Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 146/213] net: ibm: emac: mal: fix wrong goto Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 147/213] btrfs: zoned: fix missing RCU locking in error message when loading zone info Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 148/213] sctp: ensure sk_state is set to CLOSED if hashing fails in sctp_listen_start Greg Kroah-Hartman
2024-10-14 14:20 ` Greg Kroah-Hartman [this message]
2024-10-14 14:20 ` [PATCH 6.6 150/213] netfilter: fib: check correct rtable in vrf setups Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 151/213] net: do not delay dst_entries_add() in dst_release() Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 152/213] rtnetlink: Add bulk registration helpers for rtnetlink message handlers Greg Kroah-Hartman
2024-10-14 14:20 ` [PATCH 6.6 153/213] vxlan: Handle error of rtnl_register_module() Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 154/213] bridge: " Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 155/213] mctp: " Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 156/213] rtnetlink: change nlk->cb_mutex role Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 157/213] rtnetlink: add RTNL_FLAG_DUMP_UNLOCKED flag Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 158/213] mpls: no longer hold RTNL in mpls_netconf_dump_devconf() Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 159/213] mpls: Handle error of rtnl_register_module() Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 160/213] phonet: no longer hold RTNL in route_dumpit() Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 161/213] phonet: Handle error of rtnl_register_module() Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 162/213] ppp: fix ppp_async_encode() illegal access Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 163/213] slip: make slhc_remember() more robust against malicious packets Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 164/213] rcu/nocb: Make IRQs disablement symmetric Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 165/213] rcu/nocb: Fix rcuog wake-up from offline softirq Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 166/213] HID: mcp2200: added driver for GPIOs of MCP2200 Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 167/213] HID: i2c-hid: Remove I2C_HID_QUIRK_SET_PWR_WAKEUP_DEV quirk Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 168/213] HID: i2c-hid: Renumber I2C_HID_QUIRK_ defines Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 169/213] HID: i2c-hid: Skip SET_POWER SLEEP for Cirque touchpad on system suspend Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 170/213] HID: asus: add ROG Ally N-Key ID and keycodes Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 171/213] HID: asus: add ROG Z13 lightbar Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 172/213] hid-asus: add ROG Ally X prod ID to quirk list Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 173/213] wifi: mac80211: Avoid address calculations via out of bounds array indexing Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 174/213] hwmon: intel-m10-bmc-hwmon: relabel Columbiaville to CVL Die Temperature Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 175/213] hwmon: (tmp513) Add missing dependency on REGMAP_I2C Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 176/213] hwmon: (mc34vr500) " Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 177/213] hwmon: (adm9240) " Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 178/213] hwmon: (adt7470) " Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 179/213] HID: amd_sfh: Switch to device-managed dmam_alloc_coherent() Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 180/213] HID: multitouch: Add support for lenovo Y9000P Touchpad Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 181/213] HID: plantronics: Workaround for an unexcepted opposite volume key Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 182/213] Revert "usb: yurex: Replace snprintf() with the safer scnprintf() variant" Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 183/213] usb: dwc3: core: Stop processing of pending events if controller is halted Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 184/213] usb: xhci: Fix problem with xhci resume from suspend Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 185/213] usb: storage: ignore bogus device raised by JieLi BR21 USB sound chip Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 186/213] usb: gadget: core: force synchronous registration Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 187/213] hid: intel-ish-hid: Fix uninitialized variable rv in ish_fw_xfer_direct_dma Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 188/213] drm/v3d: Stop the active perfmon before being destroyed Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 189/213] drm/vc4: " Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 190/213] drm/i915/hdcp: fix connector refcounting Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 191/213] Bluetooth: hci_conn: Fix UAF in hci_enhanced_setup_sync Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 192/213] scsi: wd33c93: Dont use stale scsi_pointer value Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 193/213] scsi: ufs: Use pre-calculated offsets in ufshcd_init_lrb() Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 194/213] mptcp: fallback when MPTCP opts are dropped after 1st data Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 195/213] ata: libata: avoid superfluous disk spin down + spin up during hibernation Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 196/213] net: explicitly clear the sk pointer, when pf->create fails Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 197/213] net: Fix an unsafe loop on the list Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 198/213] net: dsa: lan9303: ensure chip reset and wait for READY status Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 199/213] net: phy: Remove LED entry from LEDs list on unregister Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 200/213] mptcp: handle consistently DSS corruption Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 201/213] mptcp: pm: do not remove closing subflows Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 202/213] device-dax: correct pgoff align in dax_set_mapping() Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 203/213] nouveau/dmem: Fix vulnerability in migrate_to_ram upon copy error Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 204/213] powercap: intel_rapl_tpmi: Fix bogus register reading Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 205/213] selftests/mm: fix incorrect buffer->mirror size in hmm2 double_map test Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 206/213] selftests/rseq: Fix mm_cid test failure Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 207/213] btrfs: split remaining space to discard in chunks Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 208/213] kthread: unpark only parked kthread Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 209/213] fs/proc/kcore.c: allow translation of physical memory addresses Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 210/213] secretmem: disable memfd_secret() if arch cannot set direct map Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 211/213] net: ethernet: cortina: Restore TSO support Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 212/213] e1000e: fix force smbus during suspend flow Greg Kroah-Hartman
2024-10-14 14:21 ` [PATCH 6.6 213/213] scsi: Revert "scsi: sd: Do not repeat the starting disk message" Greg Kroah-Hartman
2024-10-14 22:57 ` [PATCH 6.6 000/213] 6.6.57-rc1 review Florian Fainelli
2024-10-15 4:22 ` Peter Schneider
2024-10-15 6:07 ` Jon Hunter
2024-10-15 8:21 ` Naresh Kamboju
2024-10-15 9:49 ` Heiko Carstens
2024-10-15 14:40 ` Shuah Khan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241014141048.783855867@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=fw@strlen.de \
--cc=pablo@netfilter.org \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
--cc=syzbot+256c348558aa5cf611a9@syzkaller.appspotmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox