All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] static matcher cleanups
@ 2015-07-16 23:47 Stephen Hemminger
  2015-07-16 23:47 ` [PATCH 1/2] rte_ethdev: fix crash if malloc fails in rte_eth_dev_callback_register Stephen Hemminger
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Stephen Hemminger @ 2015-07-16 23:47 UTC (permalink / raw)
  To: dev

These were found by running the Linux kernel coccinelle scripts
on the DPDK source.

Stephen Hemminger (2):
  rte_ethdev: fix crash if malloc fails in rte_eth_dev_callback_register
  kni: fix coccinelle warnings

 lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 4 ++--
 lib/librte_eal/linuxapp/kni/kni_vhost.c            | 8 +++-----
 lib/librte_ether/rte_ethdev.c                      | 7 ++++---
 3 files changed, 9 insertions(+), 10 deletions(-)

-- 
2.1.4

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

* [PATCH 1/2] rte_ethdev: fix crash if malloc fails in rte_eth_dev_callback_register
  2015-07-16 23:47 [PATCH 0/2] static matcher cleanups Stephen Hemminger
@ 2015-07-16 23:47 ` Stephen Hemminger
  2015-07-17  8:16   ` Bruce Richardson
  2015-07-16 23:47 ` [PATCH 2/2] kni: fix coccinelle warnings Stephen Hemminger
  2015-07-22 14:25 ` [PATCH 0/2] static matcher cleanups Thomas Monjalon
  2 siblings, 1 reply; 6+ messages in thread
From: Stephen Hemminger @ 2015-07-16 23:47 UTC (permalink / raw)
  To: dev

Found by coccinelle script.  If rte_zmalloc() failed in rte_eth_dev_callback_register
then NULL pointer would be dereferenced.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/librte_ether/rte_ethdev.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index ddf3658..aa363be 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -2929,9 +2929,10 @@ rte_eth_dev_callback_register(uint8_t port_id,
 	}
 
 	/* create a new callback. */
-	if (user_cb == NULL &&
-	    (user_cb = rte_zmalloc("INTR_USER_CALLBACK",
-				   sizeof(struct rte_eth_dev_callback), 0))) {
+	if (!user_cb)
+	    user_cb = rte_zmalloc("INTR_USER_CALLBACK",
+				  sizeof(struct rte_eth_dev_callback), 0);
+	if (user_cb) {
 		user_cb->cb_fn = cb_fn;
 		user_cb->cb_arg = cb_arg;
 		user_cb->event = event;
-- 
2.1.4

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

* [PATCH 2/2] kni: fix coccinelle warnings
  2015-07-16 23:47 [PATCH 0/2] static matcher cleanups Stephen Hemminger
  2015-07-16 23:47 ` [PATCH 1/2] rte_ethdev: fix crash if malloc fails in rte_eth_dev_callback_register Stephen Hemminger
@ 2015-07-16 23:47 ` Stephen Hemminger
  2015-07-22 14:25 ` [PATCH 0/2] static matcher cleanups Thomas Monjalon
  2 siblings, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2015-07-16 23:47 UTC (permalink / raw)
  To: dev

This fixes cases in KNI where kernel allocation function return value
is needlessly casted.

lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c:3181:25-28: WARNING: casting value returned by memory allocation function to (u32 *) is useless.
lib/librte_eal/linuxapp/kni/kni_vhost.c:690:9-28: WARNING: casting value returned by memory allocation function to (struct rte_kni_fifo *) is useless.
lib/librte_eal/linuxapp/kni/kni_vhost.c:684:13-27: WARNING: casting value returned by memory allocation function to (struct sk_buff *) is useless

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 4 ++--
 lib/librte_eal/linuxapp/kni/kni_vhost.c            | 8 +++-----
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
index 47198bb..eed8df6 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
@@ -3178,8 +3178,8 @@ static int igb_sw_init(struct igb_adapter *adapter)
 				     GFP_ATOMIC);
 
 	/* Setup and initialize a copy of the hw vlan table array */
-	adapter->shadow_vfta = (u32 *)kzalloc(sizeof(u32) * E1000_VFTA_ENTRIES,
-					GFP_ATOMIC);
+	adapter->shadow_vfta = kzalloc(sizeof(u32) * E1000_VFTA_ENTRIES,
+				       GFP_ATOMIC);
 #ifdef NO_KNI
 	/* These calls may decrease the number of queues */
 	if (hw->mac.type < e1000_i210) {
diff --git a/lib/librte_eal/linuxapp/kni/kni_vhost.c b/lib/librte_eal/linuxapp/kni/kni_vhost.c
index 013a677..d0c12a6 100644
--- a/lib/librte_eal/linuxapp/kni/kni_vhost.c
+++ b/lib/librte_eal/linuxapp/kni/kni_vhost.c
@@ -681,14 +681,12 @@ kni_vhost_backend_init(struct kni_dev *kni)
 	}
 
 	/* cache init */
-	q->cache = (struct sk_buff*)
-		kzalloc(RTE_KNI_VHOST_MAX_CACHE_SIZE * sizeof(struct sk_buff),
-			GFP_KERNEL);
+	q->cache = kzalloc(RTE_KNI_VHOST_MAX_CACHE_SIZE * sizeof(struct sk_buff),
+			   GFP_KERNEL);
 	if (!q->cache)
 		goto free_fd;
 
-	fifo = (struct rte_kni_fifo*)
-		kzalloc(RTE_KNI_VHOST_MAX_CACHE_SIZE * sizeof(void *)
+	fifo = kzalloc(RTE_KNI_VHOST_MAX_CACHE_SIZE * sizeof(void *)
 			+ sizeof(struct rte_kni_fifo), GFP_KERNEL);
 	if (!fifo)
 		goto free_cache;
-- 
2.1.4

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

* Re: [PATCH 1/2] rte_ethdev: fix crash if malloc fails in rte_eth_dev_callback_register
  2015-07-16 23:47 ` [PATCH 1/2] rte_ethdev: fix crash if malloc fails in rte_eth_dev_callback_register Stephen Hemminger
@ 2015-07-17  8:16   ` Bruce Richardson
  2015-07-22 13:54     ` Thomas Monjalon
  0 siblings, 1 reply; 6+ messages in thread
From: Bruce Richardson @ 2015-07-17  8:16 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev

On Thu, Jul 16, 2015 at 04:47:23PM -0700, Stephen Hemminger wrote:
> Found by coccinelle script.  If rte_zmalloc() failed in rte_eth_dev_callback_register
> then NULL pointer would be dereferenced.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
>  lib/librte_ether/rte_ethdev.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
> index ddf3658..aa363be 100644
> --- a/lib/librte_ether/rte_ethdev.c
> +++ b/lib/librte_ether/rte_ethdev.c
> @@ -2929,9 +2929,10 @@ rte_eth_dev_callback_register(uint8_t port_id,
>  	}
>  
>  	/* create a new callback. */
> -	if (user_cb == NULL &&
> -	    (user_cb = rte_zmalloc("INTR_USER_CALLBACK",
> -				   sizeof(struct rte_eth_dev_callback), 0))) {
> +	if (!user_cb)

Minor style issue. Since user_cb is a pointer, not a boolean, the condition
should use "== NULL" rather than "!".

/Bruce

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

* Re: [PATCH 1/2] rte_ethdev: fix crash if malloc fails in rte_eth_dev_callback_register
  2015-07-17  8:16   ` Bruce Richardson
@ 2015-07-22 13:54     ` Thomas Monjalon
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Monjalon @ 2015-07-22 13:54 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev

2015-07-17 09:16, Bruce Richardson:
> On Thu, Jul 16, 2015 at 04:47:23PM -0700, Stephen Hemminger wrote:
> > -	if (user_cb == NULL &&
> > -	    (user_cb = rte_zmalloc("INTR_USER_CALLBACK",
> > -				   sizeof(struct rte_eth_dev_callback), 0))) {
> > +	if (!user_cb)
> 
> Minor style issue. Since user_cb is a pointer, not a boolean, the condition
> should use "== NULL" rather than "!".

Fixed before pushing.

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

* Re: [PATCH 0/2] static matcher cleanups
  2015-07-16 23:47 [PATCH 0/2] static matcher cleanups Stephen Hemminger
  2015-07-16 23:47 ` [PATCH 1/2] rte_ethdev: fix crash if malloc fails in rte_eth_dev_callback_register Stephen Hemminger
  2015-07-16 23:47 ` [PATCH 2/2] kni: fix coccinelle warnings Stephen Hemminger
@ 2015-07-22 14:25 ` Thomas Monjalon
  2 siblings, 0 replies; 6+ messages in thread
From: Thomas Monjalon @ 2015-07-22 14:25 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev

2015-07-16 16:47, Stephen Hemminger:
> These were found by running the Linux kernel coccinelle scripts
> on the DPDK source.
> 
> Stephen Hemminger (2):
>   rte_ethdev: fix crash if malloc fails in rte_eth_dev_callback_register
>   kni: fix coccinelle warnings

Applied, thanks

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

end of thread, other threads:[~2015-07-22 14:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-16 23:47 [PATCH 0/2] static matcher cleanups Stephen Hemminger
2015-07-16 23:47 ` [PATCH 1/2] rte_ethdev: fix crash if malloc fails in rte_eth_dev_callback_register Stephen Hemminger
2015-07-17  8:16   ` Bruce Richardson
2015-07-22 13:54     ` Thomas Monjalon
2015-07-16 23:47 ` [PATCH 2/2] kni: fix coccinelle warnings Stephen Hemminger
2015-07-22 14:25 ` [PATCH 0/2] static matcher cleanups Thomas Monjalon

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.