linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] POWERPC: don't cast a pointer to pointer of list_head
@ 2007-12-06  9:33 Li Zefan
  2007-12-07  4:07 ` Nick Piggin
  0 siblings, 1 reply; 3+ messages in thread
From: Li Zefan @ 2007-12-06  9:33 UTC (permalink / raw)
  To: paulus; +Cc: linuxppc-dev, Andrew Morton, LKML


The casting is safe only when the list_head member is the
first member of the structure.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>

---
 arch/ppc/syslib/ocp.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/ppc/syslib/ocp.c b/arch/ppc/syslib/ocp.c
index 3f5be2c..d42d408 100644
--- a/arch/ppc/syslib/ocp.c
+++ b/arch/ppc/syslib/ocp.c
@@ -376,7 +376,7 @@ ocp_remove_one_device(unsigned int vendor, unsigned int function, int index)
 
 	down_write(&ocp_devices_sem);
 	dev = __ocp_find_device(vendor, function, index);
-	list_del((struct list_head *)dev);
+	list_del(&dev->link);
 	up_write(&ocp_devices_sem);
 
 	DBG(("ocp: ocp_remove_one_device(vendor: %x, function: %x, index: %d)... done.\n", vendor, function, index));
-- 
1.5.3.rc7

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

* Re: [PATCH 1/3] POWERPC: don't cast a pointer to pointer of list_head
  2007-12-06  9:33 [PATCH 1/3] POWERPC: don't cast a pointer to pointer of list_head Li Zefan
@ 2007-12-07  4:07 ` Nick Piggin
  2007-12-07  5:05   ` Li Zefan
  0 siblings, 1 reply; 3+ messages in thread
From: Nick Piggin @ 2007-12-07  4:07 UTC (permalink / raw)
  To: Li Zefan; +Cc: linuxppc-dev, Andrew Morton, paulus, LKML

On Thursday 06 December 2007 20:33, Li Zefan wrote:
> The casting is safe only when the list_head member is the
> first member of the structure.

Even so, I don't think too safe :) It might technically work,
but it could break more easily.

So even if you find places where list_head is the first member of
a structure, it would be nice to explicitly use the list_head member
and avoid casts IMO.

Thanks,
Nick

> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
>
> ---
>  arch/ppc/syslib/ocp.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/ppc/syslib/ocp.c b/arch/ppc/syslib/ocp.c
> index 3f5be2c..d42d408 100644
> --- a/arch/ppc/syslib/ocp.c
> +++ b/arch/ppc/syslib/ocp.c
> @@ -376,7 +376,7 @@ ocp_remove_one_device(unsigned int vendor, unsigned int
> function, int index)
>
>  	down_write(&ocp_devices_sem);
>  	dev = __ocp_find_device(vendor, function, index);
> -	list_del((struct list_head *)dev);
> +	list_del(&dev->link);
>  	up_write(&ocp_devices_sem);
>
>  	DBG(("ocp: ocp_remove_one_device(vendor: %x, function: %x, index: %d)...
> done.\n", vendor, function, index));

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

* Re: [PATCH 1/3] POWERPC: don't cast a pointer to pointer of list_head
  2007-12-07  4:07 ` Nick Piggin
@ 2007-12-07  5:05   ` Li Zefan
  0 siblings, 0 replies; 3+ messages in thread
From: Li Zefan @ 2007-12-07  5:05 UTC (permalink / raw)
  To: Nick Piggin; +Cc: linuxppc-dev, Andrew Morton, paulus, LKML

Nick Piggin 写道:
> On Thursday 06 December 2007 20:33, Li Zefan wrote:
>> The casting is safe only when the list_head member is the
>> first member of the structure.
> 
> Even so, I don't think too safe :) It might technically work,
> but it could break more easily.
> 
> So even if you find places where list_head is the first member of
> a structure, it would be nice to explicitly use the list_head member
> and avoid casts IMO.
> 

This is exactly what I think. Those patches actually fix no bugs, but
avoid this kind of technically and currently correct casting.

> 
>> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
>>
>> ---
>>  arch/ppc/syslib/ocp.c |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/ppc/syslib/ocp.c b/arch/ppc/syslib/ocp.c
>> index 3f5be2c..d42d408 100644
>> --- a/arch/ppc/syslib/ocp.c
>> +++ b/arch/ppc/syslib/ocp.c
>> @@ -376,7 +376,7 @@ ocp_remove_one_device(unsigned int vendor, unsigned int
>> function, int index)
>>
>>  	down_write(&ocp_devices_sem);
>>  	dev = __ocp_find_device(vendor, function, index);
>> -	list_del((struct list_head *)dev);
>> +	list_del(&dev->link);
>>  	up_write(&ocp_devices_sem);
>>
>>  	DBG(("ocp: ocp_remove_one_device(vendor: %x, function: %x, index: %d)...
>> done.\n", vendor, function, index));
> 
> 

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

end of thread, other threads:[~2007-12-07  5:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-06  9:33 [PATCH 1/3] POWERPC: don't cast a pointer to pointer of list_head Li Zefan
2007-12-07  4:07 ` Nick Piggin
2007-12-07  5:05   ` Li Zefan

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).