sys/dev/drm/i915/i915_gem_stolen.c:115]: (error) Signed integer overflow for expression '65535<<20'
Source code is
base = bsm & BSM_MASK;
$ fgrep BSM_MASK `find dragonfly/sys/dev -name \*.h -print`
dragonfly/sys/dev/drm/i915/i915_reg.h:#define BSM_MASK (0xFFFF << 20)
Macro BSM_MASK seems to be 36 bits wide, which won't fit into a 32 bit int.
- Status changed from New to In Progress
Thanks for the report.
This code is actually from Linux 4.7.10 and the bug has apparently been fixed in Linux commit aac440ff22a27155ae08f4d0fd6ac2971bfc5f3d present in Linux 4.9.
I don't think it is currently necessary to create a DragonFly-specific fix; I intend to import newer drm/i915 code from upstream, which
will fix this issue as a side effect.