* [PATCH 1/4] [REQSK] Dont reset rskq_defer_accept in reqsk_queue_alloc
[not found] <20060303075542.659414000@sorel.sous-sol.org>
@ 2006-03-03 7:55 ` Chris Wright
0 siblings, 0 replies; only message in thread
From: Chris Wright @ 2006-03-03 7:55 UTC (permalink / raw)
To: linux-kernel, stable, David S. Miller
Cc: Justin Forbes, Zwane Mwaikambo, Theodore Ts'o, Randy Dunlap,
Dave Jones, Chuck Wolber, torvalds, akpm, alan,
Arnaldo Carvalho de Melo, netdev, Alexandra N. Kossovsky,
Arnaldo Carvalho de Melo
[-- Attachment #1: don-t-reset-rskq_defer_accept-in-reqsk_queue_alloc.patch --]
[-- Type: text/plain, Size: 1113 bytes --]
-stable review patch. If anyone has any objections, please let us know.
------------------
In 295f7324ff8d9ea58b4d3ec93b1aaa1d80e048a9 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: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
---
net/core/request_sock.c | 1 -
1 files changed, 1 deletion(-)
--- linux-2.6.15.5.orig/net/core/request_sock.c
+++ linux-2.6.15.5/net/core/request_sock.c
@@ -52,7 +52,6 @@ int reqsk_queue_alloc(struct request_soc
get_random_bytes(&lopt->hash_rnd, sizeof(lopt->hash_rnd));
rwlock_init(&queue->syn_wait_lock);
queue->rskq_accept_head = queue->rskq_accept_head = NULL;
- queue->rskq_defer_accept = 0;
lopt->nr_table_entries = nr_table_entries;
write_lock_bh(&queue->syn_wait_lock);
--
^ permalink raw reply [flat|nested] only message in thread