[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190802053720.GA3838@jagdpanzerIV>
Date: Fri, 2 Aug 2019 14:37:20 +0900
From: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
To: Chris Wilson <chris@...is-wilson.co.uk>
Cc: Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
David Airlie <airlied@...ux.ie>,
intel-gfx@...ts.freedesktop.org, Hugh Dickins <hughd@...gle.com>,
linux-kernel@...r.kernel.org, David Howells <dhowells@...hat.com>,
linux-mm@...ck.org, dri-devel@...ts.freedesktop.org,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [Intel-gfx] [linux-next] mm/i915: i915_gemfs_init() NULL
dereference
On (08/01/19 18:30), Chris Wilson wrote:
> Quoting Sergey Senozhatsky (2019-07-31 17:48:29)
> > @@ -36,19 +38,35 @@ int i915_gemfs_init(struct drm_i915_private *i915)
[..]
> > + if (!fc->ops->parse_monolithic)
> > + goto err;
> > +
> > + err = fc->ops->parse_monolithic(fc, options);
> > + if (err)
> > + goto err;
> > +
> > + if (!fc->ops->reconfigure)
>
> It would be odd for fs_context_for_reconfigure() to allow creation of a
> context if that context couldn't perform a reconfigre, nevertheless that
> seems to be the case.
Well, I kept those checks just because fs/ code does the same.
E.g. fs/super.c
reconfigure_super()
{
if (fc->ops->reconfigure)
fc->ops->reconfigure(fc)
}
do_emergency_remount_callback()
{
fc = fs_context_for_reconfigure();
reconfigure_super(fc);
}
> > + goto err;
> > +
> > + err = fc->ops->reconfigure(fc);
> > + if (err)
> > + goto err;
>
> Only thing that stands out is that we should put_fs_context() here as
> well.
Oh... Indeed, somehow I forgot to put_fs_context().
> I guess it's better than poking at the SB_INFO directly ourselves.
> I think though we shouldn't bail if we can't change the thp setting, and
> just accept whatever with a warning.
OK.
> Looks like the API is already available in dinq, so we can apply this
> ahead of the next merge window.
OK, will cook a formal patch then. Thanks!
-ss
Powered by blists - more mailing lists