Re: [PATCH 5/5] regmap: Do not call regcache_exit fromregcache_lzo_init error path

From: Dimitris Papastamos
Date: Mon Nov 14 2011 - 10:45:38 EST


On Mon, Nov 14, 2011 at 10:40:19AM +0100, Lars-Peter Clausen wrote:
> Calling regcache_exit from regcache_lzo_init is a layering violation and
> might cause double frees. In case of an error only free those structures which
> have been allocated in this function.
>
> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
> ---
> drivers/base/regmap/regcache-lzo.c | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/base/regmap/regcache-lzo.c b/drivers/base/regmap/regcache-lzo.c
> index 226ffc1..b7d1614 100644
> --- a/drivers/base/regmap/regcache-lzo.c
> +++ b/drivers/base/regmap/regcache-lzo.c
> @@ -15,6 +15,8 @@
>
> #include "internal.h"
>
> +static int regcache_lzo_exit(struct regmap *map);
> +
> struct regcache_lzo_ctx {
> void *wmem;
> void *dst;
> @@ -193,7 +195,7 @@ static int regcache_lzo_init(struct regmap *map)
>
> return 0;
> err:
> - regcache_exit(map);
> + regcache_lzo_exit(map);
> return ret;
> }
>
> --
> 1.7.7.1
>
>

All of them look good.

Acked-by: Dimitris Papastamos <dp@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/