[lustre-devel] [PATCH] staging/lustre/lnet: correctly casts value for arithmetic
Oleg Drokin
oleg.drokin at intel.com
Thu Jun 23 18:10:59 UTC 2016
On Jun 23, 2016, at 2:07 PM, Lidza Louina wrote:
> The smatch warning was "drivers/staging/lustre/lnet/lnet/api-ni.c:516
> lnet_res_lh_initialize() warn: should '1 << ibits' be a 64 bit type?"
I think you misinterpreted it, it has nothing to do with the addition.
What it actually means is:
1 is a 32bit integer, you do a right shift by some variable number
of bits. So please check if there's risk to overflow the 32 bits
unexpectedly.
The way to fix this warning is to replace 1 with 1ULL (unsigned long long)
and that is fine to do as a way of future proofing this stuff even if it's
not yet broken yet, I guess.
>
>>
>> hash = (lh->lh_cookie >> ibits) & LNET_LH_HASH_MASK;
>>
>> --
>> 1.9.1
>>
>>
>>
>> _______________________________________________
>> lustre-devel mailing list
>> lustre-devel at lists.lustre.org
>> http://lists.lustre.org/listinfo.cgi/lustre-devel-lustre.org
>
More information about the devel
mailing list