[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87o9o6wi9j.fsf@concordia.ellerman.id.au>
Date: Mon, 13 Nov 2017 22:05:44 +1100
From: Michael Ellerman <mpe@...erman.id.au>
To: Michal Suchanek <msuchanek@...e.de>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
Michal Suchanek <msuchanek@...e.de>,
linuxppc-dev@...ts.ozlabs.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] bootwrapper: mspsc.c: fix pointer-to-int-cast warnings
Hi Michal,
Thanks for trying to fix this.
Michal Suchanek <msuchanek@...e.de> writes:
> I get these warnings:
>
> ../arch/powerpc/boot/mpsc.c: In function 'mpsc_get_virtreg_of_phandle':
> ../arch/powerpc/boot/mpsc.c:113:35: warning: cast from pointer to
> integer of different size [-Wpointer-to-int-cast]
>
> ../arch/powerpc/boot/mpsc.c: In function 'mpsc_console_init':
> ../arch/powerpc/boot/mpsc.c:147:12: warning: cast from pointer to
> integer of different size [-Wpointer-to-int-cast]
>
> Presumably the patch below fixes these, and presumably the DT defines
> that pointes and integers have the same size in the DT so this is fine
Actually no it doesn't. A device tree doesn't contain pointers, and it
doesn't say anything about the size of a pointer on a platform that uses
that device tree.
phandles are not pointers, they are handles, and they are always 32-bit.
So this code is just wrong on 64-bit, you can't safely cast from a
64-bit pointer to a phandle.
But I think this warning has actually been fixed differently by commit:
866bfc75f40e ("powerpc: conditionally compile platform-specific serial drivers")
If you're still seeing the warning let me know.
cheers
Powered by blists - more mailing lists