From: Petar Penkov <ppen...@google.com>

If a SYN cookie is not issued by tcp_v#_gen_syncookie, then the return
value will be exactly 0, rather than <= 0. Let's change the check to
reflect that, especially since mss is an unsigned value and cannot be
negative.

Fixes: 70d66244317e ("bpf: add bpf_tcp_gen_syncookie helper")
Reported-by: Stanislav Fomichev <s...@google.com>
Signed-off-by: Petar Penkov <ppen...@google.com>
---
 net/core/filter.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/core/filter.c b/net/core/filter.c
index 0c1059cdad3d..17bc9af8f156 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -5903,7 +5903,7 @@ BPF_CALL_5(bpf_tcp_gen_syncookie, struct sock *, sk, void 
*, iph, u32, iph_len,
        default:
                return -EPROTONOSUPPORT;
        }
-       if (mss <= 0)
+       if (mss == 0)
                return -ENOENT;
 
        return cookie | ((u64)mss << 32);
-- 
2.23.0.187.g17f5b7556c-goog

Reply via email to