From patchwork Wed Nov 23 05:15:31 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Goel X-Patchwork-Id: 9442633 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 8F5C660778 for ; Wed, 23 Nov 2016 05:20:08 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8035D1FEBD for ; Wed, 23 Nov 2016 05:20:08 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 71036204BA; Wed, 23 Nov 2016 05:20:08 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3B7891FEBD for ; Wed, 23 Nov 2016 05:20:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750795AbcKWFT6 (ORCPT ); Wed, 23 Nov 2016 00:19:58 -0500 Received: from mailout4.samsung.com ([203.254.224.34]:60825 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750710AbcKWFT6 (ORCPT ); Wed, 23 Nov 2016 00:19:58 -0500 Received: from epcpsbgm1new.samsung.com (epcpsbgm1 [203.254.230.26]) by mailout4.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0OH200QN8XH8TM50@mailout4.samsung.com> for linux-security-module@vger.kernel.org; Wed, 23 Nov 2016 14:19:56 +0900 (KST) X-AuditID: cbfee61a-f79916d0000062de-23-583526fc651c Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm1new.samsung.com (EPCPMTA) with SMTP id 8D.9C.25310.CF625385; Wed, 23 Nov 2016 14:19:56 +0900 (KST) Received: from localhost.localdomain ([107.108.92.210]) by mmp2.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OH200IUOXH2E600@mmp2.samsung.com>; Wed, 23 Nov 2016 14:19:55 +0900 (KST) From: Vishal Goel To: casey@schaufler-ca.com, linux-security-module@vger.kernel.org Cc: vishal.goel@samsung.com, himanshu.sh@samsung.com, Vishal Goel , Himanshu Shukla Subject: [PATCH] Smack: Traverse the smack_known_list using list_for_each_entry_rcu macro Date: Wed, 23 Nov 2016 10:45:31 +0530 Message-id: <1479878131-18814-1-git-send-email-vishal.goel@samsung.com> X-Mailer: git-send-email 1.9.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrNLMWRmVeSWpSXmKPExsVy+t9jQd0/aqYRBs/Xslvc2/aLzWLvkxZW iw89j9gs1t0+zejA4tG3ZRWjx9H9i9g8Pm+SC2COcrPJSE1MSS1SSM1Lzk/JzEu3VQoNcdO1 UFLIS8xNtVWK0PUNCVJSKEvMKQXyjAzQgINzgHuwkr5dglvGjxaZgjvsFc0XH7A0MB5m62Lk 5JAQMJH48/ApO4QtJnHh3nqgOBeHkMAsRonrX5qZQBJCAj8ZJXY+dQWx2QS0JXrn3QWLiwg4 SjSeWs4E0sAs0MUocXZaJytIQlggWmLp3YeMIDaLgKrE6dMzwOK8Au4S61+9YYLYJidx8thk 1gmM3AsYGVYxSqQWJBcUJ6XnGuallusVJ+YWl+al6yXn525iBAfcM6kdjAd3uR9iFOBgVOLh FQgxiRBiTSwrrsw9xCjBwawkwhsrZxohxJuSWFmVWpQfX1Sak1p8iNEU6ICJzFKiyfnAaMgr iTc0MTcxNzawMLe0NDFSEudtnP0sXEggPbEkNTs1tSC1CKaPiYNTqoHxkFjGzJLtL1uyGuO4 J+2oa9sUkTH1Bis3+7yHE20uvDSxXDo/z0T86dOaF5nX502bHnKooL323kaLi1P0ZH6uOl3m Jd3tW20TbNzP9SiRJVP/9Yce6RsPaqq+ciw5a+pUOsuogy/O2r6ZY3mDStGNZqW1B4+res1X vibrGXwytufCsrM71Z8qsRRnJBpqMRcVJwIAeZL+DU4CAAA= X-MTR: 20000000000000000@CPGS Sender: owner-linux-security-module@vger.kernel.org Precedence: bulk List-ID: X-Virus-Scanned: ClamAV using ClamSMTP In smack_from_secattr function,"smack_known_list" is being traversed using list_for_each_entry macro, although it is a rcu protected structure. So it should be traversed using "list_for_each_entry_rcu" macro to fetch the rcu protected entry. Signed-off-by: Vishal Goel Signed-off-by: Himanshu Shukla Acked-by: Casey Schaufler --- security/smack/smack_lsm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c index 1cb0602..3e94ca1 100644 --- a/security/smack/smack_lsm.c +++ b/security/smack/smack_lsm.c @@ -3849,7 +3849,7 @@ static struct smack_known *smack_from_secattr(struct netlbl_lsm_secattr *sap, * ambient value. */ rcu_read_lock(); - list_for_each_entry(skp, &smack_known_list, list) { + list_for_each_entry_rcu(skp, &smack_known_list, list) { if (sap->attr.mls.lvl != skp->smk_netlabel.attr.mls.lvl) continue; /*