[PATCH v3 0/3] scripts: check-sysctl-docs: adapt to new API

Thomas Weißschuh posted 3 patches 1 year, 10 months ago
ipc/ipc_sysctl.c          |  3 +--
scripts/check-sysctl-docs | 65 +++++++++++++++++++++++------------------------
2 files changed, 33 insertions(+), 35 deletions(-)
[PATCH v3 0/3] scripts: check-sysctl-docs: adapt to new API
Posted by Thomas Weißschuh 1 year, 10 months ago
The script expects the old sysctl_register_paths() API which was removed
some time ago. Adapt it to work with the new
sysctl_register()/sysctl_register_sz()/sysctl_register_init() APIs.

Per-namespace tables via __register_sysctl_table() are also handled.

Note that the script is already prepared for a potential constification
of the ctl_table structs.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
Changes in v3:
- Handle per-namespace tables
- Link to v2: https://lore.kernel.org/r/20231226-sysctl-check-v2-1-2d4f50b30d34@weissschuh.net

Changes in v2:
- Remove unused global variable "paths"
- Remove docs for deleted variables "children" and "paths"
- Link to v1: https://lore.kernel.org/r/20231220-sysctl-check-v1-1-420ced4a69d7@weissschuh.net

---
Thomas Weißschuh (3):
      scripts: check-sysctl-docs: adapt to new API
      ipc: remove linebreaks from arguments of __register_sysctl_table
      scripts: check-sysctl-docs: handle per-namespace sysctls

 ipc/ipc_sysctl.c          |  3 +--
 scripts/check-sysctl-docs | 65 +++++++++++++++++++++++------------------------
 2 files changed, 33 insertions(+), 35 deletions(-)
---
base-commit: b401b621758e46812da61fa58a67c3fd8d91de0d
change-id: 20231220-sysctl-check-8802651d945d

Best regards,
-- 
Thomas Weißschuh <linux@weissschuh.net>

Re: [PATCH v3 0/3] scripts: check-sysctl-docs: adapt to new API
Posted by Joel Granados 1 year, 10 months ago
On Mon, Feb 19, 2024 at 09:19:21PM +0100, Thomas Weißschuh wrote:
> The script expects the old sysctl_register_paths() API which was removed
> some time ago. Adapt it to work with the new
> sysctl_register()/sysctl_register_sz()/sysctl_register_init() APIs.
> 
> Per-namespace tables via __register_sysctl_table() are also handled.
> 
> Note that the script is already prepared for a potential constification
> of the ctl_table structs.
> 
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
> ---
> Changes in v3:
> - Handle per-namespace tables
> - Link to v2: https://lore.kernel.org/r/20231226-sysctl-check-v2-1-2d4f50b30d34@weissschuh.net
> 
> Changes in v2:
> - Remove unused global variable "paths"
> - Remove docs for deleted variables "children" and "paths"
> - Link to v1: https://lore.kernel.org/r/20231220-sysctl-check-v1-1-420ced4a69d7@weissschuh.net
> 
> ---
> Thomas Weißschuh (3):
>       scripts: check-sysctl-docs: adapt to new API
>       ipc: remove linebreaks from arguments of __register_sysctl_table
>       scripts: check-sysctl-docs: handle per-namespace sysctls
> 
>  ipc/ipc_sysctl.c          |  3 +--
>  scripts/check-sysctl-docs | 65 +++++++++++++++++++++++------------------------
>  2 files changed, 33 insertions(+), 35 deletions(-)
> ---
> base-commit: b401b621758e46812da61fa58a67c3fd8d91de0d
> change-id: 20231220-sysctl-check-8802651d945d
> 
> Best regards,
> -- 
> Thomas Weißschuh <linux@weissschuh.net>
> 
This is fantastic because we went from a totally broken script to one
that has only some false negatives.

I used the following script to test:
for admin_guide in sunrpc kernel index user net abi vm fs ; do
  ./scripts/check-sysctl-docs -vtable="${admin_guide}" Documentation/admin-guide/sysctl/${admin_guide}.rst $(git grep -l sysctl)
done

Before the patch it gives me 205 "No implementations" out of 205
And after the patch it gave me 42 "No implementations" out of 285

There is still some work to be done, especially for the "fs" part
of this script where there remains some strangeness on how we parse the
rst file.

As this patch has not functional changes, I'll merge it in to
sysctl-next

Thx

Reviewed-by: Joel Granados <j.granados@samsung.com>
-- 

Joel Granados
Re: [PATCH v3 0/3] scripts: check-sysctl-docs: adapt to new API
Posted by Joel Granados 1 year, 10 months ago
Hey Thomas

Thx for your V3. I'll put it on my sysctl todo list for friday.

Best

On Mon, Feb 19, 2024 at 09:19:21PM +0100, Thomas Weißschuh wrote:
> The script expects the old sysctl_register_paths() API which was removed
> some time ago. Adapt it to work with the new
> sysctl_register()/sysctl_register_sz()/sysctl_register_init() APIs.
> 
> Per-namespace tables via __register_sysctl_table() are also handled.
> 
> Note that the script is already prepared for a potential constification
> of the ctl_table structs.
> 
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
> ---
> Changes in v3:
> - Handle per-namespace tables
> - Link to v2: https://lore.kernel.org/r/20231226-sysctl-check-v2-1-2d4f50b30d34@weissschuh.net
> 
> Changes in v2:
> - Remove unused global variable "paths"
> - Remove docs for deleted variables "children" and "paths"
> - Link to v1: https://lore.kernel.org/r/20231220-sysctl-check-v1-1-420ced4a69d7@weissschuh.net
> 
> ---
> Thomas Weißschuh (3):
>       scripts: check-sysctl-docs: adapt to new API
>       ipc: remove linebreaks from arguments of __register_sysctl_table
>       scripts: check-sysctl-docs: handle per-namespace sysctls
> 
>  ipc/ipc_sysctl.c          |  3 +--
>  scripts/check-sysctl-docs | 65 +++++++++++++++++++++++------------------------
>  2 files changed, 33 insertions(+), 35 deletions(-)
> ---
> base-commit: b401b621758e46812da61fa58a67c3fd8d91de0d
> change-id: 20231220-sysctl-check-8802651d945d
> 
> Best regards,
> -- 
> Thomas Weißschuh <linux@weissschuh.net>
> 

-- 

Joel Granados