Re: [PATCH] uapi: propagate __struct_group() attributes to the container union

From: Kees Cook
Date: Mon Nov 27 2023 - 19:34:34 EST


On Mon, 20 Nov 2023 14:05:08 +0300, Dmitry Antipov wrote:
> Recently the kernel test robot has reported an ARM-specific BUILD_BUG_ON()
> in an old and unmaintained wil6210 wireless driver. The problem comes from
> the structure packing rules of old ARM ABI ('-mabi=apcs-gnu'). For example,
> the following structure is packed to 18 bytes instead of 16:
>
> struct poorly_packed {
> unsigned int a;
> unsigned int b;
> unsigned short c;
> union {
> struct {
> unsigned short d;
> unsigned int e;
> } __attribute__((packed));
> struct {
> unsigned short d;
> unsigned int e;
> } __attribute__((packed)) inner;
> };
> } __attribute__((packed));
>
> [...]

Applied to for-linus/hardening, thanks!

[1/1] uapi: propagate __struct_group() attributes to the container union
https://git.kernel.org/kees/c/4e86f32a13af

Take care,

--
Kees Cook