From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu, 18 Jan 2024 14:57:21 +0100 * Omit an initialisation (for the variable “ret”) which became unnecessary with this refactoring because a memory allocation failure will be directly indicated by a corresponding return statement in an if branch. * Move a call of the function “kstrdup” before two other statements. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> --- fs/pstore/ram_core.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/fs/pstore/ram_core.c b/fs/pstore/ram_core.c index f1848cdd6d34..5047a8502e17 100644 --- a/fs/pstore/ram_core.c +++ b/fs/pstore/ram_core.c @@ -586,21 +586,23 @@ struct persistent_ram_zone *persistent_ram_new(phys_addr_t start, size_t size, unsigned int memtype, u32 flags, char *label) { struct persistent_ram_zone *prz; - int ret = -ENOMEM; + int ret; prz = kzalloc(sizeof(struct persistent_ram_zone), GFP_KERNEL); if (!prz) { pr_err("failed to allocate persistent ram zone\n"); - goto err; + return ERR_PTR(-ENOMEM); + } + + prz->label = kstrdup(label, GFP_KERNEL); + if (!prz->label) { + kfree(prz); + return ERR_PTR(-ENOMEM); } /* Initialize general buffer state. */ raw_spin_lock_init(&prz->buffer_lock); prz->flags = flags; - prz->label = kstrdup(label, GFP_KERNEL); - if (!prz->label) - goto err; - ret = persistent_ram_buffer_map(start, size, prz, memtype); if (ret) goto err; -- 2.43.0