From: Joel Becker <jlbec@evilplan.org>
To: Breno Leitao <leitao@debian.org>
Cc: kuba@kernel.org, davem@davemloft.net, pabeni@redhat.com,
Eric Dumazet <edumazet@google.com>,
hch@lst.de, netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
horms@kernel.org
Subject: Re: [PATCH net-next v4 1/4] netconsole: move init/cleanup functions lower
Date: Sat, 14 Oct 2023 17:54:30 -0700 [thread overview]
Message-ID: <ZSs4RgtcYqkJc1Px@google.com> (raw)
In-Reply-To: <20231012111401.333798-2-leitao@debian.org>
On Thu, Oct 12, 2023 at 04:13:58AM -0700, Breno Leitao wrote:
> Move alloc_param_target() and its counterpart (free_param_target())
> to the bottom of the file. These functions are called mostly at
> initialization/cleanup of the module, and they should be just above the
> callers, at the bottom of the file.
>
> >From a practical perspective, having alloc_param_target() at the bottom
> of the file will avoid forward declaration later (in the following
> patch).
>
> Nothing changed other than the functions location.
>
> Suggested-by: Jakub Kicinski <kuba@kernel.org>
> Signed-off-by: Breno Leitao <leitao@debian.org>
Reviewed-by: Joel Becker <jlbec@evilplan.org>
> ---
> drivers/net/netconsole.c | 104 +++++++++++++++++++--------------------
> 1 file changed, 52 insertions(+), 52 deletions(-)
>
> diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
> index 3111e1648592..d609fb59cf99 100644
> --- a/drivers/net/netconsole.c
> +++ b/drivers/net/netconsole.c
> @@ -192,58 +192,6 @@ static struct netconsole_target *alloc_and_init(void)
> 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;
> -
> - nt = alloc_and_init();
> - if (!nt) {
> - err = -ENOMEM;
> - goto fail;
> - }
> -
> - if (*target_config == '+') {
> - nt->extended = true;
> - target_config++;
> - }
> -
> - if (*target_config == 'r') {
> - if (!nt->extended) {
> - pr_err("Netconsole configuration error. Release feature requires extended log message");
> - err = -EINVAL;
> - goto fail;
> - }
> - nt->release = true;
> - target_config++;
> - }
> -
> - /* Parse parameters and setup netpoll */
> - err = netpoll_parse_options(&nt->np, target_config);
> - if (err)
> - goto fail;
> -
> - err = netpoll_setup(&nt->np);
> - if (err)
> - goto fail;
> -
> - nt->enabled = true;
> -
> - return nt;
> -
> -fail:
> - kfree(nt);
> - return ERR_PTR(err);
> -}
> -
> -/* Cleanup netpoll for given target (from boot/module param) and free it */
> -static void free_param_target(struct netconsole_target *nt)
> -{
> - netpoll_cleanup(&nt->np);
> - kfree(nt);
> -}
> -
> #ifdef CONFIG_NETCONSOLE_DYNAMIC
>
> /*
> @@ -938,6 +886,58 @@ static void write_msg(struct console *con, const char *msg, unsigned int len)
> spin_unlock_irqrestore(&target_list_lock, flags);
> }
>
> +/* 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;
> +
> + nt = alloc_and_init();
> + if (!nt) {
> + err = -ENOMEM;
> + goto fail;
> + }
> +
> + if (*target_config == '+') {
> + nt->extended = true;
> + target_config++;
> + }
> +
> + if (*target_config == 'r') {
> + if (!nt->extended) {
> + pr_err("Netconsole configuration error. Release feature requires extended log message");
> + err = -EINVAL;
> + goto fail;
> + }
> + nt->release = true;
> + target_config++;
> + }
> +
> + /* Parse parameters and setup netpoll */
> + err = netpoll_parse_options(&nt->np, target_config);
> + if (err)
> + goto fail;
> +
> + err = netpoll_setup(&nt->np);
> + if (err)
> + goto fail;
> +
> + nt->enabled = true;
> +
> + return nt;
> +
> +fail:
> + kfree(nt);
> + return ERR_PTR(err);
> +}
> +
> +/* Cleanup netpoll for given target (from boot/module param) and free it */
> +static void free_param_target(struct netconsole_target *nt)
> +{
> + netpoll_cleanup(&nt->np);
> + kfree(nt);
> +}
> +
> static struct console netconsole_ext = {
> .name = "netcon_ext",
> .flags = CON_ENABLED | CON_EXTENDED,
> --
> 2.34.1
>
--
"There is shadow under this red rock.
(Come in under the shadow of this red rock)
And I will show you something different from either
Your shadow at morning striding behind you
Or your shadow at evening rising to meet you.
I will show you fear in a handful of dust."
http://www.jlbec.org/
jlbec@evilplan.org
next prev parent reply other threads:[~2023-10-15 0:54 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-12 11:13 [PATCH net-next v4 0/4] net: netconsole: configfs entries for boot target Breno Leitao
2023-10-12 11:13 ` [PATCH net-next v4 1/4] netconsole: move init/cleanup functions lower Breno Leitao
2023-10-15 0:54 ` Joel Becker [this message]
2023-10-12 11:13 ` [PATCH net-next v4 2/4] netconsole: Initialize configfs_item for default targets Breno Leitao
2023-10-15 0:53 ` Joel Becker
2023-10-12 11:14 ` [PATCH net-next v4 3/4] netconsole: Attach cmdline target to dynamic target Breno Leitao
2023-10-15 0:55 ` Joel Becker
2023-10-12 11:14 ` [PATCH net-next v4 4/4] Documentation: netconsole: add support for cmdline targets Breno Leitao
2023-10-15 0:55 ` Joel Becker
2023-10-14 0:30 ` [PATCH net-next v4 0/4] net: netconsole: configfs entries for boot target patchwork-bot+netdevbpf
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=ZSs4RgtcYqkJc1Px@google.com \
--to=jlbec@evilplan.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hch@lst.de \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=leitao@debian.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/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.