more from review: not to use f->l_first and to use ->prev