From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
To: Matthew Auld <matthew.auld@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915: In render_state_init reset obj in teardown path
Date: Wed, 27 Apr 2016 16:51:23 +0300 [thread overview]
Message-ID: <1461765083.3986.47.camel@linux.intel.com> (raw)
In-Reply-To: <571F3D1A.9010507@intel.com>
On ti, 2016-04-26 at 11:04 +0100, Dave Gordon wrote:
> On 26/04/16 10:21, Matthew Auld wrote:
> >
> > The teardown path in render_state_init leaves so->obj != NULL.
> >
> > Suggested-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> > Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> > ---
> > drivers/gpu/drm/i915/i915_gem_render_state.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_gem_render_state.c b/drivers/gpu/drm/i915/i915_gem_render_state.c
> > index 71611bf..10f3cf0 100644
> > --- a/drivers/gpu/drm/i915/i915_gem_render_state.c
> > +++ b/drivers/gpu/drm/i915/i915_gem_render_state.c
> > @@ -70,6 +70,7 @@ static int render_state_init(struct render_state *so, struct drm_device *dev)
> >
> > free_gem:
> > drm_gem_object_unreference(&so->obj->base);
> > + so->obj = NULL;
This is object_init style function, if it fails, the contents of "so"
is expected to be uninitialized, and should only be freed or attempted
to re-initialize by caller, never inspected, so no need for this.
See gen8_ppgtt_init for an example, it would be rather cubersome to
undo all assignments on error.
In short, I do not see this as a necessary step.
Regards, Joonas
> > return ret;
> > }
> It doesn't actually matter, because 'so' is pointing to a local object a
> few frames up the callstack. But I don't think this function is entitled
> to assume that; it should leave everything in a consistent state so
> there aren't any dangling pointers to objects that have been freed lying
> around - someday the argument may turn into a per-engine static or some
> other long-lived thing. So,
>
> Reviewed-by: Dave Gordon <david.s.gordon@intel.com>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2016-04-27 13:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-26 9:21 [PATCH] drm/i915: In render_state_init reset obj in teardown path Matthew Auld
2016-04-26 10:04 ` Dave Gordon
2016-04-27 13:51 ` Joonas Lahtinen [this message]
2016-04-26 11:24 ` ✗ Fi.CI.BAT: failure for " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1461765083.3986.47.camel@linux.intel.com \
--to=joonas.lahtinen@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=matthew.auld@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.