Praparation series to enable constification of struct ctl_table further
down the line.
No functional changes are intended.
These changes have been split out and reworked from my original
const sysctl patchset [0].
I'm resubmitting the patchset in smaller chunks for easier review.
Each split-out series is meant to be useful on its own.
Changes since the original series:
* Explicit initializartion of header->type in init_header()
* Some additional cleanups
[0] https://lore.kernel.org/lkml/[email protected]/
---
Changes in v2:
- Rebase onto next-20240322 without changes
- Squash patch 4 into patch 3 (Joel)
- Rework commit messages as per Joels requests
- Link to v1: https://lore.kernel.org/r/[email protected]
---
Thomas Weißschuh (3):
sysctl: drop sysctl_is_perm_empty_ctl_table
sysctl: move sysctl type to ctl_table_header
sysctl: drop now unnecessary out-of-bounds check
fs/proc/proc_sysctl.c | 19 ++++++++-----------
include/linux/sysctl.h | 22 +++++++++++-----------
2 files changed, 19 insertions(+), 22 deletions(-)
---
base-commit: 13ee4a7161b6fd938aef6688ff43b163f6d83e37
change-id: 20231216-sysctl-empty-dir-71d7631f7bfe
Best regards,
--
Thomas Weißschuh <[email protected]>
Remove the now unneeded check for ctl_table_size; it is safe
to do so as sysctl_set_perm_empty_ctl_header() does not access the
ctl_table member anymore.
This also makes the element of sysctl_mount_point unnecessary, so drop
it at the same time.
Signed-off-by: Thomas Weißschuh <[email protected]>
---
fs/proc/proc_sysctl.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c
index fde7a2f773f0..7c0e27dc3d9d 100644
--- a/fs/proc/proc_sysctl.c
+++ b/fs/proc/proc_sysctl.c
@@ -30,9 +30,7 @@ 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[] = {
- { }
-};
+static struct ctl_table sysctl_mount_point[] = { };
/**
* register_sysctl_mount_point() - registers a sysctl mount point
@@ -232,8 +230,7 @@ static int insert_header(struct ctl_dir *dir, struct ctl_table_header *header)
return -EROFS;
/* Am I creating a permanently empty directory? */
- if (header->ctl_table_size > 0 &&
- sysctl_is_perm_empty_ctl_header(header)) {
+ if (sysctl_is_perm_empty_ctl_header(header)) {
if (!RB_EMPTY_ROOT(&dir->root))
return -EINVAL;
sysctl_set_perm_empty_ctl_header(dir_h);
--
2.44.0
Added this to the constfy branch Thx
On Fri, Mar 22, 2024 at 06:05:55PM +0100, Thomas Wei?schuh wrote:
> Praparation series to enable constification of struct ctl_table further
> down the line.
> No functional changes are intended.
>
> These changes have been split out and reworked from my original
> const sysctl patchset [0].
> I'm resubmitting the patchset in smaller chunks for easier review.
> Each split-out series is meant to be useful on its own.
>
> Changes since the original series:
> * Explicit initializartion of header->type in init_header()
> * Some additional cleanups
>
> [0] https://lore.kernel.org/lkml/[email protected]/
>
> ---
> Changes in v2:
> - Rebase onto next-20240322 without changes
> - Squash patch 4 into patch 3 (Joel)
> - Rework commit messages as per Joels requests
> - Link to v1: https://lore.kernel.org/r/[email protected]
>
> ---
> Thomas Wei?schuh (3):
> sysctl: drop sysctl_is_perm_empty_ctl_table
> sysctl: move sysctl type to ctl_table_header
> sysctl: drop now unnecessary out-of-bounds check
>
> fs/proc/proc_sysctl.c | 19 ++++++++-----------
> include/linux/sysctl.h | 22 +++++++++++-----------
> 2 files changed, 19 insertions(+), 22 deletions(-)
> ---
> base-commit: 13ee4a7161b6fd938aef6688ff43b163f6d83e37
> change-id: 20231216-sysctl-empty-dir-71d7631f7bfe
>
> Best regards,
> --
> Thomas Wei?schuh <[email protected]>
>
Signed-off-by: Joel Granados <[email protected]>
--
Joel Granados