mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
x86: p2m-pod: address violation of MISRA C Rule 2.1
Rule 2.1 states: "A project shall not contain unreachable code". The placement of the loop after "out_unmap" can be moved earlier in order to avoid the unconditional return to be marked as a cause of unreachability for the loop, as this is a consequence of "__builtin_unreachable" being configured in ECLAIR as being deliberately unreachable, and therefore not reported as causing the code after the "out_unmap" label to be unreachable. Replacing one instance of "goto out_unmap" with the loop avoids considering the unconditional return at the end of the function as a cause of unreachability, while preserving the semantics of the function. No functional change intended. Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com> Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
1 parent
d636e0ed91
commit
bec5b2447c
1 file changed
+8
-12
@@ -1005,7 +1005,14 @@ p2m_pod_zero_check(struct p2m_domain *p2m, const gfn_t *gfns, unsigned int count
|
||||
{
|
||||
ASSERT_UNREACHABLE();
|
||||
domain_crash(d);
|
||||
goto out_unmap;
|
||||
out_unmap:
|
||||
/*
|
||||
* Something went wrong, probably crashing the domain. Unmap
|
||||
* everything and return.
|
||||
*/
|
||||
for ( i = 0; i < count; i++ )
|
||||
if ( map[i] )
|
||||
unmap_domain_page(map[i]);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1032,17 +1039,6 @@ p2m_pod_zero_check(struct p2m_domain *p2m, const gfn_t *gfns, unsigned int count
|
||||
ioreq_request_mapcache_invalidate(d);
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
|
||||
out_unmap:
|
||||
/*
|
||||
* Something went wrong, probably crashing the domain. Unmap
|
||||
* everything and return.
|
||||
*/
|
||||
for ( i = 0; i < count; i++ )
|
||||
if ( map[i] )
|
||||
unmap_domain_page(map[i]);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||