]> www.infradead.org Git - users/jedix/linux-maple.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)
commitac5f313624d876b41d4a1292181d17e80d44159c
tree99f687704aee1687427dcfd906c5076678c7d14d
parentc605c39677b9842b0566013e0cf30bc13e90bdbc
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 b0ab99e7736a ("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]