On 05/21/2013 02:51 PM, Sebastian Riemer wrote:
> On 17.05.2013 16:16, Jack Wang wrote:
>> unable to handle kernel paging request
> 
> Hi Jack,
> 
> this should be related to the list corruption in IPoIB as list_del()
> sets the LIST_POISON1 and LIST_POISON2 pointers.
> Referencing these results in page faults according to the documentation
> in the code.
> 
> Cheers,
> Sebastian
> 
This bug is easy triggered with below inject_bug with iperf -P 50 &&
switch ib mode in sync on both side.
-- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c
@@ -1315,7 +1315,8 @@ static void ipoib_cm_tx_start(struct work_struct
*work)
                netif_tx_lock_bh(dev);
                spin_lock_irqsave(&priv->lock, flags);

-               if (ret) {
+               if (ret || priv->inject_bug) {
+                       priv->inject_bug = 0;
                        neigh = p->neigh;
                        if (neigh) {
                                neigh->cm = NULL;

It turned into another panic after patch list_del to list_del_init, I'm
managing to get the back trace.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to