All of lore.kernel.org
 help / color / mirror / Atom feed
From: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Feras Daoud <ferasda-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Erez Shitrit <erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Subject: [PATCH rdma-next V1 9/9] IB/ipoib: Change list_del to list_del_init in the tx object
Date: Wed, 28 Dec 2016 14:47:28 +0200	[thread overview]
Message-ID: <20161228124728.26619-10-leon@kernel.org> (raw)
In-Reply-To: <20161228124728.26619-1-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>

From: Feras Daoud <ferasda-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>

Since ipoib_cm_tx_start function and ipoib_cm_tx_reap function
belong to different work queues, they can run in parallel.
In this case if ipoib_cm_tx_reap calls list_del and release the
lock, ipoib_cm_tx_start may acquire it and call list_del_init
on the already deleted object.
Changing list_del to list_del_init in ipoib_cm_tx_reap fixes the problem.

Fixes: 839fcaba355a ("IPoIB: Connected mode experimental support")
Signed-off-by: Feras Daoud <ferasda-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Signed-off-by: Erez Shitrit <erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Reviewed-by: Alex Vesker <valex-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Signed-off-by: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
---
 drivers/infiniband/ulp/ipoib/ipoib_cm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c b/drivers/infiniband/ulp/ipoib/ipoib_cm.c
index c433e72..53d69d7 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c
@@ -1392,7 +1392,7 @@ static void ipoib_cm_tx_reap(struct work_struct *work)
 
 	while (!list_empty(&priv->cm.reap_list)) {
 		p = list_entry(priv->cm.reap_list.next, typeof(*p), list);
-		list_del(&p->list);
+		list_del_init(&p->list);
 		spin_unlock_irqrestore(&priv->lock, flags);
 		netif_tx_unlock_bh(dev);
 		ipoib_cm_tx_destroy(p);
-- 
2.10.2

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2016-12-28 12:47 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-28 12:47 [PATCH rdma-next V1 0/9] IPoIB fixes for 4.11 Leon Romanovsky
     [not found] ` <20161228124728.26619-1-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2016-12-28 12:47   ` [PATCH rdma-next V1 1/9] IB/ipoib: Add warning message when changing the MTU in UD over the max range Leon Romanovsky
     [not found]     ` <20161228124728.26619-2-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-01-12 18:46       ` Doug Ledford
     [not found]         ` <1484246776.123135.19.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-01-12 19:35           ` Leon Romanovsky
     [not found]             ` <20170112193508.GO20392-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-01-12 20:16               ` Jason Gunthorpe
     [not found]                 ` <20170112201622.GA14584-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-01-13 15:08                   ` Leon Romanovsky
     [not found]                     ` <20170113150824.GQ20392-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-01-13 17:12                       ` Jason Gunthorpe
     [not found]                         ` <20170113171234.GA30551-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-01-13 20:31                           ` Leon Romanovsky
     [not found]                             ` <20170113203127.GT20392-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-01-13 21:27                               ` Jason Gunthorpe
     [not found]                                 ` <20170113212721.GB1463-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-01-15  8:35                                   ` Leon Romanovsky
     [not found]                                     ` <20170115083543.GA20392-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-01-16 20:12                                       ` Jason Gunthorpe
     [not found]                                         ` <20170116201218.GA7890-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-01-17 19:31                                           ` Leon Romanovsky
2017-01-19 13:12                                           ` Leon Romanovsky
     [not found]                                             ` <20170119131258.GT32481-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-01-19 17:33                                               ` Jason Gunthorpe
     [not found]                                                 ` <20170119173352.GA8109-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-01-22  8:05                                                   ` Leon Romanovsky
2017-01-12 21:58               ` Doug Ledford
     [not found]                 ` <1484258308.123135.41.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-01-13 15:15                   ` Leon Romanovsky
     [not found]                     ` <20170113151507.GR20392-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-01-17 19:34                       ` Leon Romanovsky
2016-12-28 12:47   ` [PATCH rdma-next V1 2/9] IB/ipoib: Set device connection mode only when needed Leon Romanovsky
     [not found]     ` <20161228124728.26619-3-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-01-12 18:47       ` Doug Ledford
     [not found]         ` <1484246826.123135.20.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-01-12 19:25           ` Leon Romanovsky
2016-12-28 12:47   ` [PATCH rdma-next V1 3/9] IB/ipoib: Fix deadlock over vlan_mutex Leon Romanovsky
2016-12-28 12:47   ` [PATCH rdma-next V1 4/9] IB/ipoib: Fix deadlock between rmmod and set_mode Leon Romanovsky
2016-12-28 12:47   ` [PATCH rdma-next V1 5/9] IB/ipoib: rtnl_unlock can not come after free_netdev Leon Romanovsky
     [not found]     ` <20161228124728.26619-6-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2016-12-29 20:55       ` Or Gerlitz
     [not found]         ` <CAJ3xEMg+UuvUqqaFrBXa+S+S2qLg_FowZLrwvhYzaB7JTkn=pQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-01-01  6:39           ` Leon Romanovsky
     [not found]             ` <20170101063945.GP26885-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-01-01  7:19               ` Or Gerlitz
     [not found]                 ` <CAJ3xEMj-6aLraLqH+VBeyqTivSnB0hRo_Hzaiy_LChX8yXDjVg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-01-01  7:45                   ` Erez Shitrit
2016-12-28 12:47   ` [PATCH rdma-next V1 6/9] IB/ipoib: Add detailed error message to dev_queue_xmit call Leon Romanovsky
2016-12-28 12:47   ` [PATCH rdma-next V1 7/9] IB/ipoib: Use debug prints instead of warnings in RNR WC status Leon Romanovsky
     [not found]     ` <20161228124728.26619-8-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2016-12-28 13:11       ` Yuval Shaia
2016-12-28 12:47   ` [PATCH rdma-next V1 8/9] IB/ipoib: Replace list_del of the neigh->list with list_del_init Leon Romanovsky
     [not found]     ` <20161228124728.26619-9-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-01-02 12:29       ` Yuval Shaia
     [not found]         ` <20170102122917.GB25669-Hxa29pjIrETlQW142y8m19+IiqhCXseY@public.gmane.org>
2017-01-02 18:19           ` Leon Romanovsky
2016-12-28 12:47   ` Leon Romanovsky [this message]
     [not found]     ` <20161228124728.26619-10-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-01-02 12:21       ` [PATCH rdma-next V1 9/9] IB/ipoib: Change list_del to list_del_init in the tx object Yuval Shaia
2017-01-12 19:02   ` [PATCH rdma-next V1 0/9] IPoIB fixes for 4.11 Doug Ledford
     [not found]     ` <1484247737.123135.21.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-01-12 19:24       ` Leon Romanovsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161228124728.26619-10-leon@kernel.org \
    --to=leon-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=ferasda-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.