Thread (89 messages) 89 messages, 13 authors, 2017-09-18

Re: [PATCH v06 33/36] uapi linux/fsmap.h: use __kernel_size_t instead of size_t

From: Arnd Bergmann <arnd@arndb.de>
Date: 2017-08-09 08:24:32
Also in: lkml

On Wed, Aug 9, 2017 at 1:08 AM, Darrick J. Wong [off-list ref] wrote:
On Mon, Aug 07, 2017 at 10:20:58PM +0200, Arnd Bergmann wrote:
quoted
On Mon, Aug 7, 2017 at 6:45 PM, Darrick J. Wong [off-list ref] wrote:
quoted
On Mon, Aug 07, 2017 at 06:01:43PM +0200, Arnd Bergmann wrote:
quoted
On Mon, Aug 7, 2017 at 5:54 PM, Darrick J. Wong [off-list ref] wrote:
quoted
On Sun, Aug 06, 2017 at 06:44:24PM +0200, Mikko Rapeli wrote:
Either way works, but including a system header from a kernel header
requires an additional "#ifndef __KERNEL__" check, so I think Miko's
variant is a little nicer.

Generally speaking, you also want to avoid including system headers
indirectly from kernel headers, as POSIX requires that including one
system header should not indirectly make symbols from other system
headers visible. I think this is not a problem here though, as no system
header should include linux/fsmap.h.
Sorry, I guess I was a little unclear about what I was asking -- I was
wondering why can't the userspace program include sys/types.h prior to
linux/fsmap.h?  I wasn't proposing including C library headers in kernel
headers.

I think the patch author is pushing towards kernel headers never relying
on /anything/ in the system headers.
Right, and I think that is a good thing to have, because it allows us to
do better compile-time testing of the exported kernel headers.
quoted
For data structures being
exchanged with the kernel I agree, but the fsmap_sizeof result is never
passed to or received from the kernel; it exists purely for malloc
convenience.
Would you prefer making fsmap_sizeof a macro? That would also
make it possible to do static checking on the header without having
to resort to odd types.
Ick, no macros, please. :)

How about just change it to unsigned long long and call it a day?
Works for me.

      Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help