File: 5.cocci

package info (click to toggle)
coccinelle 1.0.8.deb-5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 26,148 kB
  • sloc: ml: 136,392; ansic: 23,594; sh: 2,189; makefile: 2,157; perl: 1,576; lisp: 840; python: 823; awk: 70; csh: 12
file content (35 lines) | stat: -rw-r--r-- 474 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@@
struct IsdnCard v;
local function fn;
@@

v.irq_func = &fn;

@@
identifier intno, dev_id, regs;
@@

   fn(int intno, void *dev_id, struct pt_regs *regs) {
     <...
(
-    spin_lock(...);
|
-    spin_unlock(...);
)
     ...>
   }

@@
identifier cs;
@@

   fn(int intno, void *dev_id, struct pt_regs *regs) {
     ...
     struct IsdnCardState *cs = dev_id;
+    spin_lock(&cs->lock);
     ...
?-   if (!cs) { ... }
     ...
+    spin_unlock(&cs->lock);
     return;
   }