Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp2343755pxa; Mon, 24 Aug 2020 11:27:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzHFHscLM+ZQcNzKeTWGtUEf9Vi0hy4ihe0mPEbey05Xk7ptoBBCV6OwhI+UQDrJq2jj8en X-Received: by 2002:a05:6402:b23:: with SMTP id bo3mr6839115edb.333.1598293629100; Mon, 24 Aug 2020 11:27:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1598293629; cv=none; d=google.com; s=arc-20160816; b=c0+M+ZB5fsPZ3h6KKkHrekz9mgcTv76mHJ1BiQPlm/0fwvbiUVoQCODLktzxvedJgO ZTrldHBFgWANOdv5jtVLJEZKGPO9vcD79NibZn/en+BWn1dG40TaC2MXTnIPresmgYIC rGQ3hlj6F2tvape3PThcnxRlMrYBII2nHAZluKRoNlZ8FByrOOcVCxqmMfSyyiEOi9ty LjDREFX3KCNmEn209BZCtI9+HbDQVAcGnAHv5TF0fIB5B+ePP/8z5mUyoi+d9dz/6xmY o8KEquIh/v4gf13suelQj/b2TQ5spaxOXc+wWI8yx3VEGsamdaJ1anUyQbaxt6bUWMCl hETw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature:dkim-filter; bh=I33zGzGKrY5OD+f93g2K2Tof22XbwMMm4oJvhkCRjyQ=; b=l0+4rfTgCMDOCpXP9eXE0kUpimez9Avhg+paERd0RVw5qfe0qf+RnayfUMJEBzh4BO Q018tXT8z0d8CmEQPN9s/lKaYQLeFbymmooCrURsAa38XHOcy+7QCZkcTSQ0oQufPIwn OyxF3QEq0hTMjYZO9D59WMFtl7Miinm5RFuwaZD3qhkm4i0wq9Ps2yupR4FcvQFdBOU5 kki8ctuVnl3ylQmwdlG89j3cGSusmKzLag08Pr5mo6JvpSPyfATuqA11nWMvothSdH0T UZfymq0FLN4ZTX5qum5jJ56LkWTiUfk8u7dnD7/2V5g7pKGIYx2ppYG7eZM2XYrKlf8I TKig== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.microsoft.com header.s=default header.b=nkEbESeI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.microsoft.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j4si844404ejf.536.2020.08.24.11.26.25; Mon, 24 Aug 2020 11:27:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.microsoft.com header.s=default header.b=nkEbESeI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.microsoft.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726633AbgHXSN5 (ORCPT + 99 others); Mon, 24 Aug 2020 14:13:57 -0400 Received: from linux.microsoft.com ([13.77.154.182]:35444 "EHLO linux.microsoft.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725890AbgHXSNz (ORCPT ); Mon, 24 Aug 2020 14:13:55 -0400 Received: from [192.168.0.104] (c-73-42-176-67.hsd1.wa.comcast.net [73.42.176.67]) by linux.microsoft.com (Postfix) with ESMTPSA id 9A34520B4908; Mon, 24 Aug 2020 11:13:54 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 9A34520B4908 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1598292834; bh=I33zGzGKrY5OD+f93g2K2Tof22XbwMMm4oJvhkCRjyQ=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=nkEbESeIREk6peaARbVfOFLHskhh+FVeAgvpLv49vmfLWN8dF5+vMlZrPt3vBqnrS jDK32p1NdgaRUBU5GkDKFUhWfoYYqlIYDTsvI7Etl3dx623IDvcpcw2udkvJAy8B+S JKO3wTUBhq66QhbGuui2GKpS9B5E0Yu7/oC7XdXA= Subject: Re: [PATCH] SELinux: Measure state and hash of policy using IMA To: Stephen Smalley Cc: Mimi Zohar , Casey Schaufler , Tyler Hicks , tusharsu@linux.microsoft.com, sashal@kernel.org, James Morris , linux-integrity@vger.kernel.org, SElinux list , LSM List , linux-kernel References: <20200822010018.19453-1-nramas@linux.microsoft.com> From: Lakshmi Ramasubramanian Message-ID: <418618c4-a0c6-6b28-6718-2726a29b83c5@linux.microsoft.com> Date: Mon, 24 Aug 2020 11:13:54 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 8/24/20 7:00 AM, Stephen Smalley wrote: >> +int security_read_policy_kernel(struct selinux_state *state, >> + void **data, size_t *len) >> +{ >> + int rc; >> + >> + rc = security_read_policy_len(state, len); >> + if (rc) >> + return rc; >> + >> + *data = vmalloc(*len); >> + if (!*data) >> + return -ENOMEM; >> >> + return security_read_selinux_policy(state, data, len); >> } > > See the discussion here: > https://lore.kernel.org/selinux/20200824113015.1375857-1-omosnace@redhat.com/T/#t > > In order for this to be safe, you need to ensure that all callers of > security_read_policy_kernel() have taken fsi->mutex in selinuxfs and > any use of security_read_policy_len() occurs while holding the mutex. > Otherwise, the length can change between security_read_policy_len() > and security_read_selinux_policy() if policy is reloaded. > "struct selinux_fs_info" is available when calling security_read_policy_kernel() - currently in measure.c. Only "struct selinux_state" is. Is Ondrej's re-try approach I need to use to workaround policy reload issue? thanks, -lakshmi