Bug #7391
closedRules with rare header files cannot be checked
0%
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.
Updated by Evgeny Novikov over 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.
Updated by Evgeny Novikov over 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.
Updated by Evgeny Novikov over 8 years ago
- Published in build changed from cb530d5 to 456d3f3
Updated by Evgeny Novikov over 8 years ago
- Published in build changed from 456d3f3 to 9502193
One more fix was done in 9502193.