Message ID | 1502456103-1576-1-git-send-email-vasilyev@ispras.ru |
---|---|
State | Superseded |
Delegated to: | Boris Brezillon |
Headers | show |
Le Fri, 11 Aug 2017 15:55:03 +0300, Anton Vasilyev <vasilyev@ispras.ru> a écrit : > Use api pair of request_mem_region and release_mem_region > instead of release_resource. > > Found by Linux Driver Verification project (linuxtesting. > > Signed-off-by: Anton Vasilyev <vasilyev@ispras.ru> > --- > drivers/mtd/maps/plat-ram.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/mtd/maps/plat-ram.c b/drivers/mtd/maps/plat-ram.c > index 5157289..baaf146 100644 > --- a/drivers/mtd/maps/plat-ram.c > +++ b/drivers/mtd/maps/plat-ram.c > @@ -82,6 +82,7 @@ static inline void platram_setrw(struct platram_info *info, int to) > static int platram_remove(struct platform_device *pdev) > { > struct platram_info *info = to_platram_info(pdev); > + resource_size_t res_size; > > dev_dbg(&pdev->dev, "removing device\n"); > > @@ -100,8 +101,8 @@ static int platram_remove(struct platform_device *pdev) > /* release resources */ > > if (info->area) { > - release_resource(info->area); > - kfree(info->area); > + res_size = resource_size(info->area) Missing semi-colon here, which means you did not even compile-test your changes :P. > + release_mem_region(info->area->start, res_size); Why adding a res_size variable instead of doing release_mem_region(info->area->start, resource_size(info->area); ? > } > > if (info->map.virt != NULL)
diff --git a/drivers/mtd/maps/plat-ram.c b/drivers/mtd/maps/plat-ram.c index 5157289..baaf146 100644 --- a/drivers/mtd/maps/plat-ram.c +++ b/drivers/mtd/maps/plat-ram.c @@ -82,6 +82,7 @@ static inline void platram_setrw(struct platram_info *info, int to) static int platram_remove(struct platform_device *pdev) { struct platram_info *info = to_platram_info(pdev); + resource_size_t res_size; dev_dbg(&pdev->dev, "removing device\n"); @@ -100,8 +101,8 @@ static int platram_remove(struct platform_device *pdev) /* release resources */ if (info->area) { - release_resource(info->area); - kfree(info->area); + res_size = resource_size(info->area) + release_mem_region(info->area->start, res_size); } if (info->map.virt != NULL)
Use api pair of request_mem_region and release_mem_region instead of release_resource. Found by Linux Driver Verification project (linuxtesting. Signed-off-by: Anton Vasilyev <vasilyev@ispras.ru> --- drivers/mtd/maps/plat-ram.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)