Audit return codes (and handle failure correctly) for:

 * request_region()
 * request_irq()
 * kmalloc(), vmalloc(), etc
 * register_netdev() has to be checked as well
 * misc_register() (yes, it can fail, murphy's law applies here as well)
 * scsi_register()
 * create_proc_*()
 * pci_map_* might return 0 for a valid mapping.
  * Some code tests mapping for a non-zero value, which is incorrect.
 * get_free_pages() and get_free_page()
 * ioremap() -- Some are using this as a pointer, which is wrong.
 * put/get_user()
 * copy_*_user(), unlike put_user() it returns number of bytes failed to copy.
 * kernel_thread()
 * IDE drivers, as it can cause a real problem:
  * [D: http://marc.theaimsgroup.com/?l=kernel-janitor-discuss&m=110416923101031]