Messages in this thread | | | Date | Thu, 13 Dec 2012 10:42:28 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [TRIVIAL PATCH 16/26] x86: Convert print_symbol to %pSR |
| |
On 12/13/2012 10:37 AM, Borislav Petkov wrote: >> >> If appropriate, the code could be changed to >> >> (void *)(unsigned long)m->ip > > Can we explicitly cast it to what it is so that we can be explicit as to > what we're casting it? IOW: > > (void *)(__u64)m->ip; > > Does that even work on 32bit? > > Also, does the compiler bitch about this useless cast when building with > W=123? >
Uh... no.
The point is that (void *)(unsigned long) casts it to an integer of pointer size -- in userspace you would to (void *)(size_t) or (void *)(uintptr_t) -- so that the compiler knows "I meant to do that."
-hpa
| |