On Tue, Dec 5, 2017 at 12:01 PM, Logan Gunthorpe <logang@deltatee.com> wrote:>>> 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.