[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <063D6719AE5E284EB5DD2968C1650D6DD007AF31@AcuExch.aculab.com>
Date: Wed, 20 Sep 2017 08:41:40 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Helge Deller' <deller@....de>,
'Sergey Senozhatsky' <sergey.senozhatsky.work@...il.com>
CC: Fenghua Yu <fenghua.yu@...el.com>,
"Luck, Tony" <tony.luck@...el.com>,
"linux-ia64@...r.kernel.org" <linux-ia64@...r.kernel.org>,
Petr Mladek <pmladek@...e.com>, Jessica Yu <jeyu@...nel.org>,
"James E . J . Bottomley" <jejb@...isc-linux.org>,
Steven Rostedt <rostedt@...dmis.org>,
"Alexei Starovoitov" <ast@...nel.org>,
Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
Paul Mackerras <paulus@...ba.org>,
"Andrew Morton" <akpm@...ux-foundation.org>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH 0/5] [RFC] printk/ia64/ppc64/parisc64: let's deprecate
%pF/%pf printk specifiers
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
Powered by blists - more mailing lists