• NeilBrown's avatar
    [PATCH] md: fix some locking and module refcounting issues with md's use of sysfs · 96de1e66
    NeilBrown authored
    1/ I really should be using the __ATTR macros for defining attributes, so
       that the .owner field get set properly, otherwise modules can be removed
       while sysfs files are open.  This also involves some name changes of _show
       routines.
    
    2/ Always lock the mddev (against reconfiguration) for all sysfs attribute
       access.  This easily avoid certain races and is completely consistant with
       other interfaces (ioctl and /proc/mdstat both always lock against
       reconfiguration).
    
    3/ raid5 attributes must check that the 'conf' structure actually exists
       (the array could have been stopped while an attribute file was open).
    
    4/ A missing 'kfree' from when the raid5_conf_t was converted to have a
       kobject embedded, and then converted back again.
    Signed-off-by: default avatarNeil Brown <neilb@suse.de>
    Acked-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    96de1e66
md.c 108 KB