]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ipv4: icmp: Pass full DS field to ip_route_input()
authorIdo Schimmel <idosch@nvidia.com>
Wed, 21 Aug 2024 12:52:49 +0000 (15:52 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Mar 2025 15:56:44 +0000 (16:56 +0100)
[ Upstream commit 1c6f50b37f711b831d78973dad0df1da99ad0014 ]

Align the ICMP code to other callers of ip_route_input() and pass the
full DS field. In the future this will allow us to perform a route
lookup according to the full DSCP value.

No functional changes intended since the upper DSCP bits are masked when
comparing against the TOS selectors in FIB rules and routes.

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Guillaume Nault <gnault@redhat.com>
Acked-by: Florian Westphal <fw@strlen.de>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://patch.msgid.link/20240821125251.1571445-11-idosch@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: 27843ce6ba3d ("ipvlan: ensure network headers are in skb linear part")
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/ipv4/icmp.c

index b05fa424ad5ce03e0b03571f3b84068d2ae74fbf..3807a269e0755bf5a2ce1d52a26146d66ffad26c 100644 (file)
@@ -550,7 +550,7 @@ static struct rtable *icmp_route_lookup(struct net *net,
                orefdst = skb_in->_skb_refdst; /* save old refdst */
                skb_dst_set(skb_in, NULL);
                err = ip_route_input(skb_in, fl4_dec.daddr, fl4_dec.saddr,
-                                    RT_TOS(tos), rt2->dst.dev);
+                                    tos, rt2->dst.dev);
 
                dst_release(&rt2->dst);
                rt2 = skb_rtable(skb_in);