From: Alison Schofield <alison.schofield@intel.com>
To: Li Zhijian <lizhijian@fujitsu.com>
Cc: nvdimm@lists.linux.dev, linux-cxl@vger.kernel.org,
Dave Jiang <dave.jiang@intel.com>
Subject: Re: [ndctl PATCH v4 2/4] cxl/monitor: replace monitor.log_file with monitor.ctx.log_file
Date: Tue, 11 Jul 2023 10:57:47 -0700 [thread overview]
Message-ID: <ZK2YG3eol0NgNjBG@aschofie-mobl2> (raw)
In-Reply-To: <20230711115344.562823-3-lizhijian@fujitsu.com>
On Tue, Jul 11, 2023 at 07:53:42PM +0800, Li Zhijian wrote:
> Commit ba5825b0b7e0 ("ndctl/monitor: move common logging functions to util/log.c")
> have replaced monitor.log_file with monitor.ctx.log_file for
> ndctl-monitor, but for cxl-monitor, it forgot to do such work.
>
> So where user specifies its own logfile, a segmentation fault will be
> trggered like below:
>
> # build/cxl/cxl monitor -l ./monitor.log
> Segmentation fault (core dumped)
Reviewed-by: Alison Schofield <alison.schofield@intel.com>
>
> Fixes: 299f69f974a6 ("cxl/monitor: add a new monitor command for CXL trace events")
> Reviewed-by: Dave Jiang <dave.jiang@intel.com>
> Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
> ---
> V4: add reviewed tag
> V2: exchange order of previous patch1 and patch2 # Alison
> a few commit log updated
> ---
> cxl/monitor.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/cxl/monitor.c b/cxl/monitor.c
> index d8245ed8d0e9..e83455b63d35 100644
> --- a/cxl/monitor.c
> +++ b/cxl/monitor.c
> @@ -37,7 +37,6 @@ const char *default_log = "/var/log/cxl-monitor.log";
> static struct monitor {
> const char *log;
> struct log_ctx ctx;
> - FILE *log_file;
> bool human;
> bool verbose;
> bool daemon;
> @@ -192,8 +191,8 @@ int cmd_monitor(int argc, const char **argv, struct cxl_ctx *ctx)
> if (strncmp(log, "./standard", 10) == 0)
> monitor.ctx.log_fn = log_standard;
> else {
> - monitor.log_file = fopen(log, "a+");
> - if (!monitor.log_file) {
> + monitor.ctx.log_file = fopen(log, "a+");
> + if (!monitor.ctx.log_file) {
> rc = -errno;
> error("open %s failed: %d\n", log, rc);
> goto out;
> @@ -212,7 +211,7 @@ int cmd_monitor(int argc, const char **argv, struct cxl_ctx *ctx)
> rc = monitor_event(ctx);
>
> out:
> - if (monitor.log_file)
> - fclose(monitor.log_file);
> + if (monitor.ctx.log_file)
> + fclose(monitor.ctx.log_file);
> return rc;
> }
> --
> 2.29.2
>
next prev parent reply other threads:[~2023-07-11 17:57 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-11 11:53 [ndctl PATCH v4 0/4] cxl/monitor and ndctl/monitor fixes Li Zhijian
2023-07-11 11:53 ` [ndctl PATCH v4 1/4] cxl/monitor: Enable default_log and refactor sanity check Li Zhijian
2023-07-11 17:57 ` Alison Schofield
2023-07-11 11:53 ` [ndctl PATCH v4 2/4] cxl/monitor: replace monitor.log_file with monitor.ctx.log_file Li Zhijian
2023-07-11 17:57 ` Alison Schofield [this message]
2023-07-11 11:53 ` [ndctl PATCH v4 3/4] ndctl: use strcmp for reserved word in monitor commands Li Zhijian
2023-07-11 17:58 ` Alison Schofield
2023-07-11 11:53 ` [ndctl PATCH v4 4/4] Documentation/cxl/cxl-monitor.txt: Fix inaccurate description Li Zhijian
2023-07-11 17:58 ` Alison Schofield
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=ZK2YG3eol0NgNjBG@aschofie-mobl2 \
--to=alison.schofield@intel.com \
--cc=dave.jiang@intel.com \
--cc=linux-cxl@vger.kernel.org \
--cc=lizhijian@fujitsu.com \
--cc=nvdimm@lists.linux.dev \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox