ClangBuiltLinux / thread-safety-analysis

A research project into applying Clang's Thread Safety Analysis to the Linux Kernel
Other
6 stars 0 forks source link

kernel/panic.c: false positive as spin_lock_irqsave is not annotated currently #134

Open himanshujha199640 opened 5 years ago

himanshujha199640 commented 5 years ago

Currently, we have not annotated any spin_lock_*() variants which might have solved the following warning.

/home/himanshu/clang-thread-safety-analysis/kernel/panic.c:463:5: warning: releasing mutex 'pause_on_oops_lock' that was not held [-Wthread-safety-analysis]
                                spin_unlock(&pause_on_oops_lock);
                                ^
/home/himanshu/clang-thread-safety-analysis/kernel/panic.c:463:5: warning: expecting mutex 'pause_on_oops_lock' to be held at start of each loop [-Wthread-safety-analysis]
/home/himanshu/clang-thread-safety-analysis/kernel/panic.c:465:5: note: mutex acquired here
                                spin_lock(&pause_on_oops_lock);
                                ^
/home/himanshu/clang-thread-safety-analysis/kernel/panic.c:470:11: warning: expecting mutex 'pause_on_oops_lock' to be held at start of each loop [-Wthread-safety-analysis]
                        while (spin_counter) {
                               ^
/home/himanshu/clang-thread-safety-analysis/kernel/panic.c:473:5: note: mutex acquired here
                                spin_lock(&pause_on_oops_lock);
                                ^
/home/himanshu/clang-thread-safety-analysis/kernel/panic.c:471:5: warning: releasing mutex 'pause_on_oops_lock' that was not held [-Wthread-safety-analysis]
                                spin_unlock(&pause_on_oops_lock);
                                ^
/home/himanshu/clang-thread-safety-analysis/kernel/panic.c:477:2: warning: mutex 'pause_on_oops_lock' is not held on every path through here [-Wthread-safety-analysis]
        spin_unlock_irqrestore(&pause_on_oops_lock, flags);
        ^
/home/himanshu/clang-thread-safety-analysis/kernel/panic.c:465:5: note: mutex acquired here
                                spin_lock(&pause_on_oops_lock);
                                ^