diff options
Diffstat (limited to 'net/tipc/server.c')
-rw-r--r-- | net/tipc/server.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/tipc/server.c b/net/tipc/server.c index 272d20a795d5..215849ce453d 100644 --- a/net/tipc/server.c +++ b/net/tipc/server.c | |||
@@ -418,13 +418,12 @@ static struct outqueue_entry *tipc_alloc_entry(void *data, int len) | |||
418 | if (!entry) | 418 | if (!entry) |
419 | return NULL; | 419 | return NULL; |
420 | 420 | ||
421 | buf = kmalloc(len, GFP_ATOMIC); | 421 | buf = kmemdup(data, len, GFP_ATOMIC); |
422 | if (!buf) { | 422 | if (!buf) { |
423 | kfree(entry); | 423 | kfree(entry); |
424 | return NULL; | 424 | return NULL; |
425 | } | 425 | } |
426 | 426 | ||
427 | memcpy(buf, data, len); | ||
428 | entry->iov.iov_base = buf; | 427 | entry->iov.iov_base = buf; |
429 | entry->iov.iov_len = len; | 428 | entry->iov.iov_len = len; |
430 | 429 | ||