Messages in this thread | | | Subject | Re: [PATCH -next v3] ubi: Fix failure attaching when vid_hdr offset equals to (sub)page size | From | Zhihao Cheng <> | Date | Sat, 25 Mar 2023 09:02:40 +0800 |
| |
Hi, > >> Following process will make ubi attaching failed since commit >> 1b42b1a36fc946 ("ubi: ensure that VID header offset ... size"): >> >> ID="0xec,0xa1,0x00,0x15" # 128M 128KB 2KB >> modprobe nandsim id_bytes=$ID >> flash_eraseall /dev/mtd0 >> modprobe ubi mtd="0,2048" # set vid_hdr offset as 2048 (one page) >> (dmesg): >> ubi0 error: ubi_attach_mtd_dev [ubi]: VID header offset 2048 too large. >> UBI error: cannot attach mtd0 >> UBI error: cannot initialize UBI, error -22 >> >> Rework original solution, the key point is making sure >> 'vid_hdr_shift + UBI_VID_HDR_SIZE < ubi->vid_hdr_alsize', >> so we should check vid_hdr_shift rather not vid_hdr_offset. >> Then, ubi still support (sub)page aligined VID header offset. >> >> Fixes: 1b42b1a36fc946 ("ubi: ensure that VID header offset ... size") >> Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com> >> --- >> v2->v3: Use printing format '%zu' for UBI_VID_HDR_SIZE. >> drivers/mtd/ubi/build.c | 21 +++++++++++++++------ >> 1 file changed, 15 insertions(+), 6 deletions(-) > > [...] > > Hello, > > Having had the problem, and found this patch as a fix, feel free to > add my: >
Thanks for testing.
> Tested-by: Nicolas Schichan <nschichan@freebox.fr> >
| |