I asked you to resend with the race fixed. However I guess I never
spelled out what race I meant ... I thought I pointed this out, but
looking at the archives I don't see it.
So think about this:
What happens if someone calls ib_sa_path_rec_get() and
@@ -663,6 +674,8 @@ int ib_sa_path_rec_get(struct ib_sa_client *client,
return -ENODEV;
port = &sa_dev->port[port_num - sa_dev->start_port];
+ if (!port->sm_ah)
+ return -EAGAIN;
right about here (*after* the test), ib_sa_event() does "port->sm_ah = NULL;"
on another CPU.
agent = port->agent;
query = kmalloc(sizeof *query, gfp_mask);
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general