]> git.baikalelectronics.ru Git - kernel.git/commit
coccinelle: semantic patch to check for inappropriate do_div() calls
authorWen Yang <wenyang@linux.alibaba.com>
Fri, 10 Jan 2020 13:15:26 +0000 (21:15 +0800)
committerJulia Lawall <Julia.Lawall@inria.fr>
Sat, 11 Sep 2021 20:57:39 +0000 (22:57 +0200)
commit7528a016ac24f4da143062a3badaba016329b01c
tree99f687704aee1687427dcfd906c5076678c7d14d
parentd3db089d9382388b783279bb7af1a3f35817b7a4
coccinelle: semantic patch to check for inappropriate do_div() calls

do_div() does a 64-by-32 division.
When the divisor is unsigned long, u64, or s64,
do_div() truncates it to 32 bits, this means it
can test non-zero and be truncated to zero for division.
This semantic patch is inspired by Mateusz Guzik's patch:
commit 956c971fa4ca ("sched: Fix possible divide by zero in avg_atom() calculation")

Signed-off-by: Wen Yang <wenyang@linux.alibaba.com>
Signed-off-by: Julia Lawall <julia.lawall@inria.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Cc: Nicolas Palix <nicolas.palix@imag.fr>
Cc: Michal Marek <michal.lkml@markovi.net>
Cc: Matthias Maennich <maennich@google.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: cocci@systeme.lip6.fr
Cc: linux-kernel@vger.kernel.org
scripts/coccinelle/misc/do_div.cocci [new file with mode: 0644]