[Intel-gfx] [drm-intel:for-linux-next 479/497] drivers/gpu/drm/i915/i915_gem_gtt.c:1086:26: sparse: Using plain integer as NULL pointer
Michel Thierry
michel.thierry at intel.com
Fri Aug 7 02:21:34 PDT 2015
On 8/6/2015 11:00 PM, Daniel Vetter wrote:
> On Thu, Aug 6, 2015 at 10:17 PM, kbuild test robot
> <fengguang.wu at intel.com> wrote:
>> 1070 if (IS_ENABLED(CONFIG_X86_32))
>> 1071 /* While we have a proliferation of size_t variables
>> 1072 * we cannot represent the full ppgtt size on 32bit,
>> 1073 * so limit it to the same size as the GGTT (currently
>> 1074 * 2GiB).
>> 1075 */
>> 1076 ppgtt->base.total = to_i915(ppgtt->base.dev)->gtt.base.total;
>> 1077 ppgtt->base.cleanup = gen8_ppgtt_cleanup;
>> 1078 ppgtt->base.allocate_va_range = gen8_alloc_va_range;
>> 1079 ppgtt->base.insert_entries = gen8_ppgtt_insert_entries;
>> 1080 ppgtt->base.clear_range = gen8_ppgtt_clear_range;
>> 1081 ppgtt->base.unbind_vma = ppgtt_unbind_vma;
>> 1082 ppgtt->base.bind_vma = ppgtt_bind_vma;
>> 1083
>> 1084 ppgtt->switch_mm = gen8_mm_switch;
>> 1085
>>> 1086 ret = __pdp_init(false, &ppgtt->pdp);
>
> So the first argument of pdp_init ist struct drm_device *dev and yes
> the first thing it does is deref it.
>
*dev is used only for I915_PDPES_PER_PDP/USES_FULL_48BIT_PPGTT, which in
this path is always false. I didn't expect kbuild to complain. I'll
change it with the other modifications I'm about to send.
> How exactly was this tested again?
>
> Oh and the hunk right below with the CONFIG_X86_32 needs to got too -
> if we're 48b safe then we should be 32b safe too ;-)
Yes, after the offset change it'll be completely safe. I left it in this
patch as that was only moving code around.
I'll include a proper "revert-me" patch, saying why it is safe now.
-Michel
More information about the Intel-gfx
mailing list