netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nathan Chancellor <nathan@kernel.org>
To: akpm@linux-foundation.org, arnd@arndb.de, hca@linux.ibm.com,
	 gor@linux.ibm.com, agordeev@linux.ibm.com
Cc: borntraeger@linux.ibm.com, svens@linux.ibm.com,
	wintera@linux.ibm.com,  twinkler@linux.ibm.com,
	linux-s390@vger.kernel.org, netdev@vger.kernel.org,
	 llvm@lists.linux.dev, patches@lists.linux.dev,
	 Nathan Chancellor <nathan@kernel.org>
Subject: [PATCH 2/3] s390/smsgiucv_app: Remove function pointer cast
Date: Wed, 17 Apr 2024 11:24:36 -0700	[thread overview]
Message-ID: <20240417-s390-drivers-fix-cast-function-type-v1-2-fd048c9903b0@kernel.org> (raw)
In-Reply-To: <20240417-s390-drivers-fix-cast-function-type-v1-0-fd048c9903b0@kernel.org>

Clang warns (or errors with CONFIG_WERROR) after enabling
-Wcast-function-type-strict by default:

  drivers/s390/net/smsgiucv_app.c:176:26: error: cast from 'void (*)(const void *)' to 'void (*)(struct device *)' converts to incompatible function type [-Werror,-Wcast-function-type-strict]
    176 |         smsg_app_dev->release = (void (*)(struct device *)) kfree;
        |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1 error generated.

Add a standalone function to fix the warning properly, which addresses
the root of the warning that these casts are not safe for kCFI.

Signed-off-by: Nathan Chancellor <nathan@kernel.org>
---
 drivers/s390/net/smsgiucv_app.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/s390/net/smsgiucv_app.c b/drivers/s390/net/smsgiucv_app.c
index 0a263999f7ae..390aba4ef7ad 100644
--- a/drivers/s390/net/smsgiucv_app.c
+++ b/drivers/s390/net/smsgiucv_app.c
@@ -64,6 +64,11 @@ static void smsg_app_event_free(struct smsg_app_event *ev)
 	kfree(ev);
 }
 
+static void smsg_app_free_dev(struct device *dev)
+{
+	kfree(dev);
+}
+
 static struct smsg_app_event *smsg_app_event_alloc(const char *from,
 						   const char *msg)
 {
@@ -173,7 +178,7 @@ static int __init smsgiucv_app_init(void)
 	}
 	smsg_app_dev->bus = &iucv_bus;
 	smsg_app_dev->parent = iucv_root;
-	smsg_app_dev->release = (void (*)(struct device *)) kfree;
+	smsg_app_dev->release = smsg_app_free_dev;
 	smsg_app_dev->driver = smsgiucv_drv;
 	rc = device_register(smsg_app_dev);
 	if (rc) {

-- 
2.44.0


  parent reply	other threads:[~2024-04-17 18:24 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-17 18:24 [PATCH 0/3] drivers/s390: Fix instances of -Wcast-function-type-strict Nathan Chancellor
2024-04-17 18:24 ` [PATCH 1/3] s390/vmlogrdr: Remove function pointer cast Nathan Chancellor
2024-04-17 18:55   ` Arnd Bergmann
2024-04-18  5:56   ` Thomas Huth
2024-04-18  9:54   ` Heiko Carstens
2024-04-18 10:25     ` Heiko Carstens
2024-04-18 14:51       ` Nathan Chancellor
2024-04-18 15:15         ` Heiko Carstens
2024-04-18 15:34           ` Nathan Chancellor
2024-04-18 19:21             ` Heiko Carstens
2024-04-18 20:32               ` Nathan Chancellor
2024-04-18 19:46           ` Arnd Bergmann
2024-04-19 12:15             ` Heiko Carstens
2024-04-19 12:19               ` Arnd Bergmann
2024-04-19 14:12                 ` Heiko Carstens
2024-04-23  7:34                   ` Alexandra Winter
2024-05-06 19:26             ` Heiko Carstens
2024-04-17 18:24 ` Nathan Chancellor [this message]
2024-04-17 18:56   ` [PATCH 2/3] s390/smsgiucv_app: " Arnd Bergmann
2024-04-18  5:56   ` Thomas Huth
2024-04-17 18:24 ` [PATCH 3/3] s390/netiucv: " Nathan Chancellor
2024-04-17 18:57   ` Arnd Bergmann
2024-04-18  5:57   ` Thomas Huth

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=20240417-s390-drivers-fix-cast-function-type-v1-2-fd048c9903b0@kernel.org \
    --to=nathan@kernel.org \
    --cc=agordeev@linux.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=borntraeger@linux.ibm.com \
    --cc=gor@linux.ibm.com \
    --cc=hca@linux.ibm.com \
    --cc=linux-s390@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=netdev@vger.kernel.org \
    --cc=patches@lists.linux.dev \
    --cc=svens@linux.ibm.com \
    --cc=twinkler@linux.ibm.com \
    --cc=wintera@linux.ibm.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;
as well as URLs for NNTP newsgroup(s).