Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3938558ybz; Mon, 20 Apr 2020 12:15:12 -0700 (PDT) X-Google-Smtp-Source: APiQypIJvfnh8rMokUAdrR41ax6AhstDHGVrwG6dLxzPxKfrRokTk02bNTreBEBlXlS1l81JOv50 X-Received: by 2002:a17:906:49c7:: with SMTP id w7mr4265536ejv.29.1587410112729; Mon, 20 Apr 2020 12:15:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587410112; cv=none; d=google.com; s=arc-20160816; b=N5AZae2JIcAlq5boil1rJ6fSgz/uJYV/rVTbGm6V9q6RTj9F2kv+3QX2ny0TZoj4k7 8h8YivZ5ySR/HwHktCdbsCSBlCSoYfz9eF0iWwKZcUIn+etLy/5Vf/usjnokKuughwvW TLfysPzgrGEvwErFJDitGrW/leTm+vomSJCUxJYNQTYLw1BtYgZOrCOzDyMjL+IbU96Q LsegK8RwLDQUZxVDiohqR0AaADoy8fEThXPoYotSzvRRjh3foE46Z0VFPUduMfaL1EyZ XwQINKgHT/tzDxLUCVixwX0uIN4qcRb7S4mI3fXu1Y2BFzK01O2/HoKAGVD6pobTND4x Y04Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:user-agent:message-id:from:subject :to:cc:references:in-reply-to:content-transfer-encoding:mime-version; bh=ZpEpTpbYFTZYMJKmWlBs/qtfIB8reQzPP69o+qVByVQ=; b=h13z5bP+R+B4G1TkSZjX6ObaQ5OPoEXnMZ9BEbdgp0VOaV6zrYi1er7VUxVS4LH/2S KmIATQ6u+6+oVbRX0m1KfD2JMOmYL2hlv2p61CCJ0g++f+WAPA/sPpxUq8o0FA1WpX3K IlaHJFEUOETAzsoqQ60ZSFq9s89kFTd5BzC70K+6Cwuxl4Ckg36bdRLwduo+qyVy+gud JGZnXPOKfCemmFUWj92IyINsZ+xTSdbjtM7M6s6vn3No9lsBB8pdTiIsXwvoonsOLPd+ 3t0D+cLmpgxEOTQojoEqjB3x9Y3qgTltZEgj9fmqHcJM2RVUJfRRG9Icm4CaYitlwO82 I2OA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y11si268458edp.155.2020.04.20.12.14.50; Mon, 20 Apr 2020 12:15:12 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726791AbgDTTNz convert rfc822-to-8bit (ORCPT + 99 others); Mon, 20 Apr 2020 15:13:55 -0400 Received: from mail.fireflyinternet.com ([109.228.58.192]:64580 "EHLO fireflyinternet.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725896AbgDTTNy (ORCPT ); Mon, 20 Apr 2020 15:13:54 -0400 X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.65.138; Received: from localhost (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP (TLS) id 20963990-1500050 for multiple; Mon, 20 Apr 2020 20:13:47 +0100 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT In-Reply-To: <1587361342-83494-1-git-send-email-xiyuyang19@fudan.edu.cn> References: <1587361342-83494-1-git-send-email-xiyuyang19@fudan.edu.cn> Cc: yuanxzhang@fudan.edu.cn, kjlu@umn.edu, Xiyu Yang , Xin Tan To: Daniel Vetter , David Airlie , Imre Deak , Jani Nikula , Joonas Lahtinen , Matthew Auld , Rodrigo Vivi , Tvrtko Ursulin , Xiyu Yang , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm/i915/selftests: Fix i915_address_space refcnt leak From: Chris Wilson Message-ID: <158741002592.19285.15203193760043173103@build.alporthouse.com> User-Agent: alot/0.8.1 Date: Mon, 20 Apr 2020 20:13:45 +0100 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting Xiyu Yang (2020-04-20 06:41:54) > igt_ppgtt_pin_update() invokes i915_gem_context_get_vm_rcu(), which > returns a reference of the i915_address_space object to "vm" with > increased refcount. > > When igt_ppgtt_pin_update() returns, "vm" becomes invalid, so the > refcount should be decreased to keep refcount balanced. > > The reference counting issue happens in two exception handling paths of > igt_ppgtt_pin_update(). When i915_gem_object_create_internal() returns > IS_ERR, the refcnt increased by i915_gem_context_get_vm_rcu() is not > decreased, causing a refcnt leak. > > Fix this issue by jumping to "out_vm" label when > i915_gem_object_create_internal() returns IS_ERR. > > Fixes: 4049866f0913 ("drm/i915/selftests: huge page tests") Actually, Fixes: a4e7ccdac38e ("drm/i915: Move context management under GEM") > Signed-off-by: Xiyu Yang > Signed-off-by: Xin Tan Other than that, Reviewed-by: Chris Wilson -Chris