Martin Roth (martinroth@google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18247
-gerrit
commit e34c69bb2fce96f8ea1dbca5099a3cb4467d70a9 Author: Martin Roth martinroth@google.com Date: Thu Jan 26 15:37:10 2017 -0700
riscv: Suppress invalid coverity errors
Coverity is detecting 'sp' as a variable which has not been initialized. This is obviously not correct, so this patch *TRIES* to mark it as false
I'm not positive that this will work because the annotation needs to go on the line above the error, but this error is inside of a # define.
Does the whole #define count as one line? Can it go on the line above the #define in the .h file? Does it have to precede every line where the #define is used? The documentation doesn't make this clear.
Should suppress coverity issues: 1368525 & 1368527 uninit_use: Using uninitialized value sp.
Change-Id: Ibae5e206c4ff47991ea8a11b6b59972b24b71796 Signed-off-by: Martin Roth martinroth@google.com --- src/arch/riscv/include/mcall.h | 1 + 1 file changed, 1 insertion(+)
diff --git a/src/arch/riscv/include/mcall.h b/src/arch/riscv/include/mcall.h index 1e74ed3..cdd9bd3 100644 --- a/src/arch/riscv/include/mcall.h +++ b/src/arch/riscv/include/mcall.h @@ -70,6 +70,7 @@ typedef struct { } hls_t;
#define MACHINE_STACK_TOP() ({ \ + /* coverity[uninit_use] : FALSE */ \ register uintptr_t sp asm ("sp"); \ (void*)((sp + RISCV_PGSIZE) & -RISCV_PGSIZE); })