[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH] automation/eclair_analysis: address violations of Rule 18.2
On 05.09.2024 18:37, Nicola Vetrini wrote: > MISRA C Rule 18.2 states: "Subtraction between pointers shall > only be applied to pointers that address elements of the same array". > > Subtractions between pointer where at least one symbol is a > symbol defined by the linker are safe and thus deviated, because > the compiler cannot exploit the undefined behaviour that would > arise from violating the rules in this case. > > To create an ECLAIR configuration that contains the list of > linker-defined symbols, the script "linker-symbols.sh" is used > after a build of xen (without static analysis) is performed. > The generated file "linker_symbols.ecl" is then used as part of the > static analysis configuration. > > Additional changes to the ECLAIR integration are: > - perform a build of xen without static analysis during prepare.sh > - run the scripts to generated ECL configuration during the prepare.sh, > rather than analysis.sh > - export ECLAIR_PROJECT_ROOT earlier, to allow such generation > > Additionally, the macro page_to_mfn performs a subtraction that is safe, > so its uses are deviated. > > No functional changes. > > Signed-off-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx> > --- > Macro page_to_pdx is also the cause of some caution reports: > perhaps that should be deviated as well, since its definition is very > similar to page_to_mfn. > > Relevant CI runs: > > - arm64: > https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/ARM64/7754928624/PROJECT.ecd;/by_service/MC3R1.R18.2.html > > - x86_64: > https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/X86_64/7754928613/PROJECT.ecd;/by_service/MC3R1.R18.2.html > - x86_64 (without page_to_pdx reports): > https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/X86_64/7754928613/PROJECT.ecd;/by_service/MC3R1.R18.2.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":false,"selector":{"enabled":true,"negated":false,"kind":0,"domain":"message","inputs":[{"enabled":true,"text":"^.*expanded > from macro `page_to_pdx'"}]}}} > --- > automation/eclair_analysis/ECLAIR/analyze.sh | 6 ---- > .../eclair_analysis/ECLAIR/deviations.ecl | 11 +++++++ > .../eclair_analysis/ECLAIR/generate_ecl.sh | 3 ++ > .../ECLAIR/generate_linker_symbols.sh | 31 +++++++++++++++++++ > automation/eclair_analysis/prepare.sh | 6 +++- > automation/scripts/eclair | 3 ++ > docs/misra/deviations.rst | 10 ++++++ > 7 files changed, 63 insertions(+), 7 deletions(-) > create mode 100755 > automation/eclair_analysis/ECLAIR/generate_linker_symbols.sh Nit: Dashes instead of underscores in names of new files, please. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |