Re: [PATCH 2/2] i915: do not leak module ref counter

From: Chris Wilson
Date: Fri Aug 02 2019 - 08:58:43 EST


Quoting Sergey Senozhatsky (2019-08-02 13:39:56)
> put_filesystem() before i915_gemfs_init() deals with
> kern_mount() error.
>
> Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
> ---
> drivers/gpu/drm/i915/gem/i915_gemfs.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gemfs.c b/drivers/gpu/drm/i915/gem/i915_gemfs.c
> index cf05ba72df9d..d437188d1736 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gemfs.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gemfs.c
> @@ -24,8 +24,10 @@ int i915_gemfs_init(struct drm_i915_private *i915)
> return -ENODEV;
>
> gemfs = kern_mount(type);

Looking around, it looks like we always need to drop type after
mounting. Should the
put_filesystem(type);
be here instead?

Anyway, nice catch.

> - if (IS_ERR(gemfs))
> + if (IS_ERR(gemfs)) {
> + put_filesystem(type);
> return PTR_ERR(gemfs);
> + }
>
> /*
> * Enable huge-pages for objects that are at least HPAGE_PMD_SIZE, most
> --
> 2.22.0
>