sysctl: treewide: constify argument ctl_table_root::permissions(table)
authorThomas Weißschuh <linux@weissschuh.net>
Fri, 15 Mar 2024 18:11:31 +0000 (19:11 +0100)
committerJoel Granados <j.granados@samsung.com>
Wed, 24 Apr 2024 07:43:54 +0000 (09:43 +0200)
commit795f90c6f13c30484ff10355a6775979f57f78cb
treece6f6f75381431c15bf0963770ba8c8ae345ee77
parent520713a93d550406dae14d49cdb8778d70cecdfd
sysctl: treewide: constify argument ctl_table_root::permissions(table)

The permissions callback should not modify the ctl_table. Enforce this
expectation via the typesystem. This is a step to put "struct ctl_table"
into .rodata throughout the kernel.

The patch was created with the following coccinelle script:

  @@
  identifier func, head, ctl;
  @@

  int func(
    struct ctl_table_header *head,
  - struct ctl_table *ctl)
  + const struct ctl_table *ctl)
  { ... }

(insert_entry() from fs/proc/proc_sysctl.c is a false-positive)

No additional occurrences of '.permissions =' were found after a
tree-wide search for places missed by the conccinelle script.

Reviewed-by: Joel Granados <j.granados@samsung.com>
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Signed-off-by: Joel Granados <j.granados@samsung.com>
include/linux/sysctl.h
ipc/ipc_sysctl.c
ipc/mq_sysctl.c
kernel/ucount.c
net/sysctl_net.c