I think there are the same number of dereferences in both cases? One to fetch the next pointer, and one to update the previous next pointer if a removal is required.
You could probably make the second bit of code worse by not holding the value of star curr in entry.
You could probably make the second bit of code worse by not holding the value of star curr in entry.