drm/i915/query: Protect tainted function pointer lookup
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 21 May 2018 21:05:30 +0000 (22:05 +0100)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Mon, 28 May 2018 10:36:41 +0000 (13:36 +0300)
commit540ead8c5a0e2910fc7bf0839982921c8f11b31c
tree0e499fabee55adc0096280cdcf1fc8d6925d7ace
parentb9eb9c92899a509fe258d38dd6c214b1de69eee0
drm/i915/query: Protect tainted function pointer lookup

Smatch identifies i915_query_ioctl() as being a potential victim of
Spectre due to its use of a tainted user index into a function pointer
array. Use array_index_nospec() to defang the user index before using it
to lookup the function pointer.

Fixes: a446ae2c6e65 ("drm/i915: add query uAPI")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180521210530.26008-1-chris@chris-wilson.co.uk
(cherry picked from commit 84b510e22da7926522a257cfe295d3695346a0bd)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/i915_query.c