2024-02-22 07:08:56

by Thomas Weißschuh

[permalink] [raw]
Subject: [PATCH 3/4] sysctl: drop now unnecessary out-of-bounds check

The type field is now part of the header so
sysctl_is_perm_empty_ctl_header() can safely be executed even without
any ctl_tables.

Signed-off-by: Thomas Weißschuh <[email protected]>
---
fs/proc/proc_sysctl.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c
index fde7a2f773f0..4cdf98c6a9a4 100644
--- a/fs/proc/proc_sysctl.c
+++ b/fs/proc/proc_sysctl.c
@@ -232,8 +232,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.43.2



2024-03-19 15:28:10

by Joel Granados

[permalink] [raw]
Subject: Re: [PATCH 3/4] sysctl: drop now unnecessary out-of-bounds check

On Thu, Feb 22, 2024 at 08:07:38AM +0100, Thomas Wei?schuh wrote:
> The type field is now part of the header so
> sysctl_is_perm_empty_ctl_header() can safely be executed even without
> any ctl_tables.

Only comments on the commit message.
1. Can you please put this and your 4/4 patch together. Since 4/4 comes
is a result of this 3/4 patch, then they can be in one.
2. Please re-write the commit message to state what you did: Something
like : "Remove the now unneeded check for ctl_table_size; it is safe
to do so as it is now part of ctl_table_header.
3. Remember to mention the removal of the sentinel when you merge 3/4
and 4/4

>
> Signed-off-by: Thomas Wei?schuh <[email protected]>
> ---
> fs/proc/proc_sysctl.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c
> index fde7a2f773f0..4cdf98c6a9a4 100644
> --- a/fs/proc/proc_sysctl.c
> +++ b/fs/proc/proc_sysctl.c
> @@ -232,8 +232,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.43.2
>

--

Joel Granados


Attachments:
(No filename) (1.44 kB)
signature.asc (673.00 B)
Download all attachments