All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@kernel.org>
To: linux-kbuild@vger.kernel.org,
	Masahiro Yamada <masahiroy@kernel.org>,
	Jean Delvare <jdelvare@suse.com>,
	Nathan Chancellor <nathan@kernel.org>,
	Greg Kroah-Hartman <gregkh@suse.de>
Cc: Nicolas Schier <nicolas@fjasle.eu>, Arnd Bergmann <arnd@arndb.de>,
	Nick Desaulniers <ndesaulniers@google.com>,
	Bill Wendling <morbo@google.com>,
	Justin Stitt <justinstitt@google.com>,
	linux-kernel@vger.kernel.org, llvm@lists.linux.dev
Subject: [PATCH 05/12] firmware: dmi-id: add a release callback function
Date: Tue, 26 Mar 2024 15:51:30 +0100	[thread overview]
Message-ID: <20240326145140.3257163-4-arnd@kernel.org> (raw)
In-Reply-To: <20240326144741.3094687-1-arnd@kernel.org>

From: Arnd Bergmann <arnd@arndb.de>

dmi_class uses kfree() as the .release function, but that now causes
a warning with clang-16 as it violates control flow integrity (KCFI)
rules:

drivers/firmware/dmi-id.c:174:17: error: cast from 'void (*)(const void *)' to 'void (*)(struct device *)' converts to incompatible function type [-Werror,-Wcast-function-type-strict]
  174 |         .dev_release = (void(*)(struct device *)) kfree,

Add an explicit function to call kfree() instead.

Fixes: 4f5c791a850e ("DMI-based module autoloading")
Link: https://lore.kernel.org/lkml/20240213100238.456912-1-arnd@kernel.org/
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
I sent this before but got no comments for it
---
 drivers/firmware/dmi-id.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/firmware/dmi-id.c b/drivers/firmware/dmi-id.c
index 5f3a3e913d28..d19c78a78ae3 100644
--- a/drivers/firmware/dmi-id.c
+++ b/drivers/firmware/dmi-id.c
@@ -169,9 +169,14 @@ static int dmi_dev_uevent(const struct device *dev, struct kobj_uevent_env *env)
 	return 0;
 }
 
+static void dmi_dev_release(struct device *dev)
+{
+	kfree(dev);
+}
+
 static struct class dmi_class = {
 	.name = "dmi",
-	.dev_release = (void(*)(struct device *)) kfree,
+	.dev_release = dmi_dev_release,
 	.dev_uevent = dmi_dev_uevent,
 };
 
-- 
2.39.2


  parent reply	other threads:[~2024-03-26 14:52 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-26 14:47 [PATCH 00/12] kbuild: enable some -Wextra warnings by default Arnd Bergmann
2024-03-26 14:47 ` Arnd Bergmann
2024-03-26 14:47 ` [PATCH 01/12] kbuild: make -Woverride-init warnings more consistent Arnd Bergmann
2024-03-26 16:04   ` Hamza Mahfooz
2024-03-26 20:24   ` Jani Nikula
2024-03-26 20:55     ` Arnd Bergmann
2024-03-27  7:50       ` Jani Nikula
2024-03-27  9:22         ` Arnd Bergmann
2024-03-31  2:33           ` Masahiro Yamada
2024-03-31  2:33             ` Masahiro Yamada
2024-03-26 23:02   ` Andrew Jeffery
2024-03-28  9:18   ` Linus Walleij
2024-03-26 14:51 ` [PATCH 02/12] [v3] parport: mfc3: avoid empty-body warning Arnd Bergmann
2024-03-26 14:51 ` [PATCH 03/12] kbuild: turn on -Wextra by default Arnd Bergmann
2024-03-26 14:51 ` [PATCH 04/12] kbuild: remove redundant extra warning flags Arnd Bergmann
2024-03-26 14:51 ` Arnd Bergmann [this message]
2024-03-29 12:49   ` [PATCH 05/12] firmware: dmi-id: add a release callback function Jean Delvare
2024-03-29 16:12     ` Nathan Chancellor
2024-04-04 14:07     ` Arnd Bergmann
2024-04-08  7:59       ` Jean Delvare
2024-04-12  9:42         ` Arnd Bergmann
2024-04-13 20:38           ` Jean Delvare
2024-04-14 22:18             ` Stephen Rothwell
2024-03-26 14:51 ` [PATCH 06/12] nouveau: fix function cast warning Arnd Bergmann
2024-03-26 15:20   ` Timur Tabi
2024-03-26 16:02     ` Arnd Bergmann
2024-03-26 14:51 ` [PATCH 07/12] cxlflash: fix function pointer cast warnings Arnd Bergmann
2024-03-26 14:51 ` [PATCH 08/12] x86: math-emu: fix function " Arnd Bergmann
2024-03-26 14:51 ` [PATCH 09/12] kbuild: enable -Wcast-function-type-strict unconditionally Arnd Bergmann
2024-03-26 14:53 ` [PATCH 10/12] sata: sx4: fix pdc20621_get_from_dimm() on 64-bit Arnd Bergmann
2024-03-27  1:36   ` Damien Le Moal
2024-03-27 20:21     ` Arnd Bergmann
2024-03-28  0:14       ` Damien Le Moal
2024-03-26 14:53 ` [PATCH 11/12] [v4] kallsyms: rework symbol lookup return codes Arnd Bergmann
2024-03-26 17:06   ` Steven Rostedt
2024-03-26 17:10     ` Arnd Bergmann
2024-03-26 14:53 ` [PATCH 12/12] kbuild: turn on -Wrestrict by default Arnd Bergmann

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=20240326145140.3257163-4-arnd@kernel.org \
    --to=arnd@kernel.org \
    --cc=arnd@arndb.de \
    --cc=gregkh@suse.de \
    --cc=jdelvare@suse.com \
    --cc=justinstitt@google.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=masahiroy@kernel.org \
    --cc=morbo@google.com \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=nicolas@fjasle.eu \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.