Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1558167 > unrolled thread

[PATCH] cxgb4: Remove redundant memset before memcpy

Started byShyam Saini <mayhs11saini@gmail.com>
First post2017-01-13 11:00 +0100
Last post2017-01-14 02:00 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] cxgb4: Remove redundant memset before memcpy Shyam Saini <mayhs11saini@gmail.com> - 2017-01-13 11:00 +0100
    Re: [PATCH] cxgb4: Remove redundant memset before memcpy Tobias Klauser <tklauser@distanz.ch> - 2017-01-13 17:00 +0100
      Re: [PATCH] cxgb4: Remove redundant memset before memcpy Shyam Saini <mayhs11saini@gmail.com> - 2017-01-14 02:00 +0100

#1558167 — [PATCH] cxgb4: Remove redundant memset before memcpy

FromShyam Saini <mayhs11saini@gmail.com>
Date2017-01-13 11:00 +0100
Subject[PATCH] cxgb4: Remove redundant memset before memcpy
Message-ID<sZ6Or-7I1-21@gated-at.bofh.it>
The region set by the call to memset, immediately overwritten by the
subsequent call to memcpy and thus makes the  memset redundant

Signed-off-by: Shyam Saini <mayhs11saini@gmail.com>
---
 drivers/net/ethernet/chelsio/cxgb4/sched.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/net/ethernet/chelsio/cxgb4/sched.c b/drivers/net/ethernet/chelsio/cxgb4/sched.c
index cbd68a8..5725693 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/sched.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/sched.c
@@ -398,7 +398,6 @@ static struct sched_class *t4_sched_class_lookup(struct port_info *pi,
 		struct ch_sched_params tp;
 
 		memset(&info, 0, sizeof(info));
-		memset(&tp, 0, sizeof(tp));
 
 		memcpy(&tp, p, sizeof(tp));
 		/* Don't try to match class parameter */
@@ -409,7 +408,6 @@ static struct sched_class *t4_sched_class_lookup(struct port_info *pi,
 			if (e->state == SCHED_STATE_UNUSED)
 				continue;
 
-			memset(&info, 0, sizeof(info));
 			memcpy(&info, &e->info, sizeof(info));
 			/* Don't try to match class parameter */
 			info.u.params.class = SCHED_CLS_NONE;
@@ -458,7 +456,6 @@ static struct sched_class *t4_sched_class_alloc(struct port_info *pi,
 		if (!e)
 			goto out;
 
-		memset(&np, 0, sizeof(np));
 		memcpy(&np, p, sizeof(np));
 		np.u.params.class = e->idx;
 
-- 
2.7.4

[toc] | [next] | [standalone]


#1558517

FromTobias Klauser <tklauser@distanz.ch>
Date2017-01-13 17:00 +0100
Message-ID<sZcqJ-2FK-1@gated-at.bofh.it>
In reply to#1558167
On 2017-01-13 at 10:52:49 +0100, Shyam Saini <mayhs11saini@gmail.com> wrote:
> The region set by the call to memset, immediately overwritten by the
> subsequent call to memcpy and thus makes the  memset redundant
> 
> Signed-off-by: Shyam Saini <mayhs11saini@gmail.com>
> ---
>  drivers/net/ethernet/chelsio/cxgb4/sched.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/drivers/net/ethernet/chelsio/cxgb4/sched.c b/drivers/net/ethernet/chelsio/cxgb4/sched.c
> index cbd68a8..5725693 100644
> --- a/drivers/net/ethernet/chelsio/cxgb4/sched.c
> +++ b/drivers/net/ethernet/chelsio/cxgb4/sched.c
> @@ -398,7 +398,6 @@ static struct sched_class *t4_sched_class_lookup(struct port_info *pi,
>  		struct ch_sched_params tp;
>  
>  		memset(&info, 0, sizeof(info));

This memset is also redundant because info is memcpy()'ed to before
being used in the loop (and it isn't used outside of the loop).

> -		memset(&tp, 0, sizeof(tp));
>  
>  		memcpy(&tp, p, sizeof(tp));
>  		/* Don't try to match class parameter */
> @@ -409,7 +408,6 @@ static struct sched_class *t4_sched_class_lookup(struct port_info *pi,
>  			if (e->state == SCHED_STATE_UNUSED)
>  				continue;
>  
> -			memset(&info, 0, sizeof(info));
>  			memcpy(&info, &e->info, sizeof(info));
>  			/* Don't try to match class parameter */
>  			info.u.params.class = SCHED_CLS_NONE;
> @@ -458,7 +456,6 @@ static struct sched_class *t4_sched_class_alloc(struct port_info *pi,
>  		if (!e)
>  			goto out;
>  
> -		memset(&np, 0, sizeof(np));
>  		memcpy(&np, p, sizeof(np));
>  		np.u.params.class = e->idx;
>  
> -- 
> 2.7.4
> 

[toc] | [prev] | [next] | [standalone]


#1558810

FromShyam Saini <mayhs11saini@gmail.com>
Date2017-01-14 02:00 +0100
Message-ID<sZkRk-7LO-9@gated-at.bofh.it>
In reply to#1558517
On Fri, Jan 13, 2017 at 04:57:14PM +0100, Tobias Klauser wrote:
> On 2017-01-13 at 10:52:49 +0100, Shyam Saini <mayhs11saini@gmail.com> wrote:
> > The region set by the call to memset, immediately overwritten by the
> > subsequent call to memcpy and thus makes the  memset redundant
> > 
> > Signed-off-by: Shyam Saini <mayhs11saini@gmail.com>
> > ---
> >  drivers/net/ethernet/chelsio/cxgb4/sched.c | 3 ---
> >  1 file changed, 3 deletions(-)
> > 
> > diff --git a/drivers/net/ethernet/chelsio/cxgb4/sched.c b/drivers/net/ethernet/chelsio/cxgb4/sched.c
> > index cbd68a8..5725693 100644
> > --- a/drivers/net/ethernet/chelsio/cxgb4/sched.c
> > +++ b/drivers/net/ethernet/chelsio/cxgb4/sched.c
> > @@ -398,7 +398,6 @@ static struct sched_class *t4_sched_class_lookup(struct port_info *pi,
> >  		struct ch_sched_params tp;
> >  
> >  		memset(&info, 0, sizeof(info));
> 
> This memset is also redundant because info is memcpy()'ed to before
> being used in the loop (and it isn't used outside of the loop).
Thanks a lot for pointing out that.

I'll remove that too and resend it.

Regards,
Shyam

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web