Merge branch 'for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux

Pull coccinelle updates from Julia Lawall:
 "Remove some semantic patches and remove a maintainer.

  Qing Wang <wangqing@vivo.com> reported that fen.cocci mostly finds
  false positives, so it is dropped.
  scripts/coccinelle/iterators/for_each_child.cocci also subsumes it, in
  a more correct way.

  Matthew Wilcox <willy@infradead.org> reported that bugon.cocci mostly
  gives false positives. It is an old script and was designed to be
  inaccurate to maximally cover problems, but most of what it is useful
  for has been done already.

  Gilles Muller passed away and is thus dropped from the maintainers
  list"

* 'for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux:
  drop fen.cocci
  scripts/coccinelle: drop bugon.cocci
  MAINTAINERS: remove Gilles Muller
This commit is contained in:
Linus Torvalds 2022-01-17 08:00:56 +02:00
commit b70b878c32
3 changed files with 0 additions and 188 deletions

View File

@ -4745,7 +4745,6 @@ F: drivers/media/pci/cobalt/
COCCINELLE/Semantic Patches (SmPL) COCCINELLE/Semantic Patches (SmPL)
M: Julia Lawall <Julia.Lawall@inria.fr> M: Julia Lawall <Julia.Lawall@inria.fr>
M: Gilles Muller <Gilles.Muller@inria.fr>
M: Nicolas Palix <nicolas.palix@imag.fr> M: Nicolas Palix <nicolas.palix@imag.fr>
L: cocci@inria.fr (moderated for non-subscribers) L: cocci@inria.fr (moderated for non-subscribers)
S: Supported S: Supported

View File

@ -1,124 +0,0 @@
// SPDX-License-Identifier: GPL-2.0-only
/// These iterators only exit normally when the loop cursor is NULL, so there
/// is no point to call of_node_put on the final value.
///
// Confidence: High
// Copyright: (C) 2010-2012 Nicolas Palix.
// Copyright: (C) 2010-2012 Julia Lawall, INRIA/LIP6.
// Copyright: (C) 2010-2012 Gilles Muller, INRIA/LiP6.
// URL: http://coccinelle.lip6.fr/
// Comments:
// Options: --no-includes --include-headers
virtual patch
virtual context
virtual org
virtual report
@depends on patch@
iterator name for_each_node_by_name;
expression np,E;
identifier l;
@@
for_each_node_by_name(np,...) {
... when != break;
when != goto l;
}
... when != np = E
- of_node_put(np);
@depends on patch@
iterator name for_each_node_by_type;
expression np,E;
identifier l;
@@
for_each_node_by_type(np,...) {
... when != break;
when != goto l;
}
... when != np = E
- of_node_put(np);
@depends on patch@
iterator name for_each_compatible_node;
expression np,E;
identifier l;
@@
for_each_compatible_node(np,...) {
... when != break;
when != goto l;
}
... when != np = E
- of_node_put(np);
@depends on patch@
iterator name for_each_matching_node;
expression np,E;
identifier l;
@@
for_each_matching_node(np,...) {
... when != break;
when != goto l;
}
... when != np = E
- of_node_put(np);
// ----------------------------------------------------------------------
@r depends on !patch forall@
//iterator name for_each_node_by_name;
//iterator name for_each_node_by_type;
//iterator name for_each_compatible_node;
//iterator name for_each_matching_node;
expression np,E;
identifier l;
position p1,p2;
@@
(
*for_each_node_by_name@p1(np,...)
{
... when != break;
when != goto l;
}
|
*for_each_node_by_type@p1(np,...)
{
... when != break;
when != goto l;
}
|
*for_each_compatible_node@p1(np,...)
{
... when != break;
when != goto l;
}
|
*for_each_matching_node@p1(np,...)
{
... when != break;
when != goto l;
}
)
... when != np = E
* of_node_put@p2(np);
@script:python depends on org@
p1 << r.p1;
p2 << r.p2;
@@
cocci.print_main("unneeded of_node_put",p2)
cocci.print_secs("iterator",p1)
@script:python depends on report@
p1 << r.p1;
p2 << r.p2;
@@
msg = "ERROR: of_node_put not needed after iterator on line %s" % (p1[0].line)
coccilib.report.print_report(p2[0], msg)

View File

@ -1,63 +0,0 @@
// SPDX-License-Identifier: GPL-2.0-only
/// Use BUG_ON instead of a if condition followed by BUG.
///
//# This makes an effort to find cases where BUG() follows an if
//# condition on an expression and replaces the if condition and BUG()
//# with a BUG_ON having the conditional expression of the if statement
//# as argument.
//
// Confidence: High
// Copyright: (C) 2014 Himangi Saraogi.
// Comments:
// Options: --no-includes --include-headers
virtual patch
virtual context
virtual org
virtual report
//----------------------------------------------------------
// For context mode
//----------------------------------------------------------
@depends on context@
expression e;
@@
*if (e) BUG();
//----------------------------------------------------------
// For patch mode
//----------------------------------------------------------
@depends on patch@
expression e;
@@
-if (e) BUG();
+BUG_ON(e);
//----------------------------------------------------------
// For org and report mode
//----------------------------------------------------------
@r depends on (org || report)@
expression e;
position p;
@@
if (e) BUG@p ();
@script:python depends on org@
p << r.p;
@@
coccilib.org.print_todo(p[0], "WARNING use BUG_ON")
@script:python depends on report@
p << r.p;
@@
msg="WARNING: Use BUG_ON instead of if condition followed by BUG.\nPlease make sure the condition has no side effects (see conditional BUG_ON definition in include/asm-generic/bug.h)"
coccilib.report.print_report(p[0], msg)