Re: [PATCH 2/5] kobject: make kobject_namespace take a const *

From: Rafael J. Wysocki
Date: Mon Nov 21 2022 - 06:50:38 EST


On Mon, Nov 21, 2022 at 10:46 AM Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> kobject_namespace() should take a const *kobject as it does not modify
> the kobject passed to it. Change that, and the functions
> kobj_child_ns_ops() and kobj_ns_ops() needed to also be changed to const
> *.
>
> Cc: "Rafael J. Wysocki" <rafael@xxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

Acked-by: Rafael J. Wysocki <rafael@xxxxxxxxxx>

> ---
> include/linux/kobject.h | 2 +-
> include/linux/kobject_ns.h | 4 ++--
> lib/kobject.c | 6 +++---
> 3 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/include/linux/kobject.h b/include/linux/kobject.h
> index d978dbceb50d..5a2d58e10bf5 100644
> --- a/include/linux/kobject.h
> +++ b/include/linux/kobject.h
> @@ -112,7 +112,7 @@ extern struct kobject * __must_check kobject_get_unless_zero(
> struct kobject *kobj);
> extern void kobject_put(struct kobject *kobj);
>
> -extern const void *kobject_namespace(struct kobject *kobj);
> +extern const void *kobject_namespace(const struct kobject *kobj);
> extern void kobject_get_ownership(const struct kobject *kobj,
> kuid_t *uid, kgid_t *gid);
> extern char *kobject_get_path(const struct kobject *kobj, gfp_t flag);
> diff --git a/include/linux/kobject_ns.h b/include/linux/kobject_ns.h
> index 2b5b64256cf4..be707748e7ce 100644
> --- a/include/linux/kobject_ns.h
> +++ b/include/linux/kobject_ns.h
> @@ -47,8 +47,8 @@ struct kobj_ns_type_operations {
>
> int kobj_ns_type_register(const struct kobj_ns_type_operations *ops);
> int kobj_ns_type_registered(enum kobj_ns_type type);
> -const struct kobj_ns_type_operations *kobj_child_ns_ops(struct kobject *parent);
> -const struct kobj_ns_type_operations *kobj_ns_ops(struct kobject *kobj);
> +const struct kobj_ns_type_operations *kobj_child_ns_ops(const struct kobject *parent);
> +const struct kobj_ns_type_operations *kobj_ns_ops(const struct kobject *kobj);
>
> bool kobj_ns_current_may_mount(enum kobj_ns_type type);
> void *kobj_ns_grab_current(enum kobj_ns_type type);
> diff --git a/lib/kobject.c b/lib/kobject.c
> index 26e744a46d24..6e0bf03f4f36 100644
> --- a/lib/kobject.c
> +++ b/lib/kobject.c
> @@ -25,7 +25,7 @@
> * and thus @kobj should have a namespace tag associated with it. Returns
> * %NULL otherwise.
> */
> -const void *kobject_namespace(struct kobject *kobj)
> +const void *kobject_namespace(const struct kobject *kobj)
> {
> const struct kobj_ns_type_operations *ns_ops = kobj_ns_ops(kobj);
>
> @@ -1039,7 +1039,7 @@ int kobj_ns_type_registered(enum kobj_ns_type type)
> return registered;
> }
>
> -const struct kobj_ns_type_operations *kobj_child_ns_ops(struct kobject *parent)
> +const struct kobj_ns_type_operations *kobj_child_ns_ops(const struct kobject *parent)
> {
> const struct kobj_ns_type_operations *ops = NULL;
>
> @@ -1049,7 +1049,7 @@ const struct kobj_ns_type_operations *kobj_child_ns_ops(struct kobject *parent)
> return ops;
> }
>
> -const struct kobj_ns_type_operations *kobj_ns_ops(struct kobject *kobj)
> +const struct kobj_ns_type_operations *kobj_ns_ops(const struct kobject *kobj)
> {
> return kobj_child_ns_ops(kobj->parent);
> }
> --
> 2.38.1
>