Re: [PATCH 0/8] Remove child from struct ctl_table

From: Joel Granados
Date: Wed Jun 07 2023 - 04:13:28 EST


On Tue, Jun 06, 2023 at 11:56:26AM -0700, Luis Chamberlain wrote:
> On Fri, Jun 02, 2023 at 01:06:30PM +0200, Joel Granados wrote:
> > Resending as the first set got mangled with smtp error.
> >
> > This is part of the effort to remove the empty element of the ctl_table
> > structures (used to calculate size) and replace it with an ARRAY_SIZE call. By
> > replacing the child element in struct ctl_table with a flags element we make
> > sure that there are no forward recursions on child nodes and therefore set
> > ourselves up for just using an ARRAY_SIZE. We also added some self tests to
> > make sure that we do not break anything.
> >
> > Patchset is separated in 4: parport fixes, selftests fixes, selftests additions and
> > replacement of child element. Tested everything with sysctl self tests and everything
> > seems "ok".
> >
> > 1. parport fixes: @mcgrof: this is related to my previous series and it plugs a
> > sysct table leak in the parport driver. Please tell me if you want me to repost
> > the parport series with this one stiched in.
> >
> > 2. Selftests fixes: Remove the prefixed zeros when passing a awk field to the
> > awk print command because it was causing $0009 to be interpreted as $0.
> > Replaced continue with return in sysctl.sh(test_case) so the test actually
> > gets skipped. The skip decision is now in sysctl.sh(skip_test).
> >
> > 3. Selftest additions: New test to confirm that unregister actually removes
> > targets. New test to confirm that permanently empty targets are indeed
> > created and that no other targets can be created "on top".
> >
> > 4. Replaced the child pointer in struct ctl_table with a u8 flag. The flag
> > is used to differentiate between permanently empty targets and non-empty ones.
> >
> > Comments/feedback greatly appreciated
>
> This all looks great, thanks so much for doing all this work! I pushed
> to sysctl-next.
I have a version where I replace the u8 flag with an enumeration with
two memebers. Tell me if it make sense to post the V2 and I'll send it
out after fixing it up a bit.

Best

Joel Granados

Attachment: signature.asc
Description: PGP signature