Messages in this thread | | | From | David Laight <> | Subject | RE: [PATCH 0/5] [RFC] printk/ia64/ppc64/parisc64: let's deprecate %pF/%pf printk specifiers | Date | Wed, 20 Sep 2017 08:41:40 +0000 |
| |
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. This could be used for things like user-space pointers or even errno values. The only problem is old ABI where even small structures are always passed by reference.
David
| |