Re: linux-next: build failure after merge of the kspp tree

From: Kees Cook
Date: Wed Nov 08 2017 - 18:43:55 EST


On Tue, Nov 7, 2017 at 9:23 PM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> Hi Kees,
>
> After merging the kspp tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
>
> In file included from include/linux/compiler_types.h:58:0,
> from include/uapi/linux/stddef.h:2,
> from include/linux/stddef.h:5,
> from include/uapi/linux/posix_types.h:5,
> from include/uapi/linux/types.h:14,
> from include/linux/types.h:6,
> from fs/xfs/xfs_linux.h:21,
> from fs/xfs/xfs.h:35,
> from fs/xfs/xfs_super.c:19:
> fs/xfs/xfs_super.c: In function 'xfs_init_zones':
> include/linux/compiler-gcc.h:166:2: error: 'xfs_ifork_t {aka struct xfs_ifork}' has no member named 'if_u2'
> __builtin_offsetof(a, b)
> ^
> include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
> #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
> ^
> fs/xfs/xfs_super.c:1862:4: note: in expansion of macro 'offsetof'
> offsetof(xfs_inode_t, i_df.if_u2.if_inline_data),
> ^
> In file included from include/uapi/linux/posix_types.h:5:0,
> from include/uapi/linux/types.h:14,
> from include/linux/types.h:6,
> from fs/xfs/xfs_linux.h:21,
> from fs/xfs/xfs.h:35,
> from fs/xfs/xfs_super.c:19:
> fs/xfs/xfs_super.c:1863:34: error: 'xfs_ifork_t {aka struct xfs_ifork}' has no member named 'if_u2'
> sizeof_field(xfs_inode_t, i_df.if_u2.if_inline_data),
> ^
> include/linux/stddef.h:22:66: note: in definition of macro 'sizeof_field'
> #define sizeof_field(structure, field) sizeof((((structure *)0)->field))
> ^
>
> Caused by commit
>
> 1d48144b9688 ("xfs: Define usercopy region in xfs_inode slab cache")
>
> interacting with commit
>
> 43518812d297 ("xfs: remove support for inlining data/extents into the inode fork")
>
> from the tree.
>
> I just reverted the kspp tree commit as it seems like it is no longer
> needed.

Yup, that looks like the correct fix. Thanks!

-Kees

--
Kees Cook
Pixel Security