* [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
[parent not found: <alpine.DEB.2.02.1406031208380.2036-bi+AKbBUZKagILUCTcTcHdKyNwTtLsGr@public.gmane.org>]
* 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
[parent not found: <538E09C1.30200-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>]
* 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
[parent not found: <alpine.DEB.2.02.1406032013150.2009-bi+AKbBUZKagILUCTcTcHdKyNwTtLsGr@public.gmane.org>]
* 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
[parent not found: <538E119D.8010304-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>]
* 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).