[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH 2/7] x86/mm: address MISRA C:2012 Rule 2.1
On 2023-12-14 08:57, Jan Beulich wrote: On 13.12.2023 15:44, Nicola Vetrini wrote:On 2023-12-12 10:53, Jan Beulich wrote:On 12.12.2023 10:12, Nicola Vetrini wrote:On 2023-12-12 02:42, Stefano Stabellini wrote:On Mon, 11 Dec 2023, Nicola Vetrini wrote:The "return 0" after the swich statement in 'xen/arch/x86/mm.c' is unreachable because all switch clauses end with returns. However, some of them can be substituted with "break"s to allow the "return 0" outside the switch to be reachable. No functional changes.This is correct but makes the code inconsistent. I would either remove the return 0; at the end of arch_memory_op, or do the following: - initialize rc to 0 at the beginning: int rc = 0; - all switch clauses break instead of return; - at the end: return rc;Given the feedback on the Arm side, the first solution is likely to bepreferred.I wouldn't mind either option, with - the former ensured to be okay with all compiler versions we (still) support,I tested a stripped-down version of the switch on godbolt.org (as far back as gcc-4.8.5) and it doesn't complain. It should be tested on a real Xen build, though.I didn't fear any issue when going back to just 4.8. Quoting ./README: - For x86: - GCC 4.1.2_20070115 or later I found no issue in 4.1.2 (see https://godbolt.org/z/cxecnKseG) - the latter having the initialize rc to 0 part dropped; imo it's betterif every case block makes sure to set the intended value explicitly.This is a lot of churn, I'd rather avoid it.Rant (sorry): There's already excessive churn for entirely benign issuesthat Misra claims need adjusting. Jan -- Nicola Vetrini, BSc Software Engineer, BUGSENG srl (https://bugseng.com)
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |