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