All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 4/5] drivers/net: Drop unnecessary NULL test
@ 2009-07-12 20:05 ` Julia Lawall
  0 siblings, 0 replies; 5+ messages in thread
From: Julia Lawall @ 2009-07-12 20:05 UTC (permalink / raw)
  To: yi.zhu, jketreno, reinette.chatre, linux-wireless, ipw2100-devel,
	linux-kernel, kernel-janitors

From: Julia Lawall <julia@diku.dk>

The result of container_of should not be NULL.  In particular, in this case
the argument to the enclosing function has passed though INIT_WORK, which
dereferences it, implying that its container cannot be NULL.

A simplified version of the semantic patch that makes this change is as
follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
identifier fn,work,x,fld;
type T;
expression E1,E2;
statement S;
@@

static fn(struct work_struct *work) {
  ... when != work = E1
  x = container_of(work,T,fld)
  ... when != x = E2
- if (x == NULL) S
  ...
}
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>

---
 drivers/net/wireless/ipw2x00/ipw2200.c         |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c
index d726b3c..2dc1cdb 100644
--- a/drivers/net/wireless/ipw2x00/ipw2200.c
+++ b/drivers/net/wireless/ipw2x00/ipw2200.c
@@ -7250,9 +7250,6 @@ static void ipw_bg_qos_activate(struct work_struct *work)
 	struct ipw_priv *priv =
 		container_of(work, struct ipw_priv, qos_activate);
 
-	if (priv == NULL)
-		return;
-
 	mutex_lock(&priv->mutex);
 
 	if (priv->status & STATUS_ASSOCIATED)

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 4/5] drivers/net: Drop unnecessary NULL test
@ 2009-07-12 20:05 ` Julia Lawall
  0 siblings, 0 replies; 5+ messages in thread
From: Julia Lawall @ 2009-07-12 20:05 UTC (permalink / raw)
  To: yi.zhu, jketreno, reinette.chatre, linux-wireless, ipw2100-devel,
	linux-kernel, kernel-janitors

From: Julia Lawall <julia@diku.dk>

The result of container_of should not be NULL.  In particular, in this case
the argument to the enclosing function has passed though INIT_WORK, which
dereferences it, implying that its container cannot be NULL.

A simplified version of the semantic patch that makes this change is as
follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
identifier fn,work,x,fld;
type T;
expression E1,E2;
statement S;
@@

static fn(struct work_struct *work) {
  ... when != work = E1
  x = container_of(work,T,fld)
  ... when != x = E2
- if (x = NULL) S
  ...
}
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>

---
 drivers/net/wireless/ipw2x00/ipw2200.c         |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c
index d726b3c..2dc1cdb 100644
--- a/drivers/net/wireless/ipw2x00/ipw2200.c
+++ b/drivers/net/wireless/ipw2x00/ipw2200.c
@@ -7250,9 +7250,6 @@ static void ipw_bg_qos_activate(struct work_struct *work)
 	struct ipw_priv *priv  		container_of(work, struct ipw_priv, qos_activate);
 
-	if (priv = NULL)
-		return;
-
 	mutex_lock(&priv->mutex);
 
 	if (priv->status & STATUS_ASSOCIATED)

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 4/5] drivers/net: Drop unnecessary NULL test
  2009-07-12 20:05 ` Julia Lawall
  (?)
@ 2009-07-13  0:56   ` Zhu Yi
  -1 siblings, 0 replies; 5+ messages in thread
From: Zhu Yi @ 2009-07-13  0:56 UTC (permalink / raw)
  To: Julia Lawall
  Cc: jketreno, Chatre, Reinette, linux-wireless, ipw2100-devel,
	linux-kernel, kernel-janitors

On Mon, 2009-07-13 at 04:05 +0800, Julia Lawall wrote:
> From: Julia Lawall <julia@diku.dk>
> 
> The result of container_of should not be NULL.  In particular, in this case
> the argument to the enclosing function has passed though INIT_WORK, which
> dereferences it, implying that its container cannot be NULL.
> 
> A simplified version of the semantic patch that makes this change is as
> follows:
> (http://www.emn.fr/x-info/coccinelle/)
> 
> // <smpl>
> @@
> identifier fn,work,x,fld;
> type T;
> expression E1,E2;
> statement S;
> @@
> 
> static fn(struct work_struct *work) {
>   ... when != work = E1
>   x = container_of(work,T,fld)
>   ... when != x = E2
> - if (x == NULL) S
>   ...
> }
> // </smpl>
> 
> Signed-off-by: Julia Lawall <julia@diku.dk>

Acked-by: Zhu Yi <yi.zhu@intel.com>

Thanks,
-yi
> ---
>  drivers/net/wireless/ipw2x00/ipw2200.c         |    3 ---
>  1 files changed, 0 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c
> index d726b3c..2dc1cdb 100644
> --- a/drivers/net/wireless/ipw2x00/ipw2200.c
> +++ b/drivers/net/wireless/ipw2x00/ipw2200.c
> @@ -7250,9 +7250,6 @@ static void ipw_bg_qos_activate(struct work_struct *work)
>  	struct ipw_priv *priv =
>  		container_of(work, struct ipw_priv, qos_activate);
>  
> -	if (priv == NULL)
> -		return;
> -
>  	mutex_lock(&priv->mutex);
>  
>  	if (priv->status & STATUS_ASSOCIATED)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 4/5] drivers/net: Drop unnecessary NULL test
@ 2009-07-13  0:56   ` Zhu Yi
  0 siblings, 0 replies; 5+ messages in thread
From: Zhu Yi @ 2009-07-13  0:56 UTC (permalink / raw)
  To: Julia Lawall
  Cc: jketreno, Chatre, Reinette, linux-wireless, ipw2100-devel,
	linux-kernel, kernel-janitors

On Mon, 2009-07-13 at 04:05 +0800, Julia Lawall wrote:
> From: Julia Lawall <julia@diku.dk>
> 
> The result of container_of should not be NULL.  In particular, in this case
> the argument to the enclosing function has passed though INIT_WORK, which
> dereferences it, implying that its container cannot be NULL.
> 
> A simplified version of the semantic patch that makes this change is as
> follows:
> (http://www.emn.fr/x-info/coccinelle/)
> 
> // <smpl>
> @@
> identifier fn,work,x,fld;
> type T;
> expression E1,E2;
> statement S;
> @@
> 
> static fn(struct work_struct *work) {
>   ... when != work = E1
>   x = container_of(work,T,fld)
>   ... when != x = E2
> - if (x == NULL) S
>   ...
> }
> // </smpl>
> 
> Signed-off-by: Julia Lawall <julia@diku.dk>

Acked-by: Zhu Yi <yi.zhu@intel.com>

Thanks,
-yi
> ---
>  drivers/net/wireless/ipw2x00/ipw2200.c         |    3 ---
>  1 files changed, 0 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c
> index d726b3c..2dc1cdb 100644
> --- a/drivers/net/wireless/ipw2x00/ipw2200.c
> +++ b/drivers/net/wireless/ipw2x00/ipw2200.c
> @@ -7250,9 +7250,6 @@ static void ipw_bg_qos_activate(struct work_struct *work)
>  	struct ipw_priv *priv =
>  		container_of(work, struct ipw_priv, qos_activate);
>  
> -	if (priv == NULL)
> -		return;
> -
>  	mutex_lock(&priv->mutex);
>  
>  	if (priv->status & STATUS_ASSOCIATED)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 4/5] drivers/net: Drop unnecessary NULL test
@ 2009-07-13  0:56   ` Zhu Yi
  0 siblings, 0 replies; 5+ messages in thread
From: Zhu Yi @ 2009-07-13  0:56 UTC (permalink / raw)
  To: Julia Lawall
  Cc: jketreno, Chatre, Reinette, linux-wireless, ipw2100-devel,
	linux-kernel, kernel-janitors

On Mon, 2009-07-13 at 04:05 +0800, Julia Lawall wrote:
> From: Julia Lawall <julia@diku.dk>
> 
> The result of container_of should not be NULL.  In particular, in this case
> the argument to the enclosing function has passed though INIT_WORK, which
> dereferences it, implying that its container cannot be NULL.
> 
> A simplified version of the semantic patch that makes this change is as
> follows:
> (http://www.emn.fr/x-info/coccinelle/)
> 
> // <smpl>
> @@
> identifier fn,work,x,fld;
> type T;
> expression E1,E2;
> statement S;
> @@
> 
> static fn(struct work_struct *work) {
>   ... when != work = E1
>   x = container_of(work,T,fld)
>   ... when != x = E2
> - if (x = NULL) S
>   ...
> }
> // </smpl>
> 
> Signed-off-by: Julia Lawall <julia@diku.dk>

Acked-by: Zhu Yi <yi.zhu@intel.com>

Thanks,
-yi
> ---
>  drivers/net/wireless/ipw2x00/ipw2200.c         |    3 ---
>  1 files changed, 0 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c
> index d726b3c..2dc1cdb 100644
> --- a/drivers/net/wireless/ipw2x00/ipw2200.c
> +++ b/drivers/net/wireless/ipw2x00/ipw2200.c
> @@ -7250,9 +7250,6 @@ static void ipw_bg_qos_activate(struct work_struct *work)
>  	struct ipw_priv *priv >  		container_of(work, struct ipw_priv, qos_activate);
>  
> -	if (priv = NULL)
> -		return;
> -
>  	mutex_lock(&priv->mutex);
>  
>  	if (priv->status & STATUS_ASSOCIATED)


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-07-13  0:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-12 20:05 [PATCH 4/5] drivers/net: Drop unnecessary NULL test Julia Lawall
2009-07-12 20:05 ` Julia Lawall
2009-07-13  0:56 ` Zhu Yi
2009-07-13  0:56   ` Zhu Yi
2009-07-13  0:56   ` Zhu Yi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.