[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH][for-4.19 v6 2/8] x86: add deviation for asm-only functions
On 2023-11-02 14:27, Jan Beulich wrote: On 02.11.2023 00:10, Stefano Stabellini wrote:On Wed, 1 Nov 2023, Nicola Vetrini wrote:As stated in rules.rst, functions used only in asm modules are allowed to have no prior declaration visible when being defined, hence these functions are marked with an 'asmlinkage' macro, which is then deviated for MISRA C:2012 Rule 8.4. Signed-off-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx> --- Changes in v3: - added SAF deviations for vmx counterparts to svm functions. Changes in v5: - drop SAF deviations in favour of the pseudo-attribute asmlinkage Changes in v6: - conditioned asmlinkage definition to make it overridable; - move the pseudo-attribute after the return type --- automation/eclair_analysis/ECLAIR/deviations.ecl | 9 +++++++++ docs/misra/deviations.rst | 6 ++++++ xen/arch/x86/hvm/svm/intr.c | 2 +- xen/arch/x86/hvm/svm/nestedsvm.c | 2 +- xen/arch/x86/hvm/svm/svm.c | 4 ++-- xen/arch/x86/hvm/vmx/intr.c | 2 +- xen/arch/x86/hvm/vmx/vmx.c | 4 ++-- xen/arch/x86/hvm/vmx/vvmx.c | 2 +- xen/arch/x86/traps.c | 2 +- xen/arch/x86/x86_64/traps.c | 2 +- xen/include/xen/compiler.h | 5 +++++ 11 files changed, 30 insertions(+), 10 deletions(-)diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.eclindex fa56e5c00a27..06619ecf7e8d 100644 --- a/automation/eclair_analysis/ECLAIR/deviations.ecl +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl@@ -163,6 +163,15 @@ Therefore the absence of prior declarations is safe." -config=MC3R1.R8.4,reports+={safe, "first_area(any_loc(file(gcov)))"}-doc_end+-doc_begin="Recognize the occurrence of current_stack_pointer as a declaration."+-file_tag+={asm_defns, "^xen/arch/x86/include/asm/asm_defns\\.h$"}+-config=MC3R1.R8.4,declarations+={safe, "loc(file(asm_defns))&&^current_stack_pointer$"}+-doc_end ++-doc_begin="asmlinkage is a marker to indicate that the function is only used to interface with asm modules." +-config=MC3R1.R8.4,declarations+={safe,"loc(text(^(?s).*asmlinkage.*$, -1..0))"}+-doc_end +-doc_begin="The following variables are compiled in multiple translation unitsbelonging to different executables and therefore are safe."-config=MC3R1.R8.6,declarations+={safe, "name(current_stack_pointer||bsearch||sort)"}diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst index 8511a189253b..d468da2f5ce9 100644 --- a/docs/misra/deviations.rst +++ b/docs/misra/deviations.rst @@ -133,6 +133,12 @@ Deviations related to MISRA C:2012 Rules:configuration. Therefore, the absence of prior declarations is safe.- Tagged as `safe` for ECLAIR. + * - R8.4+ - Functions and variables used only by asm modules are either marked with+ the `asmlinkage` macro or with a SAF-1-safe textual deviation + (see safe.json). + - Tagged as `safe` for ECLAIR.Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>Acked-by: Jan Beulich <jbeulich@xxxxxxxx> with ...If Julien prefers a different wording I could modify on commit as needed... wording clarified along the lines of his subsequent reply. Yet betterwould be, as also suggested by him, to accompany this with a 2nd patch replacing the now deprecated SAF-* comments. Jan Yes, as replied to Julien in this thread: a second patch will be submitted shortly. -- Nicola Vetrini, BSc Software Engineer, BUGSENG srl (https://bugseng.com)
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |