[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 03 Mar 2017 16:18:27 +0800
From: "Hillf Danton" <hillf.zj@...baba-inc.com>
To: "'Laura Abbott'" <labbott@...hat.com>,
"'Sumit Semwal'" <sumit.semwal@...aro.org>,
"'Riley Andrews'" <riandrews@...roid.com>, <arve@...roid.com>
Cc: <romlem@...gle.com>, <devel@...verdev.osuosl.org>,
<linux-kernel@...r.kernel.org>, <linaro-mm-sig@...ts.linaro.org>,
"'Greg Kroah-Hartman'" <gregkh@...uxfoundation.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-media@...r.kernel.org>, <dri-devel@...ts.freedesktop.org>,
"'Brian Starkey'" <brian.starkey@....com>,
"'Daniel Vetter'" <daniel.vetter@...el.com>,
"'Mark Brown'" <broonie@...nel.org>,
"'Benjamin Gaignard'" <benjamin.gaignard@...aro.org>,
<linux-mm@...ck.org>
Subject: Re: [RFC PATCH 03/12] staging: android: ion: Duplicate sg_table
On March 03, 2017 5:45 AM Laura Abbott wrote:
>
> +static struct sg_table *dup_sg_table(struct sg_table *table)
> +{
> + struct sg_table *new_table;
> + int ret, i;
> + struct scatterlist *sg, *new_sg;
> +
> + new_table = kzalloc(sizeof(*new_table), GFP_KERNEL);
> + if (!new_table)
> + return ERR_PTR(-ENOMEM);
> +
> + ret = sg_alloc_table(new_table, table->nents, GFP_KERNEL);
> + if (ret) {
> + kfree(table);
Free new table?
> + return ERR_PTR(-ENOMEM);
> + }
> +
> + new_sg = new_table->sgl;
> + for_each_sg(table->sgl, sg, table->nents, i) {
> + memcpy(new_sg, sg, sizeof(*sg));
> + sg->dma_address = 0;
> + new_sg = sg_next(new_sg);
> + }
> +
Do we need a helper, sg_copy_table(dst_table, src_table)?
> + return new_table;
> +}
> +
Powered by blists - more mailing lists