[PATCH 1/6] selinux: fold superblock_doinit() into only caller

From: Miklos Szeredi
Date: Thu Sep 20 2018 - 11:12:26 EST


...and remove the unused option parsing part as well.

Signed-off-by: Miklos Szeredi <mszeredi@xxxxxxxxxx>
---
security/selinux/hooks.c | 37 +++++++++----------------------------
1 file changed, 9 insertions(+), 28 deletions(-)

diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index 99c2c40c5d7a..1069acea2682 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -1199,33 +1199,6 @@ static int selinux_parse_opts_str(char *options,
kfree(rootcontext);
return rc;
}
-/*
- * string mount options parsing and call set the sbsec
- */
-static int superblock_doinit(struct super_block *sb, void *data)
-{
- int rc = 0;
- char *options = data;
- struct security_mnt_opts opts;
-
- security_init_mnt_opts(&opts);
-
- if (!data)
- goto out;
-
- BUG_ON(sb->s_type->fs_flags & FS_BINARY_MOUNTDATA);
-
- rc = selinux_parse_opts_str(options, &opts);
- if (rc)
- goto out_err;
-
-out:
- rc = selinux_set_mnt_opts(sb, &opts, 0, NULL);
-
-out_err:
- security_free_mnt_opts(&opts);
- return rc;
-}

static void selinux_write_opts(struct seq_file *m,
struct security_mnt_opts *opts)
@@ -7370,7 +7343,15 @@ static __init int selinux_init(void)

static void delayed_superblock_init(struct super_block *sb, void *unused)
{
- superblock_doinit(sb, NULL);
+{
+ int rc;
+ struct security_mnt_opts opts;
+
+ security_init_mnt_opts(&opts);
+ rc = selinux_set_mnt_opts(sb, &opts, 0, NULL);
+ security_free_mnt_opts(&opts);
+
+ return rc;
}

void selinux_complete_init(void)
--
2.14.3