Commit 334f1a1c authored by Abel Vesa's avatar Abel Vesa Committed by Greg Kroah-Hartman
Browse files

misc: fastrpc: Use fastrpc_map_put in fastrpc_map_create on fail



Move the kref_init right after the allocation so that we can use
fastrpc_map_put on any following error case.

Signed-off-by: default avatarAbel Vesa <abel.vesa@linaro.org>
Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20221125071405.148786-6-srinivas.kandagatla@linaro.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6f18c7e8
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -735,6 +735,8 @@ static int fastrpc_map_create(struct fastrpc_user *fl, int fd,
		return -ENOMEM;

	INIT_LIST_HEAD(&map->node);
	kref_init(&map->refcount);

	map->fl = fl;
	map->fd = fd;
	map->buf = dma_buf_get(fd);
@@ -761,7 +763,6 @@ static int fastrpc_map_create(struct fastrpc_user *fl, int fd,
	map->size = len;
	map->va = sg_virt(map->table->sgl);
	map->len = len;
	kref_init(&map->refcount);

	if (attr & FASTRPC_ATTR_SECUREMAP) {
		/*
@@ -791,7 +792,7 @@ static int fastrpc_map_create(struct fastrpc_user *fl, int fd,
attach_err:
	dma_buf_put(map->buf);
get_err:
	kfree(map);
	fastrpc_map_put(map);

	return err;
}