Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp2156456ybl; Thu, 19 Dec 2019 08:57:27 -0800 (PST) X-Google-Smtp-Source: APXvYqyUycMOrUArbmt2SHlhS8QOK13Ody/prqf22cieQrK/jqXiNtmvkzQ7JD/6UOqJ3UQwbsfm X-Received: by 2002:aca:af54:: with SMTP id y81mr2746472oie.21.1576774646969; Thu, 19 Dec 2019 08:57:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576774646; cv=none; d=google.com; s=arc-20160816; b=zrieUu5uT55g7eRJU0UwQSR8sl+bA7tbjlizzJ3OFPjzgqrxRTiybR721ueKFNMHvy l3r+dLz2ar42nfMtpC2F6n/m720o98nuGc6TRuciE/frj13+kfdv25XW74EfpiDkuEnz eM2dGQh+qUjVfgBDpXhkIg3kuI8rHBxtfI2sRuznBSP/8YOG4/vQempVFdVIiKY568ET Ur4vF7XfSEU8Nb04zHlczIXLsMPzkKxlYW2qhnCaEysYO8z9sjQ7WFYRixBSwG7lutxK Q2GJG4t0aE3vCwQcd9APGXz+tbeQMsPds78Gt+um1/4EdHikx4Pm8XeyacKz7lhXZvGx WX0A== 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=so8Lx2f9qiSk/E4NI0zuLpTEaSOcPtfK6N+bkOqOOB4=; b=zDiQzxkbzuxJIlCMMwmb3P+n9o/XyCLQ6Z0WHqK1t+fkPgHE4XndLxV0MtAwYiQHSO WUYdmUaAbsqDuX7TPr2BRNMQWTihfOzEhyXHtbHfDsPwO1UgmhLzxHZ4bC3cq88AQt2i h9o2ke718quNsMu3/yUuq0MNkhcjPP2gCelSr2BKr5YEzrLtNg/Ik9g5ATOVvivc9Yjo nAJaz0ZtXOdRsXQvMlps1V1CtK+sbIgz9viMQnto7UnUt0bRPqntycWm3QHd8ztZBs55 XPGKLhBdgUlVxpSyWngOE9Mz1ExDWLqLpyqea7IukOCBv6WhgZh4N4OTenvd2ZZP23ZK bsEA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.microsoft.com header.s=default header.b=qLPJLn14; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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. [209.132.180.67]) by mx.google.com with ESMTP id q4si3423073oib.192.2019.12.19.08.57.14; Thu, 19 Dec 2019 08:57:26 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.microsoft.com header.s=default header.b=qLPJLn14; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 S1726943AbfLSQzn (ORCPT + 99 others); Thu, 19 Dec 2019 11:55:43 -0500 Received: from linux.microsoft.com ([13.77.154.182]:36414 "EHLO linux.microsoft.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726760AbfLSQzn (ORCPT ); Thu, 19 Dec 2019 11:55:43 -0500 Received: from [10.137.112.108] (unknown [131.107.174.108]) by linux.microsoft.com (Postfix) with ESMTPSA id 9CC722010C1D; Thu, 19 Dec 2019 08:55:42 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 9CC722010C1D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1576774542; bh=so8Lx2f9qiSk/E4NI0zuLpTEaSOcPtfK6N+bkOqOOB4=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=qLPJLn14e7anO0rCxRsxhWetAEhf5ceGYmYUiNFt/vFImvPItk4dDaGbMUKp+W5TT j62KZcJFE9Rz5VOdwEttZ2tvSN7r5472TJCbWOL8P4QGMYSO4hzccTjNJdZkOM0JTE U2tzdpO+LfCoT4TfP5gYn/zMKw9ll+d9xrfGHCvU= Subject: Re: [PATCH v5 1/2] IMA: Define workqueue for early boot "key" measurements To: Mimi Zohar , James.Bottomley@HansenPartnership.com, linux-integrity@vger.kernel.org Cc: eric.snowberg@oracle.com, dhowells@redhat.com, mathew.j.martineau@linux.intel.com, matthewgarrett@google.com, sashal@kernel.org, jamorris@linux.microsoft.com, linux-kernel@vger.kernel.org, keyrings@vger.kernel.org References: <20191218164434.2877-1-nramas@linux.microsoft.com> <20191218164434.2877-2-nramas@linux.microsoft.com> <1576761104.4579.426.camel@linux.ibm.com> From: Lakshmi Ramasubramanian Message-ID: <503845c9-beeb-b520-ec3f-af5fa7d2b91f@linux.microsoft.com> Date: Thu, 19 Dec 2019 08:55:38 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 In-Reply-To: <1576761104.4579.426.camel@linux.ibm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/19/19 5:11 AM, Mimi Zohar wrote: > > Getting rid of the temporary list is definitely a big improvement.  As > James suggested, using test_and_set_bit() and test_bit() would improve > this code even more.  I think, James correct me if I'm wrong, you > would be able to get rid of both the mutex and "process". > > Mimi I am not sure if the mutex can be removed. In ima_queue_key() we need to test the flag and add the key to the list as an atomic operation: if (!test_bit()) insert_key_to_list Suppose the if condition is true, but before we could insert the key to the list, ima_process_queued_keys() runs and processes queued keys we'll add the key to the list and never process it. Is there an API in the kernel to test and add an entry to a list atomically? thanks, -lakshmi