Hi Rafał, Rafał Miłecki <zajec5@xxxxxxxxx> wrote on Mon, 9 Mar 2020 08:44:45 +0100: > From: Rafał Miłecki <rafal@xxxxxxxxxx> > > This fixes check for partitions that don't start at beginning of their > parents. Missing partition's offset in formula could result in forcing > read-only incorrectly. > > Fixes: 6750f61a13a0 ("mtd: improve calculating partition boundaries when checking for alignment") > Signed-off-by: Rafał Miłecki <rafal@xxxxxxxxxx> > --- > drivers/mtd/mtdpart.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c > index 7328c066c5ba..c683b432cc5e 100644 > --- a/drivers/mtd/mtdpart.c > +++ b/drivers/mtd/mtdpart.c > @@ -524,7 +524,7 @@ static struct mtd_part *allocate_partition(struct mtd_info *parent, > part->name); > } > > - tmp = part_absolute_offset(parent) + slave->mtd.size; > + tmp = part_absolute_offset(parent) + slave->offset + slave->mtd.size; I think you are doing the change at the wrong place, if you want to check where the partition *starts* you should do it a few lines above. But I think the check should be here as well, probably. Anyway, I just applied on my local tree a patch rewriting a bit the partitioning scheme, could you please rebase on top of today's mtd/next and resend this patch updated? Here is the change that I've done at this place: - tmp = part_absolute_offset(parent) + slave->mtd.size; + tmp = mtd_get_master_ofs(child, 0) + child->size; Thanks! Miquèl ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/