[PATCH 2/3] lib: sbi: sse: Disable injection if callbacks are set
Samuel Holland
samuel.holland at sifive.com
Mon Dec 9 12:05:08 PST 2024
On 2024-12-09 12:46 PM, Atish Kumar Patra wrote:
> 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.
Agreed. I would prefer to modify the driver so it is safe to inject the events.
>> 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