Re: [PATCH v2 03/15] NTB: Fix UB/bug in ntb_mw_get_align()

Logan Gunthorpe
2017-12-05T17:01:25Z

On 05/12/17 09:52 AM, Jon Mason wrote:
> On Sun, Dec 3, 2017 at 2:17 PM, Serge Semin <fancer.lancer@gmail.com> wrote:
>> Simple (1 << pidx) operation causes undefined behaviour when
>> pidx >= 32. It must be casted to u64 to match the actual return
>> value of ntb_link_is_up() method, so to have all the possible
>> peer indexes covered and to get rid of undefined behaviour.
>> Additionally there are special macros in "linux/bitops.h" to perform
>> the bit-set-shift operations, so it's recommended to have them used
>> for proper bit setting.
>
> This looks good to me, but also seems like a bug fix. Please comment
> on if this is not noticed.

It would be a bug on any system that has more than 32 partitions which
is run on a 32 bit machine (or 64 partitions on a 64bit machine). Such a
system is theoretical for the foreseeable future. But it would be good
to fix it now.

Logan