On 31 July 2015 at 19:24, Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> wrote: > On Fri, 31 Jul 2015 18:52:01 +0200 > Michal Suchanek <hramrach@xxxxxxxxx> wrote: > > >> > >> >> (*pparts)[i].offset = of_read_number(reg, a_cells); >> >> (*pparts)[i].size = of_read_number(reg + a_cells, s_cells); >> >> >> >> @@ -92,15 +116,15 @@ static int parse_ofpart_partitions(struct mtd_info *master, >> >> i++; >> >> } >> >> >> >> - if (!i) { >> >> - of_node_put(pp); >> >> - pr_err("No valid partition found on %s\n", node->full_name); >> >> - kfree(*pparts); >> >> - *pparts = NULL; >> >> - return -EINVAL; >> >> - } >> >> - >> > >> > Are you sure you can safely remove this check? >> >> Yes. It was incomplete check to reject some partitioning schemes >> considered invalid. >> >> Now there is stricter checking above so this can be removed. > > Indeed, I was worried about resources deallocation, but this is handle > by the caller, and if nr_parts is zero the master MTD device will > be exposed. Due to compatibility with the previous scheme there is still possibility that partitions are allocated, and no partitions are returned due to the nr_parts--; So yes, the pparts could possibly leak in this case if there were more partition parsers following ofpart and should be deallocated. Thanks Michal -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html