diff options
Diffstat (limited to 'net/tipc')
-rw-r--r-- | net/tipc/link.c | 2 | ||||
-rw-r--r-- | net/tipc/name_table.c | 3 | ||||
-rw-r--r-- | net/tipc/sysctl.c | 8 |
3 files changed, 10 insertions, 3 deletions
diff --git a/net/tipc/link.c b/net/tipc/link.c index 341ecd796aa4..131aa2f0fd27 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c | |||
@@ -869,6 +869,8 @@ void tipc_link_reset(struct tipc_link *l) | |||
869 | __skb_queue_head_init(&list); | 869 | __skb_queue_head_init(&list); |
870 | 870 | ||
871 | l->in_session = false; | 871 | l->in_session = false; |
872 | /* Force re-synch of peer session number before establishing */ | ||
873 | l->peer_session--; | ||
872 | l->session++; | 874 | l->session++; |
873 | l->mtu = l->advertised_mtu; | 875 | l->mtu = l->advertised_mtu; |
874 | 876 | ||
diff --git a/net/tipc/name_table.c b/net/tipc/name_table.c index bff241f03525..89993afe0fbd 100644 --- a/net/tipc/name_table.c +++ b/net/tipc/name_table.c | |||
@@ -909,7 +909,8 @@ static int tipc_nl_service_list(struct net *net, struct tipc_nl_msg *msg, | |||
909 | for (; i < TIPC_NAMETBL_SIZE; i++) { | 909 | for (; i < TIPC_NAMETBL_SIZE; i++) { |
910 | head = &tn->nametbl->services[i]; | 910 | head = &tn->nametbl->services[i]; |
911 | 911 | ||
912 | if (*last_type) { | 912 | if (*last_type || |
913 | (!i && *last_key && (*last_lower == *last_key))) { | ||
913 | service = tipc_service_find(net, *last_type); | 914 | service = tipc_service_find(net, *last_type); |
914 | if (!service) | 915 | if (!service) |
915 | return -EPIPE; | 916 | return -EPIPE; |
diff --git a/net/tipc/sysctl.c b/net/tipc/sysctl.c index 3481e4906bd6..9df82a573aa7 100644 --- a/net/tipc/sysctl.c +++ b/net/tipc/sysctl.c | |||
@@ -38,6 +38,8 @@ | |||
38 | 38 | ||
39 | #include <linux/sysctl.h> | 39 | #include <linux/sysctl.h> |
40 | 40 | ||
41 | static int zero; | ||
42 | static int one = 1; | ||
41 | static struct ctl_table_header *tipc_ctl_hdr; | 43 | static struct ctl_table_header *tipc_ctl_hdr; |
42 | 44 | ||
43 | static struct ctl_table tipc_table[] = { | 45 | static struct ctl_table tipc_table[] = { |
@@ -46,14 +48,16 @@ static struct ctl_table tipc_table[] = { | |||
46 | .data = &sysctl_tipc_rmem, | 48 | .data = &sysctl_tipc_rmem, |
47 | .maxlen = sizeof(sysctl_tipc_rmem), | 49 | .maxlen = sizeof(sysctl_tipc_rmem), |
48 | .mode = 0644, | 50 | .mode = 0644, |
49 | .proc_handler = proc_dointvec, | 51 | .proc_handler = proc_dointvec_minmax, |
52 | .extra1 = &one, | ||
50 | }, | 53 | }, |
51 | { | 54 | { |
52 | .procname = "named_timeout", | 55 | .procname = "named_timeout", |
53 | .data = &sysctl_tipc_named_timeout, | 56 | .data = &sysctl_tipc_named_timeout, |
54 | .maxlen = sizeof(sysctl_tipc_named_timeout), | 57 | .maxlen = sizeof(sysctl_tipc_named_timeout), |
55 | .mode = 0644, | 58 | .mode = 0644, |
56 | .proc_handler = proc_dointvec, | 59 | .proc_handler = proc_dointvec_minmax, |
60 | .extra1 = &zero, | ||
57 | }, | 61 | }, |
58 | { | 62 | { |
59 | .procname = "sk_filter", | 63 | .procname = "sk_filter", |