From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Boyd Subject: Re: [PATCH v2] coccinelle: Check for missing NULL terminators in of_device_id tables Date: Mon, 09 Jun 2014 14:50:42 -0700 Message-ID: <53962C32.2040003@codeaurora.org> References: <1401213858-31950-1-git-send-email-sboyd@codeaurora.org> <538E09C1.30200@codeaurora.org> <538E119D.8010304@codeaurora.org> <53962B54.8030909@suse.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <53962B54.8030909@suse.cz> Sender: linux-kernel-owner@vger.kernel.org To: Michal Marek Cc: Julia Lawall , linux-kernel@vger.kernel.org, Mitchel Humpherys , Gilles Muller , Nicolas Palix , Grant Likely , Rob Herring , devicetree@vger.kernel.org List-Id: devicetree@vger.kernel.org On 06/09/14 14:47, Michal Marek wrote: > Dne 3.6.2014 20:25, Julia Lawall napsal(a): >> From: Stephen Boyd >> >> 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 >> Cc: Julia Lawall >> Cc: Gilles Muller >> Cc: Nicolas Palix >> Cc: Grant Likely >> Cc: Rob Herring >> Cc: devicetree@vger.kernel.org >> Signed-off-by: Stephen Boyd >> Acked-by: Grant Likely >> Signed-off-by: Julia Lawall >> >> --- >> >> 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