Online Linux Driver Verification Service (alpha)

Verification Report
Driver: simple_driver.tar.gz
Timestamp: 2012-09-17 12:05:08
Verification architecture: x86_64
You can see verification verdict for each rule and linux kernel. Verdict may be:
  • Safe - there is no mistakes for the given linux kernel and rule.
  • Unsafe - driver may contain an error. You can see the error trace by clicking on the "Unsafe" link for the corresponding linux kernel and rule.
  • Build failed - your driver is not compatible with the given linux kernel. In this case you may see the compile error trace by clicking on the "more details" link.
  • Unknown - tools can not determine whether your driver Safe or Unsafe.
  • Queued - the driver waits for the turn to verification.

linux-3.0
Rule Verdict
You should not acquire or release the same mutex twice in the same process. All locked mutexes should be unlocked at finalization. More information...
Safe
Once you blocked a driver using `try_module_get()` you should unblock it by `module_put()`. More information...
Safe
You should use `GFP_ATOMIC` flag when calling memory allocation functions when spinlock is held. More information...
Safe
Safe
It’s not allowed to acquire spin_lock twice. It’s not allowed to release not acquired spin_lock. At the end all spin_lock should be released. It’s not allowed to re-release a lock by spin_unlock/spin_unlock_irqrestore functions. More information...
Safe
linux-2.6.37
Rule Verdict
You should not acquire or release the same mutex twice in the same process. All locked mutexes should be unlocked at finalization. More information...
Safe
Once you blocked a driver using `try_module_get()` you should unblock it by `module_put()`. More information...
Safe
You should use `GFP_ATOMIC` flag when calling memory allocation functions when spinlock is held. More information...
Safe
Safe
It’s not allowed to acquire spin_lock twice. It’s not allowed to release not acquired spin_lock. At the end all spin_lock should be released. It’s not allowed to re-release a lock by spin_unlock/spin_unlock_irqrestore functions. More information...
Safe
linux-2.6.32.12
Rule Verdict
You should not acquire or release the same mutex twice in the same process. All locked mutexes should be unlocked at finalization. More information...
Safe
Once you blocked a driver using `try_module_get()` you should unblock it by `module_put()`. More information...
Safe
You should use `GFP_ATOMIC` flag when calling memory allocation functions when spinlock is held. More information...
Safe
Safe
It’s not allowed to acquire spin_lock twice. It’s not allowed to release not acquired spin_lock. At the end all spin_lock should be released. It’s not allowed to re-release a lock by spin_unlock/spin_unlock_irqrestore functions. More information...
Safe