Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ba13c984 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo Committed by David S. Miller
Browse files

[REQSK]: Don't reset rskq_defer_accept in reqsk_queue_alloc



In 295f7324 I moved defer_accept from
tcp_sock to request_queue and mistakingly reset it at reqsl_queue_alloc, causing
calls to setsockopt(TCP_DEFER_ACCEPT ) to be lost after bind, the fix is to
remove the zeroing of rskq_defer_accept from reqsl_queue_alloc.

Thanks to Alexandra N. Kossovsky <Alexandra.Kossovsky@oktetlabs.ru> for
reporting and testing the suggested fix.

Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent bafac2a5
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -52,7 +52,6 @@ int reqsk_queue_alloc(struct request_sock_queue *queue,
	get_random_bytes(&lopt->hash_rnd, sizeof(lopt->hash_rnd));
	get_random_bytes(&lopt->hash_rnd, sizeof(lopt->hash_rnd));
	rwlock_init(&queue->syn_wait_lock);
	rwlock_init(&queue->syn_wait_lock);
	queue->rskq_accept_head = queue->rskq_accept_head = NULL;
	queue->rskq_accept_head = queue->rskq_accept_head = NULL;
	queue->rskq_defer_accept = 0;
	lopt->nr_table_entries = nr_table_entries;
	lopt->nr_table_entries = nr_table_entries;


	write_lock_bh(&queue->syn_wait_lock);
	write_lock_bh(&queue->syn_wait_lock);