]> www.infradead.org Git - users/hch/block.git/commit
sysctl: treewide: constify the ctl_table argument of proc_handlers
authorJoel Granados <j.granados@samsung.com>
Wed, 24 Jul 2024 18:59:29 +0000 (20:59 +0200)
committerJoel Granados <j.granados@samsung.com>
Wed, 24 Jul 2024 18:59:29 +0000 (20:59 +0200)
commit78eb4ea25cd5fdbdae7eb9fdf87b99195ff67508
tree823f8dd45600d746e38f112803e211a7c9893e89
parent7a3fad30fd8b4b5e370906b3c554f64026f56c2f
sysctl: treewide: constify the ctl_table argument of proc_handlers

const qualify the struct ctl_table argument in the proc_handler function
signatures. This is a prerequisite to moving the static ctl_table
structs into .rodata data which will ensure that proc_handler function
pointers cannot be modified.

This patch has been generated by the following coccinelle script:

```
  virtual patch

  @r1@
  identifier ctl, write, buffer, lenp, ppos;
  identifier func !~ "appldata_(timer|interval)_handler|sched_(rt|rr)_handler|rds_tcp_skbuf_handler|proc_sctp_do_(hmac_alg|rto_min|rto_max|udp_port|alpha_beta|auth|probe_interval)";
  @@

  int func(
  - struct ctl_table *ctl
  + const struct ctl_table *ctl
    ,int write, void *buffer, size_t *lenp, loff_t *ppos);

  @r2@
  identifier func, ctl, write, buffer, lenp, ppos;
  @@

  int func(
  - struct ctl_table *ctl
  + const struct ctl_table *ctl
    ,int write, void *buffer, size_t *lenp, loff_t *ppos)
  { ... }

  @r3@
  identifier func;
  @@

  int func(
  - struct ctl_table *
  + const struct ctl_table *
    ,int , void *, size_t *, loff_t *);

  @r4@
  identifier func, ctl;
  @@

  int func(
  - struct ctl_table *ctl
  + const struct ctl_table *ctl
    ,int , void *, size_t *, loff_t *);

  @r5@
  identifier func, write, buffer, lenp, ppos;
  @@

  int func(
  - struct ctl_table *
  + const struct ctl_table *
    ,int write, void *buffer, size_t *lenp, loff_t *ppos);

```

* Code formatting was adjusted in xfs_sysctl.c to comply with code
  conventions. The xfs_stats_clear_proc_handler,
  xfs_panic_mask_proc_handler and xfs_deprecated_dointvec_minmax where
  adjusted.

* The ctl_table argument in proc_watchdog_common was const qualified.
  This is called from a proc_handler itself and is calling back into
  another proc_handler, making it necessary to change it as part of the
  proc_handler migration.

Co-developed-by: Thomas Weißschuh <linux@weissschuh.net>
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Co-developed-by: Joel Granados <j.granados@samsung.com>
Signed-off-by: Joel Granados <j.granados@samsung.com>
93 files changed:
arch/arm64/kernel/armv8_deprecated.c
arch/arm64/kernel/fpsimd.c
arch/s390/appldata/appldata_base.c
arch/s390/kernel/debug.c
arch/s390/kernel/topology.c
arch/s390/mm/cmm.c
arch/x86/kernel/itmt.c
drivers/cdrom/cdrom.c
drivers/char/random.c
drivers/macintosh/mac_hid.c
drivers/net/vrf.c
drivers/parport/procfs.c
drivers/perf/arm_pmuv3.c
drivers/perf/riscv_pmu_sbi.c
fs/coredump.c
fs/dcache.c
fs/drop_caches.c
fs/exec.c
fs/file_table.c
fs/fs-writeback.c
fs/inode.c
fs/pipe.c
fs/quota/dquot.c
fs/xfs/xfs_sysctl.c
include/linux/ftrace.h
include/linux/mm.h
include/linux/perf_event.h
include/linux/security.h
include/linux/sysctl.h
include/linux/vmstat.h
include/linux/writeback.h
include/net/ndisc.h
include/net/neighbour.h
include/net/netfilter/nf_hooks_lwtunnel.h
ipc/ipc_sysctl.c
kernel/bpf/syscall.c
kernel/delayacct.c
kernel/events/callchain.c
kernel/events/core.c
kernel/fork.c
kernel/hung_task.c
kernel/kexec_core.c
kernel/kprobes.c
kernel/latencytop.c
kernel/pid_namespace.c
kernel/pid_sysctl.h
kernel/printk/internal.h
kernel/printk/printk.c
kernel/printk/sysctl.c
kernel/sched/core.c
kernel/sched/rt.c
kernel/sched/topology.c
kernel/seccomp.c
kernel/stackleak.c
kernel/sysctl.c
kernel/time/timer.c
kernel/trace/ftrace.c
kernel/trace/trace.c
kernel/trace/trace_events_user.c
kernel/trace/trace_stack.c
kernel/umh.c
kernel/utsname_sysctl.c
kernel/watchdog.c
mm/compaction.c
mm/hugetlb.c
mm/page-writeback.c
mm/page_alloc.c
mm/util.c
mm/vmstat.c
net/bridge/br_netfilter_hooks.c
net/core/neighbour.c
net/core/sysctl_net_core.c
net/ipv4/devinet.c
net/ipv4/route.c
net/ipv4/sysctl_net_ipv4.c
net/ipv6/addrconf.c
net/ipv6/ndisc.c
net/ipv6/route.c
net/ipv6/sysctl_net_ipv6.c
net/mpls/af_mpls.c
net/mptcp/ctrl.c
net/netfilter/ipvs/ip_vs_ctl.c
net/netfilter/nf_conntrack_standalone.c
net/netfilter/nf_hooks_lwtunnel.c
net/netfilter/nf_log.c
net/phonet/sysctl.c
net/rds/tcp.c
net/sctp/sysctl.c
net/sunrpc/sysctl.c
net/sunrpc/xprtrdma/svc_rdma.c
security/apparmor/lsm.c
security/min_addr.c
security/yama/yama_lsm.c