From: Luis Chamberlain <mcgrof@kernel.org>
To: akpm@linux-foundation.org, keescook@chromium.org,
yzaikin@google.com, nixiaoming@huawei.com, ebiederm@xmission.com,
clemens@ladisch.de, arnd@arndb.de, gregkh@linuxfoundation.org,
jani.nikula@linux.intel.com, joonas.lahtinen@linux.intel.com,
rodrigo.vivi@intel.com, tvrtko.ursulin@linux.intel.com,
airlied@linux.ie, "daniel@ffwll.chairlied"@linux.ie,
benh@kernel.crashing.org, mark@fasheh.com, jlbec@evilplan.org,
joseph.qi@linux.alibaba.com, jack@suse.cz, amir73il@gmail.com,
phil@philpotter.co.uk, viro@zeniv.linux.org.uk,
julia.lawall@inria.fr
Cc: intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org,
Luis Chamberlain <mcgrof@kernel.org>,
linux-fsdevel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
ocfs2-devel@oss.oracle.com
Subject: [Intel-gfx] [PATCH v2 6/8] inotify: simplify subdirectory registration with register_sysctl()
Date: Tue, 23 Nov 2021 12:24:20 -0800 [thread overview]
Message-ID: <20211123202422.819032-7-mcgrof@kernel.org> (raw)
In-Reply-To: <20211123202422.819032-1-mcgrof@kernel.org>
From: Xiaoming Ni <nixiaoming@huawei.com>
There is no need to user boiler plate code to specify a set of base
directories we're going to stuff sysctls under. Simplify this by using
register_sysctl() and specifying the directory path directly.
Move inotify_user sysctl to inotify_user.c while at it to remove clutter
from kernel/sysctl.c.
Signed-off-by: Xiaoming Ni <nixiaoming@huawei.com>
[mcgrof: update commit log to reflect new path we decided to take]
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
fs/notify/inotify/inotify_user.c | 11 ++++++++++-
include/linux/inotify.h | 3 ---
kernel/sysctl.c | 21 ---------------------
3 files changed, 10 insertions(+), 25 deletions(-)
diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c
index 29fca3284bb5..54583f62dc44 100644
--- a/fs/notify/inotify/inotify_user.c
+++ b/fs/notify/inotify/inotify_user.c
@@ -58,7 +58,7 @@ struct kmem_cache *inotify_inode_mark_cachep __read_mostly;
static long it_zero = 0;
static long it_int_max = INT_MAX;
-struct ctl_table inotify_table[] = {
+static struct ctl_table inotify_table[] = {
{
.procname = "max_user_instances",
.data = &init_user_ns.ucount_max[UCOUNT_INOTIFY_INSTANCES],
@@ -87,6 +87,14 @@ struct ctl_table inotify_table[] = {
},
{ }
};
+
+static void __init inotify_sysctls_init(void)
+{
+ register_sysctl("fs/inotify", inotify_table);
+}
+
+#else
+#define inotify_sysctls_init() do { } while (0)
#endif /* CONFIG_SYSCTL */
static inline __u32 inotify_arg_to_mask(struct inode *inode, u32 arg)
@@ -849,6 +857,7 @@ static int __init inotify_user_setup(void)
inotify_max_queued_events = 16384;
init_user_ns.ucount_max[UCOUNT_INOTIFY_INSTANCES] = 128;
init_user_ns.ucount_max[UCOUNT_INOTIFY_WATCHES] = watches_max;
+ inotify_sysctls_init();
return 0;
}
diff --git a/include/linux/inotify.h b/include/linux/inotify.h
index 6a24905f6e1e..8d20caa1b268 100644
--- a/include/linux/inotify.h
+++ b/include/linux/inotify.h
@@ -7,11 +7,8 @@
#ifndef _LINUX_INOTIFY_H
#define _LINUX_INOTIFY_H
-#include <linux/sysctl.h>
#include <uapi/linux/inotify.h>
-extern struct ctl_table inotify_table[]; /* for sysctl */
-
#define ALL_INOTIFY_BITS (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | \
IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | \
IN_MOVED_TO | IN_CREATE | IN_DELETE | \
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 7a90a12b9ea4..6aa67c737e4e 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -125,13 +125,6 @@ static const int maxolduid = 65535;
static const int ngroups_max = NGROUPS_MAX;
static const int cap_last_cap = CAP_LAST_CAP;
-#ifdef CONFIG_INOTIFY_USER
-#include <linux/inotify.h>
-#endif
-#ifdef CONFIG_FANOTIFY
-#include <linux/fanotify.h>
-#endif
-
#ifdef CONFIG_PROC_SYSCTL
/**
@@ -3099,20 +3092,6 @@ static struct ctl_table fs_table[] = {
.proc_handler = proc_dointvec,
},
#endif
-#ifdef CONFIG_INOTIFY_USER
- {
- .procname = "inotify",
- .mode = 0555,
- .child = inotify_table,
- },
-#endif
-#ifdef CONFIG_FANOTIFY
- {
- .procname = "fanotify",
- .mode = 0555,
- .child = fanotify_table,
- },
-#endif
#ifdef CONFIG_EPOLL
{
.procname = "epoll",
--
2.33.0
WARNING: multiple messages have this Message-ID (diff)
From: Luis Chamberlain <mcgrof@kernel.org>
To: akpm@linux-foundation.org, keescook@chromium.org,
yzaikin@google.com, nixiaoming@huawei.com, ebiederm@xmission.com,
clemens@ladisch.de, arnd@arndb.de, gregkh@linuxfoundation.org,
jani.nikula@linux.intel.com, joonas.lahtinen@linux.intel.com,
rodrigo.vivi@intel.com, tvrtko.ursulin@linux.intel.com,
airlied@linux.ie, "daniel@ffwll.chairlied"@linux.ie,
benh@kernel.crashing.org, mark@fasheh.com, jlbec@evilplan.org,
joseph.qi@linux.alibaba.com, jack@suse.cz, amir73il@gmail.com,
phil@philpotter.co.uk, viro@zeniv.linux.org.uk,
julia.lawall@inria.fr
Cc: intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org,
Luis Chamberlain <mcgrof@kernel.org>,
linux-fsdevel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
ocfs2-devel@oss.oracle.com
Subject: [PATCH v2 6/8] inotify: simplify subdirectory registration with register_sysctl()
Date: Tue, 23 Nov 2021 12:24:20 -0800 [thread overview]
Message-ID: <20211123202422.819032-7-mcgrof@kernel.org> (raw)
In-Reply-To: <20211123202422.819032-1-mcgrof@kernel.org>
From: Xiaoming Ni <nixiaoming@huawei.com>
There is no need to user boiler plate code to specify a set of base
directories we're going to stuff sysctls under. Simplify this by using
register_sysctl() and specifying the directory path directly.
Move inotify_user sysctl to inotify_user.c while at it to remove clutter
from kernel/sysctl.c.
Signed-off-by: Xiaoming Ni <nixiaoming@huawei.com>
[mcgrof: update commit log to reflect new path we decided to take]
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
fs/notify/inotify/inotify_user.c | 11 ++++++++++-
include/linux/inotify.h | 3 ---
kernel/sysctl.c | 21 ---------------------
3 files changed, 10 insertions(+), 25 deletions(-)
diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c
index 29fca3284bb5..54583f62dc44 100644
--- a/fs/notify/inotify/inotify_user.c
+++ b/fs/notify/inotify/inotify_user.c
@@ -58,7 +58,7 @@ struct kmem_cache *inotify_inode_mark_cachep __read_mostly;
static long it_zero = 0;
static long it_int_max = INT_MAX;
-struct ctl_table inotify_table[] = {
+static struct ctl_table inotify_table[] = {
{
.procname = "max_user_instances",
.data = &init_user_ns.ucount_max[UCOUNT_INOTIFY_INSTANCES],
@@ -87,6 +87,14 @@ struct ctl_table inotify_table[] = {
},
{ }
};
+
+static void __init inotify_sysctls_init(void)
+{
+ register_sysctl("fs/inotify", inotify_table);
+}
+
+#else
+#define inotify_sysctls_init() do { } while (0)
#endif /* CONFIG_SYSCTL */
static inline __u32 inotify_arg_to_mask(struct inode *inode, u32 arg)
@@ -849,6 +857,7 @@ static int __init inotify_user_setup(void)
inotify_max_queued_events = 16384;
init_user_ns.ucount_max[UCOUNT_INOTIFY_INSTANCES] = 128;
init_user_ns.ucount_max[UCOUNT_INOTIFY_WATCHES] = watches_max;
+ inotify_sysctls_init();
return 0;
}
diff --git a/include/linux/inotify.h b/include/linux/inotify.h
index 6a24905f6e1e..8d20caa1b268 100644
--- a/include/linux/inotify.h
+++ b/include/linux/inotify.h
@@ -7,11 +7,8 @@
#ifndef _LINUX_INOTIFY_H
#define _LINUX_INOTIFY_H
-#include <linux/sysctl.h>
#include <uapi/linux/inotify.h>
-extern struct ctl_table inotify_table[]; /* for sysctl */
-
#define ALL_INOTIFY_BITS (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | \
IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | \
IN_MOVED_TO | IN_CREATE | IN_DELETE | \
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 7a90a12b9ea4..6aa67c737e4e 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -125,13 +125,6 @@ static const int maxolduid = 65535;
static const int ngroups_max = NGROUPS_MAX;
static const int cap_last_cap = CAP_LAST_CAP;
-#ifdef CONFIG_INOTIFY_USER
-#include <linux/inotify.h>
-#endif
-#ifdef CONFIG_FANOTIFY
-#include <linux/fanotify.h>
-#endif
-
#ifdef CONFIG_PROC_SYSCTL
/**
@@ -3099,20 +3092,6 @@ static struct ctl_table fs_table[] = {
.proc_handler = proc_dointvec,
},
#endif
-#ifdef CONFIG_INOTIFY_USER
- {
- .procname = "inotify",
- .mode = 0555,
- .child = inotify_table,
- },
-#endif
-#ifdef CONFIG_FANOTIFY
- {
- .procname = "fanotify",
- .mode = 0555,
- .child = fanotify_table,
- },
-#endif
#ifdef CONFIG_EPOLL
{
.procname = "epoll",
--
2.33.0
next prev parent reply other threads:[~2021-11-23 20:25 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-23 20:24 [Intel-gfx] [PATCH v2 0/8] sysctl: second set of kernel/sysctl cleanups Luis Chamberlain
2021-11-23 20:24 ` Luis Chamberlain
2021-11-23 20:24 ` [Intel-gfx] [PATCH v2 1/8] hpet: simplify subdirectory registration with register_sysctl() Luis Chamberlain
2021-11-23 20:24 ` Luis Chamberlain
2021-11-23 20:24 ` [Intel-gfx] [PATCH v2 2/8] i915: " Luis Chamberlain
2021-11-23 20:24 ` Luis Chamberlain
2021-11-25 9:41 ` [Intel-gfx] " Jani Nikula
2021-11-25 9:41 ` Jani Nikula
2021-11-25 9:41 ` Jani Nikula
2021-11-23 20:24 ` [Intel-gfx] [PATCH v2 3/8] macintosh/mac_hid.c: " Luis Chamberlain
2021-11-23 20:24 ` Luis Chamberlain
2021-11-23 20:24 ` [Intel-gfx] [PATCH v2 4/8] ocfs2: " Luis Chamberlain
2021-11-23 20:24 ` Luis Chamberlain
2021-11-24 9:49 ` [Intel-gfx] " Jan Kara
2021-11-24 9:49 ` Jan Kara
2021-11-24 9:49 ` Jan Kara
2021-11-24 9:49 ` Jan Kara
2021-11-24 9:49 ` [Ocfs2-devel] " Jan Kara via Ocfs2-devel
2021-11-23 20:24 ` [Intel-gfx] [PATCH v2 5/8] test_sysctl: " Luis Chamberlain
2021-11-23 20:24 ` Luis Chamberlain
2021-11-23 20:24 ` Luis Chamberlain [this message]
2021-11-23 20:24 ` [PATCH v2 6/8] inotify: " Luis Chamberlain
2021-11-24 9:44 ` [Intel-gfx] " Jan Kara
2021-11-24 9:44 ` Jan Kara
2021-11-24 9:44 ` Jan Kara
2021-11-24 9:44 ` Jan Kara
2021-11-24 9:44 ` [Ocfs2-devel] " Jan Kara via Ocfs2-devel
2021-11-24 13:40 ` [Intel-gfx] " Luis Chamberlain
2021-11-24 13:40 ` Luis Chamberlain
2021-11-24 13:40 ` Luis Chamberlain
2021-11-24 13:40 ` Luis Chamberlain
2021-11-24 13:40 ` [Ocfs2-devel] " Luis Chamberlain via Ocfs2-devel
2021-11-23 20:24 ` [Intel-gfx] [PATCH v2 7/8] cdrom: " Luis Chamberlain
2021-11-23 20:24 ` Luis Chamberlain
2021-11-25 9:23 ` [Intel-gfx] " Phillip Potter
2021-11-25 9:23 ` Phillip Potter
2021-11-25 9:23 ` Phillip Potter
2021-11-25 9:23 ` Phillip Potter
2021-11-23 20:24 ` [Intel-gfx] [PATCH v2 8/8] eventpoll: simplify sysctl declaration " Luis Chamberlain
2021-11-23 20:24 ` Luis Chamberlain
2021-11-23 22:56 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for sysctl: second set of kernel/sysctl cleanups Patchwork
2021-11-24 13:59 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for sysctl: second set of kernel/sysctl cleanups (rev2) Patchwork
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=20211123202422.819032-7-mcgrof@kernel.org \
--to=mcgrof@kernel.org \
--cc="daniel@ffwll.chairlied"@linux.ie \
--cc=airlied@linux.ie \
--cc=akpm@linux-foundation.org \
--cc=amir73il@gmail.com \
--cc=arnd@arndb.de \
--cc=benh@kernel.crashing.org \
--cc=clemens@ladisch.de \
--cc=dri-devel@lists.freedesktop.org \
--cc=ebiederm@xmission.com \
--cc=gregkh@linuxfoundation.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jack@suse.cz \
--cc=jani.nikula@linux.intel.com \
--cc=jlbec@evilplan.org \
--cc=joonas.lahtinen@linux.intel.com \
--cc=joseph.qi@linux.alibaba.com \
--cc=julia.lawall@inria.fr \
--cc=keescook@chromium.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mark@fasheh.com \
--cc=nixiaoming@huawei.com \
--cc=ocfs2-devel@oss.oracle.com \
--cc=phil@philpotter.co.uk \
--cc=rodrigo.vivi@intel.com \
--cc=tvrtko.ursulin@linux.intel.com \
--cc=viro@zeniv.linux.org.uk \
--cc=yzaikin@google.com \
/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.