Hi Rafał, Rafał Miłecki <rafal@xxxxxxxxxx> wrote on Tue, 24 Mar 2020 23:06:05 +0100: > Hey, > > On 2020-03-24 22:58, Miquel Raynal wrote: > > 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? > > It's not needed anymore as you fixed this bug in your commit reworking > partitions. Great! Thanks for the info Miquèl ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/