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

drivers/gpu/drm/i915/i915_gem_userptr.c: userptr_mn_invalidate_range_start: complex coniditonal locking within a loop & conditional unlocking #165

Open bulwahn opened 4 years ago

bulwahn commented 4 years ago
drivers/gpu/drm/i915/i915_gem_userptr.c:159:5: warning: mutex 'unlock' is not held on every path through here [-Wthread-safety-analysis]
                                break;
                                ^
drivers/gpu/drm/i915/i915_gem_userptr.c:153:9: note: mutex acquired here
                                if (mutex_lock_killable_nested(unlock, I915_MM_SHRINKER)) {
                                    ^
./include/linux/mutex.h:185:53: note: expanded from macro 'mutex_lock_killable_nested'
# define mutex_lock_killable_nested(lock, subclass) mutex_lock_killable(lock)
                                                    ^
drivers/gpu/drm/i915/i915_gem_userptr.c:187:3: warning: releasing mutex 'unlock' that was not held [-Wthread-safety-analysis]
                mutex_unlock(unlock);
                ^

unlock is also just a local variable.