From patchwork Tue Feb 7 19:21:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 13132048 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D705EC636D3 for ; Tue, 7 Feb 2023 19:21:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3CCCB280003; Tue, 7 Feb 2023 14:21:24 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 37BD2900002; Tue, 7 Feb 2023 14:21:24 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 26A75280003; Tue, 7 Feb 2023 14:21:24 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 107DE900002 for ; Tue, 7 Feb 2023 14:21:24 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id BD5D91C63E6 for ; Tue, 7 Feb 2023 19:21:23 +0000 (UTC) X-FDA: 80441464446.18.D2452E1 Received: from todd.t-8ch.de (todd.t-8ch.de [159.69.126.157]) by imf25.hostedemail.com (Postfix) with ESMTP id 53615A001F for ; Tue, 7 Feb 2023 19:21:21 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=weissschuh.net header.s=mail header.b=opegAJ0U; spf=pass (imf25.hostedemail.com: domain of linux@weissschuh.net designates 159.69.126.157 as permitted sender) smtp.mailfrom=linux@weissschuh.net; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675797682; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=+XfyrDmAe0doKt8j17zM9j8P9W8llyh2ki2GTgHqBII=; b=8ZH1D069uzaok7xH2nvHS+5CRmB4ewvwoKNNi1ZmaA5OYK0z+H1NRF14WiL1AaA/1FIsE1 DX4CEABv+ccQkMppEzLT99FZyRRXf7loT1KtNX+ueVO/frm6SAN5vuottrWxJLSb7WHroE 5+ifXncGh2a/7jVvJ4PdVopMv04gZ8s= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=weissschuh.net header.s=mail header.b=opegAJ0U; spf=pass (imf25.hostedemail.com: domain of linux@weissschuh.net designates 159.69.126.157 as permitted sender) smtp.mailfrom=linux@weissschuh.net; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675797682; a=rsa-sha256; cv=none; b=GYsWJV8GJy1c1UhQs7SL8jF66rOYNxYaUJGWAv3bgnwHRi8keFSzhd4bKWufv+uA3njdHd 1x0f29dBup+SJFJ9by+vfuqGftrLkrJFRQ/RuO6tRzy1u8Zo8VwMC5gV5i3rx+Ot9okwAD HNGVeeM0jx0XqaMWNvPb8TqJ7pWfSQI= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=weissschuh.net; s=mail; t=1675797678; bh=LoBTCG/oycpVG+asEbk/KiwysCZzWdl4sVo8qNIQGpI=; h=From:Date:Subject:To:Cc:From; b=opegAJ0UJYUwCKUyVcFDqXJfE4JpGRgXy5jKYCjlFylnnCiwYt6IXJwT87eWAlcD8 FeCeyo0lg0AekUcsH/VwkAlElEjAVgapvPkLYDTxSrnqb8+91OhFRpdf2OJYmkXwW3 WdQL3DtsZEzP7MWZXwIBFNlhk1Rd+7N1Wt+E4SVM= Date: Tue, 07 Feb 2023 19:21:15 +0000 Subject: [PATCH] mm/damon/sysfs: make kobj_type structures constant MIME-Version: 1.0 Message-Id: <20230207-kobj_type-damon-v1-1-9d4fea6a465b@weissschuh.net> X-B4-Tracking: v=1; b=H4sIAKqk4mMC/x2N0QrCMAwAf2Xk2UCXwUR/RUTSLrroTEer4hj7d 4OPd3DcClWKSoVjs0KRj1bN5tDuGkgj201QB2egQF2gsMdHjvfLa5kFB35mQ44HCT1R2yUBryJ XwVjY0uidvafJ5Vzkqt//5nTeth/JZSx2dgAAAA== To: SeongJae Park , Andrew Morton Cc: damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.12.1 X-Developer-Signature: v=1; a=ed25519-sha256; t=1675797676; l=9920; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=LoBTCG/oycpVG+asEbk/KiwysCZzWdl4sVo8qNIQGpI=; b=pa67lkv7S9lAbb30xmyy2f9u48dt2crHJuSFopYL+fO9n5hb4UBBAMxgB1r5uJ/dyJOMrLHj7 Ukze/fbStVaCgc71vXsh2pATLE+oLTWOR0t5osRyStiG9jCoIA5xd1d X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= X-Stat-Signature: igemx1ytk8gs9mkrjqxrdizbhppw441q X-Rspam-User: X-Rspamd-Queue-Id: 53615A001F X-Rspamd-Server: rspam06 X-HE-Tag: 1675797681-229273 X-HE-Meta: U2FsdGVkX19fhgy4zsV7ByXmCJxk9l8ICRAg54Xcssj04c0HpxMHeKpbejlFln9TFmwq2KBBXw5OUOJrLEbvxNLeOpK/DyGwQaP4OSOl17XmBBMsMFX5VXAh6ExOYkDmqLSYFDbbRJZBGPp26HJQ5Yol2MEit8jtOji3lxYJlT7S3Hyt8fsqDf+q8uxY270krO2ubli4l9ZQMxg3z8h0ZbZa6Zmt8egukadvNF52mlCdiLHBBN+vw7OlMwqMa+rQ+Cz9UAwU4UkhlL/7vrHkm8s2y1dkhxTQOXixOf6hzRxL2FXRgIpBF8dxTEXknWcjqt2ICvkr7BwQaUGx5QqajcbhIDMoEBBGLLeEOiMU0TGinPgyy/tkJFpvtEeWHHSnbHvKfnR+9FI/G3MORmJA6T8djrgvNfW9/Ah+a0rmNun9ZJW2eDKIsMct/GTrzfcSad9Tnny/REw8kx7dFTsirhc7zQ6PjBkGlSauuVum7M7XvipBH6S7KJh3sh4c9K/o4TP/MmJmWa2ADiHYO/ANRiKrOM123CPrZAl6SBdmc5CicDqQvGW99LXCaPYyHqf80m9TIwSwiHWj5/ayJkKkMuV29FbnEJmIRQFHRXbGH/1RA+Hh/aoGaDFqK8nQ9DP4U8VGYLNzQHg8KWuvE0Ekbm/3R7KkTrWec/QX2fZD68R+exYSHRkp48gzdhDQO3vIlQALZFiN1oyQOQl9qwgQbsyJQhITHFm51V212dKvtRPbtQuJgwkbWTTvIR/VaWHJF+jARhkntqhHeagj2Lj1ltWGWu1i06f/5jxgTrYWjkrfgjXAYnHu7hQRS7USrmRpduVfD4Nz07ocJNna7nwtLXWsR+4+562Df6LU4jv4nRBVN5G9YZUQLpVEijPoPHGi6Afn+HRK03kAXOjslHRTAabb0EjC1U9ATn1JrtMCJ7Q/7xKFps5EhM7JQAfm+DEv3QJVhngxiA38kCa5k7O TzsBWRQk aF4UYSVyiGCywcGLDxHLupy03jeLh61yQGM7yC04d7NcwssZszxD+GohwI7QneKjbVgzf67SXkLoRNBSU4Xr3q0jdLQdo+1OlYBQjV82ZvnjGsuYfMeWUIGQ1LmpZnw+R/IsJZQ/215HUCNChFligdhde4PTbWpkHRj/U4+jD+WSd888649Hd9LG4kcw/xoAERgsK X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: 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 Reviewed-by: SeongJae Park --- mm/damon/sysfs-common.c | 2 +- mm/damon/sysfs-common.h | 4 ++-- mm/damon/sysfs-schemes.c | 18 +++++++++--------- mm/damon/sysfs.c | 22 +++++++++++----------- 4 files changed, 23 insertions(+), 23 deletions(-) --- base-commit: 513c1a3d3f1982fb850c910937099525b0d35e24 change-id: 20230207-kobj_type-damon-ab9e062213ce Best regards, diff --git a/mm/damon/sysfs-common.c b/mm/damon/sysfs-common.c index 52bebf242f74..70edf45c2174 100644 --- a/mm/damon/sysfs-common.c +++ b/mm/damon/sysfs-common.c @@ -99,7 +99,7 @@ static struct attribute *damon_sysfs_ul_range_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_ul_range); -struct kobj_type damon_sysfs_ul_range_ktype = { +const struct kobj_type damon_sysfs_ul_range_ktype = { .release = damon_sysfs_ul_range_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_ul_range_groups, diff --git a/mm/damon/sysfs-common.h b/mm/damon/sysfs-common.h index 604a6cbc3ede..db677eba78fd 100644 --- a/mm/damon/sysfs-common.h +++ b/mm/damon/sysfs-common.h @@ -21,7 +21,7 @@ struct damon_sysfs_ul_range *damon_sysfs_ul_range_alloc( unsigned long max); void damon_sysfs_ul_range_release(struct kobject *kobj); -extern struct kobj_type damon_sysfs_ul_range_ktype; +extern const struct kobj_type damon_sysfs_ul_range_ktype; /* * schemes directory @@ -36,7 +36,7 @@ struct damon_sysfs_schemes { struct damon_sysfs_schemes *damon_sysfs_schemes_alloc(void); void damon_sysfs_schemes_rm_dirs(struct damon_sysfs_schemes *schemes); -extern struct kobj_type damon_sysfs_schemes_ktype; +extern const struct kobj_type damon_sysfs_schemes_ktype; int damon_sysfs_set_schemes(struct damon_ctx *ctx, struct damon_sysfs_schemes *sysfs_schemes); diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c index 81fc4d27f4e4..6e7c3accdd94 100644 --- a/mm/damon/sysfs-schemes.c +++ b/mm/damon/sysfs-schemes.c @@ -103,7 +103,7 @@ static struct attribute *damon_sysfs_scheme_region_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_scheme_region); -static struct kobj_type damon_sysfs_scheme_region_ktype = { +static const struct kobj_type damon_sysfs_scheme_region_ktype = { .release = damon_sysfs_scheme_region_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_scheme_region_groups, @@ -153,7 +153,7 @@ static struct attribute *damon_sysfs_scheme_regions_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_scheme_regions); -static struct kobj_type damon_sysfs_scheme_regions_ktype = { +static const struct kobj_type damon_sysfs_scheme_regions_ktype = { .release = damon_sysfs_scheme_regions_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_scheme_regions_groups, @@ -252,7 +252,7 @@ static struct attribute *damon_sysfs_stats_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_stats); -static struct kobj_type damon_sysfs_stats_ktype = { +static const struct kobj_type damon_sysfs_stats_ktype = { .release = damon_sysfs_stats_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_stats_groups, @@ -427,7 +427,7 @@ static struct attribute *damon_sysfs_watermarks_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_watermarks); -static struct kobj_type damon_sysfs_watermarks_ktype = { +static const struct kobj_type damon_sysfs_watermarks_ktype = { .release = damon_sysfs_watermarks_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_watermarks_groups, @@ -538,7 +538,7 @@ static struct attribute *damon_sysfs_weights_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_weights); -static struct kobj_type damon_sysfs_weights_ktype = { +static const struct kobj_type damon_sysfs_weights_ktype = { .release = damon_sysfs_weights_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_weights_groups, @@ -669,7 +669,7 @@ static struct attribute *damon_sysfs_quotas_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_quotas); -static struct kobj_type damon_sysfs_quotas_ktype = { +static const struct kobj_type damon_sysfs_quotas_ktype = { .release = damon_sysfs_quotas_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_quotas_groups, @@ -768,7 +768,7 @@ static struct attribute *damon_sysfs_access_pattern_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_access_pattern); -static struct kobj_type damon_sysfs_access_pattern_ktype = { +static const struct kobj_type damon_sysfs_access_pattern_ktype = { .release = damon_sysfs_access_pattern_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_access_pattern_groups, @@ -1001,7 +1001,7 @@ static struct attribute *damon_sysfs_scheme_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_scheme); -static struct kobj_type damon_sysfs_scheme_ktype = { +static const struct kobj_type damon_sysfs_scheme_ktype = { .release = damon_sysfs_scheme_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_scheme_groups, @@ -1118,7 +1118,7 @@ static struct attribute *damon_sysfs_schemes_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_schemes); -struct kobj_type damon_sysfs_schemes_ktype = { +const struct kobj_type damon_sysfs_schemes_ktype = { .release = damon_sysfs_schemes_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_schemes_groups, diff --git a/mm/damon/sysfs.c b/mm/damon/sysfs.c index aeb0beb1da91..33e1d5c9cb54 100644 --- a/mm/damon/sysfs.c +++ b/mm/damon/sysfs.c @@ -81,7 +81,7 @@ static struct attribute *damon_sysfs_region_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_region); -static struct kobj_type damon_sysfs_region_ktype = { +static const struct kobj_type damon_sysfs_region_ktype = { .release = damon_sysfs_region_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_region_groups, @@ -198,7 +198,7 @@ static struct attribute *damon_sysfs_regions_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_regions); -static struct kobj_type damon_sysfs_regions_ktype = { +static const struct kobj_type damon_sysfs_regions_ktype = { .release = damon_sysfs_regions_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_regions_groups, @@ -277,7 +277,7 @@ static struct attribute *damon_sysfs_target_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_target); -static struct kobj_type damon_sysfs_target_ktype = { +static const struct kobj_type damon_sysfs_target_ktype = { .release = damon_sysfs_target_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_target_groups, @@ -402,7 +402,7 @@ static struct attribute *damon_sysfs_targets_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_targets); -static struct kobj_type damon_sysfs_targets_ktype = { +static const struct kobj_type damon_sysfs_targets_ktype = { .release = damon_sysfs_targets_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_targets_groups, @@ -530,7 +530,7 @@ static struct attribute *damon_sysfs_intervals_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_intervals); -static struct kobj_type damon_sysfs_intervals_ktype = { +static const struct kobj_type damon_sysfs_intervals_ktype = { .release = damon_sysfs_intervals_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_intervals_groups, @@ -612,7 +612,7 @@ static struct attribute *damon_sysfs_attrs_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_attrs); -static struct kobj_type damon_sysfs_attrs_ktype = { +static const struct kobj_type damon_sysfs_attrs_ktype = { .release = damon_sysfs_attrs_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_attrs_groups, @@ -800,7 +800,7 @@ static struct attribute *damon_sysfs_context_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_context); -static struct kobj_type damon_sysfs_context_ktype = { +static const struct kobj_type damon_sysfs_context_ktype = { .release = damon_sysfs_context_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_context_groups, @@ -926,7 +926,7 @@ static struct attribute *damon_sysfs_contexts_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_contexts); -static struct kobj_type damon_sysfs_contexts_ktype = { +static const struct kobj_type damon_sysfs_contexts_ktype = { .release = damon_sysfs_contexts_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_contexts_groups, @@ -1564,7 +1564,7 @@ static struct attribute *damon_sysfs_kdamond_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_kdamond); -static struct kobj_type damon_sysfs_kdamond_ktype = { +static const struct kobj_type damon_sysfs_kdamond_ktype = { .release = damon_sysfs_kdamond_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_kdamond_groups, @@ -1707,7 +1707,7 @@ static struct attribute *damon_sysfs_kdamonds_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_kdamonds); -static struct kobj_type damon_sysfs_kdamonds_ktype = { +static const struct kobj_type damon_sysfs_kdamonds_ktype = { .release = damon_sysfs_kdamonds_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_kdamonds_groups, @@ -1757,7 +1757,7 @@ static struct attribute *damon_sysfs_ui_dir_attrs[] = { }; ATTRIBUTE_GROUPS(damon_sysfs_ui_dir); -static struct kobj_type damon_sysfs_ui_dir_ktype = { +static const struct kobj_type damon_sysfs_ui_dir_ktype = { .release = damon_sysfs_ui_dir_release, .sysfs_ops = &kobj_sysfs_ops, .default_groups = damon_sysfs_ui_dir_groups,