Received: by 2002:a05:7412:6592:b0:d7:7d3a:4fe2 with SMTP id m18csp624455rdg; Thu, 10 Aug 2023 13:55:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE2kQikYhkbMzwo50Y07U4B34WTbRRlAj3Bfp0viIsfXJn2UjHChVj/iqNP0ohbSdnnD9SN X-Received: by 2002:a05:6512:ad4:b0:4fe:494b:3769 with SMTP id n20-20020a0565120ad400b004fe494b3769mr2934431lfu.33.1691700948564; Thu, 10 Aug 2023 13:55:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691700948; cv=none; d=google.com; s=arc-20160816; b=FjZ25QD7RpkvaFNMomwcwK59I1TpuIVe8Wn4lBP4LGDCl4R9YjniDi9n3S7+AmJGry yCmlBzoNwJLJFjPUGRdSfvYm677xMSr5kFhEKhf2rl2eqAgtFswMuEqHhfyQHR6gi9Yk ahXa/3uNSqxUmbvGSQ7qtBdwI3rVRmRbg4SGDCrtsmxVflEHqnEV0Iu3ZBN2/BdSHK/f vv8gfCVRK8KlnLxmMNxPSOr3YDbzI2ll5qfbmHWa7duE7Svh9wEOrkXke83lB7Yb/jRs KfbhlLsWrqBuJpVT0MqFDBvKakB/c3ccfIRbiSYtDlIUGoIZTKNlCjK827dhjwjuQQ8G OvqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=64O4hmA8SAapjVYTLNcv5KxOYXVTG+DMVNEnz2QZmvs=; fh=OMQBA6n1oEVhHl3yljlpCq5g2WVJWUV9m9X+rjCAw1E=; b=cjqD9U9SkPKS79FK8ZqPWKOHlWbm/svDEcBiOyLLTCRtsbOLSdKy6wiec/DjIlh04H mmpVP8ba/XDQ0ljP+/NTxb9ooFmikkaJbmbB8Kmd9ahznBzY1vUDMrW33A8VOGSHBW9m uPFPaTsAnTiiqrs92xDFtHK4WaTOZo/H/LJfHUqsGvxjcmajwM/955FKTjrWX0DRJqV/ cBmCpEibxPX9iPzqq1f1ZYB0CfRfwg3HltrgRxvhrk+l2d4Wq7Wzp4gQJvGUCT4SLfGL mPz7UWUBFO8xDCkMdEALXbA7WzEKeblaQ4hvvWZOiggRokqc9so8hcyyGIYBtZuTKr5M jTbQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=PLNG2Gbn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k20-20020a170906055400b009930371a03csi2115598eja.1001.2023.08.10.13.55.23; Thu, 10 Aug 2023 13:55:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=PLNG2Gbn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234897AbjHJUR0 (ORCPT + 99 others); Thu, 10 Aug 2023 16:17:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35030 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230172AbjHJURZ (ORCPT ); Thu, 10 Aug 2023 16:17:25 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 215E32723 for ; Thu, 10 Aug 2023 13:17:25 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id AA25F64DBF for ; Thu, 10 Aug 2023 20:17:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B58E9C433C8; Thu, 10 Aug 2023 20:17:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691698644; bh=2LkXagz5/siA1FP/5dAE4Mt0Kkq6mddlWPM/k+TwkN4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=PLNG2GbnlGKmswJnGAu5gAiTYxAO0k/kY32xwa0BpD+q/lQFemPAZAnfjHiLMUPhN 35XypHILHqpLIZ9OeSmnh1vcDvot7cnI9Ot6Nb60+9/Zhdr3szP50uXicWaQuBshgP aAJtE04opiq1P1IoYIc9Bx6WqGKuocDb3VV9tFobIK+I64ITD7CnKnZe/lw5AE+TYG EgBveYoYMBQsh3WnEv0ENrpyDkyL7DiE5VVy4YCurVRViAHKTGIWfxlgVbRjMUyHpx DiO7z1HSPgrXLQnDM8Bj6OJ4Vb7iywv7OiJE0RpRhS+Skv+KwmelkQXnJI0vNKI8IB Rxr0L7i6u4/Ww== Date: Thu, 10 Aug 2023 22:17:18 +0200 From: Simon Horman To: Breno Leitao Cc: rdunlap@infradead.org, benjamin.poirier@gmail.com, davem@davemloft.net, kuba@kernel.org, edumazet@google.com, Paolo Abeni , netdev@vger.kernel.org, open list Subject: Re: [PATCH net-next v5 1/2] netconsole: Create a allocation helper Message-ID: References: <20230810095452.3171106-1-leitao@debian.org> <20230810095452.3171106-2-leitao@debian.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230810095452.3171106-2-leitao@debian.org> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Aug 10, 2023 at 02:54:50AM -0700, Breno Leitao wrote: > De-duplicate the initialization and allocation code for struct > netconsole_target. > > The same allocation and initialization code is duplicated in two > different places in the netconsole subsystem, when the netconsole target > is initialized by command line parameters (alloc_param_target()), and > dynamically by sysfs (make_netconsole_target()). > > Create a helper function, and call it from the two different functions. > > Suggested-by: Eric Dumazet > Signed-off-by: Breno Leitao > --- > drivers/net/netconsole.c | 42 +++++++++++++++++++++------------------- > 1 file changed, 22 insertions(+), 20 deletions(-) > > diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c > index 87f18aedd3bd..f93b98d64a3c 100644 > --- a/drivers/net/netconsole.c > +++ b/drivers/net/netconsole.c > @@ -167,19 +167,16 @@ static void netconsole_target_put(struct netconsole_target *nt) > > #endif /* CONFIG_NETCONSOLE_DYNAMIC */ > > -/* Allocate new target (from boot/module param) and setup netpoll for it */ > -static struct netconsole_target *alloc_param_target(char *target_config) > +/* Allocate and initialize with defaults. > + * Note that these targets get their config_item fields zeroed-out. > + */ > +static struct netconsole_target *alloc_and_init(void) > { > - int err = -ENOMEM; > struct netconsole_target *nt; > > - /* > - * Allocate and initialize with defaults. > - * Note that these targets get their config_item fields zeroed-out. > - */ > nt = kzalloc(sizeof(*nt), GFP_KERNEL); > if (!nt) > - goto fail; > + return nt; > > nt->np.name = "netconsole"; > strscpy(nt->np.dev_name, "eth0", IFNAMSIZ); > @@ -187,6 +184,21 @@ static struct netconsole_target *alloc_param_target(char *target_config) > nt->np.remote_port = 6666; > eth_broadcast_addr(nt->np.remote_mac); > > + return nt; > +} > + > +/* Allocate new target (from boot/module param) and setup netpoll for it */ > +static struct netconsole_target *alloc_param_target(char *target_config) > +{ > + struct netconsole_target *nt; > + int err; Hi Breno, This function returns err. However, clang-16 W=1 and Smatch warn that there is a case where this may occur without err having being initialised. > + > + nt = alloc_and_init(); > + if (!nt) { > + err = -ENOMEM; > + goto fail; > + } > + > if (*target_config == '+') { > nt->extended = true; > target_config++; ... -- pw-bot: changes-requested