* [PATCH v2] coccinelle: Check for missing NULL terminators in of_device_id tables
@ 2014-05-27 18:04 Stephen Boyd
2014-06-03 9:24 ` Grant Likely
2014-06-03 10:15 ` Julia Lawall
0 siblings, 2 replies; 9+ messages in thread
From: Stephen Boyd @ 2014-05-27 18:04 UTC (permalink / raw)
To: Michal Marek
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA, Mitchel Humpherys,
Julia Lawall, Gilles Muller, Nicolas Palix, Grant Likely,
Rob Herring, devicetree-u79uwXL29TY76Z2rM5mHXA
Failure to terminate an of_device_id table can lead to confusing
failures depending on where the compiler places the array. Add a
check to make sure these tables are terminated. Thanks to Mitchel
Humpherys for coming up with the pattern initially.
Cc: Mitchel Humpherys <mitchelh-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
Cc: Julia Lawall <Julia.Lawall-L2FTfq7BK8M@public.gmane.org>
Cc: Gilles Muller <Gilles.Muller-L2FTfq7BK8M@public.gmane.org>
Cc: Nicolas Palix <nicolas.palix-wMUr/XMoy4A@public.gmane.org>
Cc: Grant Likely <grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Signed-off-by: Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
---
scripts/coccinelle/misc/of_table.cocci | 73 ++++++++++++++++++++++++++++++++++
1 file changed, 73 insertions(+)
create mode 100644 scripts/coccinelle/misc/of_table.cocci
diff --git a/scripts/coccinelle/misc/of_table.cocci b/scripts/coccinelle/misc/of_table.cocci
new file mode 100644
index 000000000000..838c74c418c9
--- /dev/null
+++ b/scripts/coccinelle/misc/of_table.cocci
@@ -0,0 +1,73 @@
+/// Make sure of_device_id tables are NULL terminated
+//
+// Keywords: of_table
+// Confidence: Medium
+// Options: --include-headers
+
+virtual patch
+virtual context
+virtual org
+virtual report
+
+@bad_of_table exists@
+identifier var, arr;
+expression E;
+@@
+struct of_device_id arr[] = {
+ ...,
+ {
+ .var = E,
+ }
+};
+
+@depends on bad_of_table && context@
+identifier var, arr;
+expression E;
+@@
+struct of_device_id arr[] = {
+ ...,
+ {
+* .var = E,
+ }
+};
+
+@depends on bad_of_table && patch@
+identifier var, arr;
+expression E;
+@@
+struct of_device_id arr[] = {
+ ...,
+ {
+ .var = E,
+- }
++ },
++ { }
+};
+
+@r depends on bad_of_table exists@
+position p1;
+identifier var, arr;
+expression E;
+@@
+struct of_device_id arr[] = {
+ ...,
+ {
+ .var = E,
+ }
+ @p1
+};
+
+@script:python depends on org@
+p1 << r.p1;
+arr << r.arr;
+@@
+
+cocci.print_main(arr,p1)
+
+@script:python depends on report@
+p1 << r.p1;
+arr << r.arr;
+@@
+
+msg = "%s is not NULL terminated at line %s" % (arr, p1[0].line)
+coccilib.report.print_report(p1[0],msg)
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2] coccinelle: Check for missing NULL terminators in of_device_id tables
2014-05-27 18:04 [PATCH v2] coccinelle: Check for missing NULL terminators in of_device_id tables Stephen Boyd
@ 2014-06-03 9:24 ` Grant Likely
2014-06-03 10:15 ` Julia Lawall
1 sibling, 0 replies; 9+ messages in thread
From: Grant Likely @ 2014-06-03 9:24 UTC (permalink / raw)
To: Stephen Boyd, Michal Marek
Cc: linux-kernel, Mitchel Humpherys, Julia Lawall, Gilles Muller,
Nicolas Palix, Rob Herring, devicetree
On Tue, 27 May 2014 11:04:18 -0700, Stephen Boyd <sboyd@codeaurora.org> wrote:
> Failure to terminate an of_device_id table can lead to confusing
> failures depending on where the compiler places the array. Add a
> check to make sure these tables are terminated. Thanks to Mitchel
> Humpherys for coming up with the pattern initially.
>
> Cc: Mitchel Humpherys <mitchelh@codeaurora.org>
> Cc: Julia Lawall <Julia.Lawall@lip6.fr>
> Cc: Gilles Muller <Gilles.Muller@lip6.fr>
> Cc: Nicolas Palix <nicolas.palix@imag.fr>
> Cc: Grant Likely <grant.likely@linaro.org>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: devicetree@vger.kernel.org
> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Looks good to me:
Acked-by: Grant Likely <grant.likely@linaro.org>
> ---
> scripts/coccinelle/misc/of_table.cocci | 73 ++++++++++++++++++++++++++++++++++
> 1 file changed, 73 insertions(+)
> create mode 100644 scripts/coccinelle/misc/of_table.cocci
>
> diff --git a/scripts/coccinelle/misc/of_table.cocci b/scripts/coccinelle/misc/of_table.cocci
> new file mode 100644
> index 000000000000..838c74c418c9
> --- /dev/null
> +++ b/scripts/coccinelle/misc/of_table.cocci
> @@ -0,0 +1,73 @@
> +/// Make sure of_device_id tables are NULL terminated
> +//
> +// Keywords: of_table
> +// Confidence: Medium
> +// Options: --include-headers
> +
> +virtual patch
> +virtual context
> +virtual org
> +virtual report
> +
> +@bad_of_table exists@
> +identifier var, arr;
> +expression E;
> +@@
> +struct of_device_id arr[] = {
> + ...,
> + {
> + .var = E,
> + }
> +};
> +
> +@depends on bad_of_table && context@
> +identifier var, arr;
> +expression E;
> +@@
> +struct of_device_id arr[] = {
> + ...,
> + {
> +* .var = E,
> + }
> +};
> +
> +@depends on bad_of_table && patch@
> +identifier var, arr;
> +expression E;
> +@@
> +struct of_device_id arr[] = {
> + ...,
> + {
> + .var = E,
> +- }
> ++ },
> ++ { }
> +};
> +
> +@r depends on bad_of_table exists@
> +position p1;
> +identifier var, arr;
> +expression E;
> +@@
> +struct of_device_id arr[] = {
> + ...,
> + {
> + .var = E,
> + }
> + @p1
> +};
> +
> +@script:python depends on org@
> +p1 << r.p1;
> +arr << r.arr;
> +@@
> +
> +cocci.print_main(arr,p1)
> +
> +@script:python depends on report@
> +p1 << r.p1;
> +arr << r.arr;
> +@@
> +
> +msg = "%s is not NULL terminated at line %s" % (arr, p1[0].line)
> +coccilib.report.print_report(p1[0],msg)
> --
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> hosted by The Linux Foundation
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] coccinelle: Check for missing NULL terminators in of_device_id tables
2014-05-27 18:04 [PATCH v2] coccinelle: Check for missing NULL terminators in of_device_id tables Stephen Boyd
2014-06-03 9:24 ` Grant Likely
@ 2014-06-03 10:15 ` Julia Lawall
[not found] ` <alpine.DEB.2.02.1406031208380.2036-bi+AKbBUZKagILUCTcTcHdKyNwTtLsGr@public.gmane.org>
1 sibling, 1 reply; 9+ messages in thread
From: Julia Lawall @ 2014-06-03 10:15 UTC (permalink / raw)
To: Stephen Boyd
Cc: Michal Marek, linux-kernel, Mitchel Humpherys, Gilles Muller,
Nicolas Palix, Grant Likely, Rob Herring, devicetree
Failure to terminate an of_device_id table can lead to confusing
failures depending on where the compiler places the array. Add a
check to make sure these tables are terminated. Thanks to Mitchel
Humpherys for coming up with the pattern initially.
Cc: Mitchel Humpherys <mitchelh@codeaurora.org>
Cc: Julia Lawall <Julia.Lawall@lip6.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Cc: Nicolas Palix <nicolas.palix@imag.fr>
Cc: Grant Likely <grant.likely@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Grant Likely <grant.likely@linaro.org>
Signed-off-by: Julia Lawall <julia.lawall@lip6.fr>
---
v3: Removed unneeded rule bad_of_table. Placed * in context rule on the
closing brace; putting it on the field caused all fields to be marked.
scripts/coccinelle/misc/of_table.cocci | 62 +++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/scripts/coccinelle/misc/of_table.cocci b/scripts/coccinelle/misc/of_table.cocci
new file mode 100644
index 0000000..3c93404
--- /dev/null
+++ b/scripts/coccinelle/misc/of_table.cocci
@@ -0,0 +1,62 @@
+/// Make sure of_device_id tables are NULL terminated
+//
+// Keywords: of_table
+// Confidence: Medium
+// Options: --include-headers
+
+virtual patch
+virtual context
+virtual org
+virtual report
+
+@depends on context@
+identifier var, arr;
+expression E;
+@@
+struct of_device_id arr[] = {
+ ...,
+ {
+ .var = E,
+* }
+};
+
+@depends on patch@
+identifier var, arr;
+expression E;
+@@
+struct of_device_id arr[] = {
+ ...,
+ {
+ .var = E,
+- }
++ },
++ { }
+};
+
+@r depends on org || report@
+position p1;
+identifier var, arr;
+expression E;
+@@
+struct of_device_id arr[] = {
+ ...,
+ {
+ .var = E,
+ }
+ @p1
+};
+
+@script:python depends on org@
+p1 << r.p1;
+arr << r.arr;
+@@
+
+cocci.print_main(arr,p1)
+
+@script:python depends on report@
+p1 << r.p1;
+arr << r.arr;
+@@
+
+msg = "%s is not NULL terminated at line %s" % (arr, p1[0].line)
+coccilib.report.print_report(p1[0],msg)
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2] coccinelle: Check for missing NULL terminators in of_device_id tables
[not found] ` <alpine.DEB.2.02.1406031208380.2036-bi+AKbBUZKagILUCTcTcHdKyNwTtLsGr@public.gmane.org>
@ 2014-06-03 17:45 ` Stephen Boyd
[not found] ` <538E09C1.30200-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Stephen Boyd @ 2014-06-03 17:45 UTC (permalink / raw)
To: Julia Lawall
Cc: Michal Marek, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
Mitchel Humpherys, Gilles Muller, Nicolas Palix, Grant Likely,
Rob Herring, devicetree-u79uwXL29TY76Z2rM5mHXA
On 06/03/14 03:15, Julia Lawall wrote:
> Failure to terminate an of_device_id table can lead to confusing
> failures depending on where the compiler places the array. Add a
> check to make sure these tables are terminated. Thanks to Mitchel
> Humpherys for coming up with the pattern initially.
>
> Cc: Mitchel Humpherys <mitchelh-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
> Cc: Julia Lawall <Julia.Lawall-L2FTfq7BK8M@public.gmane.org>
> Cc: Gilles Muller <Gilles.Muller-L2FTfq7BK8M@public.gmane.org>
> Cc: Nicolas Palix <nicolas.palix-wMUr/XMoy4A@public.gmane.org>
> Cc: Grant Likely <grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> Signed-off-by: Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
> Acked-by: Grant Likely <grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> Signed-off-by: Julia Lawall <julia.lawall-L2FTfq7BK8M@public.gmane.org>
>
> ---
>
> v3: Removed unneeded rule bad_of_table. Placed * in context rule on the
> closing brace; putting it on the field caused all fields to be marked.
>
These seem like only minor changes. Why was my authorship removed?
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] coccinelle: Check for missing NULL terminators in of_device_id tables
[not found] ` <538E09C1.30200-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
@ 2014-06-03 18:14 ` Julia Lawall
[not found] ` <alpine.DEB.2.02.1406032013150.2009-bi+AKbBUZKagILUCTcTcHdKyNwTtLsGr@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Julia Lawall @ 2014-06-03 18:14 UTC (permalink / raw)
To: Stephen Boyd
Cc: Julia Lawall, Michal Marek, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
Mitchel Humpherys, Gilles Muller, Nicolas Palix, Grant Likely,
Rob Herring, devicetree-u79uwXL29TY76Z2rM5mHXA
On Tue, 3 Jun 2014, Stephen Boyd wrote:
> On 06/03/14 03:15, Julia Lawall wrote:
> > Failure to terminate an of_device_id table can lead to confusing
> > failures depending on where the compiler places the array. Add a
> > check to make sure these tables are terminated. Thanks to Mitchel
> > Humpherys for coming up with the pattern initially.
> >
> > Cc: Mitchel Humpherys <mitchelh-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
> > Cc: Julia Lawall <Julia.Lawall-L2FTfq7BK8M@public.gmane.org>
> > Cc: Gilles Muller <Gilles.Muller-L2FTfq7BK8M@public.gmane.org>
> > Cc: Nicolas Palix <nicolas.palix-wMUr/XMoy4A@public.gmane.org>
> > Cc: Grant Likely <grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> > Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> > Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> > Signed-off-by: Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
> > Acked-by: Grant Likely <grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> > Signed-off-by: Julia Lawall <julia.lawall-L2FTfq7BK8M@public.gmane.org>
> >
> > ---
> >
> > v3: Removed unneeded rule bad_of_table. Placed * in context rule on the
> > closing brace; putting it on the field caused all fields to be marked.
> >
>
>
> These seem like only minor changes. Why was my authorship removed?
Probably because I don't know how to provide a new vesion of the patch
properly. What should I have done? There were quite a lot of
modifications. It seemed easier to just send a complete new version.
julia
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] coccinelle: Check for missing NULL terminators in of_device_id tables
[not found] ` <alpine.DEB.2.02.1406032013150.2009-bi+AKbBUZKagILUCTcTcHdKyNwTtLsGr@public.gmane.org>
@ 2014-06-03 18:19 ` Stephen Boyd
[not found] ` <538E119D.8010304-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Stephen Boyd @ 2014-06-03 18:19 UTC (permalink / raw)
To: Julia Lawall
Cc: Michal Marek, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
Mitchel Humpherys, Gilles Muller, Nicolas Palix, Grant Likely,
Rob Herring, devicetree-u79uwXL29TY76Z2rM5mHXA
On 06/03/14 11:14, Julia Lawall wrote:
> On Tue, 3 Jun 2014, Stephen Boyd wrote:
>
>> On 06/03/14 03:15, Julia Lawall wrote:
>>> Failure to terminate an of_device_id table can lead to confusing
>>> failures depending on where the compiler places the array. Add a
>>> check to make sure these tables are terminated. Thanks to Mitchel
>>> Humpherys for coming up with the pattern initially.
>>>
>>> Cc: Mitchel Humpherys <mitchelh-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
>>> Cc: Julia Lawall <Julia.Lawall-L2FTfq7BK8M@public.gmane.org>
>>> Cc: Gilles Muller <Gilles.Muller-L2FTfq7BK8M@public.gmane.org>
>>> Cc: Nicolas Palix <nicolas.palix-wMUr/XMoy4A@public.gmane.org>
>>> Cc: Grant Likely <grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
>>> Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
>>> Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>>> Signed-off-by: Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
>>> Acked-by: Grant Likely <grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
>>> Signed-off-by: Julia Lawall <julia.lawall-L2FTfq7BK8M@public.gmane.org>
>>>
>>> ---
>>>
>>> v3: Removed unneeded rule bad_of_table. Placed * in context rule on the
>>> closing brace; putting it on the field caused all fields to be marked.
>>>
>>
>> These seem like only minor changes. Why was my authorship removed?
> Probably because I don't know how to provide a new vesion of the patch
> properly. What should I have done?
If you use git format-patch it should insert a "From: <original author>"
line at the beginning of the commit text. This ensures that when git am
is used the correct authorship is retained. It looks like you're using
alpine so I suspect you could just paste this information at the
beginning of the message.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] coccinelle: Check for missing NULL terminators in of_device_id tables
[not found] ` <538E119D.8010304-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
@ 2014-06-03 18:25 ` Julia Lawall
2014-06-09 21:47 ` Michal Marek
0 siblings, 1 reply; 9+ messages in thread
From: Julia Lawall @ 2014-06-03 18:25 UTC (permalink / raw)
To: Stephen Boyd
Cc: Michal Marek, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
Mitchel Humpherys, Gilles Muller, Nicolas Palix, Grant Likely,
Rob Herring, devicetree-u79uwXL29TY76Z2rM5mHXA
From: Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
Failure to terminate an of_device_id table can lead to confusing
failures depending on where the compiler places the array. Add a
check to make sure these tables are terminated. Thanks to Mitchel
Humpherys for coming up with the pattern initially.
Cc: Mitchel Humpherys <mitchelh-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
Cc: Julia Lawall <Julia.Lawall-L2FTfq7BK8M@public.gmane.org>
Cc: Gilles Muller <Gilles.Muller-L2FTfq7BK8M@public.gmane.org>
Cc: Nicolas Palix <nicolas.palix-wMUr/XMoy4A@public.gmane.org>
Cc: Grant Likely <grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Signed-off-by: Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
Acked-by: Grant Likely <grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Signed-off-by: Julia Lawall <julia.lawall-L2FTfq7BK8M@public.gmane.org>
---
v3: Removed unneeded rule bad_of_table. Placed * in context rule on the
closing brace; putting it on the field caused all fields to be marked.
v4: corrected authorship
scripts/coccinelle/misc/of_table.cocci | 62 +++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/scripts/coccinelle/misc/of_table.cocci b/scripts/coccinelle/misc/of_table.cocci
new file mode 100644
index 0000000..3c93404
--- /dev/null
+++ b/scripts/coccinelle/misc/of_table.cocci
@@ -0,0 +1,62 @@
+/// Make sure of_device_id tables are NULL terminated
+//
+// Keywords: of_table
+// Confidence: Medium
+// Options: --include-headers
+
+virtual patch
+virtual context
+virtual org
+virtual report
+
+@depends on context@
+identifier var, arr;
+expression E;
+@@
+struct of_device_id arr[] = {
+ ...,
+ {
+ .var = E,
+* }
+};
+
+@depends on patch@
+identifier var, arr;
+expression E;
+@@
+struct of_device_id arr[] = {
+ ...,
+ {
+ .var = E,
+- }
++ },
++ { }
+};
+
+@r depends on org || report@
+position p1;
+identifier var, arr;
+expression E;
+@@
+struct of_device_id arr[] = {
+ ...,
+ {
+ .var = E,
+ }
+ @p1
+};
+
+@script:python depends on org@
+p1 << r.p1;
+arr << r.arr;
+@@
+
+cocci.print_main(arr,p1)
+
+@script:python depends on report@
+p1 << r.p1;
+arr << r.arr;
+@@
+
+msg = "%s is not NULL terminated at line %s" % (arr, p1[0].line)
+coccilib.report.print_report(p1[0],msg)
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2] coccinelle: Check for missing NULL terminators in of_device_id tables
2014-06-03 18:25 ` Julia Lawall
@ 2014-06-09 21:47 ` Michal Marek
2014-06-09 21:50 ` Stephen Boyd
0 siblings, 1 reply; 9+ messages in thread
From: Michal Marek @ 2014-06-09 21:47 UTC (permalink / raw)
To: Julia Lawall, Stephen Boyd
Cc: linux-kernel, Mitchel Humpherys, Gilles Muller, Nicolas Palix,
Grant Likely, Rob Herring, devicetree
Dne 3.6.2014 20:25, Julia Lawall napsal(a):
> From: Stephen Boyd <sboyd@codeaurora.org>
>
> Failure to terminate an of_device_id table can lead to confusing
> failures depending on where the compiler places the array. Add a
> check to make sure these tables are terminated. Thanks to Mitchel
> Humpherys for coming up with the pattern initially.
>
> Cc: Mitchel Humpherys <mitchelh@codeaurora.org>
> Cc: Julia Lawall <Julia.Lawall@lip6.fr>
> Cc: Gilles Muller <Gilles.Muller@lip6.fr>
> Cc: Nicolas Palix <nicolas.palix@imag.fr>
> Cc: Grant Likely <grant.likely@linaro.org>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: devicetree@vger.kernel.org
> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
> Acked-by: Grant Likely <grant.likely@linaro.org>
> Signed-off-by: Julia Lawall <julia.lawall@lip6.fr>
>
> ---
>
> v3: Removed unneeded rule bad_of_table. Placed * in context rule on the
> closing brace; putting it on the field caused all fields to be marked.
>
> v4: corrected authorship
>
> scripts/coccinelle/misc/of_table.cocci | 62 +++++++++++++++++++++++++++++++++
> 1 file changed, 62 insertions(+)
Applied to kbuild.git#misc, thanks. BTW, what is so special about of
device drivers? Shouldn't we check for missing sentinels in all kinds of
device tables?
Thanks,
Michal
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] coccinelle: Check for missing NULL terminators in of_device_id tables
2014-06-09 21:47 ` Michal Marek
@ 2014-06-09 21:50 ` Stephen Boyd
0 siblings, 0 replies; 9+ messages in thread
From: Stephen Boyd @ 2014-06-09 21:50 UTC (permalink / raw)
To: Michal Marek
Cc: Julia Lawall, linux-kernel, Mitchel Humpherys, Gilles Muller,
Nicolas Palix, Grant Likely, Rob Herring, devicetree
On 06/09/14 14:47, Michal Marek wrote:
> Dne 3.6.2014 20:25, Julia Lawall napsal(a):
>> From: Stephen Boyd <sboyd@codeaurora.org>
>>
>> Failure to terminate an of_device_id table can lead to confusing
>> failures depending on where the compiler places the array. Add a
>> check to make sure these tables are terminated. Thanks to Mitchel
>> Humpherys for coming up with the pattern initially.
>>
>> Cc: Mitchel Humpherys <mitchelh@codeaurora.org>
>> Cc: Julia Lawall <Julia.Lawall@lip6.fr>
>> Cc: Gilles Muller <Gilles.Muller@lip6.fr>
>> Cc: Nicolas Palix <nicolas.palix@imag.fr>
>> Cc: Grant Likely <grant.likely@linaro.org>
>> Cc: Rob Herring <robh+dt@kernel.org>
>> Cc: devicetree@vger.kernel.org
>> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
>> Acked-by: Grant Likely <grant.likely@linaro.org>
>> Signed-off-by: Julia Lawall <julia.lawall@lip6.fr>
>>
>> ---
>>
>> v3: Removed unneeded rule bad_of_table. Placed * in context rule on the
>> closing brace; putting it on the field caused all fields to be marked.
>>
>> v4: corrected authorship
>>
>> scripts/coccinelle/misc/of_table.cocci | 62 +++++++++++++++++++++++++++++++++
>> 1 file changed, 62 insertions(+)
> Applied to kbuild.git#misc, thanks. BTW, what is so special about of
> device drivers? Shouldn't we check for missing sentinels in all kinds of
> device tables?
>
Yes the rule should probably be expanded to cover more tables. I guess
this is just more noticeable because a driver may match some device that
it isn't supposed to match and start writing random bits to registers it
shouldn't be, causing the system to hang.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2014-06-09 21:50 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-27 18:04 [PATCH v2] coccinelle: Check for missing NULL terminators in of_device_id tables Stephen Boyd
2014-06-03 9:24 ` Grant Likely
2014-06-03 10:15 ` Julia Lawall
[not found] ` <alpine.DEB.2.02.1406031208380.2036-bi+AKbBUZKagILUCTcTcHdKyNwTtLsGr@public.gmane.org>
2014-06-03 17:45 ` Stephen Boyd
[not found] ` <538E09C1.30200-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2014-06-03 18:14 ` Julia Lawall
[not found] ` <alpine.DEB.2.02.1406032013150.2009-bi+AKbBUZKagILUCTcTcHdKyNwTtLsGr@public.gmane.org>
2014-06-03 18:19 ` Stephen Boyd
[not found] ` <538E119D.8010304-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2014-06-03 18:25 ` Julia Lawall
2014-06-09 21:47 ` Michal Marek
2014-06-09 21:50 ` Stephen Boyd
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).