[Intel-gfx] include/drm/i915_drm.h:96: possible bad bitmask ?

Dave Gordon david.s.gordon at intel.com
Tue Aug 9 16:01:15 UTC 2016


On 09/08/16 03:59, Dave Airlie wrote:
> On 8 August 2016 at 19:40, Daniel Vetter <daniel at ffwll.ch> wrote:
>> On Mon, Aug 08, 2016 at 10:31:32AM +0100, David Binderman wrote:
>>> Hello there,
>>>
>>> Recent versions of gcc say this:
>>>
>>> include/drm/i915_drm.h:96:34: warning: result of ‘65535 << 20’
>>> requires 37 bits to represent, but ‘int’ only has 32 bits
>>> [-Wshift-overflow=]
>>>
>>> Source code is
>>>
>>> #define   INTEL_BSM_MASK (0xFFFF << 20)
>>>
>>> Maybe something like
>>>
>>> #define   INTEL_BSM_MASK (0xFFFFUL<< 20)
>>>
>>> might be better.
>>
>> Yup. Care to bake this into a patch (with s-o-b and everything per
>> Documentation/SubmittingPatches) so I can apply it?
>
> Why would you want to apply a clearly incorrect patch :-)
>
> INTEL_BSM_MASK is used in one place, on a 32-bit number
>
> I'm not sure what it needs to be, but a 64-bit number it doesn't.
>
> Dave.

I found two uses, but in both cases it's masking a value read
from a 32-bit PCI register, so it can just be (-(1 << 20)).

.Dave.



More information about the Intel-gfx mailing list