Hi Rafał, Rafał Miłecki <rafal@xxxxxxxxxx> wrote on Mon, 09 Mar 2020 15:19:10 +0100: > On 2020-03-09 15:04, Miquel Raynal wrote: > > 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. > > The check where the partition *starts* is OK and I don't mean to change > it. The bug is about calculating absolute *end* address of partition. > > > > 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; > > I'll give it a try. I would like to apply your fix this week, do you think you can rebase and resend soon? Thanks, Miquèl ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/