[PATCH v2] sysctl: drop unused argument set_ownership()::table
From: Thomas Weißschuh <linux@weissschuh.net>
Date: 2024-02-23 15:50:06
Also in:
linux-fsdevel, lkml
Subsystem:
networking [general], proc sysctl, the rest · Maintainers:
"David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Kees Cook, Joel Granados, Linus Torvalds
The argument is never used and can be removed.
In a future commit the sysctl core will only use
"const struct ctl_table". Removing it here is a preparation for this
consitifcation.
The patch was created with the following coccinelle script:
@@
identifier func, head, table, uid, gid;
@@
void func(
struct ctl_table_header *head,
- struct ctl_table *table,
kuid_t *uid, kgid_t *gid)
{ ... }
The single changed location was validate through manual inspection and
compilation.
In addition, a search for 'set_ownership' was done over the full tree to
look for places that were missed by coccinelle.
None were found.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
Changes in v2:
- Rework commit message
- Mention potential conflict with upcoming per-namespace kernel.pid_max
sysctl
- Delete unused parameter table
- Link to v1: https://lore.kernel.org/r/20231226-sysctl-const-ownership-v1-1-d78fdd744ba1@weissschuh.net (local)
---
The patch is meant to be merged via the sysctl tree.
There is an upcoming series that will introduce a new implementation of
.set_ownership which would need to be adapted [0].
The adaption would be trivial as the 'table' parameter also unused
there.
This change was originally part of the sysctl-const series [1].
To slim down that series and reduce the message load on other
maintainers to a minimumble, submit this patch on its own.
[0] https://lore.kernel.org/lkml/20240222160915.315255-1-aleksandr.mikhalitsyn@canonical.com/ (local)
[1] https://lore.kernel.org/lkml/20231204-const-sysctl-v2-2-7a5060b11447@weissschuh.net/ (local)
---
include/linux/sysctl.h | 1 -
net/sysctl_net.c | 1 -
2 files changed, 2 deletions(-)
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h
index ee7d33b89e9e..60333a6b9370 100644
--- a/include/linux/sysctl.h
+++ b/include/linux/sysctl.h@@ -205,7 +205,6 @@ struct ctl_table_root { struct ctl_table_set default_set; struct ctl_table_set *(*lookup)(struct ctl_table_root *root); void (*set_ownership)(struct ctl_table_header *head, - struct ctl_table *table, kuid_t *uid, kgid_t *gid); int (*permissions)(struct ctl_table_header *head, struct ctl_table *table); };
diff --git a/net/sysctl_net.c b/net/sysctl_net.c
index 051ed5f6fc93..a0a7a79991f9 100644
--- a/net/sysctl_net.c
+++ b/net/sysctl_net.c@@ -54,7 +54,6 @@ static int net_ctl_permissions(struct ctl_table_header *head, } static void net_ctl_set_ownership(struct ctl_table_header *head, - struct ctl_table *table, kuid_t *uid, kgid_t *gid) { struct net *net = container_of(head->set, struct net, sysctls);
--- base-commit: ffd2cb6b718e189e7e2d5d0c19c25611f92e061a change-id: 20231226-sysctl-const-ownership-ff75e67b4eea Best regards, -- Thomas Weißschuh [off-list ref]