[PATCH 2/3] lib: sbi: sse: Disable injection if callbacks are set

Atish Kumar Patra atishp at rivosinc.com
Mon Dec 9 10:46:55 PST 2024


On Fri, Dec 6, 2024 at 1:00 PM Clément Léger <cleger at rivosinc.com> wrote:
>
> Once a 'driver' as registered callback for an event, disable event
> injection for that event to avoid messing up with the driver.
>

Why ? To avoid DoS type attacks ?

Otherwise, I think inject is useful to test/debug the driver without
actually triggering the hardware events which can generate the SSE.

> Signed-off-by: Clément Léger <cleger at rivosinc.com>
> ---
>  lib/sbi/sbi_sse.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/lib/sbi/sbi_sse.c b/lib/sbi/sbi_sse.c
> index 5679c26f..f9340381 100644
> --- a/lib/sbi/sbi_sse.c
> +++ b/lib/sbi/sbi_sse.c
> @@ -887,6 +887,9 @@ int sbi_sse_set_cb_ops(uint32_t event_id, const struct sbi_sse_cb_ops *cb_ops)
>                 return SBI_EINVAL;
>
>         e->cb_ops = cb_ops;
> +       /* Do not mess with events that are handled by drivers */
> +       e->attrs.status &= ~BIT(SBI_SSE_ATTR_STATUS_INJECT_OFFSET);
> +
>         sse_event_put(e);
>
>         return SBI_OK;
> --
> 2.45.2
>



More information about the opensbi mailing list