On Tue, 28 May 2024, Armin Wolf wrote: > When the allocation of value_name fails, the error handling code > uses two gotos for error handling, which is not necessary. > > Simplify the error handling in this case by only using a single goto. > > Tested on a Dell Inspiron 3505. > > Signed-off-by: Armin Wolf <W_Armin@xxxxxx> > --- > Changes since v1: > - add patch > --- > drivers/platform/x86/dell/dell-smbios-base.c | 11 ++++------- > 1 file changed, 4 insertions(+), 7 deletions(-) > > diff --git a/drivers/platform/x86/dell/dell-smbios-base.c b/drivers/platform/x86/dell/dell-smbios-base.c > index 86b95206cb1b..b562ed99ec4e 100644 > --- a/drivers/platform/x86/dell/dell-smbios-base.c > +++ b/drivers/platform/x86/dell/dell-smbios-base.c > @@ -492,19 +492,16 @@ static int build_tokens_sysfs(struct platform_device *dev) > /* add value */ > value_name = kasprintf(GFP_KERNEL, "%04x_value", > da_tokens[i].tokenID); > - if (value_name == NULL) > - goto loop_fail_create_value; > + if (!value_name) { > + kfree(location_name); > + goto out_unwind_strings; > + } > > sysfs_attr_init(&token_entries[i].value_attr.attr); > token_entries[i].value_attr.attr.name = value_name; > token_entries[i].value_attr.attr.mode = 0444; > token_entries[i].value_attr.show = value_show; > token_attrs[j++] = &token_entries[i].value_attr.attr; > - continue; > - > -loop_fail_create_value: > - kfree(location_name); > - goto out_unwind_strings; > } > smbios_attribute_group.attrs = token_attrs; Good cleanup. Using continue on the main level of a loop is almost never a good idea. Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> -- i.