12: moved my own implementation, started on kernel-based one
12: removed unneeded goto
12: removedo one comment
12: wrote the new identity_find() func
12: updated identity_destroy