From nobody Mon Sep 15 19:39:09 2025 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A9024C46467 for ; Wed, 11 Jan 2023 11:31:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235615AbjAKLbs (ORCPT ); Wed, 11 Jan 2023 06:31:48 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58332 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233184AbjAKLbC (ORCPT ); Wed, 11 Jan 2023 06:31:02 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 55D9638A1 for ; Wed, 11 Jan 2023 03:30:58 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id E63F461BB9 for ; Wed, 11 Jan 2023 11:30:57 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DA7DCC433EF; Wed, 11 Jan 2023 11:30:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1673436657; bh=AkE/lv0ihMfPjfXKWuy9LtK/5fpHAGwJNbIk/sxtpZA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=xyH0PdKnpOfo7TCRFHEs08ZqcotuUYyK+WIvRGB/0HjLpnOWomvZh+6GQNsKr7u2p Eq60cri1Ed3vS4oFsO9Bw2x2p77bU0GWyc4g8LtCT1Q8SMjRJMHpSXP5xoinl8NS+w C+UkiM2qPh69fPryXwecghAsegOu7iIWhWuBzRA4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , "Rafael J. Wysocki" , Christine Caulfield , David Teigland , Bob Peterson , Andreas Gruenbacher , 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 Message-Id: <20230111113018.459199-17-gregkh@linuxfoundation.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230111113018.459199-1-gregkh@linuxfoundation.org> References: <20230111113018.459199-1-gregkh@linuxfoundation.org> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3307; i=gregkh@linuxfoundation.org; h=from:subject; bh=AkE/lv0ihMfPjfXKWuy9LtK/5fpHAGwJNbIk/sxtpZA=; b=owGbwMvMwCRo6H6F97bub03G02pJDMn75p6qlZSdpHHrmcBJ6auiRXqc+nP3tQvs417G8PzQwq+C fzXPd8SyMAgyMciKKbJ82cZzdH/FIUUvQ9vTMHNYmUCGMHBxCsBEit4xLJhktThKvivX6kZh3JRCx2 gDdQPFZQxz+PzNY5+ezc2TFX3zzFfpjHBUSHkpAA== X-Developer-Key: i=gregkh@linuxfoundation.org; a=openpgp; fpr=F4B60CC5BF78C2214A313DCB3147D40DDB2DFB29 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" 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" Cc: Christine Caulfield Cc: David Teigland Cc: Bob Peterson Cc: Andreas Gruenbacher Cc: cluster-devel@redhat.com Signed-off-by: Greg Kroah-Hartman Acked-by: Rafael J. Wysocki --- 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 kobje= ct *kobj) return NULL; } =20 -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 =3D kobj_to_dev(kobj); + const struct device *dev =3D kobj_to_dev(kobj); int retval =3D 0; =20 /* 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; } =20 -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 =3D container_of(kobj, struct dlm_ls, ls_kobj); + const struct dlm_ls *ls =3D container_of(kobj, struct dlm_ls, ls_kobj); =20 add_uevent_var(env, "LOCKSPACE=3D%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); } =20 -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 =3D container_of(kobj, struct gfs2_sbd, sd_kobj); - struct super_block *s =3D sdp->sd_vfs; + const struct gfs2_sbd *sdp =3D container_of(kobj, struct gfs2_sbd, sd_kob= j); + const struct super_block *s =3D sdp->sd_vfs; =20 add_uevent_var(env, "LOCKTABLE=3D%s", sdp->sd_table_name); add_uevent_var(env, "LOCKPROTO=3D%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); }; =20 struct kobj_attribute { --=20 2.39.0