Re: [PATCH] Bluetooth: Pre-initialize variables in read_local_oob_ext_data_complete()

From: Marcel Holtmann
Date: Fri Apr 17 2015 - 16:38:57 EST


Hi Geert,

>>> net/bluetooth/mgmt.c: In function âread_local_oob_ext_data_completeâ:
>>> net/bluetooth/mgmt.c:6474: warning: âr256â may be used uninitialized in this function
>>> net/bluetooth/mgmt.c:6474: warning: âh256â may be used uninitialized in this function
>>> net/bluetooth/mgmt.c:6474: warning: âr192â may be used uninitialized in this function
>>> net/bluetooth/mgmt.c:6474: warning: âh192â may be used uninitialized in this function
>>>
>>> While these are false positives, the code can be shortened by
>>> pre-initializing the hash table pointers and eir_len. This has the side
>>> effect of killing the compiler warnings.
>>
>> can you be a bit specific on which compiler version is this. I fixed one occurrence that seemed valid. However in this case the compiler seems to be just plain stupid. On a gcc 4.9, I am not seeing these for example.
>
> gcc 4.1.2. As there were too many false positives, these warnings were
> disabled in later versions (throwing away the children with the bad water).
>
> If you don't like my patch, just drop it. I only look at newly
> introduced warnings
> of this kind anyway.

I really do not know what is the best solution here. This is a false positive. And I have been looking at this particular code for a warning that was valid, but we missed initially. But these warnings that you are fixing are clearly false positive.

If this only happens with an old compiler version, I would tend to leave the code as is. Then again, what is the general preferred approach here?

Regards

Marcel

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/