Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3295097pxj; Tue, 1 Jun 2021 01:49:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzVKtPGTmuad6jlx3r0QBIPoWhrRhVc6MFqRRqSqY1EDB+rNda1VqqMb4MbaOdo65SkY1FP X-Received: by 2002:a17:906:3598:: with SMTP id o24mr14539799ejb.551.1622537364164; Tue, 01 Jun 2021 01:49:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622537364; cv=none; d=google.com; s=arc-20160816; b=FbCZ0YxzhnccAvhZtKmnxjUTE1KfGHlHOOOSU57kfpXjP9sa1L8twHKj2eYEuQoUT7 U0LgMxgV+MbNymXajPRGi7kX01FCwAMxszU8ZJCRJuMJj+yXZ0DiMcYKxPBxbDI9Cpas zVDNo3aStw5YhKcwnxUZdAsS3NOCEWMHo9f9rki5jjQ8l3IKd/M1sUZ304NdFr76w2p9 jDjo7gNW34sR+uq5o+ajbMhdj8r3zZWhD2bAnwYXyfwwzOkwUz+msznDIJhpMR+empc1 jiHfO734c9hYFGvGWSA1primY8BdUfnNknjPCxtKLcT5RHpJYJZV298S2kLJIbopoH7a NOFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:reply-to:message-id:subject:cc:to:from:date:ironport-sdr :ironport-sdr; bh=+aWcvMWZJHcivZkzJYAKptBJ6742/Ld2Tz7Ln+tQqYI=; b=MkbcvO2NRS2iu1iM2jxIfUsCP/M1MPn8jIDToenIx8mraII3QO9SIfUXE1Owhz71Jr 9/BEOLZtpa3/63Ldy33mLLvR+qmqmqM1xbA1MdospQHEEKq6ShuHeghfHcmKStLbAxWC moTDuGOInBHa8b741+n8qPFjYoWEsnLro3psX6TowGMmt2lj+H/Aqv3yJCZUckNvMi4h un361/l0tSwlPlr+TGcphL4tAlyvctghb81/KXlE/CzjdmFynyBh7QKYfF1ZXmLcIT5P +C8kteepbq1D8CWYQaIPTMkee49MQDDI3e650yE9TrEhTb8cjynq4Z4mSZDR1WXer6wY oVNQ== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b20si3913726ejq.607.2021.06.01.01.49.01; Tue, 01 Jun 2021 01:49:24 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233675AbhFAItc (ORCPT + 99 others); Tue, 1 Jun 2021 04:49:32 -0400 Received: from mga04.intel.com ([192.55.52.120]:14824 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233740AbhFAIt1 (ORCPT ); Tue, 1 Jun 2021 04:49:27 -0400 IronPort-SDR: oDX2CV2AxwF6Jru6iacTS1bTpCsVC2Y9zmpbJd45gnnycxe/vOk5hYXDElPFJhZiNgXXMZN9OO 1P0e/DgmKwJw== X-IronPort-AV: E=McAfee;i="6200,9189,10001"; a="201635972" X-IronPort-AV: E=Sophos;i="5.83,239,1616482800"; d="asc'?scan'208";a="201635972" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Jun 2021 01:47:46 -0700 IronPort-SDR: LxtEFyZT6oTvdwGLVd1a0Onta12b4d1TAxSK0eoTLxy8TUX2UjkylYbL6xaqoHIiknf/mJHAWA +y7Jka9r+yOA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,239,1616482800"; d="asc'?scan'208";a="474169308" Received: from zhen-hp.sh.intel.com (HELO zhen-hp) ([10.239.160.143]) by FMSMGA003.fm.intel.com with ESMTP; 01 Jun 2021 01:47:44 -0700 Date: Tue, 1 Jun 2021 16:28:04 +0800 From: Zhenyu Wang To: Guenter Roeck Cc: David Airlie , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Jani Nikula , Daniel Vetter , intel-gvt-dev@lists.freedesktop.org Subject: Re: [PATCH v2] drm/i915/gem: Use list_entry to access list members Message-ID: <20210601082804.GS27293@zhen-hp.sh.intel.com> Reply-To: Zhenyu Wang References: <20210523172304.3033229-1-linux@roeck-us.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Bqc0IY4JZZt50bUr" Content-Disposition: inline In-Reply-To: <20210523172304.3033229-1-linux@roeck-us.net> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --Bqc0IY4JZZt50bUr Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2021.05.23 10:23:04 -0700, Guenter Roeck wrote: > Use list_entry() instead of container_of() to access list members. > Also drop unnecessary and misleading NULL checks on the result of > list_entry(). >=20 > Signed-off-by: Guenter Roeck > --- > v2: Checkpatch fixes: > - Fix alignment > - Replace comparison against NULL with ! >=20 > drivers/gpu/drm/i915/gvt/dmabuf.c | 18 +++++------------- > 1 file changed, 5 insertions(+), 13 deletions(-) >=20 > diff --git a/drivers/gpu/drm/i915/gvt/dmabuf.c b/drivers/gpu/drm/i915/gvt= /dmabuf.c > index d4f883f35b95..e3f488681484 100644 > --- a/drivers/gpu/drm/i915/gvt/dmabuf.c > +++ b/drivers/gpu/drm/i915/gvt/dmabuf.c > @@ -148,8 +148,7 @@ static void dmabuf_gem_object_free(struct kref *kref) > =20 > if (vgpu && vgpu->active && !list_empty(&vgpu->dmabuf_obj_list_head)) { > list_for_each(pos, &vgpu->dmabuf_obj_list_head) { > - dmabuf_obj =3D container_of(pos, > - struct intel_vgpu_dmabuf_obj, list); > + dmabuf_obj =3D list_entry(pos, struct intel_vgpu_dmabuf_obj, list); > if (dmabuf_obj =3D=3D obj) { > list_del(pos); > intel_gvt_hypervisor_put_vfio_device(vgpu); > @@ -357,10 +356,8 @@ pick_dmabuf_by_info(struct intel_vgpu *vgpu, > struct intel_vgpu_dmabuf_obj *ret =3D NULL; > =20 > list_for_each(pos, &vgpu->dmabuf_obj_list_head) { > - dmabuf_obj =3D container_of(pos, struct intel_vgpu_dmabuf_obj, > - list); > - if ((dmabuf_obj =3D=3D NULL) || > - (dmabuf_obj->info =3D=3D NULL)) > + dmabuf_obj =3D list_entry(pos, struct intel_vgpu_dmabuf_obj, list); > + if (!dmabuf_obj->info) > continue; > =20 > fb_info =3D (struct intel_vgpu_fb_info *)dmabuf_obj->info; > @@ -387,11 +384,7 @@ pick_dmabuf_by_num(struct intel_vgpu *vgpu, u32 id) > struct intel_vgpu_dmabuf_obj *ret =3D NULL; > =20 > list_for_each(pos, &vgpu->dmabuf_obj_list_head) { > - dmabuf_obj =3D container_of(pos, struct intel_vgpu_dmabuf_obj, > - list); > - if (!dmabuf_obj) > - continue; > - > + dmabuf_obj =3D list_entry(pos, struct intel_vgpu_dmabuf_obj, list); > if (dmabuf_obj->dmabuf_id =3D=3D id) { > ret =3D dmabuf_obj; > break; > @@ -600,8 +593,7 @@ void intel_vgpu_dmabuf_cleanup(struct intel_vgpu *vgp= u) > =20 > mutex_lock(&vgpu->dmabuf_lock); > list_for_each_safe(pos, n, &vgpu->dmabuf_obj_list_head) { > - dmabuf_obj =3D container_of(pos, struct intel_vgpu_dmabuf_obj, > - list); > + dmabuf_obj =3D list_entry(pos, struct intel_vgpu_dmabuf_obj, list); > dmabuf_obj->vgpu =3D NULL; > =20 > idr_remove(&vgpu->object_idr, dmabuf_obj->dmabuf_id); > --=20 Sorry for late reply! Looks good to me. Reviewed-by: Zhenyu Wang --Bqc0IY4JZZt50bUr Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iF0EARECAB0WIQTXuabgHDW6LPt9CICxBBozTXgYJwUCYLXviAAKCRCxBBozTXgY JwG7AJ9Pr/tLAdoR3m14OG9PG9UnCCEW9gCcDSBRdzRBnLpNffd7NifoU6gF4+0= =aKMJ -----END PGP SIGNATURE----- --Bqc0IY4JZZt50bUr--