Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1248070

Re: [PATCH v4 71/79] include/uapi/linux/fuse.h: use linux/types.h also in userspace

From Miklos Szeredi <miklos@szeredi.hu>
Newsgroups linux.kernel
Subject Re: [PATCH v4 71/79] include/uapi/linux/fuse.h: use linux/types.h also in userspace
Date 2015-10-15 20:40 +0200
Message-ID <qjVBw-6l0-13@gated-at.bofh.it> (permalink)
References <qjJK1-5GL-5@gated-at.bofh.it> <qjKwq-6Te-25@gated-at.bofh.it> <qjSDE-1Zy-17@gated-at.bofh.it> <qjUP8-54K-9@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, Oct 15, 2015 at 7:41 PM, Mikko Rapeli <mikko.rapeli@iki.fi> wrote:
> On Thu, Oct 15, 2015 at 05:20:24PM +0200, Miklos Szeredi wrote:
>> On Thu, Oct 15, 2015 at 7:56 AM, Mikko Rapeli <mikko.rapeli@iki.fi> wrote:
>> > Kernel headers should not use stdint.h.
>>
>> Including <linux/types.h> breaks compile of library on non-Linux
>> archs.  Allowing this patch would mean having a different header in
>> the fuse lib as the one in the kernel.  This is useless complexity and
>> a source of bugs.  We've already been there, and much prefer the
>> current state.
>
> Hmm. Why should Linux uapi header care about non-Linux platforms?
>
> If fuse lib already has an embedded copy of this header, why should
> this change break anything fuse lib?

It has a copy, but that copy is often updated with new features taken
from the kernel.  There's no reason to have two different versions of
the header file for no good reason.

> In my other patches I got review comments that kernel headers should not
> use <stdint.h> and also Documentation/CodingStyle section 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.

Ok, if you cannot require C99, then the __uXX types are the way to go.
But for the fuse API we *can* use C99 types, nothing preventing us
from doing it.

Thanks,
Miklos
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v4 00/79] Userspace compile test and fixes for exported uapi header files Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:00 +0200
  [PATCH v4 42/79] include/uapi/linux/ipv6_route.h: include linux/in6.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:00 +0200
  [PATCH v4 04/79] drm_mode.h: use __u32 and __u64 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:00 +0200
    Re: [PATCH v4 04/79] drm_mode.h: use __u32 and __u64 from linux/types.h Alex Deucher <alexdeucher@gmail.com> - 2015-10-15 15:40 +0200
      Re: [PATCH v4 04/79] drm_mode.h: use __u32 and __u64 from  linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 15:50 +0200
  [PATCH v4 26/79] scsi_netlink.h: use __u8, __u16 and __u64 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:00 +0200
  [PATCH v4 12/79] include/uapi/drm/sis_drm.h: move sis_file_private to drivers/gpu/drm/sis/sis_drv.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:00 +0200
  [PATCH v4 40/79] include/uapi/linux/if_tunnel.h: include linux/if.h, linux/ip.h and linux/in6.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:00 +0200
  [PATCH v4 03/79] drm.h: use __kernel_size_t instead of size_t Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:00 +0200
  [PATCH v4 02/79] scripts/headers_compile_test.sh: compile test script for exported headers Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:00 +0200
    Re: [PATCH v4 02/79] scripts/headers_compile_test.sh: compile test script for exported headers Alexander Stein <alexander.stein@systec-electronic.com> - 2015-10-15 09:20 +0200
      Re: [PATCH v4 02/79] scripts/headers_compile_test.sh: compile test  script for exported headers Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 09:30 +0200
  [PATCH v4 36/79] include/uapi/asm-generic/signal.h: use __kernel_size_t instead of size_t Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:00 +0200
  [PATCH v4 38/79] include/uapi/linux/rds.h: include linux/socket.h and linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:00 +0200
    Re: [PATCH v4 38/79] include/uapi/linux/rds.h: include  linux/socket.h and linux/types.h Sowmini Varadhan <sowmini.varadhan@oracle.com> - 2015-10-15 13:20 +0200
  [PATCH v4 08/79] r128_drm.h: include drm/drm.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:00 +0200
    Re: [PATCH v4 08/79] r128_drm.h: include drm/drm.h Daniel Vetter <daniel@ffwll.ch> - 2015-10-15 09:50 +0200
  [PATCH v4 27/79] scsi_netlink_fc.h: use __u16, __u32 and __u64 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:00 +0200
  [PATCH v4 39/79] include/uapi/linux/if_pppox.h: include linux/if.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:00 +0200
  [PATCH v4 48/79] include/uapi/linux/mqueue.h: include linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 32/79] include/uapi/asm-generic/ipcbuf.h: include linux/posix_types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 49/79] include/uapi/linux/mroute.h: include linux/in.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 44/79] include/uapi/linux/if_pppox.h: include linux/in.h and linux/in6.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 30/79] gntdev.h: use __u32 and __u64 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
    Re: [Xen-devel] [PATCH v4 30/79] gntdev.h: use __u32 and __u64 from  linux/types.h David Vrabel <david.vrabel@citrix.com> - 2015-10-15 13:00 +0200
  [PATCH v4 24/79] sctp.h: use __u8 and __u32 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 20/79] include/uapi/linux/hsi/cs-protocol.h: include linux/time.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 21/79] ebtables.h: use __u64 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 31/79] include/uapi/linux/sysctl.h: use __kernel_size_t instead of size_t Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 34/79] include/uapi/asm-generic/shmbuf.h: include fixes Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 33/79] include/uapi/asm-generic/msgbuf.h: include asm/ipcbuf.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 23/79] rds.h: use __u8, __u16, __s16, __u32 and __s64 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
    Re: [PATCH v4 23/79] rds.h: use __u8, __u16, __s16, __u32 and __s64  from linux/types.h Sowmini Varadhan <sowmini.varadhan@oracle.com> - 2015-10-15 13:10 +0200
      Re: [PATCH v4 23/79] rds.h: use __u8, __u16, __s16, __u32 and __s64  from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-16 00:10 +0200
        Re: [PATCH v4 23/79] rds.h: use __u8, __u16, __s16, __u32 and __s64  from linux/types.h Sowmini Varadhan <sowmini.varadhan@oracle.com> - 2015-10-16 00:30 +0200
          Re: [PATCH v4 23/79] rds.h: use __u8, __u16, __s16, __u32 and __s64  from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-16 00:40 +0200
            Re: [PATCH v4 23/79] rds.h: use __u8, __u16, __s16, __u32 and __s64  from linux/types.h Sowmini Varadhan <sowmini.varadhan@oracle.com> - 2015-10-16 01:10 +0200
  [PATCH v4 28/79] hdspm.h: use __u8, __u32 and __u64 from linux/types.h instead of stdint.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
    Re: [PATCH v4 28/79] hdspm.h: use __u8, __u32 and __u64 from linux/types.h instead of stdint.h Takashi Iwai <tiwai@suse.de> - 2015-10-15 10:10 +0200
  [PATCH v4 25/79] scsi_bsg_fc.h: use __u8, __u32 and __u64 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 19/79] hsi_char.h: use __u32 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 46/79] include/uapi/linux/packet_diag.h: include linux/netdevice.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 47/79] include/uapi/linux/llc.h: include linux/if.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 37/79] include/uapi/linux/socket.h: include sys/socket.h in userspace Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 43/79] include/uapi/linux/if_pppol2tp.h: include linux/in.h and linux/in6.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 35/79] asm-generic/sembuf.h: include asm/posix_types.h and asm/ipcbuf.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 41/79] include/uapi/linux/ipv6_route.h: include linux/in6.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
  [PATCH v4 17/79] include/uapi/sound/emu10k1.h: added EMU10K1 version of DECLARE_BITMAP macro Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
    Re: [PATCH v4 17/79] include/uapi/sound/emu10k1.h: added EMU10K1 version of DECLARE_BITMAP macro Takashi Iwai <tiwai@suse.de> - 2015-10-15 10:10 +0200
  [PATCH v4 18/79] dm-log-userspace.h: use __u32, __s32 and __u64 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:10 +0200
    Re: [PATCH v4 18/79] dm-log-userspace.h: use __u32, __s32 and __u64  from linux/types.h Mike Snitzer <snitzer@redhat.com> - 2015-10-15 10:20 +0200
      Re: [PATCH v4 18/79] dm-log-userspace.h: use __u32, __s32 and __u64  from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 20:00 +0200
  [PATCH v4 06/79] nouveau_drm.h: use __u32 and __u64 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:20 +0200
  [PATCH v4 13/79] drm/i810_drm.h: include drm/drm.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:20 +0200
    Re: [PATCH v4 13/79] drm/i810_drm.h: include drm/drm.h Daniel Vetter <daniel@ffwll.ch> - 2015-10-15 09:50 +0200
  [PATCH v4 14/79] include/uapi/drm/vmwgfx_drm.h: use __s32, __u32 and __u64 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:20 +0200
  [PATCH v4 15/79] include/uapi/drm/qxl_drm.h: use __s32, __u32 and __u64 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:20 +0200
  [PATCH v4 10/79] via_drm.h: move struct via_file_private definition to drivers/gpu/drm/via/via_drv.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:20 +0200
  [PATCH v4 11/79] savage_drm.h: include <drm/drm.h> Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:20 +0200
    Re: [PATCH v4 11/79] savage_drm.h: include <drm/drm.h> Daniel Vetter <daniel@ffwll.ch> - 2015-10-15 08:50 +0200
  [PATCH v4 07/79] radeon_drm.h: use __u32 and __u64 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:20 +0200
  [PATCH v4 09/79] via_drm.h: don't include non-existing via_drmclient.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:20 +0200
  [PATCH v4 16/79] include/uapi/linux/agpgart.h: include stdlib.h in userspace Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:20 +0200
  [PATCH v4 05/79] exynos_drm.h: use __u64 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:20 +0200
    Re: [PATCH v4 05/79] exynos_drm.h: use __u64 from linux/types.h Gustavo Padovan <gustavo@padovan.org> - 2015-10-15 18:20 +0200
  [PATCH v4 75/79] include/uapi/xen/privcmd.h: fix compilation in userspace Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:30 +0200
    Re: [PATCH v4 75/79] include/uapi/xen/privcmd.h: fix compilation  in userspace David Vrabel <david.vrabel@citrix.com> - 2015-10-15 12:30 +0200
      Re: [PATCH v4 75/79] include/uapi/xen/privcmd.h: fix compilation in  userspace Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 13:20 +0200
        Re: [PATCH v4 75/79] include/uapi/xen/privcmd.h: fix compilation  in userspace David Vrabel <david.vrabel@citrix.com> - 2015-10-15 13:30 +0200
          Re: [PATCH v4 75/79] include/uapi/xen/privcmd.h: fix compilation in  userspace Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 13:40 +0200
  [PATCH v4 68/79] arch/x86/include/uapi/asm/sembuf.h: include linux/types.h and linux/ipc.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:30 +0200
  [PATCH v4 62/79] include/uapi/linux/btrfs.h: define NULL Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:30 +0200
  [PATCH v4 63/79] include/uapi/linux/kexec.h: use __kernel_size_t instead of size_t Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:30 +0200
  [PATCH v4 53/79] include/uapi/linux/errqueue.h: include linux/time.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:30 +0200
  [PATCH v4 78/79] include/uapi/linux/errqueue.h: include time.h in userspace Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:30 +0200
  [PATCH v4 76/79] coda_psdev.h: move upc_req definition from uapi to kernel side headers Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:30 +0200
  [PATCH v4 55/79] arch/x86/include/uapi/asm/signal.h: use __kernel_size_t instead of size_t Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:40 +0200
  [PATCH v4 52/79] include/uapi/netfilter/*.h: fix include files for compilation Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:40 +0200
  [PATCH v4 77/79] include/uapi/linux/elfcore.h: remove non-compiling userspace parts Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:40 +0200
  [PATCH v4 51/79] include/uapi/linux/ip6_tunnel.h: include linux/if.h and linux/in6.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:40 +0200
  [PATCH v4 66/79] include/uapi/linux/coda.h: use __kernel_pid_t and add u_short etc definitions for userspace Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:40 +0200
  [PATCH v4 69/79] include/uapi/linux/dvb/video.h: remove stdint.h include Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:40 +0200
  [PATCH v4 67/79] include/uapi/linux/android/binder.h: use __kernel_pid_t and __kernel_uid_t Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:40 +0200
  [PATCH v4 56/79] include/uapi/linux/auto_fs.h: include linux/limits.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:40 +0200
  [PATCH v4 65/79] include/uapi/linux/patchkey.h: change #error to #warning if file included directly Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:40 +0200
  [PATCH v4 59/79] include/uapi/linux/omapfb.h: use __kernel_size_t instead of size_t Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:50 +0200
  [PATCH v4 50/79] include/uapi/linux/dlm_netlink.h: include linux/dlmconstants.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:50 +0200
  [PATCH v4 79/79] arch/arm/include/uapi/asm/signal.h: use __kernel_size_t instead of size_t Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:50 +0200
  [PATCH v4 60/79] include/uapi/linux/atm_zatm.h: include linux/time.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:50 +0200
  [PATCH v4 71/79] include/uapi/linux/fuse.h: use linux/types.h also in userspace Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:50 +0200
    Re: [PATCH v4 71/79] include/uapi/linux/fuse.h: use linux/types.h  also in userspace Miklos Szeredi <miklos@szeredi.hu> - 2015-10-15 17:30 +0200
      Re: [PATCH v4 71/79] include/uapi/linux/fuse.h: use linux/types.h  also in userspace Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 19:50 +0200
        Re: [PATCH v4 71/79] include/uapi/linux/fuse.h: use linux/types.h  also in userspace Miklos Szeredi <miklos@szeredi.hu> - 2015-10-15 20:40 +0200
          Re: [PATCH v4 71/79] include/uapi/linux/fuse.h: use linux/types.h also in userspace Arnd Bergmann <arnd@arndb.de> - 2015-10-15 21:00 +0200
            Re: [PATCH v4 71/79] include/uapi/linux/fuse.h: use linux/types.h  also in userspace Miklos Szeredi <miklos@szeredi.hu> - 2015-10-15 21:30 +0200
              Re: [PATCH v4 71/79] include/uapi/linux/fuse.h: use linux/types.h  also in userspace Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 23:10 +0200
  [PATCH v4 61/79] include/uapi/linux/scc.h: include linux/sockios.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:50 +0200
  [PATCH v4 57/79] include/uapi/linux/openvswitch.h: use __u32 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:50 +0200
  [PATCH v4 58/79] include/uapi/linux/target_core_user.h: use __u8, __u16, __u32 and __u64 from linux/types.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:50 +0200
  [PATCH v4 70/79] include/uapi/mtd/mtd-user.h: remove stdint.h include Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 08:50 +0200
  [PATCH v4 54/79] include/uapi/asm-generic/ucontext.h: include asm/signal.h and asm/sigcontext.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 09:00 +0200
  [PATCH v4 64/79] include/uapi/linux/reiserfs_xattr.h: use __kernel_size_t instead of size_t Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 09:00 +0200
  [PATCH v4 72/79] include/linux/ipmi-fru.h: use linux/types.h instead of stdint.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 09:00 +0200
  [PATCH v4 74/79] include/linux/xz.h: use linux/types.h types instead of stdint.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 09:10 +0200
  [PATCH v4 73/79] include/linux/sdb.h: use linux/types.h types instead of stdint.h Mikko Rapeli <mikko.rapeli@iki.fi> - 2015-10-15 09:10 +0200

csiph-web