|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] common/efi: deviate Rule 2.1 violation in read_file()
MISRA C Rule 2.1 states: "A project shall not contain unreachable code."
The return statements in the 'read_file()' function is unreachable due
to function 'PrintErrMesg()' which is noreturn:
PrintErrMesg(name, ret);
/* not reached */
return false;
This is deviated using a SAF-xx-safe comment (specified in the file
'docs/misra/safe.json').
No functional change.
Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@xxxxxxxx>
---
Previous thread:
https://patchew.org/Xen/5944d87aae330246b7dab6eebd04d5d71a7d7e8f.1755608417.git.dmytro._5Fprokopchuk1@xxxxxxxx/
Test CI pipeline:
https://gitlab.com/xen-project/people/dimaprkp4k/xen/-/pipelines/1994619131
---
docs/misra/safe.json | 8 ++++++++
xen/common/efi/boot.c | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/docs/misra/safe.json b/docs/misra/safe.json
index 3584cb90c6..2b3178de2d 100644
--- a/docs/misra/safe.json
+++ b/docs/misra/safe.json
@@ -124,6 +124,14 @@
},
{
"id": "SAF-15-safe",
+ "analyser": {
+ "eclair": "MC3A2.R2.1"
+ },
+ "name": "Rule 2.1: unreachable code",
+ "text": "This is a deliberate use of unreachable code. The return
statement is retained to improve code clarity and readability by explicitly
specifying the intended behavior for a case if PrintErrMesg() was to return."
+ },
+ {
+ "id": "SAF-16-safe",
"analyser": {},
"name": "Sentinel",
"text": "Next ID to be used"
diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index 50ff1d1bd2..860c41c8e7 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -852,7 +852,7 @@ static bool __init read_file(EFI_FILE_HANDLE dir_handle,
CHAR16 *name,
PrintErr(L" failed for ");
PrintErrMesg(name, ret);
- /* not reached */
+ /* SAF-15-safe deliberately unreachable code */
return false;
}
--
2.43.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |