linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] net: remove redundant null pointer check before kfree_skb
@ 2018-09-20  9:37 zhong jiang
  2018-09-20  9:37 ` [PATCH 1/6] net: tap: " zhong jiang
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: zhong jiang @ 2018-09-20  9:37 UTC (permalink / raw)
  To: davem; +Cc: kuznet, yoshfuji, santosh, netdev, linux-kernel

The issue is detected with the help of Coccinelle.

zhong jiang (6):
  net: tap: remove redundant null pointer check before kfree_skb
  net: cxgb3: remove redundant null pointer check before kfree_skb
  ipv4: remove redundant null pointer check before kfree_skb
  net: nci: remove redundant null pointer check before kfree_skb
  net: cxgb3_main: remove redundant null pointer check before kfree_skb
  ipv6: remove redundant null pointer check before kfree_skb

 drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c    | 3 +--
 drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c | 3 +--
 drivers/net/tap.c                                  | 6 ++----
 net/ipv4/ip_fragment.c                             | 3 +--
 net/ipv6/af_inet6.c                                | 6 ++----
 net/nfc/nci/uart.c                                 | 6 ++----
 6 files changed, 9 insertions(+), 18 deletions(-)

-- 
1.7.12.4


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

* [PATCH 1/6] net: tap: remove redundant null pointer check before kfree_skb
  2018-09-20  9:37 [PATCH 0/6] net: remove redundant null pointer check before kfree_skb zhong jiang
@ 2018-09-20  9:37 ` zhong jiang
  2018-09-20  9:37 ` [PATCH 2/6] net: cxgb3: " zhong jiang
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: zhong jiang @ 2018-09-20  9:37 UTC (permalink / raw)
  To: davem; +Cc: kuznet, yoshfuji, santosh, netdev, linux-kernel

kfree_skb has taken the null pointer into account. hence it is safe
to remove the redundant null pointer check before kfree_skb.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 drivers/net/tap.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/net/tap.c b/drivers/net/tap.c
index a4ab4a7..f03004f 100644
--- a/drivers/net/tap.c
+++ b/drivers/net/tap.c
@@ -830,8 +830,7 @@ static ssize_t tap_do_read(struct tap_queue *q,
 	ssize_t ret = 0;
 
 	if (!iov_iter_count(to)) {
-		if (skb)
-			kfree_skb(skb);
+		kfree_skb(skb);
 		return 0;
 	}
 
@@ -1236,8 +1235,7 @@ static int tap_recvmsg(struct socket *sock, struct msghdr *m,
 	struct sk_buff *skb = m->msg_control;
 	int ret;
 	if (flags & ~(MSG_DONTWAIT|MSG_TRUNC)) {
-		if (skb)
-			kfree_skb(skb);
+		kfree_skb(skb);
 		return -EINVAL;
 	}
 	ret = tap_do_read(q, &m->msg_iter, flags & MSG_DONTWAIT, skb);
-- 
1.7.12.4


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

* [PATCH 2/6] net: cxgb3: remove redundant null pointer check before kfree_skb
  2018-09-20  9:37 [PATCH 0/6] net: remove redundant null pointer check before kfree_skb zhong jiang
  2018-09-20  9:37 ` [PATCH 1/6] net: tap: " zhong jiang
@ 2018-09-20  9:37 ` zhong jiang
  2018-09-20  9:37 ` [PATCH 3/6] ipv4: " zhong jiang
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: zhong jiang @ 2018-09-20  9:37 UTC (permalink / raw)
  To: davem; +Cc: kuznet, yoshfuji, santosh, netdev, linux-kernel

kfree_skb has taken the null pointer into account. hence it is safe
to remove the redundant null pointer check before kfree_skb.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
index 50cd660..84604af 100644
--- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
+++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
@@ -1302,8 +1302,7 @@ void cxgb3_offload_deactivate(struct adapter *adapter)
 	rcu_read_unlock();
 	RCU_INIT_POINTER(tdev->l2opt, NULL);
 	call_rcu(&d->rcu_head, clean_l2_data);
-	if (t->nofail_skb)
-		kfree_skb(t->nofail_skb);
+	kfree_skb(t->nofail_skb);
 	kfree(t);
 }
 
-- 
1.7.12.4


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

* [PATCH 3/6] ipv4: remove redundant null pointer check before kfree_skb
  2018-09-20  9:37 [PATCH 0/6] net: remove redundant null pointer check before kfree_skb zhong jiang
  2018-09-20  9:37 ` [PATCH 1/6] net: tap: " zhong jiang
  2018-09-20  9:37 ` [PATCH 2/6] net: cxgb3: " zhong jiang
@ 2018-09-20  9:37 ` zhong jiang
  2018-09-20  9:37 ` [PATCH 4/6] net: nci: " zhong jiang
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: zhong jiang @ 2018-09-20  9:37 UTC (permalink / raw)
  To: davem; +Cc: kuznet, yoshfuji, santosh, netdev, linux-kernel

kfree_skb has taken the null pointer into account. hence it is safe
to remove the redundant null pointer check before kfree_skb.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 net/ipv4/ip_fragment.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c
index da930b0..13f4d18 100644
--- a/net/ipv4/ip_fragment.c
+++ b/net/ipv4/ip_fragment.c
@@ -260,8 +260,7 @@ static void ip_expire(struct timer_list *t)
 	spin_unlock(&qp->q.lock);
 out_rcu_unlock:
 	rcu_read_unlock();
-	if (head)
-		kfree_skb(head);
+	kfree_skb(head);
 	ipq_put(qp);
 }
 
-- 
1.7.12.4


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

* [PATCH 4/6] net: nci: remove redundant null pointer check before kfree_skb
  2018-09-20  9:37 [PATCH 0/6] net: remove redundant null pointer check before kfree_skb zhong jiang
                   ` (2 preceding siblings ...)
  2018-09-20  9:37 ` [PATCH 3/6] ipv4: " zhong jiang
@ 2018-09-20  9:37 ` zhong jiang
  2018-09-20  9:37 ` [PATCH 5/6] net: cxgb3_main: " zhong jiang
  2018-09-20  9:37 ` [PATCH 6/6] ipv6: " zhong jiang
  5 siblings, 0 replies; 7+ messages in thread
From: zhong jiang @ 2018-09-20  9:37 UTC (permalink / raw)
  To: davem; +Cc: kuznet, yoshfuji, santosh, netdev, linux-kernel

kfree_skb has taken the null pointer into account. hence it is safe
to remove the redundant null pointer check before kfree_skb.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 net/nfc/nci/uart.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/net/nfc/nci/uart.c b/net/nfc/nci/uart.c
index a66f102..4503937 100644
--- a/net/nfc/nci/uart.c
+++ b/net/nfc/nci/uart.c
@@ -192,10 +192,8 @@ static void nci_uart_tty_close(struct tty_struct *tty)
 	if (!nu)
 		return;
 
-	if (nu->tx_skb)
-		kfree_skb(nu->tx_skb);
-	if (nu->rx_skb)
-		kfree_skb(nu->rx_skb);
+	kfree_skb(nu->tx_skb);
+	kfree_skb(nu->rx_skb);
 
 	skb_queue_purge(&nu->tx_q);
 
-- 
1.7.12.4


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

* [PATCH 5/6] net: cxgb3_main: remove redundant null pointer check before kfree_skb
  2018-09-20  9:37 [PATCH 0/6] net: remove redundant null pointer check before kfree_skb zhong jiang
                   ` (3 preceding siblings ...)
  2018-09-20  9:37 ` [PATCH 4/6] net: nci: " zhong jiang
@ 2018-09-20  9:37 ` zhong jiang
  2018-09-20  9:37 ` [PATCH 6/6] ipv6: " zhong jiang
  5 siblings, 0 replies; 7+ messages in thread
From: zhong jiang @ 2018-09-20  9:37 UTC (permalink / raw)
  To: davem; +Cc: kuznet, yoshfuji, santosh, netdev, linux-kernel

kfree_skb has taken the null pointer into account. hence it is safe
to remove the redundant null pointer check before kfree_skb.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
index a19172d..680c6fe 100644
--- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
@@ -3423,8 +3423,7 @@ static void remove_one(struct pci_dev *pdev)
 				free_netdev(adapter->port[i]);
 
 		iounmap(adapter->regs);
-		if (adapter->nofail_skb)
-			kfree_skb(adapter->nofail_skb);
+		kfree_skb(adapter->nofail_skb);
 		kfree(adapter);
 		pci_release_regions(pdev);
 		pci_disable_device(pdev);
-- 
1.7.12.4


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

* [PATCH 6/6] ipv6: remove redundant null pointer check before kfree_skb
  2018-09-20  9:37 [PATCH 0/6] net: remove redundant null pointer check before kfree_skb zhong jiang
                   ` (4 preceding siblings ...)
  2018-09-20  9:37 ` [PATCH 5/6] net: cxgb3_main: " zhong jiang
@ 2018-09-20  9:37 ` zhong jiang
  5 siblings, 0 replies; 7+ messages in thread
From: zhong jiang @ 2018-09-20  9:37 UTC (permalink / raw)
  To: davem; +Cc: kuznet, yoshfuji, santosh, netdev, linux-kernel

kfree_skb has taken the null pointer into account. hence it is safe
to remove the redundant null pointer check before kfree_skb.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 net/ipv6/af_inet6.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
index 77ef847..e9c8cfd 100644
--- a/net/ipv6/af_inet6.c
+++ b/net/ipv6/af_inet6.c
@@ -468,12 +468,10 @@ void inet6_destroy_sock(struct sock *sk)
 	/* Release rx options */
 
 	skb = xchg(&np->pktoptions, NULL);
-	if (skb)
-		kfree_skb(skb);
+	kfree_skb(skb);
 
 	skb = xchg(&np->rxpmtu, NULL);
-	if (skb)
-		kfree_skb(skb);
+	kfree_skb(skb);
 
 	/* Free flowlabels */
 	fl6_free_socklist(sk);
-- 
1.7.12.4


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

end of thread, other threads:[~2018-09-20  9:50 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-20  9:37 [PATCH 0/6] net: remove redundant null pointer check before kfree_skb zhong jiang
2018-09-20  9:37 ` [PATCH 1/6] net: tap: " zhong jiang
2018-09-20  9:37 ` [PATCH 2/6] net: cxgb3: " zhong jiang
2018-09-20  9:37 ` [PATCH 3/6] ipv4: " zhong jiang
2018-09-20  9:37 ` [PATCH 4/6] net: nci: " zhong jiang
2018-09-20  9:37 ` [PATCH 5/6] net: cxgb3_main: " zhong jiang
2018-09-20  9:37 ` [PATCH 6/6] ipv6: " zhong jiang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).