Hi Jim,

On 14:29 Tue 22 Sep     , Jim Schutt wrote:
> 
> I'm working on another routing engine

That is interesting. What will be a key features of this new routing
engine?

> that also uses osm_switch_t:priv
> to point to data that persists between calls to the routing engine, as
> LASH does.  And like LASH my objects have a pointer to the corresponding
> osm_switch_t.
> 
> Since trying to implement this engine was my first experience with
> opensm, it checks these links before using them by making sure 
> that the osm_switch_t my object references points back to my
> object, because I'm paranoid.  And my engine doesn't overwrite
> pointers it expects to be NULL, because I'm really paranoid.
> 
> So under circumstances where I had two routing engines configured,
> if my engine failed over to LASH because of some problem caused by
> downing a switch in the fabric, then routing reverted back to my 
> engine when the problem cleared up, non-NULL osm_switch_t:priv
> values would keep my engine from working.
> 
> So I came up with this priv_release() business to provide a general
> way for the opensm core to clean up after unexpected behavior
> of a routing engine.

I think that such "debug-only" things are absolutely fine in
development development, but don't add a much in production run-time
(the exception could be some extremely complex flows, which would be
better avoided for another reasons :)). Also in some cases such extra
validations may hide a bugs.

> In the event you remove the 'p_sw->priv = NULL' line as the fix
> to the use-after-free issue,

I guess that it is simplest way to fix this for now.

> and I get my routing engine into 
> good enough shape to submit, should I resubmit this patch too,

If it is necessary for your code.

> or should I be less paranoid and remove the extra checks in
> my engine?

If this is only "debug" cases, I would suggest to clean this up after
the code stabilization. But let's see then...

Sasha
_______________________________________________
general mailing list
general@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to