From: Dave Chinner <david@fromorbit.com>
To: "Thomas Weißschuh" <linux@weissschuh.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Kees Cook <keescook@chromium.org>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
John Fastabend <john.fastabend@gmail.com>,
Andrii Nakryiko <andrii@kernel.org>,
Martin KaFai Lau <martin.lau@linux.dev>,
Eduard Zingerman <eddyz87@gmail.com>, Song Liu <song@kernel.org>,
Yonghong Song <yonghong.song@linux.dev>,
KP Singh <kpsingh@kernel.org>,
Stanislav Fomichev <sdf@google.com>, Hao Luo <haoluo@google.com>,
Jiri Olsa <jolsa@kernel.org>, Muchun Song <muchun.song@linux.dev>,
Andrew Morton <akpm@linux-foundation.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
David Ahern <dsahern@kernel.org>,
Simon Horman <horms@verge.net.au>, Julian Anastasov <ja@ssi.bg>,
Pablo Neira Ayuso <pablo@netfilter.org>,
Jozsef Kadlecsik <kadlec@netfilter.org>,
Florian Westphal <fw@strlen.de>,
Luis Chamberlain <mcgrof@kernel.org>,
Joel Granados <j.granados@samsung.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
Phillip Potter <phil@philpotter.co.uk>,
Theodore Ts'o <tytso@mit.edu>,
"Jason A. Donenfeld" <Jason@zx2c4.com>,
Sudip Mukherjee <sudipm.mukherjee@gmail.com>,
Mark Rutland <mark.rutland@arm.com>,
Atish Patra <atishp@atishpatra.org>,
Anup Patel <anup@brainfault.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>, Jan Kara <jack@suse.cz>,
Eric Biederman <ebiederm@xmission.com>,
Chandan Babu R <chandan.babu@oracle.com>,
"Darrick J. Wong" <djwong@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
Masami Hiramatsu <mhiramat@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
Balbir Singh <bsingharora@gmail.com>,
"Naveen N. Rao" <naveen.n.rao@linux.ibm.com>,
Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
Petr Mladek <pmladek@suse.com>,
John Ogness <john.ogness@linutronix.de>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
Daniel Bristot de Oliveira <bristot@redhat.com>,
Valentin Schneider <vschneid@redhat.com>,
Andy Lutomirski <luto@amacapital.net>,
Will Drewry <wad@chromium.org>, John Stultz <jstultz@google.com>,
Stephen Boyd <sboyd@kernel.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
"Matthew Wilcox (Oracle)" <willy@infradead.org>,
Roopa Prabhu <roopa@nvidia.com>,
Nikolay Aleksandrov <razor@blackwall.org>,
Remi Denis-Courmont <courmisch@gmail.com>,
Allison Henderson <allison.henderson@oracle.com>,
Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>,
Xin Long <lucien.xin@gmail.com>,
Chuck Lever <chuck.lever@oracle.com>,
Jeff Layton <jlayton@kernel.org>, Neil Brown <neilb@suse.de>,
Olga Kornievskaia <kolga@netapp.com>,
Dai Ngo <Dai.Ngo@oracle.com>, Tom Talpey <tom@talpey.com>,
Trond Myklebust <trond.myklebust@hammerspace.com>,
Anna Schumaker <anna@kernel.org>,
John Johansen <john.johansen@canonical.com>,
Paul Moore <paul@paul-moore.com>,
James Morris <jmorris@namei.org>,
"Serge E. Hallyn" <serge@hallyn.com>,
Alexander Popov <alex.popov@linux.com>,
linux-hardening@vger.kernel.org, linux-kernel@vger.kernel.org,
bpf@vger.kernel.org, linux-mm@kvack.org, netdev@vger.kernel.org,
lvs-devel@vger.kernel.org, netfilter-devel@vger.kernel.org,
coreteam@netfilter.org, linux-fsdevel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
linux-xfs@vger.kernel.org, linux-trace-kernel@vger.kernel.org,
linux-perf-users@vger.kernel.org, kexec@lists.infradead.org,
bridge@lists.linux.dev, linux-rdma@vger.kernel.org,
rds-devel@oss.oracle.com, linux-sctp@vger.kernel.org,
linux-nfs@vger.kernel.org, apparmor@lists.ubuntu.com,
linux-security-module@vger.kernel.org
Subject: Re: [PATCH 11/11] sysctl: treewide: constify the ctl_table argument of handlers
Date: Sat, 16 Mar 2024 13:52:48 +1100 [thread overview]
Message-ID: <ZfUJgML8tk6RWqOC@dread.disaster.area> (raw)
In-Reply-To: <20240315-sysctl-const-handler-v1-11-1322ac7cb03d@weissschuh.net>
On Fri, Mar 15, 2024 at 09:48:09PM +0100, Thomas Weißschuh wrote:
> Adapt the proc_hander function signature to make it clear that handlers
> are not supposed to modify their ctl_table argument.
>
> This is a prerequisite to moving the static ctl_table structs into
> .rodata.
> By migrating all handlers at once a lengthy transition can be avoided.
>
> The patch was mostly generated by coccinelle with the following script:
>
> @@
> 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)
> { ... }
Which seems to have screwed up the formatting of the XFS code...
> diff --git a/fs/xfs/xfs_sysctl.c b/fs/xfs/xfs_sysctl.c
> index a191f6560f98..a3ca192eca79 100644
> --- a/fs/xfs/xfs_sysctl.c
> +++ b/fs/xfs/xfs_sysctl.c
> @@ -10,12 +10,11 @@ static struct ctl_table_header *xfs_table_header;
>
> #ifdef CONFIG_PROC_FS
> STATIC int
> -xfs_stats_clear_proc_handler(
> - struct ctl_table *ctl,
> - int write,
> - void *buffer,
> - size_t *lenp,
> - loff_t *ppos)
> +xfs_stats_clear_proc_handler(const struct ctl_table *ctl,
> + int write,
> + void *buffer,
> + size_t *lenp,
> + loff_t *ppos)
... because this doesn't match any format I've ever seen in the
kernel. The diff for this change shold be just:
@@ -10,7 +10,7 @@ static struct ctl_table_header *xfs_table_header;
#ifdef CONFIG_PROC_FS
STATIC int
xfs_stats_clear_proc_handler(
- struct ctl_table *ctl,
+ const struct ctl_table *ctl,
int write,
void *buffer,
size_t *lenp,
> {
> int ret, *valp = ctl->data;
>
> @@ -30,12 +29,11 @@ xfs_stats_clear_proc_handler(
> }
>
> STATIC int
> -xfs_panic_mask_proc_handler(
> - struct ctl_table *ctl,
> - int write,
> - void *buffer,
> - size_t *lenp,
> - loff_t *ppos)
> +xfs_panic_mask_proc_handler(const struct ctl_table *ctl,
> + int write,
> + void *buffer,
> + size_t *lenp,
> + loff_t *ppos)
> {
> int ret, *valp = ctl->data;
>
> @@ -51,12 +49,11 @@ xfs_panic_mask_proc_handler(
> #endif /* CONFIG_PROC_FS */
>
> STATIC int
> -xfs_deprecated_dointvec_minmax(
> - struct ctl_table *ctl,
> - int write,
> - void *buffer,
> - size_t *lenp,
> - loff_t *ppos)
> +xfs_deprecated_dointvec_minmax(const struct ctl_table *ctl,
> + int write,
> + void *buffer,
> + size_t *lenp,
> + loff_t *ppos)
> {
> if (write) {
> printk_ratelimited(KERN_WARNING
And these need fixing as well.
A further quick glance at the patch reveals that there are other
similar screwed up conversions as well.
> diff --git a/kernel/delayacct.c b/kernel/delayacct.c
> index 6f0c358e73d8..513791ef573d 100644
> --- a/kernel/delayacct.c
> +++ b/kernel/delayacct.c
> @@ -44,8 +44,9 @@ void delayacct_init(void)
> }
>
> #ifdef CONFIG_PROC_SYSCTL
> -static int sysctl_delayacct(struct ctl_table *table, int write, void *buffer,
> - size_t *lenp, loff_t *ppos)
> +static int sysctl_delayacct(const struct ctl_table *table, int write,
> + void *buffer,
> + size_t *lenp, loff_t *ppos)
> {
> int state = delayacct_on;
> struct ctl_table t;
Like this.
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index 724e6d7e128f..e2955e0d9f44 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -450,7 +450,8 @@ static void update_perf_cpu_limits(void)
>
> static bool perf_rotate_context(struct perf_cpu_pmu_context *cpc);
>
> -int perf_event_max_sample_rate_handler(struct ctl_table *table, int write,
> +int perf_event_max_sample_rate_handler(const struct ctl_table *table,
> + int write,
> void *buffer, size_t *lenp, loff_t *ppos)
> {
> int ret;
And this.
> @@ -474,8 +475,10 @@ int perf_event_max_sample_rate_handler(struct ctl_table *table, int write,
>
> int sysctl_perf_cpu_time_max_percent __read_mostly = DEFAULT_CPU_TIME_MAX_PERCENT;
>
> -int perf_cpu_time_max_percent_handler(struct ctl_table *table, int write,
> - void *buffer, size_t *lenp, loff_t *ppos)
> +int perf_cpu_time_max_percent_handler(const struct ctl_table *table,
> + int write,
> + void *buffer, size_t *lenp,
> + loff_t *ppos)
> {
> int ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
>
And this.
> diff --git a/kernel/hung_task.c b/kernel/hung_task.c
> index b2fc2727d654..003f0f5cb111 100644
> --- a/kernel/hung_task.c
> +++ b/kernel/hung_task.c
> @@ -239,9 +239,10 @@ static long hung_timeout_jiffies(unsigned long last_checked,
> /*
> * Process updating of timeout sysctl
> */
> -static int proc_dohung_task_timeout_secs(struct ctl_table *table, int write,
> - void *buffer,
> - size_t *lenp, loff_t *ppos)
> +static int proc_dohung_task_timeout_secs(const struct ctl_table *table,
> + int write,
> + void *buffer,
> + size_t *lenp, loff_t *ppos)
> {
> int ret;
>
And this.
> diff --git a/kernel/latencytop.c b/kernel/latencytop.c
> index 781249098cb6..0a5c22b19821 100644
> --- a/kernel/latencytop.c
> +++ b/kernel/latencytop.c
> @@ -65,8 +65,9 @@ static struct latency_record latency_record[MAXLR];
> int latencytop_enabled;
>
> #ifdef CONFIG_SYSCTL
> -static int sysctl_latencytop(struct ctl_table *table, int write, void *buffer,
> - size_t *lenp, loff_t *ppos)
> +static int sysctl_latencytop(const struct ctl_table *table, int write,
> + void *buffer,
> + size_t *lenp, loff_t *ppos)
> {
> int err;
>
And this.
I could go on, but there are so many examples of this in the patch
that I think that it needs to be toosed away and regenerated in a
way that doesn't trash the existing function parameter formatting.
-Dave.
--
Dave Chinner
david@fromorbit.com
WARNING: multiple messages have this Message-ID (diff)
From: Dave Chinner <david@fromorbit.com>
To: "Thomas Weißschuh" <linux@weissschuh.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Kees Cook <keescook@chromium.org>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
John Fastabend <john.fastabend@gmail.com>,
Andrii Nakryiko <andrii@kernel.org>,
Martin KaFai Lau <martin.lau@linux.dev>,
Eduard Zingerman <eddyz87@gmail.com>, Song Liu <song@kernel.org>,
Yonghong Song <yonghong.song@linux.dev>,
KP Singh <kpsingh@kernel.org>,
Stanislav Fomichev <sdf@google.com>, Hao Luo <haoluo@google.com>,
Jiri Olsa <jolsa@kernel.org>, Muchun Song <muchun.song@linux.dev>,
Andrew Morton <akpm@linux-foundation.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
David Ahern <dsahern@kernel.org>,
Simon Horman <horms@verge.net.au>, Julian Anastasov <ja@ssi.bg>,
Pablo Neira Ayuso <pablo@netfilter.org>,
Jozsef Kadlecsik <kadlec@netfilter.org>,
Florian Westphal <fw@strlen.de>,
Luis Chamberlain <mcgrof@kernel.org>,
Joel Granados <j.granados@samsung.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
Phillip Potter <phil@philpotter.co.uk>,
Theodore Ts'o <tytso@mit.edu>,
"Jason A. Donenfeld" <Jason@zx2c4.com>,
Sudip Mukherjee <sudipm.mukherjee@gmail.com>,
Mark Rutland <mark.rutland@arm.com>,
Atish Patra <atishp@atishpatra.org>,
Anup Patel <anup@brainfault.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>, Jan Kara <jack@suse.cz>,
Eric Biederman <ebiederm@xmission.com>,
Chandan Babu R <chandan.babu@oracle.com>,
"Darrick J. Wong" <djwong@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
Masami Hiramatsu <mhiramat@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
Balbir Singh <bsingharora@gmail.com>,
"Naveen N. Rao" <naveen.n.rao@linux.ibm.com>,
Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
Petr Mladek <pmladek@suse.com>,
John Ogness <john.ogness@linutronix.de>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
Daniel Bristot de Oliveira <bristot@redhat.com>,
Valentin Schneider <vschneid@redhat.com>,
Andy Lutomirski <luto@amacapital.net>,
Will Drewry <wad@chromium.org>, John Stultz <jstultz@google.com>,
Stephen Boyd <sboyd@kernel.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
"Matthew Wilcox (Oracle)" <willy@infradead.org>,
Roopa Prabhu <roopa@nvidia.com>,
Nikolay Aleksandrov <razor@blackwall.org>,
Remi Denis-Courmont <courmisch@gmail.com>,
Allison Henderson <allison.henderson@oracle.com>,
Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>,
Xin Long <lucien.xin@gmail.com>,
Chuck Lever <chuck.lever@oracle.com>,
Jeff Layton <jlayton@kernel.org>, Neil Brown <neilb@suse.de>,
Olga Kornievskaia <kolga@netapp.com>,
Dai Ngo <Dai.Ngo@oracle.com>, Tom Talpey <tom@talpey.com>,
Trond Myklebust <trond.myklebust@hammerspace.com>,
Anna Schumaker <anna@kernel.org>,
John Johansen <john.johansen@canonical.com>,
Paul Moore <paul@paul-moore.com>,
James Morris <jmorris@namei.org>,
"Serge E. Hallyn" <serge@hallyn.com>,
Alexander Popov <alex.popov@linux.com>,
linux-hardening@vger.kernel.org, linux-kernel@vger.kernel.org,
bpf@vger.kernel.org, linux-mm@kvack.org, netdev@vger.kernel.org,
lvs-devel@vger.kernel.org, netfilter-devel@vger.kernel.org,
coreteam@netfilter.org, linux-fsdevel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
linux-xfs@vger.kernel.org, linux-trace-kernel@vger.kernel.org,
linux-perf-users@vger.kernel.org, kexec@lists.infradead.org,
bridge@lists.linux.dev, linux-rdma@vger.kernel.org,
rds-devel@oss.oracle.com, linux-sctp@vger.kernel.org,
linux-nfs@vger.kernel.org, apparmor@lists.ubuntu.com,
linux-security-module@vger.kernel.org
Subject: Re: [PATCH 11/11] sysctl: treewide: constify the ctl_table argument of handlers
Date: Sat, 16 Mar 2024 13:52:48 +1100 [thread overview]
Message-ID: <ZfUJgML8tk6RWqOC@dread.disaster.area> (raw)
In-Reply-To: <20240315-sysctl-const-handler-v1-11-1322ac7cb03d@weissschuh.net>
On Fri, Mar 15, 2024 at 09:48:09PM +0100, Thomas Weißschuh wrote:
> Adapt the proc_hander function signature to make it clear that handlers
> are not supposed to modify their ctl_table argument.
>
> This is a prerequisite to moving the static ctl_table structs into
> .rodata.
> By migrating all handlers at once a lengthy transition can be avoided.
>
> The patch was mostly generated by coccinelle with the following script:
>
> @@
> 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)
> { ... }
Which seems to have screwed up the formatting of the XFS code...
> diff --git a/fs/xfs/xfs_sysctl.c b/fs/xfs/xfs_sysctl.c
> index a191f6560f98..a3ca192eca79 100644
> --- a/fs/xfs/xfs_sysctl.c
> +++ b/fs/xfs/xfs_sysctl.c
> @@ -10,12 +10,11 @@ static struct ctl_table_header *xfs_table_header;
>
> #ifdef CONFIG_PROC_FS
> STATIC int
> -xfs_stats_clear_proc_handler(
> - struct ctl_table *ctl,
> - int write,
> - void *buffer,
> - size_t *lenp,
> - loff_t *ppos)
> +xfs_stats_clear_proc_handler(const struct ctl_table *ctl,
> + int write,
> + void *buffer,
> + size_t *lenp,
> + loff_t *ppos)
... because this doesn't match any format I've ever seen in the
kernel. The diff for this change shold be just:
@@ -10,7 +10,7 @@ static struct ctl_table_header *xfs_table_header;
#ifdef CONFIG_PROC_FS
STATIC int
xfs_stats_clear_proc_handler(
- struct ctl_table *ctl,
+ const struct ctl_table *ctl,
int write,
void *buffer,
size_t *lenp,
> {
> int ret, *valp = ctl->data;
>
> @@ -30,12 +29,11 @@ xfs_stats_clear_proc_handler(
> }
>
> STATIC int
> -xfs_panic_mask_proc_handler(
> - struct ctl_table *ctl,
> - int write,
> - void *buffer,
> - size_t *lenp,
> - loff_t *ppos)
> +xfs_panic_mask_proc_handler(const struct ctl_table *ctl,
> + int write,
> + void *buffer,
> + size_t *lenp,
> + loff_t *ppos)
> {
> int ret, *valp = ctl->data;
>
> @@ -51,12 +49,11 @@ xfs_panic_mask_proc_handler(
> #endif /* CONFIG_PROC_FS */
>
> STATIC int
> -xfs_deprecated_dointvec_minmax(
> - struct ctl_table *ctl,
> - int write,
> - void *buffer,
> - size_t *lenp,
> - loff_t *ppos)
> +xfs_deprecated_dointvec_minmax(const struct ctl_table *ctl,
> + int write,
> + void *buffer,
> + size_t *lenp,
> + loff_t *ppos)
> {
> if (write) {
> printk_ratelimited(KERN_WARNING
And these need fixing as well.
A further quick glance at the patch reveals that there are other
similar screwed up conversions as well.
> diff --git a/kernel/delayacct.c b/kernel/delayacct.c
> index 6f0c358e73d8..513791ef573d 100644
> --- a/kernel/delayacct.c
> +++ b/kernel/delayacct.c
> @@ -44,8 +44,9 @@ void delayacct_init(void)
> }
>
> #ifdef CONFIG_PROC_SYSCTL
> -static int sysctl_delayacct(struct ctl_table *table, int write, void *buffer,
> - size_t *lenp, loff_t *ppos)
> +static int sysctl_delayacct(const struct ctl_table *table, int write,
> + void *buffer,
> + size_t *lenp, loff_t *ppos)
> {
> int state = delayacct_on;
> struct ctl_table t;
Like this.
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index 724e6d7e128f..e2955e0d9f44 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -450,7 +450,8 @@ static void update_perf_cpu_limits(void)
>
> static bool perf_rotate_context(struct perf_cpu_pmu_context *cpc);
>
> -int perf_event_max_sample_rate_handler(struct ctl_table *table, int write,
> +int perf_event_max_sample_rate_handler(const struct ctl_table *table,
> + int write,
> void *buffer, size_t *lenp, loff_t *ppos)
> {
> int ret;
And this.
> @@ -474,8 +475,10 @@ int perf_event_max_sample_rate_handler(struct ctl_table *table, int write,
>
> int sysctl_perf_cpu_time_max_percent __read_mostly = DEFAULT_CPU_TIME_MAX_PERCENT;
>
> -int perf_cpu_time_max_percent_handler(struct ctl_table *table, int write,
> - void *buffer, size_t *lenp, loff_t *ppos)
> +int perf_cpu_time_max_percent_handler(const struct ctl_table *table,
> + int write,
> + void *buffer, size_t *lenp,
> + loff_t *ppos)
> {
> int ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
>
And this.
> diff --git a/kernel/hung_task.c b/kernel/hung_task.c
> index b2fc2727d654..003f0f5cb111 100644
> --- a/kernel/hung_task.c
> +++ b/kernel/hung_task.c
> @@ -239,9 +239,10 @@ static long hung_timeout_jiffies(unsigned long last_checked,
> /*
> * Process updating of timeout sysctl
> */
> -static int proc_dohung_task_timeout_secs(struct ctl_table *table, int write,
> - void *buffer,
> - size_t *lenp, loff_t *ppos)
> +static int proc_dohung_task_timeout_secs(const struct ctl_table *table,
> + int write,
> + void *buffer,
> + size_t *lenp, loff_t *ppos)
> {
> int ret;
>
And this.
> diff --git a/kernel/latencytop.c b/kernel/latencytop.c
> index 781249098cb6..0a5c22b19821 100644
> --- a/kernel/latencytop.c
> +++ b/kernel/latencytop.c
> @@ -65,8 +65,9 @@ static struct latency_record latency_record[MAXLR];
> int latencytop_enabled;
>
> #ifdef CONFIG_SYSCTL
> -static int sysctl_latencytop(struct ctl_table *table, int write, void *buffer,
> - size_t *lenp, loff_t *ppos)
> +static int sysctl_latencytop(const struct ctl_table *table, int write,
> + void *buffer,
> + size_t *lenp, loff_t *ppos)
> {
> int err;
>
And this.
I could go on, but there are so many examples of this in the patch
that I think that it needs to be toosed away and regenerated in a
way that doesn't trash the existing function parameter formatting.
-Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: Dave Chinner <david@fromorbit.com>
To: "Thomas Weißschuh" <linux@weissschuh.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Kees Cook <keescook@chromium.org>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
John Fastabend <john.fastabend@gmail.com>,
Andrii Nakryiko <andrii@kernel.org>,
Martin KaFai Lau <martin.lau@linux.dev>,
Eduard Zingerman <eddyz87@gmail.com>, Song Liu <song@kernel.org>,
Yonghong Song <yonghong.song@linux.dev>,
KP Singh <kpsingh@kernel.org>,
Stanislav Fomichev <sdf@google.com>, Hao Luo <haoluo@google.com>,
Jiri Olsa <jolsa@kernel.org>, Muchun Song <muchun.song@linux.dev>,
Andrew Morton <akpm@linux-foundation.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
David Ahern <dsahern@kernel.org>,
Simon Horman <horms@verge.net.au>, Julian Anastasov <ja@ssi.bg>,
Pablo Neira Ayuso <pablo@netfilter.org>,
Jozsef Kadlecsik <kadlec@netfilter.org>,
Florian Westphal <fw@strlen.de>,
Luis Chamberlain <mcgrof@kernel.org>,
Joel Granados <j.granados@samsung.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
Phillip Potter <phil@philpotter.co.uk>,
Theodore Ts'o <tytso@mit.edu>,
"Jason A. Donenfeld" <Jason@zx2c4.com>,
Sudip Mukherjee <sudipm.mukherjee@gmail.com>,
Mark Rutland <mark.rutland@arm.com>,
Atish Patra <atishp@atishpatra.org>,
Anup Patel <anup@brainfault.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>, Jan Kara <jack@suse.cz>,
Eric Biederman <ebiederm@xmission.com>,
Chandan Babu R <chandan.babu@oracle.com>,
"Darrick J. Wong" <djwong@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
Masami Hiramatsu <mhiramat@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
Balbir Singh <bsingharora@gmail.com>,
"Naveen N. Rao" <naveen.n.rao@linux.ibm.com>,
Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
Petr Mladek <pmladek@suse.com>,
John Ogness <john.ogness@linutronix.de>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
Daniel Bristot de Oliveira <bristot@redhat.com>,
Valentin Schneider <vschneid@redhat.com>,
Andy Lutomirski <luto@amacapital.net>,
Will Drewry <wad@chromium.org>, John Stultz <jstultz@google.com>,
Stephen Boyd <sboyd@kernel.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
"Matthew Wilcox (Oracle)" <willy@infradead.org>,
Roopa Prabhu <roopa@nvidia.com>,
Nikolay Aleksandrov <razor@blackwall.org>,
Remi Denis-Courmont <courmisch@gmail.com>,
Allison Henderson <allison.henderson@oracle.com>,
Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>,
Xin Long <lucien.xin@gmail.com>,
Chuck Lever <chuck.lever@oracle.com>,
Jeff Layton <jlayton@kernel.org>, Neil Brown <neilb@suse.de>,
Olga Kornievskaia <kolga@netapp.com>,
Dai Ngo <Dai.Ngo@oracle.com>, Tom Talpey <tom@talpey.com>,
Trond Myklebust <trond.myklebust@hammerspace.com>,
Anna Schumaker <anna@kernel.org>,
John Johansen <john.johansen@canonical.com>,
Paul Moore <paul@paul-moore.com>,
James Morris <jmorris@namei.org>,
"Serge E. Hallyn" <serge@hallyn.com>,
Alexander Popov <alex.popov@linux.com>,
linux-hardening@vger.kernel.org, linux-kernel@vger.kernel.org,
bpf@vger.kernel.org, linux-mm@kvack.org, netdev@vger.kernel.org,
lvs-devel@vger.kernel.org, netfilter-devel@vger.kernel.org,
coreteam@netfilter.org, linux-fsdevel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
linux-xfs@vger.kernel.org, linux-trace-kernel@vger.kernel.org,
linux-perf-users@vger.kernel.org, kexec@lists.infradead.org,
bridge@lists.linux.dev, linux-rdma@vger.kernel.org,
rds-devel@oss.oracle.com, linux-sctp@vger.kernel.org,
linux-nfs@vger.kernel.org, apparmor@lists.ubuntu.com,
linux-security-module@vger.kernel.org
Subject: Re: [PATCH 11/11] sysctl: treewide: constify the ctl_table argument of handlers
Date: Sat, 16 Mar 2024 13:52:48 +1100 [thread overview]
Message-ID: <ZfUJgML8tk6RWqOC@dread.disaster.area> (raw)
In-Reply-To: <20240315-sysctl-const-handler-v1-11-1322ac7cb03d@weissschuh.net>
On Fri, Mar 15, 2024 at 09:48:09PM +0100, Thomas Weißschuh wrote:
> Adapt the proc_hander function signature to make it clear that handlers
> are not supposed to modify their ctl_table argument.
>
> This is a prerequisite to moving the static ctl_table structs into
> .rodata.
> By migrating all handlers at once a lengthy transition can be avoided.
>
> The patch was mostly generated by coccinelle with the following script:
>
> @@
> 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)
> { ... }
Which seems to have screwed up the formatting of the XFS code...
> diff --git a/fs/xfs/xfs_sysctl.c b/fs/xfs/xfs_sysctl.c
> index a191f6560f98..a3ca192eca79 100644
> --- a/fs/xfs/xfs_sysctl.c
> +++ b/fs/xfs/xfs_sysctl.c
> @@ -10,12 +10,11 @@ static struct ctl_table_header *xfs_table_header;
>
> #ifdef CONFIG_PROC_FS
> STATIC int
> -xfs_stats_clear_proc_handler(
> - struct ctl_table *ctl,
> - int write,
> - void *buffer,
> - size_t *lenp,
> - loff_t *ppos)
> +xfs_stats_clear_proc_handler(const struct ctl_table *ctl,
> + int write,
> + void *buffer,
> + size_t *lenp,
> + loff_t *ppos)
... because this doesn't match any format I've ever seen in the
kernel. The diff for this change shold be just:
@@ -10,7 +10,7 @@ static struct ctl_table_header *xfs_table_header;
#ifdef CONFIG_PROC_FS
STATIC int
xfs_stats_clear_proc_handler(
- struct ctl_table *ctl,
+ const struct ctl_table *ctl,
int write,
void *buffer,
size_t *lenp,
> {
> int ret, *valp = ctl->data;
>
> @@ -30,12 +29,11 @@ xfs_stats_clear_proc_handler(
> }
>
> STATIC int
> -xfs_panic_mask_proc_handler(
> - struct ctl_table *ctl,
> - int write,
> - void *buffer,
> - size_t *lenp,
> - loff_t *ppos)
> +xfs_panic_mask_proc_handler(const struct ctl_table *ctl,
> + int write,
> + void *buffer,
> + size_t *lenp,
> + loff_t *ppos)
> {
> int ret, *valp = ctl->data;
>
> @@ -51,12 +49,11 @@ xfs_panic_mask_proc_handler(
> #endif /* CONFIG_PROC_FS */
>
> STATIC int
> -xfs_deprecated_dointvec_minmax(
> - struct ctl_table *ctl,
> - int write,
> - void *buffer,
> - size_t *lenp,
> - loff_t *ppos)
> +xfs_deprecated_dointvec_minmax(const struct ctl_table *ctl,
> + int write,
> + void *buffer,
> + size_t *lenp,
> + loff_t *ppos)
> {
> if (write) {
> printk_ratelimited(KERN_WARNING
And these need fixing as well.
A further quick glance at the patch reveals that there are other
similar screwed up conversions as well.
> diff --git a/kernel/delayacct.c b/kernel/delayacct.c
> index 6f0c358e73d8..513791ef573d 100644
> --- a/kernel/delayacct.c
> +++ b/kernel/delayacct.c
> @@ -44,8 +44,9 @@ void delayacct_init(void)
> }
>
> #ifdef CONFIG_PROC_SYSCTL
> -static int sysctl_delayacct(struct ctl_table *table, int write, void *buffer,
> - size_t *lenp, loff_t *ppos)
> +static int sysctl_delayacct(const struct ctl_table *table, int write,
> + void *buffer,
> + size_t *lenp, loff_t *ppos)
> {
> int state = delayacct_on;
> struct ctl_table t;
Like this.
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index 724e6d7e128f..e2955e0d9f44 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -450,7 +450,8 @@ static void update_perf_cpu_limits(void)
>
> static bool perf_rotate_context(struct perf_cpu_pmu_context *cpc);
>
> -int perf_event_max_sample_rate_handler(struct ctl_table *table, int write,
> +int perf_event_max_sample_rate_handler(const struct ctl_table *table,
> + int write,
> void *buffer, size_t *lenp, loff_t *ppos)
> {
> int ret;
And this.
> @@ -474,8 +475,10 @@ int perf_event_max_sample_rate_handler(struct ctl_table *table, int write,
>
> int sysctl_perf_cpu_time_max_percent __read_mostly = DEFAULT_CPU_TIME_MAX_PERCENT;
>
> -int perf_cpu_time_max_percent_handler(struct ctl_table *table, int write,
> - void *buffer, size_t *lenp, loff_t *ppos)
> +int perf_cpu_time_max_percent_handler(const struct ctl_table *table,
> + int write,
> + void *buffer, size_t *lenp,
> + loff_t *ppos)
> {
> int ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
>
And this.
> diff --git a/kernel/hung_task.c b/kernel/hung_task.c
> index b2fc2727d654..003f0f5cb111 100644
> --- a/kernel/hung_task.c
> +++ b/kernel/hung_task.c
> @@ -239,9 +239,10 @@ static long hung_timeout_jiffies(unsigned long last_checked,
> /*
> * Process updating of timeout sysctl
> */
> -static int proc_dohung_task_timeout_secs(struct ctl_table *table, int write,
> - void *buffer,
> - size_t *lenp, loff_t *ppos)
> +static int proc_dohung_task_timeout_secs(const struct ctl_table *table,
> + int write,
> + void *buffer,
> + size_t *lenp, loff_t *ppos)
> {
> int ret;
>
And this.
> diff --git a/kernel/latencytop.c b/kernel/latencytop.c
> index 781249098cb6..0a5c22b19821 100644
> --- a/kernel/latencytop.c
> +++ b/kernel/latencytop.c
> @@ -65,8 +65,9 @@ static struct latency_record latency_record[MAXLR];
> int latencytop_enabled;
>
> #ifdef CONFIG_SYSCTL
> -static int sysctl_latencytop(struct ctl_table *table, int write, void *buffer,
> - size_t *lenp, loff_t *ppos)
> +static int sysctl_latencytop(const struct ctl_table *table, int write,
> + void *buffer,
> + size_t *lenp, loff_t *ppos)
> {
> int err;
>
And this.
I could go on, but there are so many examples of this in the patch
that I think that it needs to be toosed away and regenerated in a
way that doesn't trash the existing function parameter formatting.
-Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Dave Chinner <david@fromorbit.com>
To: "Thomas Weißschuh" <linux@weissschuh.net>
Cc: Joel Granados <j.granados@samsung.com>,
Juri Lelli <juri.lelli@redhat.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Ben Segall <bsegall@google.com>,
linux-sctp@vger.kernel.org,
Yonghong Song <yonghong.song@linux.dev>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
James Morris <jmorris@namei.org>,
Jozsef Kadlecsik <kadlec@netfilter.org>,
Mel Gorman <mgorman@suse.de>,
"Darrick J. Wong" <djwong@kernel.org>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Alexander Popov <alex.popov@linux.com>,
Petr Mladek <pmladek@suse.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Remi Denis-Courmont <courmisch@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Christian Brauner <brauner@kernel.org>,
Will Drewry <wad@chromium.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Luis Chamberlain <mcgrof@kernel.org>,
Chuck Lever <chuck.lever@oracle.com>,
netfilter-devel@vger.kernel.org,
Masami Hiramatsu <mhiramat@kernel.org>,
Jiri Olsa <jolsa@kernel.org>,
linux-fsdevel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
linux-trace-kernel@vger.kernel.org,
Mark Rutland <mark.rutland@arm.com>,
"Jason A. Donenfeld" <Jason@zx2c4.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
Phillip Potter <phil@philpotter.co.uk>,
Song Liu <song@kernel.org>, Eric Dumazet <edumazet@google.com>,
John Stultz <jstultz@google.com>,
Stanislav Fomichev <sdf@google.com>,
linux-s390@vger.kernel.org,
Valentin Schneider <vschneid@redhat.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Anup Patel <anup@brainfault.org>,
John Fastabend <john.fastabend@gmail.com>,
Andrii Nakryiko <andrii@kernel.org>,
Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
Julian Anastasov <ja@ssi.bg>,
coreteam@netfilter.org, Roopa Prabhu <roopa@nvidia.com>,
Sven Schnelle <svens@lin ux.ibm.com>,
John Ogness <john.ogness@linutronix.de>,
linuxppc-dev@lists.ozlabs.org, Simon Horman <horms@verge.net.au>,
Xin Long <lucien.xin@gmail.com>,
linux-arm-kernel@lists.infradead.org, Hao Luo <haoluo@google.com>,
Theodore Ts'o <tytso@mit.edu>, Stephen Boyd <sboyd@kernel.org>,
Muchun Song <muchun.song@linux.dev>,
Florian Westphal <fw@strlen.de>,
"David S. Miller" <davem@davemloft.net>,
Eric Biederman <ebiederm@xmission.com>,
Anna Schumaker <anna@kernel.org>,
Daniel Bristot de Oliveira <bristot@redhat.com>,
Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Nikolay Aleksandrov <razor@blackwall.org>,
Atish Patra <atishp@atishpatra.org>,
Alexei Starovoitov <ast@kernel.org>,
linux-hardening@vger.kernel.org, Will Deacon <will@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
linux-rdma@vger.kernel.org,
"Matthew Wilcox \(Oracle\)" <willy@infradead.org>,
lvs-devel@vger.kernel.org, Neil Brown <neilb@suse.de>,
Allison Hender son <allison.henderson@oracle.com>,
"Naveen N. Rao" <naveen.n.rao@linux.ibm.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Paolo Abeni <pabeni@redhat.com>,
Pablo Neira Ayuso <pablo@netfilter.org>,
"Serge E. Hallyn" <serge@hallyn.com>,
Kees Cook <keescook@chromium.org>,
bridge@lists.linux.dev, Steven Rostedt <rostedt@goodmis.org>,
Borislav Petkov <bp@alien8.de>,
linux-nfs@vger.kernel.org, Olga Kornievskaia <kolga@netapp.com>,
Jeff Layton <jlayton@kernel.org>,
Andy Lutomirski <luto@amacapital.net>,
linux-xfs@vger.kernel.org, bpf@vger.kernel.org,
Sudip Mukherjee <sudipm.mukherjee@gmail.com>,
Chandan Babu R <chandan.babu@oracle.com>,
Ian Rogers <irogers@google.com>, Jan Kara <jack@suse.cz>,
Peter Zijlstra <peterz@infradead.org>,
KP Singh <kpsingh@kernel.org>,
linux-mm@kvack.org, "H. Peter Anvin" <hpa@zytor.com>,
linux-riscv@lists.infradead.org, rds-devel@oss.oracle.com,
x86@kernel.org, Dai Ngo <Dai.Ngo@oracle.com>,
Ingo Molnar <mingo@redhat.com>, Jakub Kicinski <kuba@kernel.org> ,
Trond Myklebust <trond.myklebust@hammerspace.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Heiko Carstens <hca@linux.ibm.com>,
apparmor@lists.ubuntu.com, Tom Talpey <tom@talpey.com>,
Paul Walmsley <paul.walmsley@sifive.com>,
Namhyung Kim <namhyung@kernel.org>,
Paul Moore <paul@paul-moore.com>,
John Johansen <john.johansen@canonical.com>,
netdev@vger.kernel.org, David Ahern <dsahern@kernel.org>,
kexec@lists.infradead.org,
Adrian Hunter <adrian.hunter@intel.com>,
Eduard Zingerman <eddyz87@gmail.com>,
linux-security-module@vger.kernel.org,
Palmer Dabbelt <palmer@dabbelt.com>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Martin KaFai Lau <martin.lau@linux.dev>
Subject: Re: [PATCH 11/11] sysctl: treewide: constify the ctl_table argument of handlers
Date: Sat, 16 Mar 2024 13:52:48 +1100 [thread overview]
Message-ID: <ZfUJgML8tk6RWqOC@dread.disaster.area> (raw)
In-Reply-To: <20240315-sysctl-const-handler-v1-11-1322ac7cb03d@weissschuh.net>
On Fri, Mar 15, 2024 at 09:48:09PM +0100, Thomas Weißschuh wrote:
> Adapt the proc_hander function signature to make it clear that handlers
> are not supposed to modify their ctl_table argument.
>
> This is a prerequisite to moving the static ctl_table structs into
> .rodata.
> By migrating all handlers at once a lengthy transition can be avoided.
>
> The patch was mostly generated by coccinelle with the following script:
>
> @@
> 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)
> { ... }
Which seems to have screwed up the formatting of the XFS code...
> diff --git a/fs/xfs/xfs_sysctl.c b/fs/xfs/xfs_sysctl.c
> index a191f6560f98..a3ca192eca79 100644
> --- a/fs/xfs/xfs_sysctl.c
> +++ b/fs/xfs/xfs_sysctl.c
> @@ -10,12 +10,11 @@ static struct ctl_table_header *xfs_table_header;
>
> #ifdef CONFIG_PROC_FS
> STATIC int
> -xfs_stats_clear_proc_handler(
> - struct ctl_table *ctl,
> - int write,
> - void *buffer,
> - size_t *lenp,
> - loff_t *ppos)
> +xfs_stats_clear_proc_handler(const struct ctl_table *ctl,
> + int write,
> + void *buffer,
> + size_t *lenp,
> + loff_t *ppos)
... because this doesn't match any format I've ever seen in the
kernel. The diff for this change shold be just:
@@ -10,7 +10,7 @@ static struct ctl_table_header *xfs_table_header;
#ifdef CONFIG_PROC_FS
STATIC int
xfs_stats_clear_proc_handler(
- struct ctl_table *ctl,
+ const struct ctl_table *ctl,
int write,
void *buffer,
size_t *lenp,
> {
> int ret, *valp = ctl->data;
>
> @@ -30,12 +29,11 @@ xfs_stats_clear_proc_handler(
> }
>
> STATIC int
> -xfs_panic_mask_proc_handler(
> - struct ctl_table *ctl,
> - int write,
> - void *buffer,
> - size_t *lenp,
> - loff_t *ppos)
> +xfs_panic_mask_proc_handler(const struct ctl_table *ctl,
> + int write,
> + void *buffer,
> + size_t *lenp,
> + loff_t *ppos)
> {
> int ret, *valp = ctl->data;
>
> @@ -51,12 +49,11 @@ xfs_panic_mask_proc_handler(
> #endif /* CONFIG_PROC_FS */
>
> STATIC int
> -xfs_deprecated_dointvec_minmax(
> - struct ctl_table *ctl,
> - int write,
> - void *buffer,
> - size_t *lenp,
> - loff_t *ppos)
> +xfs_deprecated_dointvec_minmax(const struct ctl_table *ctl,
> + int write,
> + void *buffer,
> + size_t *lenp,
> + loff_t *ppos)
> {
> if (write) {
> printk_ratelimited(KERN_WARNING
And these need fixing as well.
A further quick glance at the patch reveals that there are other
similar screwed up conversions as well.
> diff --git a/kernel/delayacct.c b/kernel/delayacct.c
> index 6f0c358e73d8..513791ef573d 100644
> --- a/kernel/delayacct.c
> +++ b/kernel/delayacct.c
> @@ -44,8 +44,9 @@ void delayacct_init(void)
> }
>
> #ifdef CONFIG_PROC_SYSCTL
> -static int sysctl_delayacct(struct ctl_table *table, int write, void *buffer,
> - size_t *lenp, loff_t *ppos)
> +static int sysctl_delayacct(const struct ctl_table *table, int write,
> + void *buffer,
> + size_t *lenp, loff_t *ppos)
> {
> int state = delayacct_on;
> struct ctl_table t;
Like this.
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index 724e6d7e128f..e2955e0d9f44 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -450,7 +450,8 @@ static void update_perf_cpu_limits(void)
>
> static bool perf_rotate_context(struct perf_cpu_pmu_context *cpc);
>
> -int perf_event_max_sample_rate_handler(struct ctl_table *table, int write,
> +int perf_event_max_sample_rate_handler(const struct ctl_table *table,
> + int write,
> void *buffer, size_t *lenp, loff_t *ppos)
> {
> int ret;
And this.
> @@ -474,8 +475,10 @@ int perf_event_max_sample_rate_handler(struct ctl_table *table, int write,
>
> int sysctl_perf_cpu_time_max_percent __read_mostly = DEFAULT_CPU_TIME_MAX_PERCENT;
>
> -int perf_cpu_time_max_percent_handler(struct ctl_table *table, int write,
> - void *buffer, size_t *lenp, loff_t *ppos)
> +int perf_cpu_time_max_percent_handler(const struct ctl_table *table,
> + int write,
> + void *buffer, size_t *lenp,
> + loff_t *ppos)
> {
> int ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
>
And this.
> diff --git a/kernel/hung_task.c b/kernel/hung_task.c
> index b2fc2727d654..003f0f5cb111 100644
> --- a/kernel/hung_task.c
> +++ b/kernel/hung_task.c
> @@ -239,9 +239,10 @@ static long hung_timeout_jiffies(unsigned long last_checked,
> /*
> * Process updating of timeout sysctl
> */
> -static int proc_dohung_task_timeout_secs(struct ctl_table *table, int write,
> - void *buffer,
> - size_t *lenp, loff_t *ppos)
> +static int proc_dohung_task_timeout_secs(const struct ctl_table *table,
> + int write,
> + void *buffer,
> + size_t *lenp, loff_t *ppos)
> {
> int ret;
>
And this.
> diff --git a/kernel/latencytop.c b/kernel/latencytop.c
> index 781249098cb6..0a5c22b19821 100644
> --- a/kernel/latencytop.c
> +++ b/kernel/latencytop.c
> @@ -65,8 +65,9 @@ static struct latency_record latency_record[MAXLR];
> int latencytop_enabled;
>
> #ifdef CONFIG_SYSCTL
> -static int sysctl_latencytop(struct ctl_table *table, int write, void *buffer,
> - size_t *lenp, loff_t *ppos)
> +static int sysctl_latencytop(const struct ctl_table *table, int write,
> + void *buffer,
> + size_t *lenp, loff_t *ppos)
> {
> int err;
>
And this.
I could go on, but there are so many examples of this in the patch
that I think that it needs to be toosed away and regenerated in a
way that doesn't trash the existing function parameter formatting.
-Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2024-03-16 2:52 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-15 20:47 [PATCH 00/11] sysctl: treewide: constify ctl_table argument of sysctl handlers Thomas Weißschuh
2024-03-15 20:47 ` Thomas Weißschuh
2024-03-15 20:47 ` Thomas Weißschuh
2024-03-15 20:47 ` Thomas Weißschuh
2024-03-15 20:47 ` [PATCH 01/11] stackleak: don't modify ctl_table argument Thomas Weißschuh
2024-03-15 20:47 ` Thomas Weißschuh
2024-03-15 20:47 ` Thomas Weißschuh
2024-03-15 20:47 ` Thomas Weißschuh
2024-03-15 20:48 ` [PATCH 02/11] cgroup: bpf: constify ctl_table arguments and fields Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` [PATCH 03/11] hugetlb: constify ctl_table arguments of utility functions Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` [PATCH 04/11] utsname: constify ctl_table arguments of utility function Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` [PATCH 05/11] neighbour: " Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` [PATCH 06/11] ipv4/sysctl: constify ctl_table arguments of utility functions Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` [PATCH 07/11] ipv6/addrconf: " Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` [PATCH 08/11] ipv6/ndisc: constify ctl_table arguments of utility function Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` [PATCH 09/11] ipvs: constify ctl_table arguments of utility functions Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` [PATCH 10/11] sysctl: constify ctl_table arguments of utility function Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` [PATCH 11/11] sysctl: treewide: constify the ctl_table argument of handlers Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-15 20:48 ` Thomas Weißschuh
2024-03-16 2:52 ` Dave Chinner [this message]
2024-03-16 2:52 ` Dave Chinner
2024-03-16 2:52 ` Dave Chinner
2024-03-16 2:52 ` Dave Chinner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZfUJgML8tk6RWqOC@dread.disaster.area \
--to=david@fromorbit.com \
--cc=Dai.Ngo@oracle.com \
--cc=Jason@zx2c4.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=agordeev@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=alex.popov@linux.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=allison.henderson@oracle.com \
--cc=andrii@kernel.org \
--cc=anil.s.keshavamurthy@intel.com \
--cc=anna@kernel.org \
--cc=anup@brainfault.org \
--cc=aou@eecs.berkeley.edu \
--cc=apparmor@lists.ubuntu.com \
--cc=ast@kernel.org \
--cc=atishp@atishpatra.org \
--cc=borntraeger@linux.ibm.com \
--cc=bp@alien8.de \
--cc=bpf@vger.kernel.org \
--cc=brauner@kernel.org \
--cc=bridge@lists.linux.dev \
--cc=bristot@redhat.com \
--cc=bsegall@google.com \
--cc=bsingharora@gmail.com \
--cc=catalin.marinas@arm.com \
--cc=chandan.babu@oracle.com \
--cc=chuck.lever@oracle.com \
--cc=coreteam@netfilter.org \
--cc=courmisch@gmail.com \
--cc=daniel@iogearbox.net \
--cc=dave.hansen@linux.intel.com \
--cc=davem@davemloft.net \
--cc=dietmar.eggemann@arm.com \
--cc=djwong@kernel.org \
--cc=dsahern@kernel.org \
--cc=ebiederm@xmission.com \
--cc=eddyz87@gmail.com \
--cc=edumazet@google.com \
--cc=fw@strlen.de \
--cc=gerald.schaefer@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=gregkh@linuxfoundation.org \
--cc=haoluo@google.com \
--cc=hca@linux.ibm.com \
--cc=horms@verge.net.au \
--cc=hpa@zytor.com \
--cc=irogers@google.com \
--cc=j.granados@samsung.com \
--cc=ja@ssi.bg \
--cc=jack@suse.cz \
--cc=jlayton@kernel.org \
--cc=jmorris@namei.org \
--cc=john.fastabend@gmail.com \
--cc=john.johansen@canonical.com \
--cc=john.ogness@linutronix.de \
--cc=jolsa@kernel.org \
--cc=jstultz@google.com \
--cc=juri.lelli@redhat.com \
--cc=kadlec@netfilter.org \
--cc=keescook@chromium.org \
--cc=kexec@lists.infradead.org \
--cc=kolga@netapp.com \
--cc=kpsingh@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-sctp@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=linux@weissschuh.net \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lucien.xin@gmail.com \
--cc=luto@amacapital.net \
--cc=lvs-devel@vger.kernel.org \
--cc=marcelo.leitner@gmail.com \
--cc=mark.rutland@arm.com \
--cc=martin.lau@linux.dev \
--cc=mathieu.desnoyers@efficios.com \
--cc=mcgrof@kernel.org \
--cc=mgorman@suse.de \
--cc=mhiramat@kernel.org \
--cc=mingo@redhat.com \
--cc=muchun.song@linux.dev \
--cc=namhyung@kernel.org \
--cc=naveen.n.rao@linux.ibm.com \
--cc=neilb@suse.de \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pablo@netfilter.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=paul@paul-moore.com \
--cc=peterz@infradead.org \
--cc=phil@philpotter.co.uk \
--cc=pmladek@suse.com \
--cc=razor@blackwall.org \
--cc=rds-devel@oss.oracle.com \
--cc=roopa@nvidia.com \
--cc=rostedt@goodmis.org \
--cc=sboyd@kernel.org \
--cc=sdf@google.com \
--cc=senozhatsky@chromium.org \
--cc=serge@hallyn.com \
--cc=song@kernel.org \
--cc=sudipm.mukherjee@gmail.com \
--cc=svens@linux.ibm.com \
--cc=tglx@linutronix.de \
--cc=tom@talpey.com \
--cc=trond.myklebust@hammerspace.com \
--cc=tytso@mit.edu \
--cc=vincent.guittot@linaro.org \
--cc=viro@zeniv.linux.org.uk \
--cc=vschneid@redhat.com \
--cc=wad@chromium.org \
--cc=will@kernel.org \
--cc=willy@infradead.org \
--cc=x86@kernel.org \
--cc=yonghong.song@linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.