<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/scripts/coccinelle/locks, branch master</title>
<subtitle>Linux kernel mainline source</subtitle>
<id>http://mirrors.hust.edu.cn/git/linux.git/atom?h=master</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/linux.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux.git/'/>
<updated>2026-08-23T20:12:10+00:00</updated>
<entry>
<title>coccinelle: mini_lock: improve performance when searching loops</title>
<updated>2026-08-23T20:12:10+00:00</updated>
<author>
<name>Sang-Heon Jeon</name>
<email>ekffu200098@gmail.com</email>
</author>
<published>2026-07-27T13:52:44+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux.git/commit/?id=a53cbd149844cbde80f6adfc7f4233b8f230f664'/>
<id>urn:sha1:a53cbd149844cbde80f6adfc7f4233b8f230f664</id>
<content type='text'>
The 'looped' rule collects the returns inside a for loop to
prevent 'err' from reporting them. It searches every for loop in
the file, and on files with large loop bodies the search explodes.

For example, kernel/bpf/verifier.c runs for over 200 seconds,
almost entirely in 'looped' according to --profile. Since the
kernel .cocciconfig sets a 200 second timeout, coccicheck silently
skips the file.

To avoid this, collect the candidate returns first, so that
'looped' checks only those positions. 'err' then excludes what
'looped' found.

Every return that 'err' can report is also a candidate, so the
same returns are excluded as before and the output does not change.
A report-mode run over every .c file in the tree produces identical
output.

So verifier.c now finishes well within the timeout, in a few
seconds.

Signed-off-by: Sang-Heon Jeon &lt;ekffu200098@gmail.com&gt;
Signed-off-by: Julia Lawall &lt;Julia.Lawall@inria.fr&gt;
</content>
</entry>
<entry>
<title>coccinelle: double_lock: improve performance when no double lock exists</title>
<updated>2026-08-23T20:12:09+00:00</updated>
<author>
<name>Sang-Heon Jeon</name>
<email>ekffu200098@gmail.com</email>
</author>
<published>2026-07-25T11:32:40+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux.git/commit/?id=bf2fe566a8cbd3671b816223eec8fadd18ec8d77'/>
<id>urn:sha1:bf2fe566a8cbd3671b816223eec8fadd18ec8d77</id>
<content type='text'>
The 'balanced' rule collects the locks that are taken and released
under the same condition, to prevent them from being reported as a
double lock. It runs on every file that contains a lock call.

To avoid this, collect the double-lock candidates first, so that
'balanced' runs only when one exists. The report then excludes what
'balanced' found.

Every double lock that can be reported is also a candidate, so the
same reports are made as before and the output does not change. A
report-mode run over every .c file in the tree produces identical
output.

Signed-off-by: Sang-Heon Jeon &lt;ekffu200098@gmail.com&gt;
Signed-off-by: Julia Lawall &lt;Julia.Lawall@inria.fr&gt;
</content>
</entry>
<entry>
<title>update Coccinelle URL</title>
<updated>2022-08-07T19:30:36+00:00</updated>
<author>
<name>Julia Lawall</name>
<email>Julia.Lawall@inria.fr</email>
</author>
<published>2022-08-07T16:19:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux.git/commit/?id=f01701cec8cbb94df209e9705b97abd01c151ba1'/>
<id>urn:sha1:f01701cec8cbb94df209e9705b97abd01c151ba1</id>
<content type='text'>
Signed-off-by: Julia Lawall &lt;Julia.Lawall@inria.fr&gt;
</content>
</entry>
<entry>
<title>treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 505</title>
<updated>2019-06-19T15:11:22+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2019-06-04T08:11:38+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux.git/commit/?id=7f904d7e1f3ec7c2de47c024a5a5c30988b54703'/>
<id>urn:sha1:7f904d7e1f3ec7c2de47c024a5a5c30988b54703</id>
<content type='text'>
Based on 1 normalized pattern(s):

  gplv2

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 58 file(s).

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Enrico Weigelt &lt;info@metux.net&gt;
Reviewed-by: Allison Randal &lt;allison@lohutok.net&gt;
Reviewed-by: Kate Stewart &lt;kstewart@linuxfoundation.org&gt;
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190604081207.556988620@linutronix.de
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>coccinelle: mini_lock: improve performance</title>
<updated>2018-05-22T14:00:23+00:00</updated>
<author>
<name>Julia Lawall</name>
<email>Julia.Lawall@lip6.fr</email>
</author>
<published>2018-05-21T06:58:48+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux.git/commit/?id=32d0572a75c81a2c70394f9e110ca080b9a733b1'/>
<id>urn:sha1:32d0572a75c81a2c70394f9e110ca080b9a733b1</id>
<content type='text'>
Replace &lt;+... ...+&gt; by ... when any.  &lt;+... ...+&gt; is slow, and in some
obscure cases involving backward jumps it doesn't force the unlock to
actually come after the end of the if.

Signed-off-by: Julia Lawall &lt;Julia.Lawall@lip6.fr&gt;
Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
</content>
</entry>
<entry>
<title>Coccinelle: Update the options used to the new option scheme</title>
<updated>2013-07-03T20:58:13+00:00</updated>
<author>
<name>Nicolas Palix</name>
<email>nicolas.palix@imag.fr</email>
</author>
<published>2013-06-20T11:10:56+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux.git/commit/?id=93f14468491747d6d3efd0b3a42785b1d51a127a'/>
<id>urn:sha1:93f14468491747d6d3efd0b3a42785b1d51a127a</id>
<content type='text'>
spatch has changed its option scheme.
E.g., --no_show_diff is now --no-show-diff

This patch updates:
 - scripts/coccicheck
 - Semantic patches under scripts/coccinelle/

Signed-off-by: Nicolas Palix &lt;nicolas.palix@imag.fr&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>scripts/coccinelle: improve the coverage of some semantic patches</title>
<updated>2012-01-14T23:05:46+00:00</updated>
<author>
<name>Julia Lawall</name>
<email>Julia.Lawall@lip6.fr</email>
</author>
<published>2012-01-14T22:41:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux.git/commit/?id=29a36d4dec6cf7ad72e6e3337bf954096cbbb4cf'/>
<id>urn:sha1:29a36d4dec6cf7ad72e6e3337bf954096cbbb4cf</id>
<content type='text'>
This patch ensures that all semantic patches in the scripts/coccinelle
directory provide the report option.  Report messages that include line
numbers now have the line number preceded by "line" for easier subsequent
processing.

Signed-off-by: Julia Lawall &lt;Julia.Lawall@lip6.fr&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>Coccinelle: Find nested lock+irqsave functions that use the same flags variables.</title>
<updated>2010-10-27T22:32:22+00:00</updated>
<author>
<name>Julia Lawall</name>
<email>julia@diku.dk</email>
</author>
<published>2010-10-24T21:37:31+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux.git/commit/?id=10247179a7af4f000468e12ae73f3cf657b66235'/>
<id>urn:sha1:10247179a7af4f000468e12ae73f3cf657b66235</id>
<content type='text'>
Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Signed-off-by: Nicolas Palix &lt;npalix.work@gmail.com&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>Coccinelle: Add locks/mini_lock.cocci</title>
<updated>2010-08-31T09:37:53+00:00</updated>
<author>
<name>Nicolas Palix</name>
<email>npalix@diku.dk</email>
</author>
<published>2010-08-24T15:39:00+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux.git/commit/?id=54c056280e0dfcd39b33c4ed75116ce98697511c'/>
<id>urn:sha1:54c056280e0dfcd39b33c4ed75116ce98697511c</id>
<content type='text'>
Find missing unlocks.  This semantic match considers the specific case
where the unlock is missing from an if branch, and there is a lock
before the if and an unlock after the if.  False positives are due to
cases where the if branch represents a case where the function is
supposed to exit with the lock held, or where there is some preceding
function call that releases the lock.

Signed-off-by: Nicolas Palix &lt;npalix@diku.dk&gt;
Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>Coccinelle: Add locks/double_lock.cocci</title>
<updated>2010-08-31T09:37:53+00:00</updated>
<author>
<name>Nicolas Palix</name>
<email>npalix@diku.dk</email>
</author>
<published>2010-08-24T15:38:59+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux.git/commit/?id=8aa6273106756c30e5349b58eed28d93d8d88164'/>
<id>urn:sha1:8aa6273106756c30e5349b58eed28d93d8d88164</id>
<content type='text'>
Find double locks.  False positives may occur when some paths cannot
occur at execution, due to the values of variables, and when there is
an intervening function call that releases the lock.

Signed-off-by: Nicolas Palix &lt;npalix@diku.dk&gt;
Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
</feed>
