Message ID | 1402152939-25485-1-git-send-email-robdclark@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sat, Jun 07, 2014 at 10:55:39AM -0400, Rob Clark wrote: > The acquire ctx will typically be declared on the stack, which means we > could have garbage values for any uninitialized field. In this case, it > was triggering WARN_ON()s because 'contended' had garbage value. > > Go ahead and use memset() to be more future-proof. > > v2: now with extra brown paper bag > > Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > Signed-off-by: Rob Clark <robdclark@gmail.com> I thought I already gave these. Well here they are again: Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > drivers/gpu/drm/drm_modeset_lock.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/drm_modeset_lock.c b/drivers/gpu/drm/drm_modeset_lock.c > index 7c2497d..0dc57d5 100644 > --- a/drivers/gpu/drm/drm_modeset_lock.c > +++ b/drivers/gpu/drm/drm_modeset_lock.c > @@ -64,6 +64,7 @@ > void drm_modeset_acquire_init(struct drm_modeset_acquire_ctx *ctx, > uint32_t flags) > { > + memset(ctx, 0, sizeof(*ctx)); > ww_acquire_init(&ctx->ww_ctx, &crtc_ww_class); > INIT_LIST_HEAD(&ctx->locked); > } > -- > 1.9.3
On Wed, 18 Jun 2014, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote: > On Sat, Jun 07, 2014 at 10:55:39AM -0400, Rob Clark wrote: >> The acquire ctx will typically be declared on the stack, which means we >> could have garbage values for any uninitialized field. In this case, it >> was triggering WARN_ON()s because 'contended' had garbage value. >> >> Go ahead and use memset() to be more future-proof. >> >> v2: now with extra brown paper bag >> >> Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com> >> Signed-off-by: Rob Clark <robdclark@gmail.com> > > I thought I already gave these. Well here they are again: > Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com> https://bugzilla.kernel.org/show_bug.cgi?id=78401 > >> --- >> drivers/gpu/drm/drm_modeset_lock.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/drivers/gpu/drm/drm_modeset_lock.c b/drivers/gpu/drm/drm_modeset_lock.c >> index 7c2497d..0dc57d5 100644 >> --- a/drivers/gpu/drm/drm_modeset_lock.c >> +++ b/drivers/gpu/drm/drm_modeset_lock.c >> @@ -64,6 +64,7 @@ >> void drm_modeset_acquire_init(struct drm_modeset_acquire_ctx *ctx, >> uint32_t flags) >> { >> + memset(ctx, 0, sizeof(*ctx)); >> ww_acquire_init(&ctx->ww_ctx, &crtc_ww_class); >> INIT_LIST_HEAD(&ctx->locked); >> } >> -- >> 1.9.3 > > -- > Ville Syrjälä > Intel OTC > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/drivers/gpu/drm/drm_modeset_lock.c b/drivers/gpu/drm/drm_modeset_lock.c index 7c2497d..0dc57d5 100644 --- a/drivers/gpu/drm/drm_modeset_lock.c +++ b/drivers/gpu/drm/drm_modeset_lock.c @@ -64,6 +64,7 @@ void drm_modeset_acquire_init(struct drm_modeset_acquire_ctx *ctx, uint32_t flags) { + memset(ctx, 0, sizeof(*ctx)); ww_acquire_init(&ctx->ww_ctx, &crtc_ww_class); INIT_LIST_HEAD(&ctx->locked); }
The acquire ctx will typically be declared on the stack, which means we could have garbage values for any uninitialized field. In this case, it was triggering WARN_ON()s because 'contended' had garbage value. Go ahead and use memset() to be more future-proof. v2: now with extra brown paper bag Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Rob Clark <robdclark@gmail.com> --- drivers/gpu/drm/drm_modeset_lock.c | 1 + 1 file changed, 1 insertion(+)