[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] misra: allow 'noreturn' as safe for function pointer conversions


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
  • Date: Tue, 29 Jul 2025 15:02:43 +0200
  • Arc-authentication-results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
  • Arc-message-signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; c=relaxed/relaxed; t=1753794164; h=DKIM-Signature:MIME-Version:Date:From:To:Cc:Subject:In-Reply-To: References:Message-ID:X-Sender:Organization:Content-Type: Content-Transfer-Encoding; bh=4x7kZmD8/8RXCFkSz1lcauJjWRGUZwXkIhIHA2aIHCI=; b=IjLIV+Iph5BmivjD4csrKK9XbrODNVoxB+/SGcpbZJWgLBvaPIngt6MqLx0ricaTBvW1 74Cb6KTFJXpKrUg9A49fek44k1Dgv+2UCuYmPIFB9lOnlcgwg4kvu7JXrSFXcH9+bFnXQ aUmgAAaBq1g33nq5aC634X1a2P6ovaPenDRq8SDQORcyFNePrwjGSbutdi6Z5KlpY3HH8 /XHWDHEMcx/Po3jv9nxEvU1CINd/EX6sRAuxmh5lTC2YJGBELv7OZm633GQQBMeKWfe6c OvXTCmtllHESaUGu53VaFCodorFPIut5vBg23Nef5LWmOyvCSXkyP/hKtdkcKbTNUwCJr srjWD1nsIRMsHZh2kxyNP1HoNdX2GaRMXVieiwaf6gz1B6UTHJHheBp+4MWLNGmVqEDYi uwxZqqyndlWXrCojS5ehMu6yKpoXuVhg4hQDuXco0otQZQNTDP2ELL1iMUuYGRK1Gweab GQJ5ai1sqb6j4MS7Og25665ZYY3EHo978mAaaX804C29kuEvNGg+ORpDFKTK7ujhfr+ki PO3Cc9xo5gH3UMEU+B+55oi87VFbylGMsePcITgjQNimwd1ZlQNETlrWXq+DX24In7m+Y 8Ugxaci2vmYQzSGAyZbcGWM+fdq05CAmX/J6Lj9cSIg+2nCHA0H80fYOWrtiLQM=
  • Arc-seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1753794164; b=AGi2TwbtOXnVg4fURPcFeV5c4ywA3gJguvP7mrQUC+wngQvowXTSjI5hJqaGRMiC5Tn4 EOTe6nFW3+nFOzJk2tDqlqtTBfLjlysTkfJoVATBCzfe2ldVG6QH5CjpEx4IPmgSTCZ4S iUy6BShpQV/sEbsZiESmL3t66TDiwI/x1+dJQSvu/N70a/54M2LbO0PeN0clgxPfUqpAg twtASeEUpNftNF8N4HCDngvCDqIGi59IKMw3IGbWI6T0AZrnkGIWS8euZMilbnsVVcBIm dbNB1wFTYzYXvd/HxRQZH5lKZSSF3jf9RJH/oSenYROdjxAMbIU1RqzR0JG0C1glPBO0p vHTSuBSAo/DiAOukVB/3Vv1ydcrL9/igkZpDaTAX0B1Y+A2061BuJhk50qlCBPG69ZD8g gvYl5+aOzcYAI64sKUrFCPl+MLH/qEdfGcbVhcJv5S20erTmoYTLRukscohMamqa+S8Q/ j8C/w3GhyXlr49QH4PxX/1UtSTZMP1OFjgRZu3Fkr8CHDVXPvOJCbTCcS3eNqhEBtQRTv 0qpvt5pP/cxfVT+F1Ml0YBglLn2J3AgsQHFPGDZrHK+FF1x8ab+FlizHOklF5a5fl9O09 K9oLE1Nul9rrElS4ZPsJSDvZhrNplG85TsGHNPjGe0F4A1ZRNsW0sAfa9TNnz0g=
  • Authentication-results: bugseng.com; arc=none smtp.remote-ip=162.55.131.47
  • Cc: Dmytro Prokopchuk1 <dmytro_prokopchuk1@xxxxxxxx>, Doug Goldstein <cardoe@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Tue, 29 Jul 2025 13:02:49 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 2025-07-29 14:39, Jan Beulich wrote:
On 29.07.2025 14:21, Dmytro Prokopchuk1 wrote:
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -367,6 +367,13 @@ constant expressions are required.\""
 }
 -doc_end

+-doc_begin="The conversion from 'void noreturn (*)(void *)' to 'void (*)(void *)' is safe +because the semantics of the 'noreturn' attribute do not alter the calling convention or behavior of the resulting code."
+-config=MC3A2.R11.1,casts+={safe,
+ "kind(bitcast)&&to(type(pointer(inner(return(builtin(void))&&all_param(1, pointer(builtin(void)))))))&&from(expr(skip(!syntactic(),
+   ref(property(noreturn)))))"}
+-doc_end

As I understand it, this is about any function, not just void (void *) ones. Hence throughout anything textual in this patch, may I ask that this be made
explicit by inserting e.g. "e.g." everywhere?


Technically yes, in practice other implicit function pointer conversions would be caught by -Wincompatible-pointer-types and similar flags so they don't even come into play. However I agree that adding that is clearer.

I'm also on the edge of complaining again about the patch subject, as that's still not quite accurate: It's only one direction in which things are safe.

Jan

--
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.