mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2026-02-01 03:33:14 +01:00
This patch fixes an issue when ubifs reads a bad superblock. Later it tries to free memory, that was not allocated, which freezes u-boot. This is fixed by looking for a non null pointer before free. The message I got before u-boot freezes: UBI: max/mean erase counter: 53/32 UBIFS: mounted UBI device 0, volume 1, name "rootfs" UBIFS: mounted read-only UBIFS: file system size: 49140 bytes (50319360 KiB, 0 MiB, 49140 LEBs) UBIFS: journal size: 49 bytes (6838272 KiB, 0 MiB, 6678 LEBs) UBIFS: media format: w4/r0 (latest is w4/r0) UBIFS: default compressor: LZO UBIFS: reserved for root: 0 bytes (0 KiB) UBIFS error (pid 0): ubifs_read_node: bad node type (255 but expected 9) UBIFS error (pid 0): ubifs_read_node: bad node at LEB 330:13104 UBIFS error (pid 0): ubifs_iget: failed to read inode 1, error -22 Error reading superblock on volume 'ubi:rootfs'! Signed-off-by: Lars Poeschel <larsi@wh2.tu-dresden.de> Cc: Kyungmin Park <kmpark@infradead.org> Signed-off-by: Stefan Roese <sr@denx.de> |
||
|---|---|---|
| .. | ||
| budget.c | ||
| crc16.c | ||
| crc16.h | ||
| debug.c | ||
| debug.h | ||
| io.c | ||
| key.h | ||
| log.c | ||
| lprops.c | ||
| lpt.c | ||
| lpt_commit.c | ||
| Makefile | ||
| master.c | ||
| misc.h | ||
| orphan.c | ||
| recovery.c | ||
| replay.c | ||
| sb.c | ||
| scan.c | ||
| super.c | ||
| tnc.c | ||
| tnc_misc.c | ||
| ubifs-media.h | ||
| ubifs.c | ||
| ubifs.h | ||