Re: [PATCH] xfs: add static size checks for structures in xfs_fs.h

From: hch

Date: Mon Feb 09 2026 - 09:55:06 EST


On Mon, Feb 09, 2026 at 07:04:22AM +0000, Wilfred Mallawa wrote:
> As Dave mentioned, I did not consider the alignment requirements being
> different on 32b for example. So I did see some errors for the
> following structs from testbot:
>
>
> xfs_flock64
> xfs_fsop_geom_v1
> xfs_growfs_data_t
> xfs_growfs_rt_t
> xfs_inogrp
>
> So we may have to omit these altogether? I'm not sure if this patch
> would cause issues for other configs the testbot isn't catching? Any
> thoughts?

Out of the Linux supported architectures there are basically five
kinds of differences a struct ABI can have:

1) different pointer sizes
2) different size of long for long derived types
3) different alignment of u64 on i386 vs everyone else
4) different alignment of u16 on arm32-oldabi vs everyone else
5) configuration dependencies

5) is a no-go for exported types

4) doesn't happen in the current xfs uapi headers (it happens in on-disk
formats structs though..).

3) is clearly indicated by the x86-specific handlers in xfs_ioctl32.c

2) and 1) are indicated by the other handlers in xfs_ioctl32.c.

Based on that your above list is a good start, but incomplete.
The list of compat_ structures in fs/xfs/xfs_ioctl32.h should have
a complete list, and if doesn't that is a bug as we're missing
compat handlers.