mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
tcp: Remove timeout arg from reqsk_queue_hash_req().
inet_csk_reqsk_queue_hash_add() is no longer shared by DCCP. We do not need to pass req->timeout down to reqsk_queue_hash_req(). Let's move tcp_timeout_init() from tcp_conn_request() to reqsk_queue_hash_req(). Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Link: https://patch.msgid.link/20251106003357.273403-3-kuniyu@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
be88c549e9
commit
3ce5dd8161
@@ -267,8 +267,7 @@ struct dst_entry *inet_csk_route_child_sock(const struct sock *sk,
|
||||
struct sock *inet_csk_reqsk_queue_add(struct sock *sk,
|
||||
struct request_sock *req,
|
||||
struct sock *child);
|
||||
bool inet_csk_reqsk_queue_hash_add(struct sock *sk, struct request_sock *req,
|
||||
unsigned long timeout);
|
||||
bool inet_csk_reqsk_queue_hash_add(struct sock *sk, struct request_sock *req);
|
||||
struct sock *inet_csk_complete_hashdance(struct sock *sk, struct sock *child,
|
||||
struct request_sock *req,
|
||||
bool own_req);
|
||||
|
||||
@@ -1144,8 +1144,7 @@ drop:
|
||||
reqsk_put(oreq);
|
||||
}
|
||||
|
||||
static bool reqsk_queue_hash_req(struct request_sock *req,
|
||||
unsigned long timeout)
|
||||
static bool reqsk_queue_hash_req(struct request_sock *req)
|
||||
{
|
||||
bool found_dup_sk = false;
|
||||
|
||||
@@ -1153,8 +1152,9 @@ static bool reqsk_queue_hash_req(struct request_sock *req,
|
||||
return false;
|
||||
|
||||
/* The timer needs to be setup after a successful insertion. */
|
||||
req->timeout = tcp_timeout_init((struct sock *)req);
|
||||
timer_setup(&req->rsk_timer, reqsk_timer_handler, TIMER_PINNED);
|
||||
mod_timer(&req->rsk_timer, jiffies + timeout);
|
||||
mod_timer(&req->rsk_timer, jiffies + req->timeout);
|
||||
|
||||
/* before letting lookups find us, make sure all req fields
|
||||
* are committed to memory and refcnt initialized.
|
||||
@@ -1164,10 +1164,9 @@ static bool reqsk_queue_hash_req(struct request_sock *req,
|
||||
return true;
|
||||
}
|
||||
|
||||
bool inet_csk_reqsk_queue_hash_add(struct sock *sk, struct request_sock *req,
|
||||
unsigned long timeout)
|
||||
bool inet_csk_reqsk_queue_hash_add(struct sock *sk, struct request_sock *req)
|
||||
{
|
||||
if (!reqsk_queue_hash_req(req, timeout))
|
||||
if (!reqsk_queue_hash_req(req))
|
||||
return false;
|
||||
|
||||
inet_csk_reqsk_queue_added(sk);
|
||||
|
||||
@@ -7531,15 +7531,11 @@ int tcp_conn_request(struct request_sock_ops *rsk_ops,
|
||||
sock_put(fastopen_sk);
|
||||
} else {
|
||||
tcp_rsk(req)->tfo_listener = false;
|
||||
if (!want_cookie) {
|
||||
req->timeout = tcp_timeout_init((struct sock *)req);
|
||||
if (unlikely(!inet_csk_reqsk_queue_hash_add(sk, req,
|
||||
req->timeout))) {
|
||||
reqsk_free(req);
|
||||
dst_release(dst);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!want_cookie &&
|
||||
unlikely(!inet_csk_reqsk_queue_hash_add(sk, req))) {
|
||||
reqsk_free(req);
|
||||
dst_release(dst);
|
||||
return 0;
|
||||
}
|
||||
af_ops->send_synack(sk, dst, &fl, req, &foc,
|
||||
!want_cookie ? TCP_SYNACK_NORMAL :
|
||||
|
||||
Reference in New Issue
Block a user