Project

General

Profile

Actions

Bug #7391

closed

Rules with rare header files cannot be checked

Added by Vitaly Mordan almost 8 years ago. Updated almost 8 years ago.

Status:
Closed
Priority:
Urgent
Category:
-
Target version:
-
Start date:
07/12/2016
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Platform:
Published in build:
9502193

Description

If aspect file includes some "rare" header files (for example, rule linux:mmc:sdio_func or '150'), Weaver will fall in case module to be checked does not include the same header files.
Thus, we neither can check "irrelevant" modules for such rules nor unite them with other rules.


Related issues 1 (0 open1 closed)

Related to Klever - Bug #7333: Fix nonstandard verification tasks generation strategiesClosedVitaly Mordan06/23/2016

Actions
Actions #1

Updated by Evgeny Novikov almost 8 years ago

  • Status changed from New to Open
  • Assignee set to Evgeny Novikov
  • Priority changed from High to Urgent

We need to deal with that. Otherwise we will need to wait for verification results for extra many-many hours or exclude these outstanding rules at all. Both is awful.

Actions #2

Updated by Evgeny Novikov almost 8 years ago

  • Status changed from Open to Closed
  • Published in build set to cb530d5

Fixed in cb530d5 to the master branch.

To check rules which models include rare headers one needs to explicitly list such headers in the correct order so that a C file that includes them can be compiled. For instance, for linux:mmc:sdio_func the rule specification description now looks so:

"linux:mmc:sdio_func": {
      "aliases": ["150"],
      "description": "...",
      "template": "Linux kernel modules",
      "RSG": {"models": {"linux/mmc/sdio_func.c": {
        "bug kinds": [
          "linux:mmc:sdio_func:wrong params",
          "linux:mmc:sdio_func:double claim",
          "linux:mmc:sdio_func:release without claim",
          "linux:mmc:sdio_func:unreleased at exit" 
        ],
        "headers": [
          "linux/mmc/sdio_func.h",
          "linux/mmc/host.h",
          "linux/mmc/card.h" 
        ]
      }}}
    }

BTW, I was very surprised how many headers, e.g. linux/spinlock.h, linux/gfp.h, linux/errno.h, are required for header linux/module.h that is included for all Linux kernel modules and thus those included headers are available for all models as well.

Actions #3

Updated by Evgeny Novikov almost 8 years ago

  • Published in build changed from cb530d5 to 456d3f3

Two related issues were fixed in 510ba06 and 456d3f3.

Actions #4

Updated by Evgeny Novikov almost 8 years ago

  • Published in build changed from 456d3f3 to 9502193

One more fix was done in 9502193.

Actions

Also available in: Atom PDF