selinux_genfs_get_sid() allocates memory for a path with __get_free_page()
although there is a dedicated helper for allocation of file paths:
__getname().

Replace __get_free_page() for allocation of a path buffer with __getname().

Signed-off-by: Mike Rapoport (Microsoft) <[email protected]>
---
 security/selinux/hooks.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index 0f704380a8c8..05b84b3781e0 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -1336,7 +1336,7 @@ static int selinux_genfs_get_sid(struct dentry *dentry,
        struct super_block *sb = dentry->d_sb;
        char *buffer, *path;
 
-       buffer = (char *)__get_free_page(GFP_KERNEL);
+       buffer = __getname();
        if (!buffer)
                return -ENOMEM;
 
@@ -1361,7 +1361,7 @@ static int selinux_genfs_get_sid(struct dentry *dentry,
                        rc = 0;
                }
        }
-       free_page((unsigned long)buffer);
+       __putname(buffer);
        return rc;
 }
 

-- 
2.53.0


Reply via email to