Patchwork [Bug,27912] Set 'err' in ext4_init_fs() if kset_create_and_add() fails

login
register
mail settings
Submitter bugzilla-daemon@bugzilla.kernel.org
Date Aug. 15, 2012, 3:03 a.m.
Message ID <20120815030337.A6AA011FC6F@bugzilla.kernel.org>
Download mbox | patch
Permalink /patch/177532/
State Superseded
Headers show

Comments

bugzilla-daemon@bugzilla.kernel.org - Aug. 15, 2012, 3:03 a.m.
https://bugzilla.kernel.org/show_bug.cgi?id=27912





--- Comment #4 from Theodore Tso <tytso@mit.edu>  2012-08-15 03:03:37 ---
On Tue, Aug 14, 2012 at 03:55:52PM +0000, bugzilla-daemon@bugzilla.kernel.org
wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=27912

Actually, this wasn't quite fixed.  Here's a fix which I'll include in
the ext4 tree....

                        - Ted

From b0f1e9fa10363b60334ba7837080da91de425be0 Mon Sep 17 00:00:00 2001
From: Theodore Ts'o <tytso@mit.edu>
Date: Tue, 14 Aug 2012 23:02:17 -0400
Subject: [PATCH] ext4: return an error if kset_create_and_add fails in
 ext4_init_fs()

In the very unlikely case that kset_create_and_add() fails when the
ext4.ko module is being loaded (or during kernel startup) set err so
that it's clear that the module load failed.

https://bugzilla.kernel.org/show_bug.cgi?id=27912

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
---
 fs/ext4/super.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Patch

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index e7ccbe5..603023b 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -5281,8 +5281,10 @@  static int __init ext4_init_fs(void)
     if (err)
         goto out6;
     ext4_kset = kset_create_and_add("ext4", NULL, fs_kobj);
-    if (!ext4_kset)
+    if (!ext4_kset) {
+        err = -ENOMEM;
         goto out5;
+    }
     ext4_proc_root = proc_mkdir("fs/ext4", NULL);

     err = ext4_init_feat_adverts();