Message ID | 20240821162921.86767-2-thorsten.blum@toblux.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | 8573dd3474e8ec067b3c0c80d591c6de1d94e1e9 |
Headers | show |
Series | bcachefs: Annotate struct bucket_array with __counted_by() | expand |
On Wed, Aug 21, 2024 at 06:29:22PM +0200, Thorsten Blum wrote: > Add the __counted_by compiler attribute to the flexible array member > bucket to improve access bounds-checking via CONFIG_UBSAN_BOUNDS and > CONFIG_FORTIFY_SOURCE. > > Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com> > --- > fs/bcachefs/buckets_types.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/bcachefs/buckets_types.h b/fs/bcachefs/buckets_types.h > index c9698cdf866f..a19460a1bb7c 100644 > --- a/fs/bcachefs/buckets_types.h > +++ b/fs/bcachefs/buckets_types.h > @@ -24,7 +24,7 @@ struct bucket_array { > u16 first_bucket; > size_t nbuckets; > size_t nbuckets_minus_first; > - struct bucket b[]; > + struct bucket b[] __counted_by(nbuckets); > }; > > struct bucket_gens { I only see this being allocated in one place and nbuckets is immediately assigned to the count of "b" elements, so this looks correct to me. Reviewed-by: Kees Cook <kees@kernel.org>
diff --git a/fs/bcachefs/buckets_types.h b/fs/bcachefs/buckets_types.h index c9698cdf866f..a19460a1bb7c 100644 --- a/fs/bcachefs/buckets_types.h +++ b/fs/bcachefs/buckets_types.h @@ -24,7 +24,7 @@ struct bucket_array { u16 first_bucket; size_t nbuckets; size_t nbuckets_minus_first; - struct bucket b[]; + struct bucket b[] __counted_by(nbuckets); }; struct bucket_gens {
Add the __counted_by compiler attribute to the flexible array member bucket to improve access bounds-checking via CONFIG_UBSAN_BOUNDS and CONFIG_FORTIFY_SOURCE. Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com> --- fs/bcachefs/buckets_types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)