[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260209144749.GB16995@lst.de>
Date: Mon, 9 Feb 2026 15:47:49 +0100
From: hch <hch@....de>
To: Wilfred Mallawa <wilfred.mallawa@....com>
Cc: hch <hch@....de>, "djwong@...nel.org" <djwong@...nel.org>,
"linux-xfs@...r.kernel.org" <linux-xfs@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"cem@...nel.org" <cem@...nel.org>
Subject: Re: [PATCH] xfs: add static size checks for structures in xfs_fs.h
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.
Powered by blists - more mailing lists