Skip to content

Commit

Permalink
sysctl: treewide: drop unused argument ctl_table_root::set_ownership(…
Browse files Browse the repository at this point in the history
…table)

BugLink: https://bugs.launchpad.net/bugs/2083488

[ Upstream commit 520713a ]

Remove the 'table' argument from set_ownership as it is never used. This
change is a step towards putting "struct ctl_table" into .rodata and
eventually having sysctl core only use "const struct ctl_table".

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)
  { ... }

No additional occurrences of 'set_ownership' were found after doing a
tree-wide search.

Reviewed-by: Joel Granados <[email protected]>
Signed-off-by: Thomas Weißschuh <[email protected]>
Signed-off-by: Joel Granados <[email protected]>
Stable-dep-of: 98ca62b ("sysctl: always initialize i_uid/i_gid")
Signed-off-by: Sasha Levin <[email protected]>
[koichiroden: upstream commit 98ca62b ("sysctl: always initialize
i_uid/i_gid") was backported earlier via stable v6.10.3. Therefore
context was adjusted here]
Signed-off-by: Koichiro Den <[email protected]>
Signed-off-by: Roxana Nicolescu <[email protected]>
  • Loading branch information
t-8ch authored and mehmetb0 committed Nov 9, 2024
1 parent fec96e9 commit a4e489f
Show file tree
Hide file tree
Showing 5 changed files with 3 additions and 7 deletions.
2 changes: 1 addition & 1 deletion fs/proc/proc_sysctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -482,7 +482,7 @@ static struct inode *proc_sys_make_inode(struct super_block *sb,
inode->i_uid = GLOBAL_ROOT_UID;
inode->i_gid = GLOBAL_ROOT_GID;
if (root->set_ownership)
root->set_ownership(head, table, &inode->i_uid, &inode->i_gid);
root->set_ownership(head, &inode->i_uid, &inode->i_gid);

return inode;
}
Expand Down
1 change: 0 additions & 1 deletion include/linux/sysctl.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
};
Expand Down
3 changes: 1 addition & 2 deletions ipc/ipc_sysctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,6 @@ static int set_is_seen(struct ctl_table_set *set)
}

static void ipc_set_ownership(struct ctl_table_header *head,
struct ctl_table *table,
kuid_t *uid, kgid_t *gid)
{
struct ipc_namespace *ns =
Expand Down Expand Up @@ -224,7 +223,7 @@ static int ipc_permissions(struct ctl_table_header *head, struct ctl_table *tabl
kuid_t ns_root_uid;
kgid_t ns_root_gid;

ipc_set_ownership(head, table, &ns_root_uid, &ns_root_gid);
ipc_set_ownership(head, &ns_root_uid, &ns_root_gid);

if (uid_eq(current_euid(), ns_root_uid))
mode >>= 6;
Expand Down
3 changes: 1 addition & 2 deletions ipc/mq_sysctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ static int set_is_seen(struct ctl_table_set *set)
}

static void mq_set_ownership(struct ctl_table_header *head,
struct ctl_table *table,
kuid_t *uid, kgid_t *gid)
{
struct ipc_namespace *ns =
Expand All @@ -97,7 +96,7 @@ static int mq_permissions(struct ctl_table_header *head, struct ctl_table *table
kuid_t ns_root_uid;
kgid_t ns_root_gid;

mq_set_ownership(head, table, &ns_root_uid, &ns_root_gid);
mq_set_ownership(head, &ns_root_uid, &ns_root_gid);

if (uid_eq(current_euid(), ns_root_uid))
mode >>= 6;
Expand Down
1 change: 0 additions & 1 deletion net/sysctl_net.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit a4e489f

Please sign in to comment.