The first problem that is addressed is that the addition of init_ext4_proc() means that the code doesn't clean up after itself on a failure of init_ext4_xattr(), and the second is that usually init_*_proc() should be the last thing called, so we move it to the end and add the cleanup call to exit_ext4_proc(). Signed-off-by: Mark Nelson --- fs/ext4/super.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) Index: ext4/fs/ext4/super.c =================================================================== --- ext4.orig/fs/ext4/super.c +++ ext4/fs/ext4/super.c @@ -2999,10 +2999,6 @@ static int __init init_ext4_fs(void) { int err; - err = init_ext4_proc(); - if (err) - return err; - err = init_ext4_xattr(); if (err) return err; @@ -3012,7 +3008,12 @@ static int __init init_ext4_fs(void) err = register_filesystem(&ext4dev_fs_type); if (err) goto out; + err = init_ext4_proc(); + if (err) + goto out_proc; return 0; +out_proc: + exit_ext4_proc(); out: destroy_inodecache(); out1: -- - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html