Re: umode_t breakage in exported kernel headers
From: Al Viro <viro@ZenIV.linux.org.uk>
Date: 2012-03-20 10:05:10
Also in:
linux-fsdevel
From: Al Viro <viro@ZenIV.linux.org.uk>
Date: 2012-03-20 10:05:10
Also in:
linux-fsdevel
On Mon, Mar 19, 2012 at 04:01:53PM -0400, Mike Frysinger wrote:
commit 0583fcc96bb117763c0fa74c123573c0112dec65 moved umode_t out of the exported headers space (via the arches' asm/types.h) and into __KERNEL__ specific linux/types.h. this breaks the exported linux/ext2_fs.h ext2_mask_flags function which uses that type. that func appears to be the only one exported that utilizes umode_t. should ext2_mask_flags be updated to take a __kernel_mode_t as its first arg ? -mike
ITYM "unsigned short". __kernel_mode_t is wrong kernel-side and pointless everywhere. It should *only* be used in layout of structs shared with userland and misdefined back then. Anything new should use explicitly-sized types (and u16 is enough for mode). It's nearly entirely about ncp_mount_data - ipc_perm, ipc64_perm and in several cases st_mode of stat* are arch-dependent anyway and could bloody well use explicitly-sized types.