[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200107083548.GA31906@pi3>
Date: Tue, 7 Jan 2020 09:35:48 +0100
From: Krzysztof Kozlowski <krzk@...nel.org>
To: David Miller <davem@...hat.com>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] net: ethernet: 3c515: Fix cast from pointer to
integer of different size
On Mon, Jan 06, 2020 at 01:31:55PM -0800, David Miller wrote:
> From: Krzysztof Kozlowski <krzk@...nel.org>
> Date: Sat, 4 Jan 2020 15:33:05 +0100
>
> > Pointer passed as integer should be cast to unsigned long to
> > avoid warning (compile testing on alpha architecture):
> >
> > drivers/net/ethernet/3com/3c515.c: In function ‘corkscrew_start_xmit’:
> > drivers/net/ethernet/3com/3c515.c:1066:8: warning:
> > cast from pointer to integer of different size [-Wpointer-to-int-cast]
> >
> > Signed-off-by: Krzysztof Kozlowski <krzk@...nel.org>
> >
> > ---
> >
> > Only compile tested
>
> Sorry, I'm not applying these two.
>
> It is clear that these drivers only work properly on 32-bit architectures
> where virtual address equals the DMA address.
>
> Making this warning goes away creates a false sense that they are in
> fact 64-bit clean and capable, they are not.
The existing casts are clearly wrong - the convention is that pointer
should be cast to unsigned long, not int. In the second case it is even
weirder - the buffer array is actually unsigned long so the cast is
confusing.
However I understand your argument that these casts serve as a
documentation purpose of only 32-bit support, so let it be.
Thanks!
Best regards,
Krzysztof
Powered by blists - more mailing lists