amd64/181225: unloading ipoib crashes the kernel

shahar klein shahark at mellanox.com
Sun Aug 11 11:20:00 UTC 2013


>Number:         181225
>Category:       amd64
>Synopsis:       unloading ipoib crashes the kernel
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-amd64
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Aug 11 11:20:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     shahar klein
>Release:        9.1
>Organization:
Mellanox
>Environment:
FreeBSD 9.1-RELEASE #0 r+95f2241: Mon Jul 15 16:48:47 IDT 2013 .../sys/GENERIC amd64
>Description:
When an ipoib interface is up - unloading the ipoib module crashes the kernel
>How-To-Repeat:

bring up a ipoib interface with an IP and unload the ipoib module
>Fix:
a/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c b/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c
index abed7fa..f4e6706 100644
--- a/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -1073,6 +1073,8 @@ ipoib_remove_one(struct ib_device *device)
                if (rdma_port_get_link_layer(device, priv->port) != IB_LINK_LAYER_INFINIBAND)
                        continue;

+                ipoib_stop(priv);
+
                ib_unregister_event_handler(&priv->event_handler);

                /* dev_change_flags(priv->dev, priv->dev->flags & ~IFF_UP); */


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-amd64 mailing list