11
12 if (1)
13 _spin_unlock(mylock);
14 frob();
15 if (a)
16 return;
17 if (!0)
18 _spin_lock(mylock);
19 if (0)
20 _spin_unlock(mylock);
21 if (b)
22 return;
23 if (!1)
24 _spin_lock(mylock);
25 }
26 /*
27 * check-name: Smatch locking #4
28 * check-command: smatch --project=kernel sm_locking4.c
29 *
30 * check-output-start
31 sm_locking4.c:23 func() warn: inconsistent returns 'spin_lock:mylock'.
32 Locked on: line 22
33 line 23
34 Unlocked on: line 16
35 * check-output-end
36 */
|
11
12 if (1)
13 _spin_unlock(mylock);
14 frob();
15 if (a)
16 return;
17 if (!0)
18 _spin_lock(mylock);
19 if (0)
20 _spin_unlock(mylock);
21 if (b)
22 return;
23 if (!1)
24 _spin_lock(mylock);
25 }
26 /*
27 * check-name: Smatch locking #4
28 * check-command: smatch --project=kernel sm_locking4.c
29 *
30 * check-output-start
31 sm_locking4.c:23 func() warn: inconsistent returns 'mylock'.
32 Locked on : 22-23
33 Unlocked on: 16
34 * check-output-end
35 */
|