From patchwork Mon Oct 22 08:12:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ondrej Mosnacek X-Patchwork-Id: 10652143 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 1864B14E2 for ; Mon, 22 Oct 2018 13:54:12 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 83DED28A3A for ; Mon, 22 Oct 2018 13:54:13 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 77B3E28A4B; Mon, 22 Oct 2018 13:54:13 +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=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from UCOL19PA10.eemsg.mail.mil (ucol19pa10.eemsg.mail.mil [214.24.24.83]) (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 70F1328A3A for ; Mon, 22 Oct 2018 13:54:12 +0000 (UTC) X-EEMSG-check-008: 604364830|UCOL19PA10_EEMSG_MP8.csd.disa.mil X-IronPort-AV: E=Sophos;i="5.54,412,1534809600"; d="scan'208";a="604364830" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.3]) by UCOL19PA10.eemsg.mail.mil with ESMTP/TLS/DHE-RSA-AES256-SHA256; 22 Oct 2018 13:54:10 +0000 X-IronPort-AV: E=Sophos;i="5.54,412,1534809600"; d="scan'208";a="19712427" IronPort-PHdr: 9a23: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 X-IPAS-Result: A2CtAABs1c1b/wHyM5BjHAEBAQQBAQcEAQGBUwUBAQsBggEDgQlcKIxsizuLFY4NFIFfEgEBGBMBiVchNgsNAQMBAQEBAQECAWwogjYkAYJnAiQTDQcgCwMDCQJACAgDAS0DAQUBCxcBBwsFGASDAIF1DQMBmSc8jAYzgyqCEYRcEocdhCMXgUE/gRGHXQESAYV5Aohuhh6PPAmGJYNahmgLF4FSh1KHCoJigUGFAo0RBgIJBw8hgSkGK2RxTSMVO4JskFltgQUBAYhBgj4BAQ Received: from tarius.tycho.ncsc.mil ([144.51.242.1]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 22 Oct 2018 13:54:09 +0000 Received: from prometheus.infosec.tycho.ncsc.mil (prometheus [192.168.25.40]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w9MDrb7n016236; Mon, 22 Oct 2018 09:53: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 w9M8CmjX032113 for ; Mon, 22 Oct 2018 04:12:48 -0400 Received: from goalie.tycho.ncsc.mil (goalie.tycho.ncsc.mil [144.51.242.250]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w9M8CmhA001520 for ; Mon, 22 Oct 2018 04:12:48 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1B1AAAUhs1bly0bGNZkHAEBAQQBAQcEAQGBVAQBAQsBggGBaCiMbIs5ixWQBwsBAYRshRIhNwoNAQMBAQEBAQECFAEBAQEBBhgGhkAgMoEVAQUBIgESgyGBdQ0DAZg7PIwGM4MqhmgShx2EIxeBQT+BEY1qAohugWmTcQmGJYNahmgLF4FSh1KHCoJigUGFAo0RBgIJBw8hgTiBd00jFYMngjQbjgptjAABAQ X-IPAS-Result: A1B1AAAUhs1bly0bGNZkHAEBAQQBAQcEAQGBVAQBAQsBggGBaCiMbIs5ixWQBwsBAYRshRIhNwoNAQMBAQEBAQECFAEBAQEBBhgGhkAgMoEVAQUBIgESgyGBdQ0DAZg7PIwGM4MqhmgShx2EIxeBQT+BEY1qAohugWmTcQmGJYNahmgLF4FSh1KHCoJigUGFAo0RBgIJBw8hgTiBd00jFYMngjQbjgptjAABAQ X-IronPort-AV: E=Sophos;i="5.54,411,1534824000"; d="scan'208";a="397326" Received: from emsm-gh1-uea10.ncsc.mil ([214.29.60.34]) by goalie.tycho.ncsc.mil with ESMTP; 22 Oct 2018 04:12:47 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BcAADchc1bly0bGNZkHAEBAQQBAQcEAQGBVAQBAQsBggGBaCiMbIs5ixWQBwsBAYRshRIhNwoNAQMBAQEBAQECARMBAQEBAQYYBliCNiQBgw0gMoEVAQUBIgESgyGBdQ0DAZg7PIwGM4MqhmgShx2EIxeBQT+BEY1qAohugWmTcQmGJYNahmgLF4FSh1KHCoJigUGFAo0RBgIJBw8hgTiBd00jFYMngjQbjgptjAABAQ X-IPAS-Result: A0BcAADchc1bly0bGNZkHAEBAQQBAQcEAQGBVAQBAQsBggGBaCiMbIs5ixWQBwsBAYRshRIhNwoNAQMBAQEBAQECARMBAQEBAQYYBliCNiQBgw0gMoEVAQUBIgESgyGBdQ0DAZg7PIwGM4MqhmgShx2EIxeBQT+BEY1qAohugWmTcQmGJYNahmgLF4FSh1KHCoJigUGFAo0RBgIJBw8hgTiBd00jFYMngjQbjgptjAABAQ X-IronPort-AV: E=Sophos;i="5.54,411,1534809600"; d="scan'208";a="17036404" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from updc3cpa06.eemsg.mail.mil ([214.24.27.45]) by EMSM-GH1-UEA10.NCSC.MIL with ESMTP; 22 Oct 2018 08:12:46 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;85b6c1ef-16d6-4f5d-af3a-ee21bb3781a6 Authentication-Results: UPDC3CPA11.eemsg.mail.mil; dkim=none (message not signed) header.i=none; spf=None smtp.pra=omosnace@redhat.com; spf=Pass smtp.mailfrom=omosnace@redhat.com; spf=None smtp.helo=postmaster@mail-wm1-f66.google.com; dmarc=pass (p=none dis=none) d=redhat.com X-EEMSG-check-008: 54358841|UPDC3CPA11_EEMSG_MP27.csd.disa.mil X-EEMSG-SBRS: 3.4 X-EEMSG-ORIG-IP: 209.85.128.66 X-EEMSG-check-002: true X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AvAADchc1bhkKAVdFkHAEBAQQBAQcEAQGBUgYBAQsBhBGMbIs5ixWODYF6CwEBE4RZhRIZBwEEMQwNAQMBAQEBAQEBAQETAQEBCAsLCBsOL4I2JAGDDSAygRUBBQEiARKDIYF1DQSYOzyMBjODKoZoCQEIhx2EIxeBQT+BEY1qAohugWmTcQmGJYNahmgLF4FSh1KHCoJigUGFAo0RBgIJBw8hgSQBggpNIxWDJ4I0jiVtjAABAQ X-IPAS-Result: A0AvAADchc1bhkKAVdFkHAEBAQQBAQcEAQGBUgYBAQsBhBGMbIs5ixWODYF6CwEBE4RZhRIZBwEEMQwNAQMBAQEBAQEBAQETAQEBCAsLCBsOL4I2JAGDDSAygRUBBQEiARKDIYF1DQSYOzyMBjODKoZoCQEIhx2EIxeBQT+BEY1qAohugWmTcQmGJYNahmgLF4FSh1KHCoJigUGFAo0RBgIJBw8hgSQBggpNIxWDJ4I0jiVtjAABAQ Received: from mail-wm1-f66.google.com ([209.85.128.66]) by UPDC3CPA11.eemsg.mail.mil with ESMTP/TLS/AES128-SHA; 22 Oct 2018 08:12:44 +0000 Received: by mail-wm1-f66.google.com with SMTP id 193-v6so9278797wme.3 for ; Mon, 22 Oct 2018 01:12:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Bj2EzXAEVVSmm30Pb0cUu0jNeSvmNZJ2tX6M24ltluk=; b=BvtMHkH1HlMIEEG4vnFQ7aOVZMZ9b92+cFPRsLEL/3ttLyfVii/ul9HXi1jbNW4WwH di1W3rxqN2zkQVdz1hudcbRHQ0Z33NAqD4+JsopwTZUb3YMqOn9hSEHYghV2pWKYVsny 6DnHKxjambYQn0fTFPC7Br0/Qy6hAGZyRTSeEYCssHggjCwKDGmg/1rPiNvzkQ/1cKmY BLOCkAGPzNTm1VQ35bUL7DLKTeLfGCqvhrHj9csKKn/Q7x62QWbWEIP7XW+pd3qSQ6An 8iGWD06fGvl6wnQ/ceufuDLodCevJWTEnnzE5vkvhm/9v/6hd5Xod2gE+KMxHUcAS7bL yDiA== X-Gm-Message-State: ABuFfoiDFHS65eSbpbOYiVhrwnMNuGWI5EJEjlwY14UPrfrwppUF6zDD cK+hpjUvex9rZVIs1xq2az0ZWg== X-Google-Smtp-Source: ACcGV61MCl4IAn5Ket2hfvm+KhnirIS3El0MCBplYHUi7MsaxDb1Jq7ZdT5h6wfuslmYj02dUzl9Vw== X-Received: by 2002:a1c:ed07:: with SMTP id l7-v6mr14738895wmh.47.1540195962537; Mon, 22 Oct 2018 01:12:42 -0700 (PDT) Received: from localhost.localdomain.com (nat-pool-brq-t.redhat.com. [213.175.37.10]) by smtp.gmail.com with ESMTPSA id s10-v6sm7471121wmf.15.2018.10.22.01.12.41 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 22 Oct 2018 01:12:41 -0700 (PDT) X-EEMSG-check-009: 444-444 From: Ondrej Mosnacek To: selinux@vger.kernel.org, Paul Moore Date: Mon, 22 Oct 2018 10:12:35 +0200 Message-Id: <20181022081235.4743-1-omosnace@redhat.com> X-Mailer: git-send-email 2.17.2 X-Mailman-Approved-At: Mon, 22 Oct 2018 09:53:36 -0400 Subject: [PATCH v5] selinux: policydb - fix byte order and alignment issues 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: Cc: stable@vger.kernel.org, Doug Ledford , selinux@tycho.nsa.gov, Eli Cohen , Stephen Smalley MIME-Version: 1.0 Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP Do the LE conversions before doing the Infiniband-related range checks. The incorrect checks are otherwise causing a failure to load any policy with an ibendportcon rule on BE systems. This can be reproduced by running (on e.g. ppc64): cat >my_module.cil < Cc: Eli Cohen Cc: James Morris Cc: Doug Ledford Cc: # 4.13+ Fixes: a806f7a1616f ("selinux: Create policydb version for Infiniband support") Signed-off-by: Ondrej Mosnacek --- security/selinux/ss/policydb.c | 51 ++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 15 deletions(-) Changes in v5: - defer also assignment to 8-bit ibendport.port Changes in v4: - defer assignment to 16-bit struct fields to after the range check Changes in v3: - use separate buffer for the 64-bit subnet_prefix - add comments on the byte ordering of subnet_prefix - deduplicate the le32_to_cpu() calls from checks Changes in v2: - add reproducer to commit message - update e-mail address of James Morris - better Cc also the old SELinux ML diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c index f4eadd3f7350..d7e8126f32dc 100644 --- a/security/selinux/ss/policydb.c +++ b/security/selinux/ss/policydb.c @@ -2108,6 +2108,7 @@ static int ocontext_read(struct policydb *p, struct policydb_compat_info *info, { int i, j, rc; u32 nel, len; + __be64 prefixbuf[1]; __le32 buf[3]; struct ocontext *l, *c; u32 nodebuf[8]; @@ -2217,21 +2218,30 @@ static int ocontext_read(struct policydb *p, struct policydb_compat_info *info, goto out; break; } - case OCON_IBPKEY: - rc = next_entry(nodebuf, fp, sizeof(u32) * 4); + case OCON_IBPKEY: { + u32 pkey_lo, pkey_hi; + + rc = next_entry(prefixbuf, fp, sizeof(u64)); + if (rc) + goto out; + + /* we need to have subnet_prefix in CPU order */ + c->u.ibpkey.subnet_prefix = be64_to_cpu(prefixbuf[0]); + + rc = next_entry(buf, fp, sizeof(u32) * 2); if (rc) goto out; - c->u.ibpkey.subnet_prefix = be64_to_cpu(*((__be64 *)nodebuf)); + pkey_lo = le32_to_cpu(buf[0]); + pkey_hi = le32_to_cpu(buf[1]); - if (nodebuf[2] > 0xffff || - nodebuf[3] > 0xffff) { + if (pkey_lo > U16_MAX || pkey_hi > U16_MAX) { rc = -EINVAL; goto out; } - c->u.ibpkey.low_pkey = le32_to_cpu(nodebuf[2]); - c->u.ibpkey.high_pkey = le32_to_cpu(nodebuf[3]); + c->u.ibpkey.low_pkey = pkey_lo; + c->u.ibpkey.high_pkey = pkey_hi; rc = context_read_and_validate(&c->context[0], p, @@ -2239,7 +2249,10 @@ static int ocontext_read(struct policydb *p, struct policydb_compat_info *info, if (rc) goto out; break; - case OCON_IBENDPORT: + } + case OCON_IBENDPORT: { + u32 port; + rc = next_entry(buf, fp, sizeof(u32) * 2); if (rc) goto out; @@ -2249,12 +2262,13 @@ static int ocontext_read(struct policydb *p, struct policydb_compat_info *info, if (rc) goto out; - if (buf[1] > 0xff || buf[1] == 0) { + port = le32_to_cpu(buf[1]); + if (port > 0xff || port == 0) { rc = -EINVAL; goto out; } - c->u.ibendport.port = le32_to_cpu(buf[1]); + c->u.ibendport.port = port; rc = context_read_and_validate(&c->context[0], p, @@ -2262,7 +2276,8 @@ static int ocontext_read(struct policydb *p, struct policydb_compat_info *info, if (rc) goto out; break; - } + } /* end case */ + } /* end switch */ } } rc = 0; @@ -3105,6 +3120,7 @@ static int ocontext_write(struct policydb *p, struct policydb_compat_info *info, { unsigned int i, j, rc; size_t nel, len; + __be64 prefixbuf[1]; __le32 buf[3]; u32 nodebuf[8]; struct ocontext *c; @@ -3192,12 +3208,17 @@ static int ocontext_write(struct policydb *p, struct policydb_compat_info *info, return rc; break; case OCON_IBPKEY: - *((__be64 *)nodebuf) = cpu_to_be64(c->u.ibpkey.subnet_prefix); + /* subnet_prefix is in CPU order */ + prefixbuf[0] = cpu_to_be64(c->u.ibpkey.subnet_prefix); - nodebuf[2] = cpu_to_le32(c->u.ibpkey.low_pkey); - nodebuf[3] = cpu_to_le32(c->u.ibpkey.high_pkey); + rc = put_entry(prefixbuf, sizeof(u64), 1, fp); + if (rc) + return rc; + + buf[0] = cpu_to_le32(c->u.ibpkey.low_pkey); + buf[1] = cpu_to_le32(c->u.ibpkey.high_pkey); - rc = put_entry(nodebuf, sizeof(u32), 4, fp); + rc = put_entry(buf, sizeof(u32), 2, fp); if (rc) return rc; rc = context_write(p, &c->context[0], fp);