All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kees Cook <kees@kernel.org>
To: Joel Granados <joel.granados@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>,
	Petr Pavlu <petr.pavlu@suse.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Daniel Gomez <da.gomez@samsung.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>, Will Deacon <will@kernel.org>,
	Boqun Feng <boqun.feng@gmail.com>,
	Waiman Long <longman@redhat.com>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	Frederic Weisbecker <frederic@kernel.org>,
	Neeraj Upadhyay <neeraj.upadhyay@kernel.org>,
	Joel Fernandes <joel@joelfernandes.org>,
	Josh Triplett <josh@joshtriplett.org>,
	Uladzislau Rezki <urezki@gmail.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
	Lai Jiangshan <jiangshanlai@gmail.com>,
	Zqiang <qiang.zhang1211@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Helge Deller <deller@gmx.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jirislaby@kernel.org>,
	linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, rcu@vger.kernel.org,
	linux-mm@kvack.org, linux-parisc@vger.kernel.org,
	linux-serial@vger.kernel.org
Subject: Re: [PATCH 07/12] Input: sysrq: mv sysrq into drivers/tty/sysrq.c
Date: Fri, 9 May 2025 10:10:28 -0700	[thread overview]
Message-ID: <202505091010.F2F8C676@keescook> (raw)
In-Reply-To: <20250509-jag-mv_ctltables_iter2-v1-7-d0ad83f5f4c3@kernel.org>

On Fri, May 09, 2025 at 02:54:11PM +0200, Joel Granados wrote:
> Move both sysrq ctl_table and supported sysrq_sysctl_handler helper
> function into drivers/tty/sysrq.c. Replaced the __do_proc_dointvec in
> helper function with do_proc_dointvec as the former is local to
> kernel/sysctl.c.

nit: do_proc_dointvec_minmax

> 
> This is part of a greater effort to move ctl tables into their
> respective subsystems which will reduce the merge conflicts in
> kernel/sysctl.c.
> 
> Signed-off-by: Joel Granados <joel.granados@kernel.org>

But yes, this looks correct.

Reviewed-by: Kees Cook <kees@kernel.org>

-Kees

> ---
>  drivers/tty/sysrq.c | 38 ++++++++++++++++++++++++++++++++++++++
>  kernel/sysctl.c     | 30 ------------------------------
>  2 files changed, 38 insertions(+), 30 deletions(-)
> 
> diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c
> index 6853c4660e7c2586487fea83c12f0b7780db1ee1..8a304189749f3e33af48141a1aba5e456616c7de 100644
> --- a/drivers/tty/sysrq.c
> +++ b/drivers/tty/sysrq.c
> @@ -1119,6 +1119,44 @@ int sysrq_toggle_support(int enable_mask)
>  }
>  EXPORT_SYMBOL_GPL(sysrq_toggle_support);
>  
> +static int sysrq_sysctl_handler(const struct ctl_table *table, int write,
> +				void *buffer, size_t *lenp, loff_t *ppos)
> +{
> +	int tmp, ret;
> +	struct ctl_table t = *table;
> +
> +	tmp = sysrq_mask();
> +	t.data = &tmp;
> +
> +	ret = proc_dointvec_minmax(&t, write, buffer, lenp, ppos);
> +
> +	if (ret || !write)
> +		return ret;
> +
> +	if (write)
> +		sysrq_toggle_support(tmp);
> +
> +	return 0;
> +}
> +
> +static const struct ctl_table sysrq_sysctl_table[] = {
> +	{
> +		.procname	= "sysrq",
> +		.data		= NULL,
> +		.maxlen		= sizeof(int),
> +		.mode		= 0644,
> +		.proc_handler	= sysrq_sysctl_handler,
> +	},
> +};
> +
> +static int __init init_sysrq_sysctl(void)
> +{
> +	register_sysctl_init("kernel", sysrq_sysctl_table);
> +	return 0;
> +}
> +
> +subsys_initcall(init_sysrq_sysctl);
> +
>  static int __sysrq_swap_key_ops(u8 key, const struct sysrq_key_op *insert_op_p,
>  				const struct sysrq_key_op *remove_op_p)
>  {
> diff --git a/kernel/sysctl.c b/kernel/sysctl.c
> index febf328054aa5a7b2462a256598f86f5ded87c90..ebcc7d75acd9fecbf3c10f31480c3cb6960cb53e 100644
> --- a/kernel/sysctl.c
> +++ b/kernel/sysctl.c
> @@ -31,7 +31,6 @@
>  #include <linux/kernel.h>
>  #include <linux/kobject.h>
>  #include <linux/net.h>
> -#include <linux/sysrq.h>
>  #include <linux/highuid.h>
>  #include <linux/writeback.h>
>  #include <linux/ratelimit.h>
> @@ -964,26 +963,6 @@ int proc_dou8vec_minmax(const struct ctl_table *table, int write,
>  }
>  EXPORT_SYMBOL_GPL(proc_dou8vec_minmax);
>  
> -#ifdef CONFIG_MAGIC_SYSRQ
> -static int sysrq_sysctl_handler(const struct ctl_table *table, int write,
> -				void *buffer, size_t *lenp, loff_t *ppos)
> -{
> -	int tmp, ret;
> -
> -	tmp = sysrq_mask();
> -
> -	ret = __do_proc_dointvec(&tmp, table, write, buffer,
> -			       lenp, ppos, NULL, NULL);
> -	if (ret || !write)
> -		return ret;
> -
> -	if (write)
> -		sysrq_toggle_support(tmp);
> -
> -	return 0;
> -}
> -#endif
> -
>  static int __do_proc_doulongvec_minmax(void *data,
>  		const struct ctl_table *table, int write,
>  		void *buffer, size_t *lenp, loff_t *ppos,
> @@ -1612,15 +1591,6 @@ static const struct ctl_table kern_table[] = {
>  		.proc_handler	= proc_dostring,
>  	},
>  #endif
> -#ifdef CONFIG_MAGIC_SYSRQ
> -	{
> -		.procname	= "sysrq",
> -		.data		= NULL,
> -		.maxlen		= sizeof (int),
> -		.mode		= 0644,
> -		.proc_handler	= sysrq_sysctl_handler,
> -	},
> -#endif
>  #ifdef CONFIG_PROC_SYSCTL
>  	{
>  		.procname	= "cad_pid",
> 
> -- 
> 2.47.2
> 
> 

-- 
Kees Cook

  parent reply	other threads:[~2025-05-09 17:10 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-09 12:54 [PATCH 00/12] sysctl: Move sysctls to their respective subsystems (second batch) Joel Granados
2025-05-09 12:54 ` [PATCH 01/12] module: Move modprobe_path and modules_disabled ctl_tables into the module subsys Joel Granados
2025-05-09 16:09   ` Luis Chamberlain
2025-05-13  7:37     ` Joel Granados
2025-05-15  8:04   ` Petr Pavlu
2025-05-15 10:04     ` Joel Granados
2025-05-15 12:45       ` Petr Pavlu
2025-05-19 15:20         ` Joel Granados
2025-05-09 12:54 ` [PATCH 02/12] locking/rtmutex: Move max_lock_depth into rtmutex.c Joel Granados
2025-05-09 15:49   ` Waiman Long
2025-05-09 18:56   ` Kees Cook
2025-05-09 12:54 ` [PATCH 03/12] rcu: Move rcu_stall related sysctls into rcu/tree_stall.h Joel Granados
2025-05-09 13:14   ` Joel Fernandes
2025-05-09 16:17   ` Luis Chamberlain
2025-05-09 19:03   ` Kees Cook
2025-05-09 12:54 ` [PATCH 04/12] mm: move randomize_va_space into memory.c Joel Granados
2025-05-09 16:16   ` Luis Chamberlain
2025-05-09 19:02   ` Kees Cook
2025-05-09 12:54 ` [PATCH 05/12] parisc/power: Move soft-power into power.c Joel Granados
2025-05-09 16:15   ` Luis Chamberlain
2025-05-09 19:02   ` Kees Cook
2025-05-09 12:54 ` [PATCH 06/12] fork: mv threads-max into kernel/fork.c Joel Granados
2025-05-09 16:14   ` Luis Chamberlain
2025-05-09 19:01   ` Kees Cook
2025-05-09 12:54 ` [PATCH 07/12] Input: sysrq: mv sysrq into drivers/tty/sysrq.c Joel Granados
2025-05-09 14:47   ` Greg Kroah-Hartman
2025-05-09 17:10   ` Kees Cook [this message]
2025-05-13  7:49     ` Joel Granados
2025-05-09 12:54 ` [PATCH 08/12] sysctl: Move tainted ctl_table into kernel/panic.c Joel Granados
2025-05-09 16:12   ` Luis Chamberlain
2025-05-09 19:00   ` Kees Cook
2025-05-09 12:54 ` [PATCH 09/12] sysctl: move cad_pid into kernel/pid.c Joel Granados
2025-05-09 16:13   ` Luis Chamberlain
2025-05-09 19:01   ` Kees Cook
2025-05-13  7:33     ` Joel Granados
2025-05-09 12:54 ` [PATCH 10/12] sysctl: Move sysctl_panic_on_stackoverflow to kernel/panic.c Joel Granados
2025-05-09 17:04   ` Kees Cook
2025-05-09 12:54 ` [PATCH 11/12] sysctl: Remove (very) old file changelog Joel Granados
2025-05-09 16:11   ` Luis Chamberlain
2025-05-09 18:57   ` Kees Cook
2025-05-09 12:54 ` [PATCH 12/12] sysctl: Remove superfluous includes from kernel/sysctl.c Joel Granados
2025-05-09 16:12   ` Luis Chamberlain
2025-05-09 18:57   ` Kees Cook

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=202505091010.F2F8C676@keescook \
    --to=kees@kernel.org \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=akpm@linux-foundation.org \
    --cc=boqun.feng@gmail.com \
    --cc=da.gomez@samsung.com \
    --cc=deller@gmx.de \
    --cc=frederic@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jiangshanlai@gmail.com \
    --cc=jirislaby@kernel.org \
    --cc=joel.granados@kernel.org \
    --cc=joel@joelfernandes.org \
    --cc=josh@joshtriplett.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-modules@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=longman@redhat.com \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mcgrof@kernel.org \
    --cc=mingo@redhat.com \
    --cc=neeraj.upadhyay@kernel.org \
    --cc=paulmck@kernel.org \
    --cc=peterz@infradead.org \
    --cc=petr.pavlu@suse.com \
    --cc=qiang.zhang1211@gmail.com \
    --cc=rcu@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=samitolvanen@google.com \
    --cc=urezki@gmail.com \
    --cc=will@kernel.org \
    /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.