Skip to content

Commit c72e118

Browse files
edumazetdavem330
authored andcommitted
inet: makes syn_ack_timeout mandatory
There are two struct request_sock_ops providers, tcp and dccp. inet_csk_reqsk_queue_prune() can avoid testing syn_ack_timeout being NULL if we make it non NULL like syn_ack_timeout Signed-off-by: Eric Dumazet <[email protected]> Cc: Gerrit Renker <[email protected]> Cc: [email protected] Signed-off-by: David S. Miller <[email protected]>
1 parent fd4f2ce commit c72e118

File tree

4 files changed

+10
-2
lines changed

4 files changed

+10
-2
lines changed

include/linux/dccp.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -549,6 +549,8 @@ static inline const char *dccp_role(const struct sock *sk)
549549
return NULL;
550550
}
551551

552+
extern void dccp_syn_ack_timeout(struct sock *sk, struct request_sock *req);
553+
552554
#endif /* __KERNEL__ */
553555

554556
#endif /* _LINUX_DCCP_H */

net/dccp/ipv4.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -574,13 +574,19 @@ static void dccp_v4_reqsk_destructor(struct request_sock *req)
574574
kfree(inet_rsk(req)->opt);
575575
}
576576

577+
void dccp_syn_ack_timeout(struct sock *sk, struct request_sock *req)
578+
{
579+
}
580+
EXPORT_SYMBOL(dccp_syn_ack_timeout);
581+
577582
static struct request_sock_ops dccp_request_sock_ops __read_mostly = {
578583
.family = PF_INET,
579584
.obj_size = sizeof(struct dccp_request_sock),
580585
.rtx_syn_ack = dccp_v4_send_response,
581586
.send_ack = dccp_reqsk_send_ack,
582587
.destructor = dccp_v4_reqsk_destructor,
583588
.send_reset = dccp_v4_ctl_send_reset,
589+
.syn_ack_timeout = dccp_syn_ack_timeout,
584590
};
585591

586592
int dccp_v4_conn_request(struct sock *sk, struct sk_buff *skb)

net/dccp/ipv6.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,7 @@ static struct request_sock_ops dccp6_request_sock_ops = {
343343
.send_ack = dccp_reqsk_send_ack,
344344
.destructor = dccp_v6_reqsk_destructor,
345345
.send_reset = dccp_v6_ctl_send_reset,
346+
.syn_ack_timeout = dccp_syn_ack_timeout,
346347
};
347348

348349
static struct sock *dccp_v6_hnd_req(struct sock *sk,struct sk_buff *skb)

net/ipv4/inet_connection_sock.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -555,8 +555,7 @@ void inet_csk_reqsk_queue_prune(struct sock *parent,
555555
syn_ack_recalc(req, thresh, max_retries,
556556
queue->rskq_defer_accept,
557557
&expire, &resend);
558-
if (req->rsk_ops->syn_ack_timeout)
559-
req->rsk_ops->syn_ack_timeout(parent, req);
558+
req->rsk_ops->syn_ack_timeout(parent, req);
560559
if (!expire &&
561560
(!resend ||
562561
!req->rsk_ops->rtx_syn_ack(parent, req, NULL) ||

0 commit comments

Comments
 (0)