IS_ERR() and IS_ERR_OR_NULL()) already call unlikely(), therefore expressions like "(unlikely(IS_ERR(foo))" or "(!likely(IS_ERR(foo))" aren't needed.
This patch adds a coccinelle script that checks for that. Signed-off-by: Enrico Weigelt <[email protected]> --- scripts/coccinelle/api/double_unlikely.cocci | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 scripts/coccinelle/api/double_unlikely.cocci diff --git a/scripts/coccinelle/api/double_unlikely.cocci b/scripts/coccinelle/api/double_unlikely.cocci new file mode 100644 index 0000000..0b9bb3b --- /dev/null +++ b/scripts/coccinelle/api/double_unlikely.cocci @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: GPL-2.0 +// +// find unncessary cases of unlikely(IS_ERR(foo)) +// IS_ERR() already calls unlikely() call +// +// Copyright (C) 2019 Enrico Weigelt, metux IT consult <[email protected]> +// +virtual patch +virtual context +virtual org +virtual report + +@@ +expression E; +@@ +- unlikely(IS_ERR(E)) ++ IS_ERR(E) + +@@ +expression E; +@@ +- unlikely(IS_ERR_OR_NULL(E)) ++ IS_ERR_OR_NULL(E) + +@@ +expression E; +@@ +- likely(!IS_ERR(E)) ++ !IS_ERR(E) + +@@ +expression E; +@@ +- likely(!IS_ERR_OR_NULL(E)) ++ !IS_ERR_OR_NULL(E) -- 1.9.1

