namelenerror() doesn't call nexterror.

Callers must call nexterror/poperror.  Here are the error handling
rules, as I understand them:

If you set up a waserror, you must do the nexterror call in scope, and
can't pass it off.  You can't call nexterror without having called
waserror.  Same goes for poperror as for nexterror.

namelenerror() probably will just get removed / reworked anyways, but
the rule should apply for other error handling scenarios.
Fixes lost refcnt in dev/proc

Would only trigger during unlikely errors.  So unlikely, that I don't
see it happening (hence the warning).