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: