diff options
Diffstat (limited to 'net/tipc/net.c')
| -rw-r--r-- | net/tipc/net.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/net/tipc/net.c b/net/tipc/net.c index f7c8223ddf7d..a991bf8a7f74 100644 --- a/net/tipc/net.c +++ b/net/tipc/net.c | |||
| @@ -115,7 +115,7 @@ | |||
| 115 | * - A local spin_lock protecting the queue of subscriber events. | 115 | * - A local spin_lock protecting the queue of subscriber events. |
| 116 | */ | 116 | */ |
| 117 | 117 | ||
| 118 | rwlock_t tipc_net_lock = RW_LOCK_UNLOCKED; | 118 | DEFINE_RWLOCK(tipc_net_lock); |
| 119 | struct network tipc_net = { NULL }; | 119 | struct network tipc_net = { NULL }; |
| 120 | 120 | ||
| 121 | struct node *tipc_net_select_remote_node(u32 addr, u32 ref) | 121 | struct node *tipc_net_select_remote_node(u32 addr, u32 ref) |
| @@ -160,14 +160,11 @@ void tipc_net_send_external_routes(u32 dest) | |||
| 160 | 160 | ||
| 161 | static int net_init(void) | 161 | static int net_init(void) |
| 162 | { | 162 | { |
| 163 | u32 sz = sizeof(struct _zone *) * (tipc_max_zones + 1); | ||
| 164 | |||
| 165 | memset(&tipc_net, 0, sizeof(tipc_net)); | 163 | memset(&tipc_net, 0, sizeof(tipc_net)); |
| 166 | tipc_net.zones = (struct _zone **)kmalloc(sz, GFP_ATOMIC); | 164 | tipc_net.zones = kcalloc(tipc_max_zones + 1, sizeof(struct _zone *), GFP_ATOMIC); |
| 167 | if (!tipc_net.zones) { | 165 | if (!tipc_net.zones) { |
| 168 | return -ENOMEM; | 166 | return -ENOMEM; |
| 169 | } | 167 | } |
| 170 | memset(tipc_net.zones, 0, sz); | ||
| 171 | return TIPC_OK; | 168 | return TIPC_OK; |
| 172 | } | 169 | } |
| 173 | 170 | ||
