EDITME: cover title for sysctl-const-handler

This patch is meant to be applied directly by Linus at the end of the
merge-window for v6.11.
It is based on next-20240618.
These changes are done as a single commit as all the different
proc_handlers and struct ctl_table are tightly linked together.
Avoiding a single cut-over patch would have meant a lengthy transition
phase, including a lot of code churn and complications in the sysctl
core.

Several other preparation patches are prerequisites for this patch and
are not yet part of v6.10-rc1 but are currently in -next and are
expected to be submitted during the v6.11 merge-window.

From the mm tree:

* mm/hugetlb: constify ctl_table arguments of utility functions

From the BPF tree:

* bpf: constify member bpf_sysctl_kern:: Table

From the net tree:

* ipvs: constify ctl_table arguments of utility functions
* net/ipv6/ndisc: constify ctl_table arguments of utility function
* net/ipv6/addrconf: constify ctl_table arguments of utility functions
* net/ipv4/sysctl: constify ctl_table arguments of utility functions
* net/neighbour: constify ctl_table arguments of utility function

From the sysctl tree:

* utsname: constify ctl_table arguments of utility function
* sysctl: constify ctl_table arguments of utility function

Motivation
==========

Moving structures containing function pointers into unmodifiable .rodata
prevents attackers or bugs from corrupting and diverting those pointers.

Also the "struct ctl_table" exposed by the sysctl core were never meant
to be mutated by users.

For this goal changes to both the sysctl core and "const" qualifiers for
various sysctl APIs are necessary.

Full Process
============

* Drop ctl_table modifications from the sysctl core ([0], in mainline)
* Constify arguments to ctl_table_root::{set_ownership,permissions}
  ([1], in mainline)
* Migrate users of "ctl_table_header::ctl_table_arg" to "const".
  (in mainline)
* Afterwards convert "ctl_table_header::ctl_table_arg" itself to const.
  (in mainline)
* Prepare helpers used to implement proc_handlers throughout the tree to
  use "const struct ctl_table *". ([2], done, in mainline or -next)
* Afterwards switch over all proc_handlers callbacks to use
  "const struct ctl_table *" in one commit. (this patch)
  Only custom handlers will be affected, the big commit avoids a
  disruptive and messy transition phase.
* Switch over the internals of the sysctl core to "const struct ctl_table *" (to be done)
* Switch include/linux/sysctl.h to "const struct ctl_table *" (to be done)
* Transition instances of "struct ctl_table" through the tree to const (to be done)

A work-in-progress view containing all the outlined changes can be found at
https://git.sr.ht/~t-8ch/linux sysctl-constfy

[0] https://lore.kernel.org/lkml/20240322-sysctl-empty-dir-v2-0-e559cf8ec7c0@weissschuh.net/
[1] https://lore.kernel.org/lkml/20240315-sysctl-const-ownership-v3-0-b86680eae02e@weissschuh.net/
[2] https://lore.kernel.org/lkml/20240423-sysctl-const-handler-v3-0-e0beccb836e2@weissschuh.net/


Cc: Joel Granados <j.granados@samsung.com>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: Kees Cook <kees@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org

---
Changes in v3:
- EDITME: describe what is new in this series revision.
- EDITME: use bulletpoints and terse descriptions.
- Link to v2: https://lore.kernel.org/r/20240619-sysctl-const-handler-v2-1-e36d00707097@weissschuh.net

Changes in v2:
- Drop notes about manual seccomp.c fixups which are not actually
  present anymore.
- Send patch to LKML.
- Rebase onto next-20240618 (adapt proc_fib_multipath_hash_seed)
- Link to v1: https://lore.kernel.org/r/20240615-sysctl-const-handler-v1-1-a9fa28b6d448@weissschuh.net

--- b4-submit-tracking ---
# This section is used internally by b4 prep for tracking purposes.
{
  "series": {
    "revision": 3,
    "change-id": "20240615-sysctl-const-handler-27a7f4f70f57",
    "prefixes": [],
    "history": {
      "v1": [
        "20240615-sysctl-const-handler-v1-1-a9fa28b6d448@weissschuh.net"
      ],
      "v2": [
        "20240619-sysctl-const-handler-v2-1-e36d00707097@weissschuh.net"
      ]
    }
  }
}