[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 1/1] target/riscv/pmp: Add assert for ePMP operations
From: |
Alistair Francis |
Subject: |
Re: [PATCH v1 1/1] target/riscv/pmp: Add assert for ePMP operations |
Date: |
Wed, 26 May 2021 07:53:22 +1000 |
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
>