Message ID | 20230406155946.3362077-1-peter.maydell@linaro.org |
---|---|
State | Accepted |
Commit | 987b63f24afe027a09b1c549c05a032a477f7e96 |
Headers | show |
Series | target/i386: Avoid unreachable variable declaration in mmu_translate() | expand |
Queued, thanks. Paolo
On 6/4/23 17:59, Peter Maydell wrote: > Coverity complains (CID 1507880) that the declaration "int error_code;" > in mmu_translate() is unreachable code. Since this is only a declaration, > this isn't actually a bug, but: > * it's a bear-trap for future changes, because if it was changed to > include an initialization 'int error_code = foo;' then the > initialization wouldn't actually happen (being dead code) > * it's against our coding style, which wants declarations to be > at the start of blocks > * it means that anybody reading the code has to go and look up > exactly what the C rules are for skipping over variable declarations > using a goto > > Move the declaration to the top of the function. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > target/i386/tcg/sysemu/excp_helper.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff --git a/target/i386/tcg/sysemu/excp_helper.c b/target/i386/tcg/sysemu/excp_helper.c index e87f90dbe3c..b5f0abffa3d 100644 --- a/target/i386/tcg/sysemu/excp_helper.c +++ b/target/i386/tcg/sysemu/excp_helper.c @@ -147,6 +147,7 @@ static bool mmu_translate(CPUX86State *env, const TranslateParams *in, hwaddr pte_addr, paddr; uint32_t pkr; int page_size; + int error_code; restart_all: rsvd_mask = ~MAKE_64BIT_MASK(0, env_archcpu(env)->phys_bits); @@ -467,7 +468,6 @@ do_check_protect_pse36: out->page_size = page_size; return true; - int error_code; do_fault_rsvd: error_code = PG_ERROR_RSVD_MASK; goto do_fault_cont;
Coverity complains (CID 1507880) that the declaration "int error_code;" in mmu_translate() is unreachable code. Since this is only a declaration, this isn't actually a bug, but: * it's a bear-trap for future changes, because if it was changed to include an initialization 'int error_code = foo;' then the initialization wouldn't actually happen (being dead code) * it's against our coding style, which wants declarations to be at the start of blocks * it means that anybody reading the code has to go and look up exactly what the C rules are for skipping over variable declarations using a goto Move the declaration to the top of the function. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- target/i386/tcg/sysemu/excp_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)