[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v5] coverity: Store the modelling file in the source tree.



On 01/24/2014 05:02 PM, Andrew Cooper wrote:
On 24/01/14 16:59, George Dunlap wrote:
On 01/24/2014 04:57 PM, Andrew Cooper wrote:
On 24/01/14 16:52, George Dunlap wrote:
On 01/23/2014 03:19 PM, Andrew Cooper wrote:
On 23/01/14 15:13, George Dunlap wrote:
On 01/23/2014 02:28 PM, Andrew Cooper wrote:
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CC: Keir Fraser <keir@xxxxxxx>
CC: Jan Beulich <JBeulich@xxxxxxxx>
CC: Tim Deegan <tim@xxxxxxx>
CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
CC: George Dunlap <george.dunlap@xxxxxxxxxxxxx>

---

George:
      This is just documentation, and it would be nice to include
it as
part of
      the 4.4 release.
---
     misc/coverity_model.c |   98
+++++++++++++++++++++++++++++++++++++++++++++++++
     1 file changed, 98 insertions(+)
     create mode 100644 misc/coverity_model.c

diff --git a/misc/coverity_model.c b/misc/coverity_model.c
new file mode 100644
index 0000000..418d25e
--- /dev/null
+++ b/misc/coverity_model.c
@@ -0,0 +1,98 @@
+/* Coverity Scan model
+ *
+ * This is a modelling file for Coverity Scan. Modelling helps to
avoid false
+ * positives.
+ *
+ * - A model file can't import any header files.
+ * - Therefore only some built-in primitives like int, char and
void
are
+ *   available but not NULL etc.
+ * - Mode-ling doesn't need full structs and typedefs. Rudimentary
structs
+ *   and similar types are sufficient.
+ * - An uninitialized local pointer is not an error. It signifies
that the
+ *   variable could be either NULL or have some data.
+ *
+ * Coverity Scan doesn't pick up modifications automatically. The
model file
+ * must be uploaded by an admin in the analysis.
So this file isn't compiled; it's manually uploaded as part of the
coverity scanning process; and could be provided out-of-band, but
it's
just convenient to put it in the tree, particularly if any of these
things should change as things go forward.  (Hence comparing it to
documentation.)  Is that right?

    -George

Correct.  I believe internally Coverity compiles it (at least to an
AST), but that is completely opaque to users of Scan.
Right; I have a hard time coming up with a compelling reason to wait
for this one.

Release-acked-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>

The name of the file might be a bit confusing though, if people think
it is supposed to be compliled... would it make sense maybe to call it
".txt", and include some instructions at the top with a line that says
"---- cut here 8< ---" or something?

   -George
Not really - Coverity uses the file extension to work out how to
interpret the modelling file.  ".c" is correct here, and will cause
smart text editors to apply proper syntax highlighting.

Alternates are .cpp and .java, depending on the primary language of the
project.
Yes, I assumed that *coverity* needs it to be a .c.  But it doesn't
need to be a .c file in the xen tree -- the instructions could say,
"Place the text below into a file named coverity_model.c".

  -George
This file was deliberately placed in a brand new directory, away from
any Makefiles which might try to compile it for this reason.

Requiring users to post-process this file just to help prevent someone
from accidentally trying to compile it seems crazy IMO.  The worst that
happens is that someone tries to compile it and it fails to compile.

Right, well a directory named "misc" probably won't remain empty for long. :-) I'd prefer Ian's suggestion of misc/coverity/, or maybe just coverity/; but I'm not too particular about it.

(And the consensus seems to be that .c shoud be fine, so I'll go along with that too.)

 -George


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.