Date: Fri, 25 Aug 2000 11:40:56 -0300 From: Arnaldo Carvalho de Melo <acme@conectiva.com.br> To: torvalds@transmeta.com Subject: [RFC] my current kernel todo list Linus et al, Can you briefly comment about the todo list bellow? I want to help cleaning code, but to avoid losing our time, maybe somebody can say something "hey, don't do that" or "hey, that is wrong you stupid" or something. TIA, - Arnaldo - get rid of check_region, use just request_region checking its return (2.2 request_region returned void) and now the driver init sequence is not serialized anymore, so races are possible - request_irq needs to be checked - check all init_etherdev return - drivers allocating net_device with init_etherdev doesn't need zeroing it (init_etherdev does this for us) - check all kmalloc, vmaloc, skb_alloc, etcalloc - check drivers/char/ip2main.c - release previously successful allocations on failure - use forward gotos to release previously successfull allocations - convert drivers to new PCI API - remove uneeded historic code - checking for NULL on probe routines for net drivers - check freeing skbs with kfree instead of kfree_skb - get rid of panic function in drivers (watchdogs need to use machine_restart instead of panic 8) ) - several char drivers do this happily :( - get rid of isa_read/write[bwl], use ioremap instead - sed s/return EWHATEVER/return -EWHATEVER/ - check misc_register return (yes, it can fail, murphy's law applies here as well) - get rid of verify_area with copy_*_user get/put_user, only needed if using __copy_*_user et al - make sure that copy_to_user et all are checked - look at drivers/char/generic_serial.c - look at drivers/char/n_tty.c - get rid of copy_to_user_ret et all (Linus call) Maybe: - check drivers/scsi/ips.c for resource leaks (ips_release doesn't seems to release all the kmalloc memory it got in ips_detect. (quick look) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/