gcc-6.x and 7.x emit build warnings about sc possibly being null upon
return from sc_detach_endp(). This actually is not the case and the
compiler is a little bit overzealous there, but there exists code
paths that can make this analysis non-trivial so let's at least add
a similar BUG_ON() to let both the compiler and the deverloper know
this doesn't happen.
This should be backported to 2.6.
/* The app is still attached, the sc will not be released */
sc_detach_endp(&sc);
+ BUG_ON(!sc);
BUG_ON(sc->sedesc);
sc->sedesc = new_sd;
sc->sedesc->sc = sc;
return;
sc_detach_endp(&sc);
/* Because it was already set as detached, the sedesc must be preserved */
+ BUG_ON(!sc);
BUG_ON(!sc->sedesc);
}