diff options
| author | Stephen Smalley <stephen.smalley.work@gmail.com> | 2026-04-29 14:15:31 -0400 |
|---|---|---|
| committer | Paul Moore <paul@paul-moore.com> | 2026-04-29 15:11:36 -0400 |
| commit | ef5b517e7bacbaba03d706cd624366addf6ef33a (patch) | |
| tree | b1d977ab39c9f949c700e11ebe0f9d3efc0377d6 /security | |
| parent | 4e3881b0a30041ab89200b57c49d295824da1be4 (diff) | |
| download | linux-next-history-ef5b517e7bacbaba03d706cd624366addf6ef33a.tar.gz | |
selinux: fix sel_kill_sb()
Fix the order in sel_kill_sb() to match other pseudo filesystems.
This does not currently matter for selinuxfs per se but could
in the future, e.g. with SELinux namespaces and multiple selinuxfs
instances.
Signed-off-by: Stephen Smalley <stephen.smalley.work@gmail.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'security')
| -rw-r--r-- | security/selinux/selinuxfs.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c index 8c107af5140e5..c4a68d623d408 100644 --- a/security/selinux/selinuxfs.c +++ b/security/selinux/selinuxfs.c @@ -95,9 +95,8 @@ static int selinux_fs_info_create(struct super_block *sb) return 0; } -static void selinux_fs_info_free(struct super_block *sb) +static void selinux_fs_info_free(struct selinux_fs_info *fsi) { - struct selinux_fs_info *fsi = sb->s_fs_info; unsigned int i; if (fsi) { @@ -106,8 +105,7 @@ static void selinux_fs_info_free(struct super_block *sb) kfree(fsi->bool_pending_names); kfree(fsi->bool_pending_values); } - kfree(sb->s_fs_info); - sb->s_fs_info = NULL; + kfree(fsi); } #define SEL_INITCON_INO_OFFSET 0x01000000 @@ -2093,8 +2091,10 @@ static int sel_init_fs_context(struct fs_context *fc) static void sel_kill_sb(struct super_block *sb) { - selinux_fs_info_free(sb); + struct selinux_fs_info *fsi = sb->s_fs_info; + kill_anon_super(sb); + selinux_fs_info_free(fsi); } static struct file_system_type sel_fs_type = { |
