From: Simon Horman <horms@kernel.org>
To: Breno Leitao <leitao@debian.org>
Cc: rdunlap@infradead.org, benjamin.poirier@gmail.com,
davem@davemloft.net, kuba@kernel.org, edumazet@google.com,
Paolo Abeni <pabeni@redhat.com>,
netdev@vger.kernel.org, open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH net-next v5 1/2] netconsole: Create a allocation helper
Date: Thu, 10 Aug 2023 22:17:18 +0200 [thread overview]
Message-ID: <ZNVFzhBVT/LyhTuR@vergenet.net> (raw)
In-Reply-To: <20230810095452.3171106-2-leitao@debian.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 <edumazet@google.com>
> Signed-off-by: Breno Leitao <leitao@debian.org>
> ---
> 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
next prev parent reply other threads:[~2023-08-10 20:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-10 9:54 [PATCH net-next v5 0/2] netconsole: Enable compile time configuration Breno Leitao
2023-08-10 9:54 ` [PATCH net-next v5 1/2] netconsole: Create a allocation helper Breno Leitao
2023-08-10 20:17 ` Simon Horman [this message]
2023-08-11 8:58 ` Breno Leitao
2023-08-10 9:54 ` [PATCH net-next v5 2/2] netconsole: Enable compile time configuration Breno Leitao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZNVFzhBVT/LyhTuR@vergenet.net \
--to=horms@kernel.org \
--cc=benjamin.poirier@gmail.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=leitao@debian.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=rdunlap@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.