aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/tcp_ipv6.c
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2022-03-07 16:44:21 -0800
committerDavid S. Miller <davem@davemloft.net>2022-03-09 11:22:58 +0000
commit1330b6ef3313fcec577d2b020c290dc8b9f11f1a (patch)
treeaa98eca413902a3677b68f4eb215e7893b3714bd /net/ipv6/tcp_ipv6.c
parentMerge branch 'dsa-next-fixups' (diff)
downloadlinux-dev-1330b6ef3313fcec577d2b020c290dc8b9f11f1a.tar.xz
linux-dev-1330b6ef3313fcec577d2b020c290dc8b9f11f1a.zip
skb: make drop reason booleanable
We have a number of cases where function returns drop/no drop decision as a boolean. Now that we want to report the reason code as well we have to pass extra output arguments. We can make the reason code evaluate correctly as bool. I believe we're good to reorder the reasons as they are reported to user space as strings. Signed-off-by: Jakub Kicinski <kuba@kernel.org> Reviewed-by: David Ahern <dsahern@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r--net/ipv6/tcp_ipv6.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index cb2bb7d2e907..13678d3908fa 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -1632,8 +1632,10 @@ process:
struct sock *nsk;
sk = req->rsk_listener;
- if (tcp_inbound_md5_hash(sk, skb, &drop_reason, &hdr->saddr,
- &hdr->daddr, AF_INET6, dif, sdif)) {
+ drop_reason = tcp_inbound_md5_hash(sk, skb,
+ &hdr->saddr, &hdr->daddr,
+ AF_INET6, dif, sdif);
+ if (drop_reason) {
sk_drops_add(sk, skb);
reqsk_put(req);
goto discard_it;
@@ -1704,8 +1706,9 @@ process:
goto discard_and_relse;
}
- if (tcp_inbound_md5_hash(sk, skb, &drop_reason, &hdr->saddr,
- &hdr->daddr, AF_INET6, dif, sdif))
+ drop_reason = tcp_inbound_md5_hash(sk, skb, &hdr->saddr, &hdr->daddr,
+ AF_INET6, dif, sdif);
+ if (drop_reason)
goto discard_and_relse;
if (tcp_filter(sk, skb)) {