Message ID | ec5f225928eec448278c82fcb1f6805ee61dde82.1621550996.git.alistair.francis@wdc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v1,1/1] target/riscv/pmp: Add assert for ePMP operations | expand |
On Fri, May 21, 2021 at 6:56 AM Alistair Francis <alistair.francis@wdc.com> wrote: > > Although we construct epmp_operation in such a way that it can only be > between 0 and 15 Coverity complains that we don't handle the other > possible cases. To fix Coverity and make it easier for humans to read > add a default case to the switch statement that calls > g_assert_not_reached(). > > Fixes: CID 1453108 > Signed-off-by: Alistair Francis <alistair.francis@wdc.com> > --- > target/riscv/pmp.c | 4 ++++ > 1 file changed, 4 insertions(+) > Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: LIU Zhiwei <zhiwei_liu@c-sky.com> On 5/21/21 6:55 AM, Alistair Francis wrote: > Although we construct epmp_operation in such a way that it can only be > between 0 and 15 Coverity complains that we don't handle the other > possible cases. To fix Coverity and make it easier for humans to read > add a default case to the switch statement that calls > g_assert_not_reached(). > > Fixes: CID 1453108 > Signed-off-by: Alistair Francis <alistair.francis@wdc.com> > --- > target/riscv/pmp.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c > index 78203291de..82ed020b10 100644 > --- a/target/riscv/pmp.c > +++ b/target/riscv/pmp.c > @@ -402,6 +402,8 @@ bool pmp_hart_has_privs(CPURISCVState *env, target_ulong addr, > case 15: > *allowed_privs = PMP_READ; > break; > + default: > + g_assert_not_reached(); > } > } else { > switch (epmp_operation) { > @@ -433,6 +435,8 @@ bool pmp_hart_has_privs(CPURISCVState *env, target_ulong addr, > case 7: > *allowed_privs = PMP_READ | PMP_WRITE | PMP_EXEC; > break; > + default: > + g_assert_not_reached(); > } > } > }
On Fri, May 21, 2021 at 8:56 AM Alistair Francis <alistair.francis@wdc.com> wrote: > > Although we construct epmp_operation in such a way that it can only be > between 0 and 15 Coverity complains that we don't handle the other > possible cases. To fix Coverity and make it easier for humans to read > add a default case to the switch statement that calls > g_assert_not_reached(). > > Fixes: CID 1453108 > Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Thanks! Applied to riscv-to-apply.next Alistair > --- > target/riscv/pmp.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c > index 78203291de..82ed020b10 100644 > --- a/target/riscv/pmp.c > +++ b/target/riscv/pmp.c > @@ -402,6 +402,8 @@ bool pmp_hart_has_privs(CPURISCVState *env, target_ulong addr, > case 15: > *allowed_privs = PMP_READ; > break; > + default: > + g_assert_not_reached(); > } > } else { > switch (epmp_operation) { > @@ -433,6 +435,8 @@ bool pmp_hart_has_privs(CPURISCVState *env, target_ulong addr, > case 7: > *allowed_privs = PMP_READ | PMP_WRITE | PMP_EXEC; > break; > + default: > + g_assert_not_reached(); > } > } > } > -- > 2.31.1 >
diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c index 78203291de..82ed020b10 100644 --- a/target/riscv/pmp.c +++ b/target/riscv/pmp.c @@ -402,6 +402,8 @@ bool pmp_hart_has_privs(CPURISCVState *env, target_ulong addr, case 15: *allowed_privs = PMP_READ; break; + default: + g_assert_not_reached(); } } else { switch (epmp_operation) { @@ -433,6 +435,8 @@ bool pmp_hart_has_privs(CPURISCVState *env, target_ulong addr, case 7: *allowed_privs = PMP_READ | PMP_WRITE | PMP_EXEC; break; + default: + g_assert_not_reached(); } } }
Although we construct epmp_operation in such a way that it can only be between 0 and 15 Coverity complains that we don't handle the other possible cases. To fix Coverity and make it easier for humans to read add a default case to the switch statement that calls g_assert_not_reached(). Fixes: CID 1453108 Signed-off-by: Alistair Francis <alistair.francis@wdc.com> --- target/riscv/pmp.c | 4 ++++ 1 file changed, 4 insertions(+)