BACKPORT: Minor improvement of 'smack_sb_kern_mount'
authorJosé Bollo <jose.bollo@open.eurogiciel.org>
Wed, 8 Jan 2014 14:53:05 +0000 (15:53 +0100)
committerRafal Krypa <r.krypa@samsung.com>
Tue, 22 Mar 2016 11:49:00 +0000 (12:49 +0100)
Fix a possible memory access fault when transmute is true and isp is NULL.

Signed-off-by: José Bollo <jose.bollo@open.eurogiciel.org>
(cherry-picked from upstream 55dfc5da1a9b7e623b6f35620c74280555df0288)

security/smack/smack_lsm.c

index d557d532cf28fadf18874a031f01f8c56c50ece5..b771e9f993ed005c0370d1128c19b4d17e715f59 100644 (file)
@@ -413,9 +413,11 @@ static int smack_sb_kern_mount(struct super_block *sb, int flags, void *data)
         * Initialize the root inode.
         */
        isp = inode->i_security;
-       if (inode->i_security == NULL) {
-               inode->i_security = new_inode_smack(sp->smk_root);
-               isp = inode->i_security;
+       if (isp == NULL) {
+               isp = new_inode_smack(sp->smk_root);
+               if (isp == NULL)
+                       return -ENOMEM;
+               inode->i_security = isp;
        } else
                isp->smk_inode = sp->smk_root;