From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com,
xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
consulting@bugseng.com, jbeulich@suse.com, roger.pau@citrix.com,
George Dunlap <george.dunlap@citrix.com>,
Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis tools
Date: Wed, 8 Nov 2023 13:37:01 +0000 [thread overview]
Message-ID: <49ea5252-b06c-4b2f-8600-c58cbbfb4957@citrix.com> (raw)
In-Reply-To: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
On 03/11/2023 5:58 pm, Nicola Vetrini wrote:
> Static analysis tools may detect a possible null
> pointer dereference at line 760 (the memcpy call)
> of xen/common/domain.c. This ASSERT helps them in
> detecting that such a condition is not possible
> and also provides a basic sanity check.
>
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> The check may be later improved by proper error checking
> instead of relying on the semantics explained here:
> https://lore.kernel.org/xen-devel/61f04d4b-34d9-4fd1-a989-56b042b4f3d8@citrix.com/
>
> This addresses the caution reported by ECLAIR for MISRA C:2012 D4.11
> ---
> xen/common/domain.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/xen/common/domain.c b/xen/common/domain.c
> index 8f9ab01c0cb7..9378c0417645 100644
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -700,6 +700,8 @@ struct domain *domain_create(domid_t domid,
>
> if ( !is_idle_domain(d) )
> {
> + ASSERT(config);
> +
> watchdog_domain_init(d);
> init_status |= INIT_watchdog;
>
I have an idea that might resolve this differently and in an easier way.
Would you be happy waiting for a couple of days for me to experiment?
Absolutely no guarantees of it turning into a workable solution.
~Andrew
next prev parent reply other threads:[~2023-11-08 13:37 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-03 17:58 [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis tools Nicola Vetrini
2023-11-03 18:08 ` Nicola Vetrini
2023-11-07 4:18 ` Stefano Stabellini
2023-11-08 8:24 ` Jan Beulich
2023-11-08 11:03 ` Nicola Vetrini
2023-11-08 11:19 ` Jan Beulich
2023-11-08 13:28 ` Nicola Vetrini
2023-11-09 7:44 ` Jan Beulich
2023-11-08 13:33 ` Julien Grall
2023-11-09 7:42 ` Jan Beulich
2023-11-09 9:10 ` Julien Grall
2023-11-10 0:29 ` Stefano Stabellini
2023-11-10 9:06 ` Julien Grall
2023-11-10 16:30 ` Nicola Vetrini
2023-11-11 1:13 ` Stefano Stabellini
2023-11-14 16:05 ` Nicola Vetrini
2023-11-08 13:37 ` Andrew Cooper [this message]
2023-11-08 13:45 ` Nicola Vetrini
2023-11-10 16:56 ` Andrew Cooper
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=49ea5252-b06c-4b2f-8600-c58cbbfb4957@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=ayan.kumar.halder@amd.com \
--cc=consulting@bugseng.com \
--cc=george.dunlap@citrix.com \
--cc=jbeulich@suse.com \
--cc=julien@xen.org \
--cc=michal.orzel@amd.com \
--cc=nicola.vetrini@bugseng.com \
--cc=roger.pau@citrix.com \
--cc=sstabellini@kernel.org \
--cc=wl@xen.org \
--cc=xen-devel@lists.xenproject.org \
--cc=xenia.ragiadakou@amd.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.