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 8/9] IB/ipoib: Replace list_del of the neigh->list with list_del_init
Date: Wed, 28 Dec 2016 14:47:27 +0200 [thread overview]
Message-ID: <20161228124728.26619-9-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>
In order to resolve a situation where a few process delete
the same list element in sequence and cause panic, list_del
is replaced with list_del_init. In this case if the first
process that calls list_del releases the lock before acquiring
it again, other processes who can acquire the lock will call
list_del_init.
Fixes: b63b70d87741 ("IPoIB: Use a private hash table for path lookup")
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_main.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c
index b5e1e4d..d8af197 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -1298,7 +1298,7 @@ static void __ipoib_reap_neigh(struct ipoib_dev_priv *priv)
rcu_dereference_protected(neigh->hnext,
lockdep_is_held(&priv->lock)));
/* remove from path/mc list */
- list_del(&neigh->list);
+ list_del_init(&neigh->list);
call_rcu(&neigh->rcu, ipoib_neigh_reclaim);
} else {
np = &neigh->hnext;
@@ -1462,7 +1462,7 @@ void ipoib_neigh_free(struct ipoib_neigh *neigh)
rcu_dereference_protected(neigh->hnext,
lockdep_is_held(&priv->lock)));
/* remove from parent list */
- list_del(&neigh->list);
+ list_del_init(&neigh->list);
call_rcu(&neigh->rcu, ipoib_neigh_reclaim);
return;
} else {
@@ -1547,7 +1547,7 @@ void ipoib_del_neighs_by_gid(struct net_device *dev, u8 *gid)
rcu_dereference_protected(neigh->hnext,
lockdep_is_held(&priv->lock)));
/* remove from parent list */
- list_del(&neigh->list);
+ list_del_init(&neigh->list);
call_rcu(&neigh->rcu, ipoib_neigh_reclaim);
} else {
np = &neigh->hnext;
@@ -1589,7 +1589,7 @@ static void ipoib_flush_neighs(struct ipoib_dev_priv *priv)
rcu_dereference_protected(neigh->hnext,
lockdep_is_held(&priv->lock)));
/* remove from path/mc list */
- list_del(&neigh->list);
+ list_del_init(&neigh->list);
call_rcu(&neigh->rcu, ipoib_neigh_reclaim);
}
}
--
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
next prev 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 ` Leon Romanovsky [this message]
[not found] ` <20161228124728.26619-9-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-01-02 12:29 ` [PATCH rdma-next V1 8/9] IB/ipoib: Replace list_del of the neigh->list with list_del_init Yuval Shaia
[not found] ` <20170102122917.GB25669-Hxa29pjIrETlQW142y8m19+IiqhCXseY@public.gmane.org>
2017-01-02 18:19 ` Leon Romanovsky
2016-12-28 12:47 ` [PATCH rdma-next V1 9/9] IB/ipoib: Change list_del to list_del_init in the tx object Leon Romanovsky
[not found] ` <20161228124728.26619-10-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-01-02 12:21 ` 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-9-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.