|
@@ -988,30 +988,32 @@ int ubifs_read_node(const struct ubifs_info *c, void *buf, int type, int len,
|
|
|
return err;
|
|
|
|
|
|
if (type != ch->node_type) {
|
|
|
- ubifs_err("bad node type (%d but expected %d)",
|
|
|
- ch->node_type, type);
|
|
|
+ ubifs_errc(c, "bad node type (%d but expected %d)",
|
|
|
+ ch->node_type, type);
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
err = ubifs_check_node(c, buf, lnum, offs, 0, 0);
|
|
|
if (err) {
|
|
|
- ubifs_err("expected node type %d", type);
|
|
|
+ ubifs_errc(c, "expected node type %d", type);
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
l = le32_to_cpu(ch->len);
|
|
|
if (l != len) {
|
|
|
- ubifs_err("bad node length %d, expected %d", l, len);
|
|
|
+ ubifs_errc(c, "bad node length %d, expected %d", l, len);
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
out:
|
|
|
- ubifs_err("bad node at LEB %d:%d, LEB mapping status %d", lnum, offs,
|
|
|
- ubi_is_mapped(c->ubi, lnum));
|
|
|
- ubifs_dump_node(c, buf);
|
|
|
- dump_stack();
|
|
|
+ ubifs_errc(c, "bad node at LEB %d:%d, LEB mapping status %d", lnum,
|
|
|
+ offs, ubi_is_mapped(c->ubi, lnum));
|
|
|
+ if (!c->probing) {
|
|
|
+ ubifs_dump_node(c, buf);
|
|
|
+ dump_stack();
|
|
|
+ }
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|