Patch "ipv4: Set offload_failed flag in fibmatch results" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ipv4: Set offload_failed flag in fibmatch results

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     ipv4-set-offload_failed-flag-in-fibmatch-results.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 398b07889724d235ad0242ccffdbe86280c35c92
Author: Benjamin Poirier <bpoirier@xxxxxxxxxx>
Date:   Tue Sep 26 14:27:30 2023 -0400

    ipv4: Set offload_failed flag in fibmatch results
    
    [ Upstream commit 0add5c597f3253a9c6108a0a81d57f44ab0d9d30 ]
    
    Due to a small omission, the offload_failed flag is missing from ipv4
    fibmatch results. Make sure it is set correctly.
    
    The issue can be witnessed using the following commands:
    echo "1 1" > /sys/bus/netdevsim/new_device
    ip link add dummy1 up type dummy
    ip route add 192.0.2.0/24 dev dummy1
    echo 1 > /sys/kernel/debug/netdevsim/netdevsim1/fib/fail_route_offload
    ip route add 198.51.100.0/24 dev dummy1
    ip route
            # 192.168.15.0/24 has rt_trap
            # 198.51.100.0/24 has rt_offload_failed
    ip route get 192.168.15.1 fibmatch
            # Result has rt_trap
    ip route get 198.51.100.1 fibmatch
            # Result differs from the route shown by `ip route`, it is missing
            # rt_offload_failed
    ip link del dev dummy1
    echo 1 > /sys/bus/netdevsim/del_device
    
    Fixes: 36c5100e859d ("IPv4: Add "offload failed" indication to routes")
    Signed-off-by: Benjamin Poirier <bpoirier@xxxxxxxxxx>
    Reviewed-by: Ido Schimmel <idosch@xxxxxxxxxx>
    Reviewed-by: Simon Horman <horms@xxxxxxxxxx>
    Reviewed-by: David Ahern <dsahern@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/20230926182730.231208-1-bpoirier@xxxxxxxxxx
    Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 968cc4aa6e96c..ea5329cb0fce2 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -3430,6 +3430,8 @@ static int inet_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr *nlh,
 				    fa->fa_type == fri.type) {
 					fri.offload = READ_ONCE(fa->offload);
 					fri.trap = READ_ONCE(fa->trap);
+					fri.offload_failed =
+						READ_ONCE(fa->offload_failed);
 					break;
 				}
 			}



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux