Print this page
12257 resync smatch to 0.6.1-rc1-il-4
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/tools/smatch/src/validation/sm_locking7.c
+++ new/usr/src/tools/smatch/src/validation/sm_locking7.c
1 1 #include "check_debug.h"
2 2
3 3 unsigned long arch_local_irq_save();
4 4 void arch_local_irq_restore(unsigned long flags);
5 5 int spin_trylock();
6 6 void frob();
7 7
8 8 void func(int *y)
9 9 {
10 10 int lock;
11 11 unsigned long flags;
12 12
13 13 if (({
14 14 int __ret;
15 15 flags = arch_local_irq_save();
16 16 __ret = spin_trylock(&lock);
17 17 if (!__ret)
18 18 arch_local_irq_restore(flags);
19 19 __ret;
↓ open down ↓ |
19 lines elided |
↑ open up ↑ |
20 20 }))
21 21 return;
22 22 frob();
23 23 }
24 24
25 25 /*
26 26 * check-name: smatch locking #7
27 27 * check-command: smatch -p=kernel -I.. sm_locking7.c
28 28 *
29 29 * check-output-start
30 -sm_locking7.c:22 func() warn: inconsistent returns 'irqsave:flags'.
31 - Locked on: line 21
32 - Unlocked on: line 22
33 -sm_locking7.c:22 func() warn: inconsistent returns 'spin_lock:&lock'.
34 - Locked on: line 21
35 - Unlocked on: line 22
30 +sm_locking7.c:22 func() warn: inconsistent returns 'flags'.
31 + Locked on : 21
32 + Unlocked on: 22
33 +sm_locking7.c:22 func() warn: inconsistent returns 'lock'.
34 + Locked on : 21
35 + Unlocked on: 22
36 36 * check-output-end
37 37 */
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX