All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] wifi: ieee80211: annotate struct s1g_tim_enc_block with __counted_by_ptr
@ 2026-09-23  4:52 Bill Wendling
  2026-09-23  5:11 ` Lachlan Hodges
  2026-09-23  5:49 ` Gustavo A. R. Silva
  0 siblings, 2 replies; 3+ messages in thread
From: Bill Wendling @ 2026-09-23  4:52 UTC (permalink / raw)
  To: Kees Cook
  Cc: Gustavo A. R. Silva, Nathan Chancellor, Nick Desaulniers,
	Justin Stitt, Bryam Vargas, Lachlan Hodges, linux-kernel,
	linux-hardening, llvm, Bill Wendling, codemender-patching+linux

The GCC and Clang compilers support the "__counted_by_ptr" attribute on
pointer fields to associate them with an element count in the same
struct. This enables KASAN and UBSan bounds checking to detect
out-of-bounds accesses to the pointer.

In "include/linux/ieee80211-s1g.h", "struct s1g_tim_enc_block" has a
pointer member "ptr" of type "const u8 *" whose size is described by the
"len" member, which is correctly populated with the size of the buffer
before any pointer dereferences.

Cc: codemender-patching+linux@google.com
Assisted-by: LLM
Signed-off-by: Bill Wendling <morbo@google.com>
---
 include/linux/ieee80211-s1g.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/ieee80211-s1g.h b/include/linux/ieee80211-s1g.h
index 3f9626ad3d97..8f6107782c38 100644
--- a/include/linux/ieee80211-s1g.h
+++ b/include/linux/ieee80211-s1g.h
@@ -349,7 +349,7 @@ struct s1g_tim_aid {
 struct s1g_tim_enc_block {
 	u8 enc_mode;
 	bool inverse;
-	const u8 *ptr;
+	const u8 *ptr __counted_by_ptr(len);
 	u8 len;
 
 	/*
-- 
2.55.0.1082.g2b9226bbc0-goog


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-09-23  5:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-23  4:52 [PATCH] wifi: ieee80211: annotate struct s1g_tim_enc_block with __counted_by_ptr Bill Wendling
2026-09-23  5:11 ` Lachlan Hodges
2026-09-23  5:49 ` Gustavo A. R. Silva

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.