public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Christine Caulfield <ccaulfie@redhat.com>,
	David Teigland <teigland@redhat.com>,
	Bob Peterson <rpeterso@redhat.com>,
	Andreas Gruenbacher <agruenba@redhat.com>,
	cluster-devel@redhat.com
Subject: [PATCH v2 16/16] kobject: kset_uevent_ops: make uevent() callback take a const *
Date: Wed, 11 Jan 2023 12:30:18 +0100	[thread overview]
Message-ID: <20230111113018.459199-17-gregkh@linuxfoundation.org> (raw)
In-Reply-To: <20230111113018.459199-1-gregkh@linuxfoundation.org>

The uevent() callback in struct kset_uevent_ops does not modify the
kobject passed into it, so make the pointer const to enforce this
restriction.  When doing so, fix up all existing uevent() callbacks to
have the correct signature to preserve the build.

Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Christine Caulfield <ccaulfie@redhat.com>
Cc: David Teigland <teigland@redhat.com>
Cc: Bob Peterson <rpeterso@redhat.com>
Cc: Andreas Gruenbacher <agruenba@redhat.com>
Cc: cluster-devel@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/base/core.c     | 4 ++--
 fs/dlm/lockspace.c      | 4 ++--
 fs/gfs2/sys.c           | 6 +++---
 include/linux/kobject.h | 2 +-
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/base/core.c b/drivers/base/core.c
index 72ec54a8a4e1..b0cee0f30d8d 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -2387,9 +2387,9 @@ static const char *dev_uevent_name(const struct kobject *kobj)
 	return NULL;
 }
 
-static int dev_uevent(struct kobject *kobj, struct kobj_uevent_env *env)
+static int dev_uevent(const struct kobject *kobj, struct kobj_uevent_env *env)
 {
-	struct device *dev = kobj_to_dev(kobj);
+	const struct device *dev = kobj_to_dev(kobj);
 	int retval = 0;
 
 	/* add device node properties if present */
diff --git a/fs/dlm/lockspace.c b/fs/dlm/lockspace.c
index d0b4e2181a5f..9b6cfc4c30e3 100644
--- a/fs/dlm/lockspace.c
+++ b/fs/dlm/lockspace.c
@@ -215,9 +215,9 @@ static int do_uevent(struct dlm_ls *ls, int in)
 	return ls->ls_uevent_result;
 }
 
-static int dlm_uevent(struct kobject *kobj, struct kobj_uevent_env *env)
+static int dlm_uevent(const struct kobject *kobj, struct kobj_uevent_env *env)
 {
-	struct dlm_ls *ls = container_of(kobj, struct dlm_ls, ls_kobj);
+	const struct dlm_ls *ls = container_of(kobj, struct dlm_ls, ls_kobj);
 
 	add_uevent_var(env, "LOCKSPACE=%s", ls->ls_name);
 	return 0;
diff --git a/fs/gfs2/sys.c b/fs/gfs2/sys.c
index d87ea98cf535..d8dfabb0bc12 100644
--- a/fs/gfs2/sys.c
+++ b/fs/gfs2/sys.c
@@ -767,10 +767,10 @@ void gfs2_sys_fs_del(struct gfs2_sbd *sdp)
 	wait_for_completion(&sdp->sd_kobj_unregister);
 }
 
-static int gfs2_uevent(struct kobject *kobj, struct kobj_uevent_env *env)
+static int gfs2_uevent(const struct kobject *kobj, struct kobj_uevent_env *env)
 {
-	struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj);
-	struct super_block *s = sdp->sd_vfs;
+	const struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj);
+	const struct super_block *s = sdp->sd_vfs;
 
 	add_uevent_var(env, "LOCKTABLE=%s", sdp->sd_table_name);
 	add_uevent_var(env, "LOCKPROTO=%s", sdp->sd_proto_name);
diff --git a/include/linux/kobject.h b/include/linux/kobject.h
index 58a5b75612e3..bdab370a24f4 100644
--- a/include/linux/kobject.h
+++ b/include/linux/kobject.h
@@ -137,7 +137,7 @@ struct kobj_uevent_env {
 struct kset_uevent_ops {
 	int (* const filter)(const struct kobject *kobj);
 	const char *(* const name)(const struct kobject *kobj);
-	int (* const uevent)(struct kobject *kobj, struct kobj_uevent_env *env);
+	int (* const uevent)(const struct kobject *kobj, struct kobj_uevent_env *env);
 };
 
 struct kobj_attribute {
-- 
2.39.0


  parent reply	other threads:[~2023-01-11 11:31 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-11 11:30 [PATCH v2 00/16] driver core: make more things const! Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 01/16] of: device: make of_device_uevent_modalias() take a const device * Greg Kroah-Hartman
2023-01-11 14:54   ` Rob Herring
2023-01-11 15:26     ` Greg Kroah-Hartman
2023-01-11 15:30       ` Dmitry Baryshkov
2023-01-27 12:33     ` Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 02/16] i3c: move dev_to_i3cdev() to use container_of_const() Greg Kroah-Hartman
2023-01-11 13:31   ` Alexandre Belloni
2023-01-11 11:30 ` [PATCH v2 03/16] platform/surface: aggregator: move to_ssam_device() " Greg Kroah-Hartman
2023-01-11 11:54   ` Hans de Goede
2023-01-11 12:14     ` Greg Kroah-Hartman
2023-01-11 12:15       ` Hans de Goede
2023-01-11 12:02   ` Maximilian Luz
2023-01-11 12:14     ` Greg Kroah-Hartman
2023-01-11 13:29       ` Maximilian Luz
2023-01-11 11:30 ` [PATCH v2 04/16] firewire: move fw_device() and fw_unit() " Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 05/16] driver core: make struct device_type.uevent() take a const * Greg Kroah-Hartman
2023-01-11 11:50   ` Wolfram Sang
2023-01-11 12:34   ` Vinod Koul
2023-01-11 13:32   ` Alexandre Belloni
2023-01-12 11:58   ` Heikki Krogerus
2023-01-11 11:30 ` [PATCH v2 06/16] driver core: make struct device_type.devnode() " Greg Kroah-Hartman
2023-01-13 13:33   ` Alexander Shishkin
2023-01-11 11:30 ` [PATCH v2 07/16] driver core: device_get_devnode() should " Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 08/16] vio: move to_vio_dev() to use container_of_const() Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 09/16] platform/x86: wmi: move dev_to_wblock() and dev_to_wdev " Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 10/16] drivers: hv: move device_to_hv_device " Greg Kroah-Hartman
2023-01-12 14:04   ` Wei Liu
2023-01-11 11:30 ` [PATCH v2 11/16] virtio: move dev_to_virtio() " Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 12/16] drm/mipi-dsi: move to_mipi_dsi_device() " Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 13/16] mcb: move to_mcb_device() " Greg Kroah-Hartman
2023-01-11 11:30 ` [PATCH v2 14/16] xen/xenbus: move to_xenbus_device() " Greg Kroah-Hartman
2023-01-11 12:11   ` Juergen Gross
2023-01-11 11:30 ` [PATCH v2 15/16] driver core: make struct bus_type.uevent() take a const * Greg Kroah-Hartman
2023-01-11 17:39   ` Rafael J. Wysocki
2023-02-01 11:21   ` Naresh Kamboju
2023-02-01 11:46     ` Greg KH
2023-01-11 11:30 ` Greg Kroah-Hartman [this message]
2023-01-11 17:37   ` [PATCH v2 16/16] kobject: kset_uevent_ops: make uevent() callback " Rafael J. Wysocki
2023-01-11 11:55 ` [PATCH v2 00/16] driver core: make more things const! Hans de Goede

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230111113018.459199-17-gregkh@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=agruenba@redhat.com \
    --cc=ccaulfie@redhat.com \
    --cc=cluster-devel@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=rpeterso@redhat.com \
    --cc=teigland@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox