coccinelle: Improve checking for missing NULL terminators
Extend checking on tables containing structures which are initialized without specifying member name. Added new tables for checking: i2c_device_id and platform_device_id. Signed-off-by: Daniel Granat <d.granat@samsung.com> Acked-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Michal Marek <mmarek@suse.cz>
This commit is contained in:
Родитель
4743775c6d
Коммит
67afc2110a
|
@ -1,6 +1,6 @@
|
|||
/// Make sure of_device_id tables are NULL terminated
|
||||
/// Make sure (of/i2c/platform)_device_id tables are NULL terminated
|
||||
//
|
||||
// Keywords: of_table
|
||||
// Keywords: of_table i2c_table platform_table
|
||||
// Confidence: Medium
|
||||
// Options: --include-headers
|
||||
|
||||
|
@ -13,18 +13,26 @@ virtual report
|
|||
identifier var, arr;
|
||||
expression E;
|
||||
@@
|
||||
struct of_device_id arr[] = {
|
||||
(
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
|
||||
...,
|
||||
{
|
||||
.var = E,
|
||||
* }
|
||||
};
|
||||
|
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
|
||||
...,
|
||||
* { ..., E, ... },
|
||||
};
|
||||
)
|
||||
|
||||
@depends on patch@
|
||||
identifier var, arr;
|
||||
expression E;
|
||||
@@
|
||||
struct of_device_id arr[] = {
|
||||
(
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
|
||||
...,
|
||||
{
|
||||
.var = E,
|
||||
|
@ -32,19 +40,34 @@ struct of_device_id arr[] = {
|
|||
+ },
|
||||
+ { }
|
||||
};
|
||||
|
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
|
||||
...,
|
||||
{ ..., E, ... },
|
||||
+ { },
|
||||
};
|
||||
)
|
||||
|
||||
@r depends on org || report@
|
||||
position p1;
|
||||
identifier var, arr;
|
||||
expression E;
|
||||
@@
|
||||
struct of_device_id arr[] = {
|
||||
(
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
|
||||
...,
|
||||
{
|
||||
.var = E,
|
||||
}
|
||||
@p1
|
||||
};
|
||||
|
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
|
||||
...,
|
||||
{ ..., E, ... }
|
||||
@p1
|
||||
};
|
||||
)
|
||||
|
||||
@script:python depends on org@
|
||||
p1 << r.p1;
|
||||
|
|
Загрузка…
Ссылка в новой задаче