Re: [PATCH v4 23/79] rds.h: use __u8, __u16, __s16, __u32 and __s64 from linux/types.h

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 15, 2015 at 06:21:05PM -0400, Sowmini Varadhan wrote:
> On (10/16/15 01:00), Mikko Rapeli wrote:
> > 
> > What kind of portability should exported userspace headers from Linux kernel
> > need?
> > 
> > Reviews to my previous changes NACKed <stdint.h> usage and
> > Documentation/CodingStyle chapter 5 says:
> > 
> >  (e) Types safe for use in userspace.
> > 
> >      In certain structures which are visible to userspace, we cannot
> >      require C99 types and cannot use the 'u32' form above. Thus, we
> >      use __u32 and similar types in all structures which are shared
> >      with userspace.
> 
> Let's be clear: we are not talking about u32 vs __u32, we are talking
> about uint32_t vs __u32 in your patch. 
> 
> I dont have the context of your "previous changes NACKed.." etc.
> Why can we not require C99 types in rds.h?

Links to all previous reviews are here:
https://lkml.org/lkml/2015/10/15/22

"uint32_t vs __u32" nail is:
https://lkml.org/lkml/2015/6/1/160

> Why isnt that a problem for, say, <netinet/in.h> which includes
> <stdint.h>?

<netinet/in.h> isn't from Linux kernel, it comes from libc.
<linux/in.h> is from Linux kernel and that does not include <stdint.h>.

But this brough <linux/libc-compat.h> to my attention so thanks for that.
Maybe the <time.h> vs. <linux/time.h> conflict could be resolved with it.

-Mikko
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux