From patchwork Sat Sep 22 00:22:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Casey Schaufler X-Patchwork-Id: 10612385 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 49AB414BD for ; Mon, 24 Sep 2018 12:30:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 340BB29EAB for ; Mon, 24 Sep 2018 12:30:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 264C129EB2; Mon, 24 Sep 2018 12:30:48 +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 uhil19pa11.eemsg.mail.mil (uhil19pa11.eemsg.mail.mil [214.24.21.84]) (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 2AE0229EAB for ; Mon, 24 Sep 2018 12:30:46 +0000 (UTC) X-EEMSG-check-008: 339321301|UHIL19PA11_EEMSG_MP9.csd.disa.mil Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.3]) by uhil19pa11.eemsg.mail.mil with ESMTP; 24 Sep 2018 12:30:45 +0000 X-IronPort-AV: E=Sophos;i="5.54,297,1534809600"; d="scan'208";a="18575368" IronPort-PHdr: 9a23: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 X-IPAS-Result: A2BQAgB72Khb/wHyM5BaHAEBAQQBAQcEAQGBVIIIA4EIXCiMaItJgWiCfpQKgV8qEwGFBIMWITcVAQMBAQEBAQECAWwcDII1JIJgAwMBAiQTBgEBDCAMAgMJAQFACAgDAS0UAREGAQcFBgIBAQEYBIMAgWoDFQOXDYocgWozgnUBAQWBBAEBdYIwA4JTCBeKYReCAIESJwyCMYR5ARIBhVUijkAxjhAJggyOFx1ZiDuGGI57h2YiZHFNIxU7gmyCGQwXg0aKHAFVT3sBAYl9gj0BAQ Received: from tarius.tycho.ncsc.mil ([144.51.242.1]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 24 Sep 2018 12:30:44 +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 w8OCUgVK028930; Mon, 24 Sep 2018 08:30:43 -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 w8M0Mgj9018333 for ; Fri, 21 Sep 2018 20:22:42 -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 w8M0Mf69009973 for ; Fri, 21 Sep 2018 20:22:41 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1A3AAD5iaVbly0VGNZbHAEBAQQBAQcEAQGBVIIIgWcog3OIdItLgWiCfpVwhHcCQoMEITcVAQMBAQEBAQECFAEBAQEBBhgGTIVFAwMjBBkBATgPJQImAgJFEgYBDAYCAQGDHYFqAxUDmB2KHG97M4J1AQEFgQQBAXWCPgOCUQgXdIllF4IAgRInDIIxiC2CNSKOPjGODQmCDI4XHVmIO4YUjneHYoF3TSMVgyeCGQwOCYNGihwBVU+OVAEB X-IPAS-Result: A1A3AAD5iaVbly0VGNZbHAEBAQQBAQcEAQGBVIIIgWcog3OIdItLgWiCfpVwhHcCQoMEITcVAQMBAQEBAQECFAEBAQEBBhgGTIVFAwMjBBkBATgPJQImAgJFEgYBDAYCAQGDHYFqAxUDmB2KHG97M4J1AQEFgQQBAXWCPgOCUQgXdIllF4IAgRInDIIxiC2CNSKOPjGODQmCDI4XHVmIO4YUjneHYoF3TSMVgyeCGQwOCYNGihwBVU+OVAEB X-IronPort-AV: E=Sophos;i="5.54,287,1534824000"; d="scan'208";a="375858" Received: from emsm-gh1-uea10.ncsc.mil ([214.29.60.34]) by goalie.tycho.ncsc.mil with ESMTP; 21 Sep 2018 20:22:41 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AzAAC8iqVbly0VGNZbHAEBAQQBAQcEAQGBVIIIgWcog3OIdItLgWiCfpVwhHcCQoMEITcVAQMBAQEBAQECARMBAQEBAQYYBkwMgjUkgmADAyMEGQEBOA8lAiYCAkUSBgEMBgIBAYMdgWoDFQOYIIocb3szgnUBAQWBBAEBdYI+A4JRCBd0iWUXggCBEicMgjGILYI1Io4+MY4NCYIMjhcdWYg7hhSOd4digXdNIxWDJ4IZDA4Jg0aKHAFVT45UAQE X-IPAS-Result: A0AzAAC8iqVbly0VGNZbHAEBAQQBAQcEAQGBVIIIgWcog3OIdItLgWiCfpVwhHcCQoMEITcVAQMBAQEBAQECARMBAQEBAQYYBkwMgjUkgmADAyMEGQEBOA8lAiYCAkUSBgEMBgIBAYMdgWoDFQOYIIocb3szgnUBAQWBBAEBdYI+A4JRCBd0iWUXggCBEicMgjGILYI1Io4+MY4NCYIMjhcdWYg7hhSOd4digXdNIxWDJ4IZDA4Jg0aKHAFVT45UAQE X-IronPort-AV: E=Sophos;i="5.54,287,1534809600"; d="scan'208";a="16120277" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from uhil3cpa06.eemsg.mail.mil ([214.24.21.45]) by EMSM-GH1-UEA10.NCSC.MIL with ESMTP; 22 Sep 2018 00:22:40 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;e24d8a71-2f1c-4058-993c-a12cf709fefd Authentication-Results: uhilpa03.eemsg.mail.mil; spf=None smtp.pra=casey@schaufler-ca.com; spf=None smtp.mailfrom=casey@schaufler-ca.com; spf=None smtp.helo=postmaster@sonic304-18.consmr.mail.bf2.yahoo.com; dkim=pass (signature verified) header.i=@yahoo.com X-EEMSG-check-008: 317922797|UHIL19PA03_EEMSG_MP1.csd.disa.mil X-EEMSG-SBRS: 3.4 X-EEMSG-ORIG-IP: 74.6.128.41 X-EEMSG-check-002: true X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AhAQBIiqVbhimABkpbHQEBBQEHBQGBVINvKINziHSNM4J+lXCEdwJCgwQZBgYzFQEDAQEBAQEBAQEBEwEBAQoJCwgbDiMMgjUkgmADAyMEGQEBOA8lAiYCAkUSBgEMBgIBAYMdgWoDFZggihxvezOCdQEBBYEEAQF1gj4DglEIF3SJfIIAgRInDIIxiC2CNSKOPjGODQmCDI4XHVmIO4YUjneHYoF3TSMVgyeCGQwOCYNGihwBVR8wjlQBAQ X-IPAS-Result: A0AhAQBIiqVbhimABkpbHQEBBQEHBQGBVINvKINziHSNM4J+lXCEdwJCgwQZBgYzFQEDAQEBAQEBAQEBEwEBAQoJCwgbDiMMgjUkgmADAyMEGQEBOA8lAiYCAkUSBgEMBgIBAYMdgWoDFZggihxvezOCdQEBBYEEAQF1gj4DglEIF3SJfIIAgRInDIIxiC2CNSKOPjGODQmCDI4XHVmIO4YUjneHYoF3TSMVgyeCGQwOCYNGihwBVR8wjlQBAQ Received: from sonic304-18.consmr.mail.bf2.yahoo.com ([74.6.128.41]) by uhilpa03.eemsg.mail.mil with ESMTP; 22 Sep 2018 00:22:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1537575757; bh=Iu+tSavlo7t7q7n3Olg0VNVdtV/eWmeqFaZXnw9uMGQ=; h=Subject:To:References:From:Date:In-Reply-To:From:Subject; b=EwHK/SiGqCVb80ePHfMiMED/MFmPWaBRkh9xrsSXR5KKAhFXTTlisAuTAMljWj7DtJmkcGBoh3QbVoEWiTVoaa2+1SJ0p5UP09qMi4hh1uNOTfHuacFKR1IMhW8E6tPMhJH+RLyP9jdoQBEV16Hzt8Mc18CZbgbSPEXcalss+ZU0pBveqSwI+iPfvos72hrH7CkyB4AM9kaCGcJ4HePJsjYPmVwLqaU8Xtyl8o1qcCLXNVC2d8z6q1tRWISblt25wnp/cL9mKSaaWVoohtmhu7jft3bSfGm7JIYJkmPb5LU7fJKZ0zRJYkNuWtWUkyqlzX7Bv9CW9FKOp8x76PrIKQ== X-YMail-OSG: mYZXFYAVM1lVoWPokzHRxWvWAUDVA.vbkLkKy0mzbMBQgkcUQfARil.f0Gj_lJD x6QVmFW2qBbVcVrD.CSsMw.ThD9VQ.LawsfMJS4klkIdX2MtFjukoYkATH8PU8TOsJ8X1Eh_AuBb evazV0PxAXp8el8ptxckx7m17WVUnP_D0G0biXUgJnTw7EHS1XtDvCbTtU4ws65An8j1..aKh5Kk CTHk7eVQ3lfFp4AyrAZtI0AX5dE2UuqDXe_xXtQwrDFlFQiLGEPGYdyBEE9Dth3HOWujIMZlWl78 t6dwwUAY6fwx__SSJn9NzJaEOiNDRitCBNff3uIl0iZOT_ar8Pr58QtOehyptY9gDeGBDDu9GZKC psx2QLynWJEQ2F8NxqB2p5uOPeRVBy_cym5QVYqGPBL4PKSeqJxFaMPPE5qFkz_EpQWRr6.U3zbi Zn4YmzvF6B3qOLsyBlt2b7HCEbOVGFvUOwd1k.qIQhmK4EQE3fQ7izr6WefrJ_.cUr3mcbXlq7gr Vhhk96ZsQorC2SC9iZzVkjALXm_WiL9EcnL6Y5Y1_OEEDsZlH3hImTKKzNC0GvTi1wa5L_.XkiqY dzjZ0RtTN8PRJJpd3dXte_t5Az2o.isNEfi_DYInQuYMTwP0XR4woUt4VG4lM5lXSzUz4WcmzhZs CHXF.vqn37YlZ3bEMqeTQF...Mi0wO7GjQ_wpo6r0tJVELRe5oQfv831QqDT7w3618uGXnWqWx4d UhHMdYVsTFOFl1hAoXJol.SqnV87eF4jrcyiFh_lyg11SfCJE3lJ3KfaNgLuQVFzSICcRTiLdLBj HVhBvn2TWJQwbLhXPhaEeUNpLiP9Qw.LlLBrPTXAeEWYiJOOfxLXoch5KSOM47ZQYOUrM7HxfNv5 t1O5_lSRm2BxOrhbYnluZHzbMvV3_lk_LR3KiRpLk03J1dRHgkJmuy3CdmIQO9EL7UyfctJUJB4o TgCHptZeB7zsb.omxCjwi2liIECwebkprXmk0k1f3txVYLATleqKzxjxAfWOv3EInWeLFdy5k8v0 _l0HoE79_22emyxpXIQCa17eWOtxXoVerw9GJ6q9cLQ-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic304.consmr.mail.bf2.yahoo.com with HTTP; Sat, 22 Sep 2018 00:22:37 +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 b48542295dd1eb116f37600aab27ad1d; Sat, 22 Sep 2018 00:22:37 +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: X-EEMSG-check-009: 444-444 From: Casey Schaufler Message-ID: <3acc0eab-7081-fcc4-f146-1b17772cc97d@schaufler-ca.com> Date: Fri, 21 Sep 2018 17:22:32 -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: Content-Language: en-US X-Mailman-Approved-At: Mon, 24 Sep 2018 08:26:06 -0400 Subject: [PATCH v4 09/19] 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 Don't use the file->f_security pointer directly. Provide a helper function that provides the security blob pointer. Signed-off-by: Casey Schaufler Reviewed-by: Kees Cook --- 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_ */