aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <[email protected]>2024-09-24 11:08:40 -0700
committerLinus Torvalds <[email protected]>2024-09-24 11:08:40 -0700
commit172d513936c707e991c3eca1b79cd8a153171862 (patch)
tree4fb4d95f7d389ba3ab80008342d351e2ca761a17
parent97d8894b6f4c44762fd48f5d29e73358d6181dbb (diff)
parent732b47db1d6c26985faca1ae5820bcfa10f6335d (diff)
Merge tag 'sysctl-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl
Pull sysctl update from Joel Granados: - Avoid evaluating non-mount ctl_tables as a sysctl_mount_point by removing the unlikely (but possible) chance that the permanently empty ctl_table array shares its address with another ctl_table - Update Joel Granados' contact info in MAINTAINERS * tag 'sysctl-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl: MAINTAINERS: update email for Joel Granados sysctl: avoid spurious permanent empty tables
-rw-r--r--.mailmap1
-rw-r--r--MAINTAINERS2
-rw-r--r--fs/proc/proc_sysctl.c11
3 files changed, 10 insertions, 4 deletions
diff --git a/.mailmap b/.mailmap
index fd55783680cd..0374777cc662 100644
--- a/.mailmap
+++ b/.mailmap
@@ -316,6 +316,7 @@ Jiri Slaby <[email protected]> <[email protected]>
diff --git a/MAINTAINERS b/MAINTAINERS
index 37ecb75f5890..42bb30fdc244 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -18507,7 +18507,7 @@ F: tools/testing/selftests/proc/
PROC SYSCTL
M: Luis Chamberlain <[email protected]>
M: Kees Cook <[email protected]>
-M: Joel Granados <[email protected]>
+M: Joel Granados <[email protected]>
S: Maintained
diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c
index 9553e77c9d31..d11ebc055ce0 100644
--- a/fs/proc/proc_sysctl.c
+++ b/fs/proc/proc_sysctl.c
@@ -29,8 +29,13 @@ static const struct inode_operations proc_sys_inode_operations;
static const struct file_operations proc_sys_dir_file_operations;
static const struct inode_operations proc_sys_dir_operations;
-/* Support for permanently empty directories */
-static struct ctl_table sysctl_mount_point[] = { };
+/*
+ * Support for permanently empty directories.
+ * Must be non-empty to avoid sharing an address with other tables.
+ */
+static struct ctl_table sysctl_mount_point[] = {
+ { }
+};
/**
* register_sysctl_mount_point() - registers a sysctl mount point
@@ -42,7 +47,7 @@ static struct ctl_table sysctl_mount_point[] = { };
*/
struct ctl_table_header *register_sysctl_mount_point(const char *path)
{
- return register_sysctl(path, sysctl_mount_point);
+ return register_sysctl_sz(path, sysctl_mount_point, 0);
}
EXPORT_SYMBOL(register_sysctl_mount_point);