All of lore.kernel.org
 help / color / mirror / Atom feed
* Remaining violations of MISRA Rule 7.4
@ 2023-11-08 16:24 Nicola Vetrini
  2023-11-08 18:45 ` Andrew Cooper
  0 siblings, 1 reply; 6+ messages in thread
From: Nicola Vetrini @ 2023-11-08 16:24 UTC (permalink / raw)
  To: Xen Devel
  Cc: Julien Grall, Stefano Stabellini, Jbeulich, Andrew Cooper3,
	Roger Pau, Bertrand Marquis, Michal Orzel, Consulting

Hi everyone,

I was looking at leftover violations for MISRA Rule 7.4:
'A string literal shall not be assigned to an object unless the object's 
type
is "pointer to const-qualified char" '

You can see the referenced violations at [1] and [2].

I think the ones in x86/setup.c can be taken care of either by making an 
early return
from cmdline_cook, given that one caller never supplies a NULL cmdline, 
while the other
properly takes care of the possibility of returning NULL, afaict.

  static char * __init cmdline_cook(char *p, const char *loader_name)
  {
-    p = p ? : "";
+    if ( p == NULL )
+        return NULL;

or changing the type of "loader" to const char*

  void __init noreturn __start_xen(unsigned long mbi_p)
  {
-    const char *memmap_type = NULL;
-    char *cmdline, *kextra, *loader;
+    const char *memmap_type = NULL, *loader = NULL;
+    char *cmdline, *kextra;;

as, as far as I can tell, it's never changed after

     loader = (mbi->flags & MBI_LOADERNAME)
         ? (char *)__va(mbi->boot_loader_name) : "unknown";

However, the one in xen/arch/arm/efi/efi-boot.h

name.s = "xen";

does not look to have a clear resolution
path, therefore I propose to deviate this with a SAF textual deviation, 
whose justification
relies on the fact that the string is never modified afterwards.

For the one in arm-uart.c from the discussion, I'm testing possible 
solution with no code
changes, but if that doesn't work out, then I'm inclined towards a 
deviation, as options
is never modified afterwards.

What do you think?

[1] 
https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/arm/for-4.19/ARM64-Set1/376/PROJECT.ecd;/by_service/MC3R1.R7.4.html

[2] 
https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/x86_64/staging/X86_64-Set1/376/PROJECT.ecd;/by_service/MC3R1.R7.4.html

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-11-21  8:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-08 16:24 Remaining violations of MISRA Rule 7.4 Nicola Vetrini
2023-11-08 18:45 ` Andrew Cooper
2023-11-13 11:11   ` Nicola Vetrini
2023-11-20 16:40   ` Nicola Vetrini
2023-11-20 23:08     ` Andrew Cooper
2023-11-21  8:00       ` Nicola Vetrini

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.