diff options
author | Kuniyuki Iwashima <kuniyu@amazon.com> | 2023-11-29 03:29:24 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-11-30 05:16:38 +0100 |
commit | 8e7bab6b9652cd07a05ee0380b623c0e00e3eb00 (patch) | |
tree | 51ab8ee1bc85d5af40c50c6d6cbd84b5d0a9ce47 /kernel/kcsan/core.c | |
parent | tcp: Factorise cookie-independent fields initialisation in cookie_v[46]_check(). (diff) | |
download | linux-8e7bab6b9652cd07a05ee0380b623c0e00e3eb00.tar.xz linux-8e7bab6b9652cd07a05ee0380b623c0e00e3eb00.zip |
tcp: Factorise cookie-dependent fields initialisation in cookie_v[46]_check()
We will support arbitrary SYN Cookie with BPF, and then kfunc at
TC will preallocate reqsk and initialise some fields that should
not be overwritten later by cookie_v[46]_check().
To simplify the flow in cookie_v[46]_check(), we move such fields'
initialisation to cookie_tcp_reqsk_alloc() and factorise non-BPF
SYN Cookie handling into cookie_tcp_check(), where we validate the
cookie and allocate reqsk, as done by kfunc later.
Note that we set ireq->ecn_ok in two steps, the latter of which will
be shared by the BPF case. As cookie_ecn_ok() is one-liner, now
it's inlined.
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20231129022924.96156-9-kuniyu@amazon.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'kernel/kcsan/core.c')
0 files changed, 0 insertions, 0 deletions