lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20210601082804.GS27293@zhen-hp.sh.intel.com>
Date:   Tue, 1 Jun 2021 16:28:04 +0800
From:   Zhenyu Wang <zhenyuw@...ux.intel.com>
To:     Guenter Roeck <linux@...ck-us.net>
Cc:     David Airlie <airlied@...ux.ie>, intel-gfx@...ts.freedesktop.org,
        linux-kernel@...r.kernel.org, dri-devel@...ts.freedesktop.org,
        Jani Nikula <jani.nikula@...ux.intel.com>,
        Daniel Vetter <daniel@...ll.ch>,
        intel-gvt-dev@...ts.freedesktop.org
Subject: Re: [PATCH v2] drm/i915/gem: Use list_entry to access list members

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().
> 
> Signed-off-by: Guenter Roeck <linux@...ck-us.net>
> ---
> v2: Checkpatch fixes:
>     - Fix alignment
>     - Replace comparison against NULL with !
> 
>  drivers/gpu/drm/i915/gvt/dmabuf.c | 18 +++++-------------
>  1 file changed, 5 insertions(+), 13 deletions(-)
> 
> 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)
>  
>  	if (vgpu && vgpu->active && !list_empty(&vgpu->dmabuf_obj_list_head)) {
>  		list_for_each(pos, &vgpu->dmabuf_obj_list_head) {
> -			dmabuf_obj = container_of(pos,
> -					struct intel_vgpu_dmabuf_obj, list);
> +			dmabuf_obj = list_entry(pos, struct intel_vgpu_dmabuf_obj, list);
>  			if (dmabuf_obj == 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 = NULL;
>  
>  	list_for_each(pos, &vgpu->dmabuf_obj_list_head) {
> -		dmabuf_obj = container_of(pos, struct intel_vgpu_dmabuf_obj,
> -						list);
> -		if ((dmabuf_obj == NULL) ||
> -		    (dmabuf_obj->info == NULL))
> +		dmabuf_obj = list_entry(pos, struct intel_vgpu_dmabuf_obj, list);
> +		if (!dmabuf_obj->info)
>  			continue;
>  
>  		fb_info = (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 = NULL;
>  
>  	list_for_each(pos, &vgpu->dmabuf_obj_list_head) {
> -		dmabuf_obj = container_of(pos, struct intel_vgpu_dmabuf_obj,
> -						list);
> -		if (!dmabuf_obj)
> -			continue;
> -
> +		dmabuf_obj = list_entry(pos, struct intel_vgpu_dmabuf_obj, list);
>  		if (dmabuf_obj->dmabuf_id == id) {
>  			ret = dmabuf_obj;
>  			break;
> @@ -600,8 +593,7 @@ void intel_vgpu_dmabuf_cleanup(struct intel_vgpu *vgpu)
>  
>  	mutex_lock(&vgpu->dmabuf_lock);
>  	list_for_each_safe(pos, n, &vgpu->dmabuf_obj_list_head) {
> -		dmabuf_obj = container_of(pos, struct intel_vgpu_dmabuf_obj,
> -						list);
> +		dmabuf_obj = list_entry(pos, struct intel_vgpu_dmabuf_obj, list);
>  		dmabuf_obj->vgpu = NULL;
>  
>  		idr_remove(&vgpu->object_idr, dmabuf_obj->dmabuf_id);
> -- 

Sorry for late reply! Looks good to me.

Reviewed-by: Zhenyu Wang <zhenyuw@...ux.intel.com>

Download attachment "signature.asc" of type "application/pgp-signature" (196 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ