Message ID | 20190809120514.5157-1-l.stach@pengutronix.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,1/3] drm/etnaviv: skip command stream validation on PPAS capable GPUs | expand |
Hi, On Fri, Aug 09, 2019 at 02:05:12PM +0200, Lucas Stach wrote: > With per-process address spaces in place, a rogue process submitting > bogus command streams can only hurt itself. There is no need to > validate the command stream before execution anymore. > > Signed-off-by: Lucas Stach <l.stach@pengutronix.de> > Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de> Reviewed-by: Guido Günther <agx@sigxcpu.org> > --- > drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c > index 16e7d371a7ef..63a1206492d2 100644 > --- a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c > +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c > @@ -517,7 +517,8 @@ int etnaviv_ioctl_gem_submit(struct drm_device *dev, void *data, > if (ret) > goto err_submit_objects; > > - if (!etnaviv_cmd_validate_one(gpu, stream, args->stream_size / 4, > + if ((priv->mmu_global->version != ETNAVIV_IOMMU_V2) && > + !etnaviv_cmd_validate_one(gpu, stream, args->stream_size / 4, > relocs, args->nr_relocs)) { > ret = -EINVAL; > goto err_submit_objects; > -- > 2.20.1 > > _______________________________________________ > etnaviv mailing list > etnaviv@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/etnaviv
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c index 16e7d371a7ef..63a1206492d2 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c @@ -517,7 +517,8 @@ int etnaviv_ioctl_gem_submit(struct drm_device *dev, void *data, if (ret) goto err_submit_objects; - if (!etnaviv_cmd_validate_one(gpu, stream, args->stream_size / 4, + if ((priv->mmu_global->version != ETNAVIV_IOMMU_V2) && + !etnaviv_cmd_validate_one(gpu, stream, args->stream_size / 4, relocs, args->nr_relocs)) { ret = -EINVAL; goto err_submit_objects;