On 28/02/2017 14:00, Michal Wajdeczko wrote:
Additionally use runtime check to catch invalid engine indices. Signed-off-by: Michal Wajdeczko <michal.wajdeczko@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxx> --- drivers/gpu/drm/i915/intel_engine_cs.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c index a238304..8df53ae 100644 --- a/drivers/gpu/drm/i915/intel_engine_cs.c +++ b/drivers/gpu/drm/i915/intel_engine_cs.c @@ -89,6 +89,8 @@ intel_engine_setup(struct drm_i915_private *dev_priv, const struct engine_info *info = &intel_engines[id]; struct intel_engine_cs *engine; + BUILD_BUG_ON(ARRAY_SIZE(intel_engines) != I915_NUM_ENGINES);
For some reason I feel this is too strict. ;)
+ GEM_BUG_ON(id < 0 || id >= I915_NUM_ENGINES);
The caller of this function iterates 0..ARRAY_SIZE(intel_engines) and also filters with HAS_ENGINE before calling it so not sure this is absolutely needed. Maybe instead:
GEM_BUG_ON(id >= ARRAY_SIZE(dev_priv->engine)); ?
GEM_BUG_ON(dev_priv->engine[id]); engine = kzalloc(sizeof(*engine), GFP_KERNEL); if (!engine)
Regards, Tvrtko _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx