Messages in this thread | | | Subject | Re: [PATCH 0/5] [RFC] printk/ia64/ppc64/parisc64: let's deprecate %pF/%pf printk specifiers | From | Helge Deller <> | Date | Wed, 20 Sep 2017 12:20:56 +0200 |
| |
On 20.09.2017 10:41, David Laight wrote: > From: Helge Deller >> Sent: 19 September 2017 21:08 > ... >>> Using 'unsigned long' for any kind of pointer is an accident >>> waiting do happen. >>> It also makes it difficult to typecheck the function calls. >>> Using 'void *' isn't any better. >>> Either a pointer to an undefined struct, or a struct containing >>> a single 'char' member, is likely to be safest. >> >> David, you might be right in most cases, but in this case I'd prefer >> unsigned long too. I think this will create the least amount of >> typecasts here. > > I've not looked at the specifics case... > > Another option is using a struct with a single member and > passing it by value.
Actually, we do already have correct structs which could be referenced: parisc: struct Elf64_Fdesc ia64: struct fdesc ppc64: struct ppc64_opd_entry
One could "#define platform_opd_entry" to each of those depending on the platform and use it. It might be misleading though, because the pointer which is handed over to dereference_function_descriptor() can be such a pointer but isn't necessary. I'll leave it up to Sergey to decide.
Helge
| |