On 05/12/17 09:52 AM, Jon Mason wrote:
On Sun, Dec 3, 2017 at 2:17 PM, Serge Semin <fancer.lan...@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

Reply via email to