• N
    [PATCH] Correct misc_register return code handling in several drivers · 5d469ec0
    Neil Horman 提交于
    Clean up several code points in which the return code from misc_register is
    not handled properly.
    
    Several modules failed to deregister various hooks when misc_register fails,
    and this patch cleans them up.  Also there are a few modules that legitimately
    don't care about the failure status of misc register.  These drivers however
    unilaterally call misc_deregister on module unload.
    
    Since misc_register doesn't initialize the list_head in the init_routine if it
    fails, the deregister operation is at risk for oopsing when list_del is
    called.  The initial solution was to manually init the list in the miscdev
    structure in each of those modules, but the consensus in this thread was to
    consolodate and do that universally inside misc_register.
    Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
    Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
    Cc: Kylene Jo Hall <kjhall@us.ibm.com>
    Cc: Dmitry Torokhov <dtor@mail.ru>
    Cc: Olaf Hering <olh@suse.de>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: NAndrew Morton <akpm@osdl.org>
    Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
    5d469ec0
tpm.c 26.7 KB