summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2026-04-09 17:56:22 +0300
committerJakub Kicinski <kuba@kernel.org>2026-04-13 00:30:25 +0300
commitc78bcbd51976f123909e5c2baf8cebb699453c2f (patch)
treec692db5a1fec53a26fc186187714a00322c0e2be /drivers
parent734ea7e324ad1cee2a21f909f756b5e2d903a224 (diff)
downloadlinux-c78bcbd51976f123909e5c2baf8cebb699453c2f.tar.xz
net: change sk_filter_reason() to return the reason by value
sk_filter_trim_cap will soon return the reason by value, do the same for sk_filter_reason(). $ scripts/bloat-o-meter -t vmlinux.old vmlinux.new add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-21 (-21) Function old new delta sock_queue_rcv_skb_reason 128 126 -2 tun_net_xmit 1146 1127 -19 Total: Before=29722661, After=29722640, chg -0.00% Signed-off-by: Eric Dumazet <edumazet@google.com> Link: https://patch.msgid.link/20260409145625.2306224-4-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/tun.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index c492fda6fc15..b183189f1853 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -1031,9 +1031,11 @@ static netdev_tx_t tun_net_xmit(struct sk_buff *skb, struct net_device *dev)
goto drop;
}
- if (tfile->socket.sk->sk_filter &&
- sk_filter_reason(tfile->socket.sk, skb, &drop_reason))
- goto drop;
+ if (tfile->socket.sk->sk_filter) {
+ drop_reason = sk_filter_reason(tfile->socket.sk, skb);
+ if (drop_reason)
+ goto drop;
+ }
len = run_ebpf_filter(tun, skb, len);
if (len == 0) {