mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 17:24:17 +08:00
remoteproc: Use kstrdup_const() rather than kstrdup()
For cases where @firmware is declared "const char *", use function kstrdup_const() to avoid needlessly creating another copy on the heap. Suggested-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org> Reviewed-by: Alex Elder <elder@linaro.org> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20200420231601.16781-2-mathieu.poirier@linaro.org Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
parent
1f36ab3f6e
commit
1487deda19
@ -1996,7 +1996,7 @@ static void rproc_type_release(struct device *dev)
|
||||
if (rproc->index >= 0)
|
||||
ida_simple_remove(&rproc_dev_index, rproc->index);
|
||||
|
||||
kfree(rproc->firmware);
|
||||
kfree_const(rproc->firmware);
|
||||
kfree(rproc->ops);
|
||||
kfree(rproc);
|
||||
}
|
||||
@ -2009,7 +2009,7 @@ static const struct device_type rproc_type = {
|
||||
static int rproc_alloc_firmware(struct rproc *rproc,
|
||||
const char *name, const char *firmware)
|
||||
{
|
||||
char *p;
|
||||
const char *p;
|
||||
|
||||
if (!firmware)
|
||||
/*
|
||||
@ -2018,7 +2018,7 @@ static int rproc_alloc_firmware(struct rproc *rproc,
|
||||
*/
|
||||
p = kasprintf(GFP_KERNEL, "rproc-%s-fw", name);
|
||||
else
|
||||
p = kstrdup(firmware, GFP_KERNEL);
|
||||
p = kstrdup_const(firmware, GFP_KERNEL);
|
||||
|
||||
if (!p)
|
||||
return -ENOMEM;
|
||||
@ -2122,7 +2122,7 @@ struct rproc *rproc_alloc(struct device *dev, const char *name,
|
||||
return rproc;
|
||||
|
||||
free_firmware:
|
||||
kfree(rproc->firmware);
|
||||
kfree_const(rproc->firmware);
|
||||
free_rproc:
|
||||
kfree(rproc);
|
||||
return NULL;
|
||||
|
@ -489,7 +489,7 @@ struct rproc {
|
||||
struct list_head node;
|
||||
struct iommu_domain *domain;
|
||||
const char *name;
|
||||
char *firmware;
|
||||
const char *firmware;
|
||||
void *priv;
|
||||
struct rproc_ops *ops;
|
||||
struct device dev;
|
||||
|
Loading…
Reference in New Issue
Block a user