Hi,
I could argue that this is not CVE at all. It changes just bit positions.
- PWMF_REQUESTED = 1 << 0,
- PWMF_EXPORTED = 1 << 1,
+ PWMF_REQUESTED = 0,
+ PWMF_EXPORTED = 1,
ie. before fix they 1 and 2 and after the fix 0, 1.
All call sites are using set/test_bit() on unsigned long flags.
Yes, double shift do not look right, but I don't see how
this could lead to malfunction, let alone a CVE.
Regards,
Ivan
On Wed, Jun 05, 2024 at 05:43:05PM +0300, Ivan T. Ivanov wrote:
> Hi,
>
> I could argue that this is not CVE at all. It changes just bit positions.
>
> - PWMF_REQUESTED = 1 << 0,
> - PWMF_EXPORTED = 1 << 1,
> + PWMF_REQUESTED = 0,
> + PWMF_EXPORTED = 1,
>
> ie. before fix they 1 and 2 and after the fix 0, 1.
>
> All call sites are using set/test_bit() on unsigned long flags.
>
> Yes, double shift do not look right, but I don't see how
> this could lead to malfunction, let alone a CVE.
It could be an issue if the values were larger than 5 as the commit
says, but that's not the case here, so you are correct and this has now
been rejected as a cve.
Thanks for the review!
greg k-h