]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
smackfs: use __GFP_NOFAIL for smk_cipso_doi()
authorTetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Tue, 19 Oct 2021 11:54:31 +0000 (20:54 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 26 Nov 2021 10:58:38 +0000 (11:58 +0100)
[ Upstream commit f91488ee15bd3cac467e2d6a361fc2d34d1052ae ]

syzbot is reporting kernel panic at smk_cipso_doi() due to memory
allocation fault injection [1]. The reason for need to use panic() was
not explained. But since no fix was proposed for 18 months, for now
let's use __GFP_NOFAIL for utilizing syzbot resource on other bugs.

Link: https://syzkaller.appspot.com/bug?extid=89731ccb6fec15ce1c22
Reported-by: syzbot <syzbot+89731ccb6fec15ce1c22@syzkaller.appspotmail.com>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
security/smack/smackfs.c

index 845ed464fb8cdc58303abf7abf16f54ddd20ec89..40c8b2b8a4722c32cc864f9a327b520f6647db2f 100644 (file)
@@ -721,9 +721,7 @@ static void smk_cipso_doi(void)
                printk(KERN_WARNING "%s:%d remove rc = %d\n",
                       __func__, __LINE__, rc);
 
-       doip = kmalloc(sizeof(struct cipso_v4_doi), GFP_KERNEL);
-       if (doip == NULL)
-               panic("smack:  Failed to initialize cipso DOI.\n");
+       doip = kmalloc(sizeof(struct cipso_v4_doi), GFP_KERNEL | __GFP_NOFAIL);
        doip->map.std = NULL;
        doip->doi = smk_cipso_doi_value;
        doip->type = CIPSO_V4_MAP_PASS;