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] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171016191914.zumhme7hl2iwin7p@art_vandelay>
Date:   Mon, 16 Oct 2017 15:19:14 -0400
From:   Sean Paul <seanpaul@...omium.org>
To:     Harsha Sharma <harshasharmaiitr@...il.com>
Cc:     daniel.vetter@...ll.ch, treding@...dia.com, airlied@...ux.ie,
        dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
        outreachy-kernel@...glegroups.com
Subject: Re: [Outreachy kernel] [PATCH] drm/tinydrm: Replace list_for_each
 with list_for_each_entry

On Sun, Oct 15, 2017 at 01:58:23AM +0530, Harsha Sharma wrote:
> Replace use of list_for_each with list_for_each_entry to simplify the
> code and remove variables that are used only in list_for_each.
> Done with following coccinelle patch:
> 
> @r@
> identifier fn,i,f,p;
> expression e;
> iterator name list_for_each, list_for_each_entry;
> type T;
> @@
> 
> fn(...) {
> ++ T *i;
>   <+...
> - list_for_each(p,e)
> + list_for_each_entry(i,e,f)
>   {
>               ...
> -   T *i = list_entry(p,T,f);
>                   ...
>    }
>    ...+>
> }
> 
> @@
> identifier r.fn,r.p;
> @@
> 
> fn(...) {
>   ...
> - struct list_head *p;
>   ... when != p
> }
> 
> @@
> identifier r.fn,r.i,r.f;
> expression r.e;
> statement S;
> @@
> 
> fn(...) {
>   <...
>   list_for_each_entry(i,e,f)
> - {
>   S
> - }
>   ...>
> }
> 
> @s@
> identifier i,f,p;
> expression e;
> type T;
> @@
> 
> - list_for_each(p,e)
> + list_for_each_entry(i,e,f)
>   {
>     ... when != T *i;
> -   i = list_entry(p,T,f);
>     ...
>   }
> 
> @@
> identifier s.p;
> @@
> 
> - struct list_head *p;
>   ... when != p
> 
> @@
> identifier s.i,s.f;
> expression s.e;
> statement S;
> @@
> 
>   list_for_each_entry(i,e,f)
> - {
>   S
> - }
> 
> Signed-off-by: Harsha Sharma <harshasharmaiitr@...il.com>

Reviewed-by: Sean Paul <seanpaul@...omium.org>

> ---
>  drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c b/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c
> index bd6cce093a85..bf96072d1b97 100644
> --- a/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c
> +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c
> @@ -414,11 +414,9 @@ tinydrm_dbg_spi_print(struct spi_device *spi, struct spi_transfer *tr,
>  void _tinydrm_dbg_spi_message(struct spi_device *spi, struct spi_message *m)
>  {
>  	struct spi_transfer *tmp;
> -	struct list_head *pos;
>  	int i = 0;
>  
> -	list_for_each(pos, &m->transfers) {
> -		tmp = list_entry(pos, struct spi_transfer, transfer_list);
> +	list_for_each_entry(tmp, &m->transfers, transfer_list) {
>  
>  		if (tmp->tx_buf)
>  			tinydrm_dbg_spi_print(spi, tmp, tmp->tx_buf, i, true);
> -- 
> 2.11.0
> 
> -- 
> You received this message because you are subscribed to the Google Groups "outreachy-kernel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to outreachy-kernel+unsubscribe@...glegroups.com.
> To post to this group, send email to outreachy-kernel@...glegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/outreachy-kernel/20171014202823.29230-1-harshasharmaiitr%40gmail.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
Sean Paul, Software Engineer, Google / Chromium OS

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ