From patchwork Thu Sep 20 00:20:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Casey Schaufler X-Patchwork-Id: 10607585 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8026214DA for ; Thu, 20 Sep 2018 12:34:31 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6E9C92C808 for ; Thu, 20 Sep 2018 12:34:31 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 62A412C9EB; Thu, 20 Sep 2018 12:34:31 +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=-4.3 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,NO_RDNS_DOTCOM_HELO,RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from ucol19pa13.eemsg.mail.mil (ucol19pa13.eemsg.mail.mil [214.24.24.86]) (using TLSv1.2 with cipher DHE-RSA-AES256-SHA256 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id A6D232C808 for ; Thu, 20 Sep 2018 12:34:30 +0000 (UTC) X-EEMSG-check-008: 625807332|UCOL19PA13_EEMSG_MP11.csd.disa.mil X-IronPort-AV: E=Sophos;i="5.53,398,1531785600"; d="scan'208";a="625807332" Received: from emsm-gh1-uea10.ncsc.mil ([214.29.60.2]) by ucol19pa13.eemsg.mail.mil with ESMTP; 20 Sep 2018 12:34:29 +0000 X-IronPort-AV: E=Sophos;i="5.53,398,1531785600"; d="scan'208";a="16048468" IronPort-PHdr: 9a23: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 X-IPAS-Result: A2BdAQCWkqNb/wHyM5BbHAEBAQQBAQoBAYFSggMDgQhcKIxni1GEZpN1FIFfKhMBhQSCfiE2FgEDAQEBAQEBAgFsHAyCNSSCYAMDAQIkEwYBAQwgDAIDCQEBQAgIAwEtFAERBgEHBQYCAQEBGASDAIFqAxUDmFyKHIFqM4J1AQEFgQQBAXWCRAOCUQgXilgXggCBEieCPYR5ARIBhVUijjgxjgcJggyOEh1YiDmGEY5sh1IGK2RxTSMVO4JsghkMF4NGihwBVU97AQGKOoI9AQE Received: from tarius.tycho.ncsc.mil ([144.51.242.1]) by EMSM-GH1-UEA10.NCSC.MIL with ESMTP; 20 Sep 2018 12:34:27 +0000 Received: from prometheus.infosec.tycho.ncsc.mil (prometheus.infosec.tycho.ncsc.mil [192.168.25.40]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w8KCYOIc025550; Thu, 20 Sep 2018 08:34:25 -0400 Received: from tarius.tycho.ncsc.mil (tarius.infosec.tycho.ncsc.mil [144.51.242.1]) by prometheus.infosec.tycho.ncsc.mil (8.15.2/8.15.2) with ESMTP id w8K0L0M3024234 for ; Wed, 19 Sep 2018 20:21:00 -0400 Received: from goalie.tycho.ncsc.mil (goalie.infosec.tycho.ncsc.mil [144.51.242.250]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w8K0Krhv020773 for ; Wed, 19 Sep 2018 20:21:00 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1AOAAB15qJbly0YGNZcHAEBAQQBAQoBAYFQggWBZyiDc4gVX4tSgWCDBpN0gXqEdwJCgnkhNBgBAwEBAQEBAQIUAQEBAQEGGAZMhUUDAyMEGQEBOA8lAiYCAkUSBgEMBgIBAYMdgWoDFQOZcYocb3szgnUBAQWBBAEBdYJLA4JRCBd0iWIXggCBEieCPYgtgjUijjExjXwJggyOER1YiDaGDI5qh0mCDU0jFYMnghkMDgmDRYocAVVPjWwBAQ X-IPAS-Result: A1AOAAB15qJbly0YGNZcHAEBAQQBAQoBAYFQggWBZyiDc4gVX4tSgWCDBpN0gXqEdwJCgnkhNBgBAwEBAQEBAQIUAQEBAQEGGAZMhUUDAyMEGQEBOA8lAiYCAkUSBgEMBgIBAYMdgWoDFQOZcYocb3szgnUBAQWBBAEBdYJLA4JRCBd0iWIXggCBEieCPYgtgjUijjExjXwJggyOER1YiDaGDI5qh0mCDU0jFYMnghkMDgmDRYocAVVPjWwBAQ X-IronPort-AV: E=Sophos;i="5.53,396,1531800000"; d="scan'208";a="373934" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.35]) by goalie.tycho.ncsc.mil with ESMTP; 19 Sep 2018 20:20:59 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0ANAAC15qJbly0YGNZcHAEBAQQBAQoBAYFQggWBZyiDc4gVX4tSgWCDBpN0gXqEdwJCgnkhNBgBAwEBAQEBAQIBEwEBAQEBBhgGTAyCNSSCYAMDIwQZAQE4DyUCJgICRRIGAQwGAgEBgx2BagMVA5lyihxvezOCdQEBBYEEAQF1gksDglEIF3SJYheCAIESJ4I9iC2CNSKOMTGNfAmCDI4RHViINoYMjmqHSYINTSMVgyeCGQwOCYNFihwBVU+NbAEB X-IPAS-Result: A0ANAAC15qJbly0YGNZcHAEBAQQBAQoBAYFQggWBZyiDc4gVX4tSgWCDBpN0gXqEdwJCgnkhNBgBAwEBAQEBAQIBEwEBAQEBBhgGTAyCNSSCYAMDIwQZAQE4DyUCJgICRRIGAQwGAgEBgx2BagMVA5lyihxvezOCdQEBBYEEAQF1gksDglEIF3SJYheCAIESJ4I9iC2CNSKOMTGNfAmCDI4RHViINoYMjmqHSYINTSMVgyeCGQwOCYNFihwBVU+NbAEB X-IronPort-AV: E=Sophos;i="5.53,396,1531785600"; d="scan'208";a="18452130" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from ucol3cpa07.eemsg.mail.mil ([214.24.24.45]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 20 Sep 2018 00:20:59 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;8ac52a58-fa11-4c41-bdcd-1d03d9ca17d6 Authentication-Results: ucol19pa07.eemsg.mail.mil; spf=None smtp.pra=casey@schaufler-ca.com; spf=None smtp.mailfrom=casey@schaufler-ca.com; spf=None smtp.helo=postmaster@sonic305-10.consmr.mail.bf2.yahoo.com; dkim=pass (signature verified) header.i=@yahoo.com X-EEMSG-check-008: 453175970|UCOL19PA07_EEMSG_MP5.csd.disa.mil X-EEMSG-SBRS: 3.5 X-EEMSG-ORIG-IP: 74.6.133.49 X-EEMSG-check-002: true X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BPAADy5qJbhzGFBkpcHQEBBQELAYFQg2wog3OIFV+NMoMGk3SBeoR3AkKCeRkGBjAYAQMBAQEBAQEBAQETAQEBCA0JCBsOIwyCNSSCYAMDIwQZAQE4DyUCJgICRRIGAQwGAgEBgx2BagMVmXaKHG97M4J1AQEFgQQBAXWCSwOCUQgXdIl5ggCBEieCPYgtgjUijjExjXwJggyOER1YiDaGDI5qh0mCDU0jFYMnghkMDgmDRYocAVUfMI1sAQE X-IPAS-Result: A0BPAADy5qJbhzGFBkpcHQEBBQELAYFQg2wog3OIFV+NMoMGk3SBeoR3AkKCeRkGBjAYAQMBAQEBAQEBAQETAQEBCA0JCBsOIwyCNSSCYAMDIwQZAQE4DyUCJgICRRIGAQwGAgEBgx2BagMVmXaKHG97M4J1AQEFgQQBAXWCSwOCUQgXdIl5ggCBEieCPYgtgjUijjExjXwJggyOER1YiDaGDI5qh0mCDU0jFYMnghkMDgmDRYocAVUfMI1sAQE Received: from sonic305-10.consmr.mail.bf2.yahoo.com ([74.6.133.49]) by ucol19pa07.eemsg.mail.mil with ESMTP; 20 Sep 2018 00:20:55 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1537402856; bh=gKbwLTBVM0jyPC0paoRS3Gf0k70rl6eD/ZhSMTnRwu8=; h=Subject:To:References:From:Date:In-Reply-To:From:Subject; b=jkIPWYzi/XapWZihuF7vk75bfOCT1GhBS8DhM/d/dCitRyeeheav5kRxFoR68V71GZsRiYDYHDFmOq7eZ0uWBHVBvYW49ZKJ1HAqICXa1NfZ/H4mOsnyKJ0+UB0/Nh8PAgPdRgMoYf2QXl8t5ekg61pAMIwmC13973Wrqd/K3T7pm5IGWcMqfUfTKAT/DHq6O9wJr+8E3C7+eoTM9IJDzAkYMfN1JJcT5xzVAp7EbzvNxvGwP5mI5aEHYIsZvny7mPWZlXe9QhDxhldqLmwOj807NZaw+B+O4zfNfBfzeL1QRd9YuyMx+1lqtN1C3pHzDX0k1fVXsWLoedxwLhmrCA== X-YMail-OSG: X84erKAVM1leh6XmFSUXftQEHiliJrgrC1_FefJXzhxWle5l5u.1X6fkWjmPTnD ZTJEfvkNEBDSqSLboGYJGGw3AiTFYsnGD_KYdUsuI_2PCXBQE8w1l2nJdf.wQS9B6LHSvMIXOMsM 9gidiObf57mwKDYRTa5QIK1AWg6KrOFFvbbjoSxLiHgns1XxllhGT38n8Hk0fVC..zOojvA0R3TG cKQlU6cLBFqy2YVj0d_6BQIIR6qKFIjzraiozWcUz7AJnYocC7a_y3xICa_wVL4iBVzumrh9srcy Ph.9OFg6uY_n255XTONSuuOiRw5ba9L8Nnx6P_ET5kLV7MnyyzVln8I0aaHUN4dz4RYsTxCGSsBG UbQwlKR7Mfqv4br9CsVJPnFUbYfX6guds1J0CrNz1yMUF8HqG0KELCkwzkZ1mzW2yZk6_JSAT3Ms oSnmwtvXEGlhIt.o8fc4_sodXqbVNXKTCWK4KCPHr7pd2gM6EPNInAnA.j50v1OyaPvjkutZnEFj K1fqyF_j5bE4Pq.d.iUTjcOeFfM517H7rQSC6Q6f1dYdSrNFZW0EdQQiQtpUefeothejgCLURzFx MiC6U3.JFFh15EvR1PKwRroffZhs9lFqztCMo0NW5TPaFPCukzUqp.QybBixPkTnxeizhbKMXgfB vhNxEHPnbvSrLPbA19KPvVNSpyllAG4PjuMci__lU0c37dksIAv8q_XdN30ij0zA7mH7P0cZpijv 2uT0r9jIzZeo0rs9qL6WmWR69d7h3o3KTMZ_s1ShpR0jn.webT.ObGngJ2.CPVddHuF2Wdti.1LL 5gYdVIeUJwQ6mJ9gujI1Yuhb5K4cyG.ed1lpEjGUuWB48zwbqFAmU.p1rYwddKtipdsXhsOzIYDm FR2IUqyrM3tZOMn2d31Dbv1c9N0rrC9498bAXPd9KSK1.z5ZEvn2F8O66kbAp7mP8dpFM0ziPOqL 5zZ4dDf2ebU_zydGaHdVBFWnN5WWwYUJp6eKp5jDRsYreax2UUiqzDG9LJvhv1eZsZj6u3rRu.jj cZzZ9vQjcj_xy3z2mw_lx_98i8KRg3ckgfoVpQM_pDQ-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.bf2.yahoo.com with HTTP; Thu, 20 Sep 2018 00:20:56 +0000 Received: from c-67-169-65-224.hsd1.ca.comcast.net (EHLO [192.168.0.102]) ([67.169.65.224]) by smtp408.mail.bf1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 3c0b56d500b44c109d5ca8877838dc44; Thu, 20 Sep 2018 00:20:55 +0000 (UTC) To: LSM , James Morris , SE Linux , LKLM , John Johansen , Kees Cook , Tetsuo Handa , Paul Moore , Stephen Smalley , "linux-fsdevel@vger.kernel.org" , Alexey Dobriyan , =?utf-8?q?Micka=C3=ABl_Sala=C3=BCn?= , Salvatore Mesoraca References: <748c61cb-b6fa-c36d-a7b3-2315ff6292af@schaufler-ca.com> X-EEMSG-check-009: 444-444 From: Casey Schaufler Message-ID: <14db9a22-9f31-88fb-dbc1-8bc4ade74bf6@schaufler-ca.com> Date: Wed, 19 Sep 2018 17:20:52 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <748c61cb-b6fa-c36d-a7b3-2315ff6292af@schaufler-ca.com> Content-Language: en-US X-Mailman-Approved-At: Thu, 20 Sep 2018 08:30:05 -0400 Subject: [PATCH v3 09/16] SELinux: Abstract use of file security blob X-BeenThere: selinux@tycho.nsa.gov X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Security-Enhanced Linux \(SELinux\) mailing list" List-Post: List-Help: Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP SELinux: Abstract use of file security blob Don't use the file->f_security pointer directly. Provide a helper function that provides the security blob pointer. Signed-off-by: Casey Schaufler --- security/selinux/hooks.c | 18 +++++++++--------- security/selinux/include/objsec.h | 5 +++++ 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index b629cc302088..641a8ce726ff 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -396,7 +396,7 @@ static int file_alloc_security(struct file *file) static void file_free_security(struct file *file) { - struct file_security_struct *fsec = file->f_security; + struct file_security_struct *fsec = selinux_file(file); file->f_security = NULL; kmem_cache_free(file_security_cache, fsec); } @@ -1879,7 +1879,7 @@ static int file_has_perm(const struct cred *cred, struct file *file, u32 av) { - struct file_security_struct *fsec = file->f_security; + struct file_security_struct *fsec = selinux_file(file); struct inode *inode = file_inode(file); struct common_audit_data ad; u32 sid = cred_sid(cred); @@ -2223,7 +2223,7 @@ static int selinux_binder_transfer_file(struct task_struct *from, struct file *file) { u32 sid = task_sid(to); - struct file_security_struct *fsec = file->f_security; + struct file_security_struct *fsec = selinux_file(file); struct dentry *dentry = file->f_path.dentry; struct inode_security_struct *isec; struct common_audit_data ad; @@ -3535,7 +3535,7 @@ static int selinux_revalidate_file_permission(struct file *file, int mask) static int selinux_file_permission(struct file *file, int mask) { struct inode *inode = file_inode(file); - struct file_security_struct *fsec = file->f_security; + struct file_security_struct *fsec = selinux_file(file); struct inode_security_struct *isec; u32 sid = current_sid(); @@ -3570,7 +3570,7 @@ static int ioctl_has_perm(const struct cred *cred, struct file *file, u32 requested, u16 cmd) { struct common_audit_data ad; - struct file_security_struct *fsec = file->f_security; + struct file_security_struct *fsec = selinux_file(file); struct inode *inode = file_inode(file); struct inode_security_struct *isec; struct lsm_ioctlop_audit ioctl; @@ -3822,7 +3822,7 @@ static void selinux_file_set_fowner(struct file *file) { struct file_security_struct *fsec; - fsec = file->f_security; + fsec = selinux_file(file); fsec->fown_sid = current_sid(); } @@ -3837,7 +3837,7 @@ static int selinux_file_send_sigiotask(struct task_struct *tsk, /* struct fown_struct is never outside the context of a struct file */ file = container_of(fown, struct file, f_owner); - fsec = file->f_security; + fsec = selinux_file(file); if (!signum) perm = signal_to_av(SIGIO); /* as per send_sigio_to_task */ @@ -3861,7 +3861,7 @@ static int selinux_file_open(struct file *file) struct file_security_struct *fsec; struct inode_security_struct *isec; - fsec = file->f_security; + fsec = selinux_file(file); isec = inode_security(file_inode(file)); /* * Save inode label and policy sequence number @@ -4000,7 +4000,7 @@ static int selinux_kernel_module_from_file(struct file *file) ad.type = LSM_AUDIT_DATA_FILE; ad.u.file = file; - fsec = file->f_security; + fsec = selinux_file(file); if (sid != fsec->sid) { rc = avc_has_perm(&selinux_state, sid, fsec->sid, SECCLASS_FD, FD__USE, &ad); diff --git a/security/selinux/include/objsec.h b/security/selinux/include/objsec.h index ad511c3d2eb7..cad8b765f6dd 100644 --- a/security/selinux/include/objsec.h +++ b/security/selinux/include/objsec.h @@ -165,4 +165,9 @@ static inline struct task_security_struct *selinux_cred(const struct cred *cred) return cred->security; } +static inline struct file_security_struct *selinux_file(const struct file *file) +{ + return file->f_security; +} + #endif /* _SELINUX_OBJSEC_H_ */