Thread (2 messages) flat view 2 messages, 2 authors, 2017-11-13

Re: [PATCH] bootwrapper: mspsc.c: fix pointer-to-int-cast warnings

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2017-11-13 11:05:48
Also in: lkml

Hi Michal,

Thanks for trying to fix this.

Michal Suchanek [off-list ref] 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help