[PATCH -next v3] ubi: Fix failure attaching when vid_hdr offset equals to (sub)page size

Miquel Raynal miquel.raynal at bootlin.com
Wed Mar 29 08:54:21 PDT 2023


Hello,

chengzhihao1 at huawei.com wrote on 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.

					aligned

> >>
> >> Fixes: 1b42b1a36fc946 ("ubi: ensure that VID header offset ... size")

This commit has been backported to stable, so it is important this fix
also gets there quickly:

Cc: stable at vger.kernel.org

> >> Signed-off-by: Zhihao Cheng <chengzhihao1 at 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 at freebox.fr>

Same here.

Tested-by: Miquel Raynal <miquel.raynal at bootlin.com> # v5.10, v4.19

Thanks,
Miquèl



More information about the linux-mtd mailing list