2023-03-02 20:29:41

by Luis Chamberlain

[permalink] [raw]
Subject: [PATCH 04/11] apparmor: simplify sysctls with register_sysctl_init()

Using register_sysctl_paths() is really only needed if you have
subdirectories with entries. We can use the simple register_sysctl()
instead.

Signed-off-by: Luis Chamberlain <[email protected]>
---
security/apparmor/lsm.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index d6cc4812ca53..47c7ec7e5a80 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -1764,11 +1764,6 @@ static int apparmor_dointvec(struct ctl_table *table, int write,
return proc_dointvec(table, write, buffer, lenp, ppos);
}

-static struct ctl_path apparmor_sysctl_path[] = {
- { .procname = "kernel", },
- { }
-};
-
static struct ctl_table apparmor_sysctl_table[] = {
{
.procname = "unprivileged_userns_apparmor_policy",
@@ -1790,8 +1785,7 @@ static struct ctl_table apparmor_sysctl_table[] = {

static int __init apparmor_init_sysctl(void)
{
- return register_sysctl_paths(apparmor_sysctl_path,
- apparmor_sysctl_table) ? 0 : -ENOMEM;
+ return register_sysctl("kernel", apparmor_sysctl_table) ? 0 : -ENOMEM;
}
#else
static inline int apparmor_init_sysctl(void)
--
2.39.1



2023-03-02 20:42:29

by Georgia Garcia

[permalink] [raw]
Subject: Re: [PATCH 04/11] apparmor: simplify sysctls with register_sysctl_init()

On Thu, 2023-03-02 at 12:28 -0800, Luis Chamberlain wrote:
> Using register_sysctl_paths() is really only needed if you have
> subdirectories with entries. We can use the simple register_sysctl()
> instead.
>
> Signed-off-by: Luis Chamberlain <[email protected]>
> ---
> security/apparmor/lsm.c | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
> index d6cc4812ca53..47c7ec7e5a80 100644
> --- a/security/apparmor/lsm.c
> +++ b/security/apparmor/lsm.c
> @@ -1764,11 +1764,6 @@ static int apparmor_dointvec(struct ctl_table *table, int write,
> return proc_dointvec(table, write, buffer, lenp, ppos);
> }
>
> -static struct ctl_path apparmor_sysctl_path[] = {
> - { .procname = "kernel", },
> - { }
> -};
> -
> static struct ctl_table apparmor_sysctl_table[] = {
> {
> .procname = "unprivileged_userns_apparmor_policy",
> @@ -1790,8 +1785,7 @@ static struct ctl_table apparmor_sysctl_table[] = {
>
> static int __init apparmor_init_sysctl(void)
> {
> - return register_sysctl_paths(apparmor_sysctl_path,
> - apparmor_sysctl_table) ? 0 : -ENOMEM;
> + return register_sysctl("kernel", apparmor_sysctl_table) ? 0 : -ENOMEM;
> }
> #else
> static inline int apparmor_init_sysctl(void)

Reviewed-by: Georgia Garcia <[email protected]>


2023-03-02 22:52:19

by John Johansen

[permalink] [raw]
Subject: Re: [PATCH 04/11] apparmor: simplify sysctls with register_sysctl_init()

On 3/2/23 12:28, Luis Chamberlain wrote:
> Using register_sysctl_paths() is really only needed if you have
> subdirectories with entries. We can use the simple register_sysctl()
> instead.
>
> Signed-off-by: Luis Chamberlain <[email protected]>
Acked-by: John Johansen <[email protected]>

> ---
> security/apparmor/lsm.c | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
> index d6cc4812ca53..47c7ec7e5a80 100644
> --- a/security/apparmor/lsm.c
> +++ b/security/apparmor/lsm.c
> @@ -1764,11 +1764,6 @@ static int apparmor_dointvec(struct ctl_table *table, int write,
> return proc_dointvec(table, write, buffer, lenp, ppos);
> }
>
> -static struct ctl_path apparmor_sysctl_path[] = {
> - { .procname = "kernel", },
> - { }
> -};
> -
> static struct ctl_table apparmor_sysctl_table[] = {
> {
> .procname = "unprivileged_userns_apparmor_policy",
> @@ -1790,8 +1785,7 @@ static struct ctl_table apparmor_sysctl_table[] = {
>
> static int __init apparmor_init_sysctl(void)
> {
> - return register_sysctl_paths(apparmor_sysctl_path,
> - apparmor_sysctl_table) ? 0 : -ENOMEM;
> + return register_sysctl("kernel", apparmor_sysctl_table) ? 0 : -ENOMEM;
> }
> #else
> static inline int apparmor_init_sysctl(void)