@@ -603,12 +603,10 @@ static void drop_last_group(struct ubifs_scan_leb *sleb, int *offs)
*/
static void drop_last_node(struct ubifs_scan_leb *sleb, int *offs)
{
- struct ubifs_scan_node *snod;
-
- if (!list_empty(&sleb->nodes)) {
- snod = list_entry(sleb->nodes.prev, struct ubifs_scan_node,
- list);
+ struct ubifs_scan_node *snod = list_last_entry_or_null(&sleb->nodes,
+ struct ubifs_scan_node, list);
+ if (snod) {
dbg_rcvry("dropping last node at %d:%d",
sleb->lnum, snod->offs);
*offs = snod->offs;