linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ehea: Fix: Remove adapter from adapter list in error path
@ 2009-02-11 12:29 Hannes Hering
  2009-02-11 14:15 ` Stefan Richter
  2009-02-11 21:48 ` David Miller
  0 siblings, 2 replies; 3+ messages in thread
From: Hannes Hering @ 2009-02-11 12:29 UTC (permalink / raw)
  To: jeff
  Cc: themann, netdev, linux-kernel, raisch, ossrosch, linuxppc-dev,
	ossthema, osstklei

Remove adapter from adapter list before freeing data structure in error path.

Signed-off-by: Hannes Hering <hering2@de.ibm.com>

---

diff -Nurp -X dontdiff linux-2.6.29-rc4/drivers/net/ehea/ehea.h patched_kernel/drivers/net/ehea/ehea.h
--- linux-2.6.29-rc4/drivers/net/ehea/ehea.h	2009-02-11 13:13:42.036506588 +0100
+++ patched_kernel/drivers/net/ehea/ehea.h	2009-02-11 13:14:04.197540184 +0100
@@ -40,7 +40,7 @@
 #include <asm/io.h>
 
 #define DRV_NAME	"ehea"
-#define DRV_VERSION	"EHEA_0097"
+#define DRV_VERSION	"EHEA_0098"
 
 /* eHEA capability flags */
 #define DLPAR_PORT_ADD_REM 1
diff -Nurp -X dontdiff linux-2.6.29-rc4/drivers/net/ehea/ehea_main.c patched_kernel/drivers/net/ehea/ehea_main.c
--- linux-2.6.29-rc4/drivers/net/ehea/ehea_main.c	2009-02-11 13:13:47.812542928 +0100
+++ patched_kernel/drivers/net/ehea/ehea_main.c	2009-02-11 13:14:04.197540184 +0100
@@ -3448,6 +3448,7 @@ out_kill_eq:
 	ehea_destroy_eq(adapter->neq);
 
 out_free_ad:
+	list_del(&adapter->list);
 	kfree(adapter);
 
 out:

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] ehea: Fix: Remove adapter from adapter list in error path
  2009-02-11 12:29 [PATCH] ehea: Fix: Remove adapter from adapter list in error path Hannes Hering
@ 2009-02-11 14:15 ` Stefan Richter
  2009-02-11 21:48 ` David Miller
  1 sibling, 0 replies; 3+ messages in thread
From: Stefan Richter @ 2009-02-11 14:15 UTC (permalink / raw)
  To: Hannes Hering
  Cc: jeff, themann, netdev, linux-kernel, raisch, ossrosch,
	linuxppc-dev, ossthema, osstklei

Hannes Hering wrote:
> Remove adapter from adapter list before freeing data structure in error path.
...
> --- linux-2.6.29-rc4/drivers/net/ehea/ehea_main.c	2009-02-11 13:13:47.812542928 +0100
> +++ patched_kernel/drivers/net/ehea/ehea_main.c	2009-02-11 13:14:04.197540184 +0100
> @@ -3448,6 +3448,7 @@ out_kill_eq:
>  	ehea_destroy_eq(adapter->neq);
>  
>  out_free_ad:
> +	list_del(&adapter->list);
>  	kfree(adapter);
>  
>  out:

On a related note, ehea_set_mac_addr()/ehea_update_bcmc_registrations()
accesses adapter_list without serialization by ehea_fw_handles.lock and
thus apparently unsafely.

There may be other unsafe accesses of adapter_list; that's just the
first one which I spotted.
-- 
Stefan Richter
-=====-==--= --=- -=-==
http://arcgraph.de/sr/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] ehea: Fix: Remove adapter from adapter list in error path
  2009-02-11 12:29 [PATCH] ehea: Fix: Remove adapter from adapter list in error path Hannes Hering
  2009-02-11 14:15 ` Stefan Richter
@ 2009-02-11 21:48 ` David Miller
  1 sibling, 0 replies; 3+ messages in thread
From: David Miller @ 2009-02-11 21:48 UTC (permalink / raw)
  To: hannes.hering
  Cc: jeff, themann, netdev, linux-kernel, raisch, ossrosch,
	linuxppc-dev, ossthema, osstklei

From: Hannes Hering <hannes.hering@linux.vnet.ibm.com>
Date: Wed, 11 Feb 2009 13:29:02 +0100

> Remove adapter from adapter list before freeing data structure in error path.
> 
> Signed-off-by: Hannes Hering <hering2@de.ibm.com>

Applied to net-next-2.6, thanks!

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-02-11 21:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-11 12:29 [PATCH] ehea: Fix: Remove adapter from adapter list in error path Hannes Hering
2009-02-11 14:15 ` Stefan Richter
2009-02-11 21:48 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).