Re: [RFC PATCH] mm/damon/sysfs: add __counted_by() annotation

SeongJae Park
2023-08-26T00:55:39Z

Hi Kees,

On Fri, 25 Aug 2023 14:32:34 -0700 Kees Cook <keescook@chromium.org> wrote:

> On Fri, Aug 25, 2023 at 02:04:41AM +0000, SeongJae Park wrote:
> > Commit dd06e72e68bc ("Compiler Attributes: Add __counted_by macro")
> > added __counted_by() annotation. The underlying attribute for the
> > feature is still under development, but adopting it can improve the
> > readability of the code. Apply it to four dynamic arrays in DAMON sysfs
> > code.
> >
> > Signed-off-by: SeongJae Park <sj@kernel.org>
> > ---
> > mm/damon/sysfs.c | 8 ++++----
> > 1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/mm/damon/sysfs.c b/mm/damon/sysfs.c
> > index 808a8efe0523..36a176f38726 100644
> > --- a/mm/damon/sysfs.c
> > +++ b/mm/damon/sysfs.c
> > @@ -93,7 +93,7 @@ static const struct kobj_type damon_sysfs_region_ktype = {
> >
> > struct damon_sysfs_regions {
> > struct kobject kobj;
> > - struct damon_sysfs_region **regions_arr;
> > + struct damon_sysfs_region **regions_arr __counted_by(nr);
> > int nr;
> > };
>
> Unfortunately this isn't supported yet for non-flexible-array-members:
>
> mm/damon/sysfs.c:96:14: error: 'counted_by' attribute may not be specified for a non-array field
> 96 | struct damon_sysfs_region **regions_arr __counted_by(nr);
> | ^~~~~
>
> We'll have to wait a bit before we can add this patch.

Thank you for checking this and let me know. Ok, I will wait.

> Thank you for
> getting it ready, though!

Owing to your previous contributions. Thank you for helping me make DAMON code
better to read :)

> This support is next in line. :)
>
> The FAM support is likely ready to land, though[1]. I just tested it
> today.
>
> -Kees
>
> [1] https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628459.html
>
> --
> Kees Cook
>

Thanks,
SJ