* [PATCH 3/4] pktgen: Fix kernel_thread() fail leak.
@ 2006-01-30 1:21 Luiz Fernando Capitulino
0 siblings, 0 replies; only message in thread
From: Luiz Fernando Capitulino @ 2006-01-30 1:21 UTC (permalink / raw)
To: davem; +Cc: lkml, netdev, robert.olsson
Leak fix: free all the alocated resources if kernel_thread() call fails.
Signed-off-by: Luiz Capitulino <lcapitulino@mandriva.com.br>
---
net/core/pktgen.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
59115e7981073430cfcaaaabcde20840ec926cca
diff --git a/net/core/pktgen.c b/net/core/pktgen.c
index b9dea09..af310e5 100644
--- a/net/core/pktgen.c
+++ b/net/core/pktgen.c
@@ -3002,6 +3002,7 @@ static struct pktgen_thread *__init pktg
static int __init pktgen_create_thread(const char *name, int cpu)
{
+ int err;
struct pktgen_thread *t = NULL;
struct proc_dir_entry *pe;
@@ -3040,9 +3041,15 @@ static int __init pktgen_create_thread(c
t->removed = 0;
- if (kernel_thread((void *)pktgen_thread_worker, (void *)t,
- CLONE_FS | CLONE_FILES | CLONE_SIGHAND) < 0)
+ err = kernel_thread((void *)pktgen_thread_worker, (void *)t,
+ CLONE_FS | CLONE_FILES | CLONE_SIGHAND);
+ if (err < 0) {
printk("pktgen: kernel_thread() failed for cpu %d\n", t->cpu);
+ remove_proc_entry(t->name, pg_proc_dir);
+ list_del(&t->th_list);
+ kfree(t);
+ return err;
+ }
return 0;
}
--
1.1.5.g3480
--
Luiz Fernando N. Capitulino
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2006-01-30 1:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-01-30 1:21 [PATCH 3/4] pktgen: Fix kernel_thread() fail leak Luiz Fernando Capitulino
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.