On 06.11.2024 09:05, Mykyta Poturai wrote:
> During the construction of dmask value, it gets shifted by
> (32 - msi->vectors) bits. If msi->vectors is 0, the result of the shift
> becomes undefined due to shifting by a size of the type. While this
> works fine on x86,

Oh, also - what made you think this would be fine on x86? Afaict ...

> on ARM the resulting mask becomes 0xFFFFFFFF, which
> is incorrect.

... the exact same thing would happen (if msi->vectors indeed could ever
be zero) there, due to the type of the value shifted being unsigned int,
not unsigned long.

Jan


Reply via email to