lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20231025012411.2096053-3-lixiaoyan@google.com> Date: Wed, 25 Oct 2023 01:24:07 +0000 From: Coco Li <lixiaoyan@...gle.com> To: Jakub Kicinski <kuba@...nel.org>, Eric Dumazet <edumazet@...gle.com>, Neal Cardwell <ncardwell@...gle.com>, Mubashir Adnan Qureshi <mubashirq@...gle.com>, Paolo Abeni <pabeni@...hat.com>, Andrew Lunn <andrew@...n.ch>, Jonathan Corbet <corbet@....net> Cc: netdev@...r.kernel.org, Chao Wu <wwchao@...gle.com>, Wei Wang <weiwan@...gle.com>, Pradeep Nemavat <pnemavat@...gle.com>, Coco Li <lixiaoyan@...gle.com>, Daniel Borkmann <daniel@...earbox.net> Subject: [PATCH v3 net-next 2/6] cache: enforce cache groups Set up build time warnings to safegaurd against future header changes of organized structs. Signed-off-by: Coco Li <lixiaoyan@...gle.com> Suggested-by: Daniel Borkmann <daniel@...earbox.net> --- include/linux/cache.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/include/linux/cache.h b/include/linux/cache.h index 9900d20b76c28..4e547beccd6a5 100644 --- a/include/linux/cache.h +++ b/include/linux/cache.h @@ -85,6 +85,24 @@ #define cache_line_size() L1_CACHE_BYTES #endif +#ifndef __cacheline_group_begin +#define __cacheline_group_begin(GROUP) \ + __u8 __cacheline_group_begin__##GROUP[0] +#endif + +#ifndef __cacheline_group_end +#define __cacheline_group_end(GROUP) \ + __u8 __cacheline_group_end__##GROUP[0] +#endif + +#ifndef CACHELINE_ASSERT_GROUP_MEMBER +#define CACHELINE_ASSERT_GROUP_MEMBER(TYPE, GROUP, MEMBER) \ + BUILD_BUG_ON(!(offsetof(TYPE, MEMBER) >= \ + offsetofend(TYPE, __cacheline_group_begin__##GROUP) && \ + offsetofend(TYPE, MEMBER) <= \ + offsetof(TYPE, __cacheline_group_end__##GROUP))) +#endif + /* * Helper to add padding within a struct to ensure data fall into separate * cachelines. -- 2.42.0.758.gaed0368e0e-goog
Powered by blists - more mailing lists