diff options
author | Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> | 2021-10-19 20:27:26 +0900 |
---|---|---|
committer | Casey Schaufler <casey@schaufler-ca.com> | 2021-10-22 08:46:53 -0700 |
commit | 0934ad42bb2c5df90a1b9de690f93de735b622fe (patch) | |
tree | 23aec577a649388082a6b9788f4c3f1f3d18e478 /security | |
parent | f91488ee15bd3cac467e2d6a361fc2d34d1052ae (diff) | |
download | lwn-0934ad42bb2c5df90a1b9de690f93de735b622fe.tar.gz lwn-0934ad42bb2c5df90a1b9de690f93de735b622fe.zip |
smackfs: use netlbl_cfg_cipsov4_del() for deleting cipso_v4_doi
syzbot is reporting UAF at cipso_v4_doi_search() [1], for smk_cipso_doi()
is calling kfree() without removing from the cipso_v4_doi_list list after
netlbl_cfg_cipsov4_map_add() returned an error. We need to use
netlbl_cfg_cipsov4_del() in order to remove from the list and wait for
RCU grace period before kfree().
Link: https://syzkaller.appspot.com/bug?extid=93dba5b91f0fed312cbd [1]
Reported-by: syzbot <syzbot+93dba5b91f0fed312cbd@syzkaller.appspotmail.com>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Fixes: 6c2e8ac0953fccdd ("netlabel: Update kernel configuration API")
Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
Diffstat (limited to 'security')
-rw-r--r-- | security/smack/smackfs.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/security/smack/smackfs.c b/security/smack/smackfs.c index 89989d28ffc5..658eab05599e 100644 --- a/security/smack/smackfs.c +++ b/security/smack/smackfs.c @@ -712,7 +712,7 @@ static void smk_cipso_doi(void) if (rc != 0) { printk(KERN_WARNING "%s:%d map add rc = %d\n", __func__, __LINE__, rc); - kfree(doip); + netlbl_cfg_cipsov4_del(doip->doi, &nai); return; } } |