]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
stddef: Introduce __TRAILING_OVERLAP()
authorGustavo A. R. Silva <gustavoars@kernel.org>
Wed, 17 Sep 2025 13:28:07 +0000 (15:28 +0200)
committerKees Cook <kees@kernel.org>
Wed, 17 Sep 2025 16:29:43 +0000 (09:29 -0700)
commit2bbdcf02c3f3df6c85abd0a2fee0d7f0f4113e96
treea44f0ae5f25d3e263ae30540ea71e72ac289e8d3
parent413187f79062634575098653c40f95d439d3b157
stddef: Introduce __TRAILING_OVERLAP()

Introduce underlying __TRAILING_OVERLAP() macro to let callers apply
atributes to trailing overlapping members.

For instance, the code below:

| struct flex {
|  size_t count;
|  int data[];
| };

| struct {
|  struct flex f;
|  struct foo a;
|  struct boo b;
| } __packed instance;

can now be changed to the following, and preserve the __packed
attribute:

| __TRAILING_OVERLAP(struct flex, f, data, __packed,
|  struct foo a;
|  struct boo b;
| ) instance;

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Link: https://lore.kernel.org/r/f80c529b239ce11f0a51f714fe00ddf839e05f5e.1758115257.git.gustavoars@kernel.org
Signed-off-by: Kees Cook <kees@kernel.org>
include/linux/stddef.h