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

Clément Léger cleger at rivosinc.com
Tue Dec 10 01:25:14 PST 2024



On 09/12/2024 21:05, Samuel Holland wrote:
> 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.

Ok, so let's remove that patch ;)

> 
>>> 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