linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] xfs: make kobj_type structures constant
@ 2023-02-09  3:16 Thomas Weißschuh
  2023-02-10  2:57 ` Darrick J. Wong
  0 siblings, 1 reply; 2+ messages in thread
From: Thomas Weißschuh @ 2023-02-09  3:16 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: linux-xfs, linux-kernel, Thomas Weißschuh

Since commit ee6d3dd4ed48 ("driver core: make kobj_type constant.")
the driver core allows the usage of const struct kobj_type.

Take advantage of this to constify the structure definitions to prevent
modification at runtime.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
 fs/xfs/xfs_error.c |  2 +-
 fs/xfs/xfs_sysfs.c | 12 ++++++------
 fs/xfs/xfs_sysfs.h | 10 +++++-----
 3 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/fs/xfs/xfs_error.c b/fs/xfs/xfs_error.c
index ae082808cfed..b2cbbba3e15a 100644
--- a/fs/xfs/xfs_error.c
+++ b/fs/xfs/xfs_error.c
@@ -228,7 +228,7 @@ static struct attribute *xfs_errortag_attrs[] = {
 };
 ATTRIBUTE_GROUPS(xfs_errortag);
 
-static struct kobj_type xfs_errortag_ktype = {
+static const struct kobj_type xfs_errortag_ktype = {
 	.release = xfs_sysfs_release,
 	.sysfs_ops = &xfs_errortag_sysfs_ops,
 	.default_groups = xfs_errortag_groups,
diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c
index f7faf6e70d7f..a3c6b1548723 100644
--- a/fs/xfs/xfs_sysfs.c
+++ b/fs/xfs/xfs_sysfs.c
@@ -69,7 +69,7 @@ static struct attribute *xfs_mp_attrs[] = {
 };
 ATTRIBUTE_GROUPS(xfs_mp);
 
-struct kobj_type xfs_mp_ktype = {
+const struct kobj_type xfs_mp_ktype = {
 	.release = xfs_sysfs_release,
 	.sysfs_ops = &xfs_sysfs_ops,
 	.default_groups = xfs_mp_groups,
@@ -266,7 +266,7 @@ static struct attribute *xfs_dbg_attrs[] = {
 };
 ATTRIBUTE_GROUPS(xfs_dbg);
 
-struct kobj_type xfs_dbg_ktype = {
+const struct kobj_type xfs_dbg_ktype = {
 	.release = xfs_sysfs_release,
 	.sysfs_ops = &xfs_sysfs_ops,
 	.default_groups = xfs_dbg_groups,
@@ -324,7 +324,7 @@ static struct attribute *xfs_stats_attrs[] = {
 };
 ATTRIBUTE_GROUPS(xfs_stats);
 
-struct kobj_type xfs_stats_ktype = {
+const struct kobj_type xfs_stats_ktype = {
 	.release = xfs_sysfs_release,
 	.sysfs_ops = &xfs_sysfs_ops,
 	.default_groups = xfs_stats_groups,
@@ -410,7 +410,7 @@ static struct attribute *xfs_log_attrs[] = {
 };
 ATTRIBUTE_GROUPS(xfs_log);
 
-struct kobj_type xfs_log_ktype = {
+const struct kobj_type xfs_log_ktype = {
 	.release = xfs_sysfs_release,
 	.sysfs_ops = &xfs_sysfs_ops,
 	.default_groups = xfs_log_groups,
@@ -564,13 +564,13 @@ static struct attribute *xfs_error_attrs[] = {
 };
 ATTRIBUTE_GROUPS(xfs_error);
 
-static struct kobj_type xfs_error_cfg_ktype = {
+static const struct kobj_type xfs_error_cfg_ktype = {
 	.release = xfs_sysfs_release,
 	.sysfs_ops = &xfs_sysfs_ops,
 	.default_groups = xfs_error_groups,
 };
 
-static struct kobj_type xfs_error_ktype = {
+static const struct kobj_type xfs_error_ktype = {
 	.release = xfs_sysfs_release,
 	.sysfs_ops = &xfs_sysfs_ops,
 };
diff --git a/fs/xfs/xfs_sysfs.h b/fs/xfs/xfs_sysfs.h
index 513095e353a5..148893ebfdef 100644
--- a/fs/xfs/xfs_sysfs.h
+++ b/fs/xfs/xfs_sysfs.h
@@ -7,10 +7,10 @@
 #ifndef __XFS_SYSFS_H__
 #define __XFS_SYSFS_H__
 
-extern struct kobj_type xfs_mp_ktype;	/* xfs_mount */
-extern struct kobj_type xfs_dbg_ktype;	/* debug */
-extern struct kobj_type xfs_log_ktype;	/* xlog */
-extern struct kobj_type xfs_stats_ktype;	/* stats */
+extern const struct kobj_type xfs_mp_ktype;	/* xfs_mount */
+extern const struct kobj_type xfs_dbg_ktype;	/* debug */
+extern const struct kobj_type xfs_log_ktype;	/* xlog */
+extern const struct kobj_type xfs_stats_ktype;	/* stats */
 
 static inline struct xfs_kobj *
 to_kobj(struct kobject *kobject)
@@ -28,7 +28,7 @@ xfs_sysfs_release(struct kobject *kobject)
 static inline int
 xfs_sysfs_init(
 	struct xfs_kobj		*kobj,
-	struct kobj_type	*ktype,
+	const struct kobj_type	*ktype,
 	struct xfs_kobj		*parent_kobj,
 	const char		*name)
 {

---
base-commit: 0983f6bf2bfc0789b51ddf7315f644ff4da50acb
change-id: 20230209-kobj_type-xfs-c1670289be86

Best regards,
-- 
Thomas Weißschuh <linux@weissschuh.net>


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] xfs: make kobj_type structures constant
  2023-02-09  3:16 [PATCH] xfs: make kobj_type structures constant Thomas Weißschuh
@ 2023-02-10  2:57 ` Darrick J. Wong
  0 siblings, 0 replies; 2+ messages in thread
From: Darrick J. Wong @ 2023-02-10  2:57 UTC (permalink / raw)
  To: Thomas Weißschuh; +Cc: linux-xfs, linux-kernel

On Thu, Feb 09, 2023 at 03:16:43AM +0000, Thomas Weißschuh wrote:
> Since commit ee6d3dd4ed48 ("driver core: make kobj_type constant.")
> the driver core allows the usage of const struct kobj_type.
> 
> Take advantage of this to constify the structure definitions to prevent
> modification at runtime.
> 
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>

LGTM,
Reviewed-by: Darrick J. Wong <djwong@kernel.org>

--D

> ---
>  fs/xfs/xfs_error.c |  2 +-
>  fs/xfs/xfs_sysfs.c | 12 ++++++------
>  fs/xfs/xfs_sysfs.h | 10 +++++-----
>  3 files changed, 12 insertions(+), 12 deletions(-)
> 
> diff --git a/fs/xfs/xfs_error.c b/fs/xfs/xfs_error.c
> index ae082808cfed..b2cbbba3e15a 100644
> --- a/fs/xfs/xfs_error.c
> +++ b/fs/xfs/xfs_error.c
> @@ -228,7 +228,7 @@ static struct attribute *xfs_errortag_attrs[] = {
>  };
>  ATTRIBUTE_GROUPS(xfs_errortag);
>  
> -static struct kobj_type xfs_errortag_ktype = {
> +static const struct kobj_type xfs_errortag_ktype = {
>  	.release = xfs_sysfs_release,
>  	.sysfs_ops = &xfs_errortag_sysfs_ops,
>  	.default_groups = xfs_errortag_groups,
> diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c
> index f7faf6e70d7f..a3c6b1548723 100644
> --- a/fs/xfs/xfs_sysfs.c
> +++ b/fs/xfs/xfs_sysfs.c
> @@ -69,7 +69,7 @@ static struct attribute *xfs_mp_attrs[] = {
>  };
>  ATTRIBUTE_GROUPS(xfs_mp);
>  
> -struct kobj_type xfs_mp_ktype = {
> +const struct kobj_type xfs_mp_ktype = {
>  	.release = xfs_sysfs_release,
>  	.sysfs_ops = &xfs_sysfs_ops,
>  	.default_groups = xfs_mp_groups,
> @@ -266,7 +266,7 @@ static struct attribute *xfs_dbg_attrs[] = {
>  };
>  ATTRIBUTE_GROUPS(xfs_dbg);
>  
> -struct kobj_type xfs_dbg_ktype = {
> +const struct kobj_type xfs_dbg_ktype = {
>  	.release = xfs_sysfs_release,
>  	.sysfs_ops = &xfs_sysfs_ops,
>  	.default_groups = xfs_dbg_groups,
> @@ -324,7 +324,7 @@ static struct attribute *xfs_stats_attrs[] = {
>  };
>  ATTRIBUTE_GROUPS(xfs_stats);
>  
> -struct kobj_type xfs_stats_ktype = {
> +const struct kobj_type xfs_stats_ktype = {
>  	.release = xfs_sysfs_release,
>  	.sysfs_ops = &xfs_sysfs_ops,
>  	.default_groups = xfs_stats_groups,
> @@ -410,7 +410,7 @@ static struct attribute *xfs_log_attrs[] = {
>  };
>  ATTRIBUTE_GROUPS(xfs_log);
>  
> -struct kobj_type xfs_log_ktype = {
> +const struct kobj_type xfs_log_ktype = {
>  	.release = xfs_sysfs_release,
>  	.sysfs_ops = &xfs_sysfs_ops,
>  	.default_groups = xfs_log_groups,
> @@ -564,13 +564,13 @@ static struct attribute *xfs_error_attrs[] = {
>  };
>  ATTRIBUTE_GROUPS(xfs_error);
>  
> -static struct kobj_type xfs_error_cfg_ktype = {
> +static const struct kobj_type xfs_error_cfg_ktype = {
>  	.release = xfs_sysfs_release,
>  	.sysfs_ops = &xfs_sysfs_ops,
>  	.default_groups = xfs_error_groups,
>  };
>  
> -static struct kobj_type xfs_error_ktype = {
> +static const struct kobj_type xfs_error_ktype = {
>  	.release = xfs_sysfs_release,
>  	.sysfs_ops = &xfs_sysfs_ops,
>  };
> diff --git a/fs/xfs/xfs_sysfs.h b/fs/xfs/xfs_sysfs.h
> index 513095e353a5..148893ebfdef 100644
> --- a/fs/xfs/xfs_sysfs.h
> +++ b/fs/xfs/xfs_sysfs.h
> @@ -7,10 +7,10 @@
>  #ifndef __XFS_SYSFS_H__
>  #define __XFS_SYSFS_H__
>  
> -extern struct kobj_type xfs_mp_ktype;	/* xfs_mount */
> -extern struct kobj_type xfs_dbg_ktype;	/* debug */
> -extern struct kobj_type xfs_log_ktype;	/* xlog */
> -extern struct kobj_type xfs_stats_ktype;	/* stats */
> +extern const struct kobj_type xfs_mp_ktype;	/* xfs_mount */
> +extern const struct kobj_type xfs_dbg_ktype;	/* debug */
> +extern const struct kobj_type xfs_log_ktype;	/* xlog */
> +extern const struct kobj_type xfs_stats_ktype;	/* stats */
>  
>  static inline struct xfs_kobj *
>  to_kobj(struct kobject *kobject)
> @@ -28,7 +28,7 @@ xfs_sysfs_release(struct kobject *kobject)
>  static inline int
>  xfs_sysfs_init(
>  	struct xfs_kobj		*kobj,
> -	struct kobj_type	*ktype,
> +	const struct kobj_type	*ktype,
>  	struct xfs_kobj		*parent_kobj,
>  	const char		*name)
>  {
> 
> ---
> base-commit: 0983f6bf2bfc0789b51ddf7315f644ff4da50acb
> change-id: 20230209-kobj_type-xfs-c1670289be86
> 
> Best regards,
> -- 
> Thomas Weißschuh <linux@weissschuh.net>
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-02-10  2:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-09  3:16 [PATCH] xfs: make kobj_type structures constant Thomas Weißschuh
2023-02-10  2:57 ` Darrick J. Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).