lkml.org 
[lkml]   [2026]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] netfilter: xt_dscp: replace -EDOM with -EINVAL and unify match functions
Date
From: Marino Dzalto <marino.dzalto@icloud.com>

Signed-off-by: Marino Dzalto <marino.dzalto@icloud.com>
---
net/netfilter/xt_dscp.c | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/net/netfilter/xt_dscp.c b/net/netfilter/xt_dscp.c
index fb0169a8f..00137bff3 100644
--- a/net/netfilter/xt_dscp.c
+++ b/net/netfilter/xt_dscp.c
@@ -25,16 +25,12 @@ static bool
dscp_mt(const struct sk_buff *skb, struct xt_action_param *par)
{
const struct xt_dscp_info *info = par->matchinfo;
- u_int8_t dscp = ipv4_get_dsfield(ip_hdr(skb)) >> XT_DSCP_SHIFT;
+ u8 dscp;

- return (dscp == info->dscp) ^ !!info->invert;
-}
-
-static bool
-dscp_mt6(const struct sk_buff *skb, struct xt_action_param *par)
-{
- const struct xt_dscp_info *info = par->matchinfo;
- u_int8_t dscp = ipv6_get_dsfield(ipv6_hdr(skb)) >> XT_DSCP_SHIFT;
+ if (xt_family(par) == NFPROTO_IPV4)
+ dscp = ipv4_get_dsfield(ip_hdr(skb)) >> XT_DSCP_SHIFT;
+ else
+ dscp = ipv6_get_dsfield(ipv6_hdr(skb)) >> XT_DSCP_SHIFT;

return (dscp == info->dscp) ^ !!info->invert;
}
@@ -44,7 +40,7 @@ static int dscp_mt_check(const struct xt_mtchk_param *par)
const struct xt_dscp_info *info = par->matchinfo;

if (info->dscp > XT_DSCP_MAX)
- return -EDOM;
+ return -EINVAL;

return 0;
}
@@ -74,7 +70,7 @@ static struct xt_match dscp_mt_reg[] __read_mostly = {
.name = "dscp",
.family = NFPROTO_IPV6,
.checkentry = dscp_mt_check,
- .match = dscp_mt6,
+ .match = dscp_mt,
.matchsize = sizeof(struct xt_dscp_info),
.me = THIS_MODULE,
},
--
2.50.1 (Apple Git-155)

\
 
 \ /
  Last update: 2026-04-03 20:57    [W:0.045 / U:34.167 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog