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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Kees,

On Fri, 25 Aug 2023 14:32:34 -0700 Kees Cook <keescook@xxxxxxxxxxxx> 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@xxxxxxxxxx>
> > ---
> >  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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux