From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9AB20C4829E for ; Thu, 15 Feb 2024 06:57:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=SazZgUyFrDxPTrwpFb38LxetXN1rLQu9hf4U2OIK488=; b=c0Z4WjgMJnpgs0 IBlRJAQGOuyIvqsxACUGFntCC/uEj9f9X8aubv0Iemsz/xjEaEFb3Zcr48hexTqO/nnPszBU/hDlR nUyj5oJfvIuLT3GYpYZUiIEVJIRYDaKJej+6SPBjKirxWguHcms/XKGXOPsuY3jkVjTNkGnTiK43H 1mqWdDkvyjl+5t307WaOZBWZnJc6ZYKyVwdJrktA7oioLATZgMGil2kPza84NGofvtLfLFqIFuvrM VifeXjNZDJEz05GLwq+mh6SVHgXpXZ4Y/niYaN5vpTnr1etjt81RtyFS6XRrva4bHHZhEH4oa9amt CEHoNnhzGfTRMaV0+fNg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1raVgo-0000000F9gK-0hVI; Thu, 15 Feb 2024 06:57:46 +0000 Received: from linux.microsoft.com ([13.77.154.182]) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1raVgl-0000000F9fu-0aRG for kexec@lists.infradead.org; Thu, 15 Feb 2024 06:57:44 +0000 Received: from [192.168.86.69] (unknown [50.46.228.62]) by linux.microsoft.com (Postfix) with ESMTPSA id CF46D20B2000; Wed, 14 Feb 2024 22:57:41 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com CF46D20B2000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1707980262; bh=FQyYhigzXHz5a23leRzlzUBIp1BTtLBJq4YQ7x7fQ+k=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=WjitGxeepX5L+andlmfM9xc1FkM2YIU7q61m0XdL5KK00IjyGPUcNrRBhaOqn4mZL zdB6JW1dTbxThTGyFMH5FwcRfkYcYZ0K5Dftjd5gslzA4ZnL88BGoBwdeCw1tcK6xS tbb1PBuxZAF6+AbQCwilkL16SQbKKE16/h6UaEVE= Message-ID: Date: Wed, 14 Feb 2024 22:57:41 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 8/8] ima: measure kexec load and exec events as critical data Content-Language: en-US To: Stefan Berger , zohar@linux.ibm.com, roberto.sassu@huaweicloud.com, roberto.sassu@huawei.com, eric.snowberg@oracle.com, ebiederm@xmission.com, noodles@fb.com, bauermann@kolabnow.com, linux-integrity@vger.kernel.org, kexec@lists.infradead.org Cc: code@tyhicks.com, nramas@linux.microsoft.com, paul@paul-moore.com References: <20240214153827.1087657-1-tusharsu@linux.microsoft.com> <20240214153827.1087657-9-tusharsu@linux.microsoft.com> <803ac44d-1d08-46f3-a41c-01f113a21c11@linux.ibm.com> From: Tushar Sugandhi In-Reply-To: <803ac44d-1d08-46f3-a41c-01f113a21c11@linux.ibm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240214_225743_375551_F8471756 X-CRM114-Status: GOOD ( 18.10 ) X-BeenThere: kexec@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "kexec" Errors-To: kexec-bounces+kexec=archiver.kernel.org@lists.infradead.org CgpPbiAyLzE0LzI0IDEzOjAwLCBTdGVmYW4gQmVyZ2VyIHdyb3RlOgo+IAo+IAo+IE9uIDIvMTQv MjQgMTA6MzgsIFR1c2hhciBTdWdhbmRoaSB3cm90ZToKPj4gVGhlIGFtb3VudCBvZiBtZW1vcnkg YWxsb2NhdGVkIGF0IGtleGVjIGxvYWQsIGV2ZW4gd2l0aCB0aGUgZXh0cmEgbWVtb3J5Cj4+IGFs bG9jYXRlZCwgbWlnaHQgbm90IGJlIGxhcmdlIGVub3VnaCBmb3IgdGhlIGVudGlyZSBtZWFzdXJl bWVudCBsaXN0LiAgCj4+IFRoZQo+PiBpbmRldGVybWluYXRlIGludGVydmFsIGJldHdlZW4ga2V4 ZWMgJ2xvYWQnIGFuZCAnZXhlY3V0ZScgY291bGQgCj4+IGV4YWNlcmJhdGUKPj4gdGhpcyBwcm9i bGVtLgo+Pgo+PiBEZWZpbmUgdHdvIG5ldyBJTUEgZXZlbnRzLCAna2V4ZWNfbG9hZCcgYW5kICdr ZXhlY19leGVjdXRlJywgdG8gYmUKPj4gbWVhc3VyZWQgYXMgY3JpdGljYWwgZGF0YSBhdCBrZXhl YyAnbG9hZCcgYW5kICdleGVjdXRlJyByZXNwZWN0aXZlbHkuCj4+IFJlcG9ydCB0aGUgYWxsb2Nh dGVkIGtleGVjIHNlZ21lbnQgc2l6ZSwgSU1BIGJpbmFyeSBsb2cgc2l6ZSBhbmQgdGhlCj4+IHJ1 bnRpbWUgbWVhc3VyZW1lbnRzIGNvdW50IGFzIHBhcnQgb2YgdGhvc2UgZXZlbnRzLgo+Pgo+PiBU aGVzZSBldmVudHMsIGFuZCB0aGUgdmFsdWVzIHJlcG9ydGVkIHRocm91Z2ggdGhlbSwgc2VydmUg YXMgbWFya2VycyBpbgo+PiB0aGUgSU1BIGxvZyB0byB2ZXJpZnkgdGhlIElNQSBldmVudHMgYXJl IGNhcHR1cmVkIGR1cmluZyBrZXhlYyBzb2Z0Cj4+IHJlYm9vdC7CoCBUaGUgcHJlc2VuY2Ugb2Yg YSAna2V4ZWNfbG9hZCcgZXZlbnQgaW4gYmV0d2VlbiB0aGUgbGFzdCB0d28KPj4gJ2Jvb3RfYWdn cmVnYXRlJyBldmVudHMgaW4gdGhlIElNQSBsb2cgaW1wbGllcyB0aGlzIGlzIGEga2V4ZWMgc29m dAo+PiByZWJvb3QsIGFuZCBub3QgYSBjb2xkLWJvb3QuwqAgQW5kIHRoZSBhYnNlbmNlIG9mICdr ZXhlY19leGVjdXRlJyBldmVudAo+PiBhZnRlciBrZXhlYyBzb2Z0IHJlYm9vdCBpbXBsaWVzIG1p c3NpbmcgZXZlbnRzIGluIHRoYXQgd2luZG93IHdoaWNoCj4+IHJlc3VsdHMgaW4gaW5jb25zaXN0 ZW5jeSB3aXRoIFRQTSBQQ1IgcXVvdGVzLCBuZWNlc3NpdGF0aW5nIGEgY29sZCBib290Cj4+IGZv ciBhIHN1Y2Nlc3NmdWwgcmVtb3RlIGF0dGVzdGF0aW9uLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBU dXNoYXIgU3VnYW5kaGkgPHR1c2hhcnN1QGxpbnV4Lm1pY3Jvc29mdC5jb20+Cj4+IC0tLQo+PiDC oCBzZWN1cml0eS9pbnRlZ3JpdHkvaW1hL2ltYV9rZXhlYy5jIHwgMzQgKysrKysrKysrKysrKysr KysrKysrKysrKysrKystCj4+IMKgIDEgZmlsZSBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9zZWN1cml0eS9pbnRlZ3JpdHkvaW1hL2lt YV9rZXhlYy5jIAo+PiBiL3NlY3VyaXR5L2ludGVncml0eS9pbWEvaW1hX2tleGVjLmMKPj4gaW5k ZXggNTA5MDNkNGNlODgwLi4zMTQ5NWEwNDM5NTkgMTAwNjQ0Cj4+IC0tLSBhL3NlY3VyaXR5L2lu dGVncml0eS9pbWEvaW1hX2tleGVjLmMKPj4gKysrIGIvc2VjdXJpdHkvaW50ZWdyaXR5L2ltYS9p bWFfa2V4ZWMuYwo+PiBAQCAtMTcsNiArMTcsOCBAQAo+PiDCoCAjaW5jbHVkZSAiaW1hLmgiCj4+ IMKgICNpZmRlZiBDT05GSUdfSU1BX0tFWEVDCj4+ICsjZGVmaW5lIElNQV9LRVhFQ19FVkVOVF9M RU4gMjU2Cj4+ICsKPj4gwqAgc3RhdGljIHN0cnVjdCBzZXFfZmlsZSBpbWFfa2V4ZWNfZmlsZTsK Pj4gwqAgc3RhdGljIHZvaWQgKmltYV9rZXhlY19idWZmZXI7Cj4+IMKgIHN0YXRpYyBzaXplX3Qg a2V4ZWNfc2VnbWVudF9zaXplOwo+PiBAQCAtMzgsNiArNDAsMTAgQEAgc3RhdGljIHZvaWQgaW1h X2ZyZWVfa2V4ZWNfZmlsZV9idWYoc3RydWN0IHNlcV9maWxlIAo+PiAqc2YpCj4+IMKgIHN0YXRp YyBpbnQgaW1hX2FsbG9jX2tleGVjX2ZpbGVfYnVmKHNpemVfdCBzZWdtZW50X3NpemUpCj4+IMKg IHsKPj4gK8KgwqDCoCBjaGFyIGltYV9rZXhlY19ldmVudFtJTUFfS0VYRUNfRVZFTlRfTEVOXTsK Pj4gK8KgwqDCoCBzaXplX3QgYnVmX3NpemU7Cj4+ICvCoMKgwqAgbG9uZyBsZW47Cj4+ICsKPj4g wqDCoMKgwqDCoCAvKgo+PiDCoMKgwqDCoMKgwqAgKiBrZXhlYyAnbG9hZCcgbWF5IGJlIGNhbGxl ZCBtdWx0aXBsZSB0aW1lcy4KPj4gwqDCoMKgwqDCoMKgICogRnJlZSBhbmQgcmVhbGxvYyB0aGUg YnVmZmVyIG9ubHkgaWYgdGhlIHNlZ21lbnRfc2l6ZSBpcwo+PiBAQCAtNDcsNyArNTMsNyBAQCBz dGF0aWMgaW50IGltYV9hbGxvY19rZXhlY19maWxlX2J1ZihzaXplX3QgCj4+IHNlZ21lbnRfc2l6 ZSkKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGltYV9rZXhlY19maWxlLnNpemUgPT0gc2VnbWVudF9z aXplICYmCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBpbWFfa2V4ZWNfZmlsZS5yZWFkX3BvcyA9PSAw ICYmCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBpbWFfa2V4ZWNfZmlsZS5jb3VudCA9PSBzaXplb2Yo c3RydWN0IGltYV9rZXhlY19oZHIpKQo+PiAtwqDCoMKgwqDCoMKgwqAgcmV0dXJuIDA7Cj4+ICvC oMKgwqDCoMKgwqDCoCBnb3RvIG91dDsKPj4gwqDCoMKgwqDCoCBpbWFfZnJlZV9rZXhlY19maWxl X2J1ZigmaW1hX2tleGVjX2ZpbGUpOwo+PiBAQCAtNjAsNiArNjYsMTggQEAgc3RhdGljIGludCBp bWFfYWxsb2Nfa2V4ZWNfZmlsZV9idWYoc2l6ZV90IAo+PiBzZWdtZW50X3NpemUpCj4+IMKgwqDC oMKgwqAgaW1hX2tleGVjX2ZpbGUucmVhZF9wb3MgPSAwOwo+PiDCoMKgwqDCoMKgIGltYV9rZXhl Y19maWxlLmNvdW50ID0gc2l6ZW9mKHN0cnVjdCBpbWFfa2V4ZWNfaGRyKTvCoMKgwqAgLyogCj4+ IHJlc2VydmVkIHNwYWNlICovCj4+ICtvdXQ6Cj4+ICvCoMKgwqAgYnVmX3NpemUgPSBpbWFfZ2V0 X2JpbmFyeV9ydW50aW1lX3NpemUoKTsKPj4gK8KgwqDCoCBsZW4gPSBhdG9taWNfbG9uZ19yZWFk KCZpbWFfaHRhYmxlLmxlbik7Cj4+ICsKPj4gK8KgwqDCoCBzY25wcmludGYoaW1hX2tleGVjX2V2 ZW50LCBJTUFfS0VYRUNfRVZFTlRfTEVOLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgICJrZXhlY19z ZWdtZW50X3NpemU9JWx1O2ltYV9iaW5hcnlfcnVudGltZV9zaXplPSVsdTsiCj4+ICvCoMKgwqDC oMKgwqDCoMKgwqAgImltYV9ydW50aW1lX21lYXN1cmVtZW50c19jb3VudD0lbGQ7IiwKPj4gK8Kg wqDCoMKgwqDCoMKgwqDCoCBzZWdtZW50X3NpemUsIGJ1Zl9zaXplLCBsZW4pOwo+PiArCj4+ICvC oMKgwqAgaW1hX21lYXN1cmVfY3JpdGljYWxfZGF0YSgiaW1hX2tleGVjIiwgImtleGVjX2xvYWQi LCAKPj4gaW1hX2tleGVjX2V2ZW50LAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBzdHJsZW4oaW1hX2tleGVjX2V2ZW50KSwgZmFsc2UsIE5VTEwsIDApOwo+PiArCj4+IMKg wqDCoMKgwqAgcmV0dXJuIDA7Cj4+IMKgIH0KPj4gQEAgLTE4NiwxMCArMjA0LDEyIEBAIHZvaWQg aW1hX2FkZF9rZXhlY19idWZmZXIoc3RydWN0IGtpbWFnZSAqaW1hZ2UpCj4+IMKgIHN0YXRpYyBp bnQgaW1hX3VwZGF0ZV9rZXhlY19idWZmZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpzZWxmLAo+ PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcg YWN0aW9uLCB2b2lkICpkYXRhKQo+PiDCoCB7Cj4+ICvCoMKgwqAgY2hhciBpbWFfa2V4ZWNfZXZl bnRbSU1BX0tFWEVDX0VWRU5UX0xFTl07Cj4+IMKgwqDCoMKgwqAgdm9pZCAqYnVmID0gTlVMTDsK Pj4gwqDCoMKgwqDCoCBzaXplX3QgYnVmX3NpemU7Cj4+IMKgwqDCoMKgwqAgaW50IHJldCA9IE5P VElGWV9PSzsKPj4gwqDCoMKgwqDCoCBib29sIHJlc3VtZSA9IGZhbHNlOwo+PiArwqDCoMKgIGxv bmcgbGVuOwo+PiDCoMKgwqDCoMKgIGlmICgha2V4ZWNfaW5fcHJvZ3Jlc3MpIHsKPj4gwqDCoMKg wqDCoMKgwqDCoMKgIHByX2luZm8oIiVzOiBObyBrZXhlYyBpbiBwcm9ncmVzcy5cbiIsIF9fZnVu Y19fKTsKPj4gQEAgLTIwMSw2ICsyMjEsMTggQEAgc3RhdGljIGludCBpbWFfdXBkYXRlX2tleGVj X2J1ZmZlcihzdHJ1Y3QgCj4+IG5vdGlmaWVyX2Jsb2NrICpzZWxmLAo+PiDCoMKgwqDCoMKgwqDC oMKgwqAgcmV0dXJuIHJldDsKPj4gwqDCoMKgwqDCoCB9Cj4+ICvCoMKgwqAgYnVmX3NpemUgPSBp bWFfZ2V0X2JpbmFyeV9ydW50aW1lX3NpemUoKTsKPj4gK8KgwqDCoCBsZW4gPSBhdG9taWNfbG9u Z19yZWFkKCZpbWFfaHRhYmxlLmxlbik7Cj4+ICsKPj4gK8KgwqDCoCBzY25wcmludGYoaW1hX2tl eGVjX2V2ZW50LCBJTUFfS0VYRUNfRVZFTlRfTEVOLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgICJr ZXhlY19zZWdtZW50X3NpemU9JWx1O2ltYV9iaW5hcnlfcnVudGltZV9zaXplPSVsdTsiCj4+ICvC oMKgwqDCoMKgwqDCoMKgwqAgImltYV9ydW50aW1lX21lYXN1cmVtZW50c19jb3VudD0lbGQ7IiwK Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoCBrZXhlY19zZWdtZW50X3NpemUsIGJ1Zl9zaXplLCBsZW4p Owo+PiArCj4+ICvCoMKgwqAgaW1hX21lYXN1cmVfY3JpdGljYWxfZGF0YSgiaW1hX2tleGVjIiwg ImtleGVjX2V4ZWN1dGUiLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBp bWFfa2V4ZWNfZXZlbnQsIHN0cmxlbihpbWFfa2V4ZWNfZXZlbnQpLAo+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmYWxzZSwgTlVMTCwgMCk7Cj4+ICsKPj4gwqDCoMKgwqDC oCBpbWFfbWVhc3VyZW1lbnRzX3N1c3BlbmQoKTsKPj4gwqDCoMKgwqDCoCByZXQgPSBpbWFfZHVt cF9tZWFzdXJlbWVudF9saXN0KCZidWZfc2l6ZSwgJmJ1ZiwKPiAKPiBJdCdzIHR3aWNlIHRoZSBz YW1lIGNvZGUgYWxtb3N0IGluIHRoZSBzYW1lIGZpbGUuIFlvdSBjb3VsZCBtb3ZlIGl0IGludG8g Cj4gYSBmdW5jdGlvbi4KRmFpciBlbm91Z2guIFdpbGwgZG8uCgp+VHVzaGFyCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwprZXhlYyBtYWlsaW5nIGxpc3QK a2V4ZWNAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2tleGVjCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 69E859475 for ; Thu, 15 Feb 2024 06:57:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=13.77.154.182 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707980263; cv=none; b=NKcV3H005Uxubeq/J1XOkTFod+E27ynG97pvx64alQyAj1Cd+CIBy/aVfuAXajl+JCBsjw/rsRCLjMNWcfLIsmgtu3aH0yNaRPKA1Q0/+pcNcl4yjJ+ObSDxPjiEsg87ZdxZ2erqaRw+vR7WuCkguZwlXW2BUl/qjm4+cAvcazQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707980263; c=relaxed/simple; bh=wEeARzqLgVJhTUCTabMDPqxYtRN+HLMqCwrzr0f51N0=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=hkPRzMbyiuLzr0BereGU3E6JUvlFqKbpWsBykWe1ckYxrlGV4eB473IpB+km4xfASq4MS1MdiS1scmijwItjx3CrKdIvUSiEHhCIgZB2UC170BsawC0Af9oEvKH5Pr/COZ6G8QYAFFmwVndyimsDoIIoEXVZFT7vgH7++K5lK78= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com; spf=pass smtp.mailfrom=linux.microsoft.com; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b=WjitGxee; arc=none smtp.client-ip=13.77.154.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b="WjitGxee" Received: from [192.168.86.69] (unknown [50.46.228.62]) by linux.microsoft.com (Postfix) with ESMTPSA id CF46D20B2000; Wed, 14 Feb 2024 22:57:41 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com CF46D20B2000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1707980262; bh=FQyYhigzXHz5a23leRzlzUBIp1BTtLBJq4YQ7x7fQ+k=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=WjitGxeepX5L+andlmfM9xc1FkM2YIU7q61m0XdL5KK00IjyGPUcNrRBhaOqn4mZL zdB6JW1dTbxThTGyFMH5FwcRfkYcYZ0K5Dftjd5gslzA4ZnL88BGoBwdeCw1tcK6xS tbb1PBuxZAF6+AbQCwilkL16SQbKKE16/h6UaEVE= Message-ID: Date: Wed, 14 Feb 2024 22:57:41 -0800 Precedence: bulk X-Mailing-List: linux-integrity@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 8/8] ima: measure kexec load and exec events as critical data Content-Language: en-US To: Stefan Berger , zohar@linux.ibm.com, roberto.sassu@huaweicloud.com, roberto.sassu@huawei.com, eric.snowberg@oracle.com, ebiederm@xmission.com, noodles@fb.com, bauermann@kolabnow.com, linux-integrity@vger.kernel.org, kexec@lists.infradead.org Cc: code@tyhicks.com, nramas@linux.microsoft.com, paul@paul-moore.com References: <20240214153827.1087657-1-tusharsu@linux.microsoft.com> <20240214153827.1087657-9-tusharsu@linux.microsoft.com> <803ac44d-1d08-46f3-a41c-01f113a21c11@linux.ibm.com> From: Tushar Sugandhi In-Reply-To: <803ac44d-1d08-46f3-a41c-01f113a21c11@linux.ibm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 2/14/24 13:00, Stefan Berger wrote: > > > On 2/14/24 10:38, Tushar Sugandhi wrote: >> The amount of memory allocated at kexec load, even with the extra memory >> allocated, might not be large enough for the entire measurement list. >> The >> indeterminate interval between kexec 'load' and 'execute' could >> exacerbate >> this problem. >> >> Define two new IMA events, 'kexec_load' and 'kexec_execute', to be >> measured as critical data at kexec 'load' and 'execute' respectively. >> Report the allocated kexec segment size, IMA binary log size and the >> runtime measurements count as part of those events. >> >> These events, and the values reported through them, serve as markers in >> the IMA log to verify the IMA events are captured during kexec soft >> reboot.  The presence of a 'kexec_load' event in between the last two >> 'boot_aggregate' events in the IMA log implies this is a kexec soft >> reboot, and not a cold-boot.  And the absence of 'kexec_execute' event >> after kexec soft reboot implies missing events in that window which >> results in inconsistency with TPM PCR quotes, necessitating a cold boot >> for a successful remote attestation. >> >> Signed-off-by: Tushar Sugandhi >> --- >>   security/integrity/ima/ima_kexec.c | 34 +++++++++++++++++++++++++++++- >>   1 file changed, 33 insertions(+), 1 deletion(-) >> >> diff --git a/security/integrity/ima/ima_kexec.c >> b/security/integrity/ima/ima_kexec.c >> index 50903d4ce880..31495a043959 100644 >> --- a/security/integrity/ima/ima_kexec.c >> +++ b/security/integrity/ima/ima_kexec.c >> @@ -17,6 +17,8 @@ >>   #include "ima.h" >>   #ifdef CONFIG_IMA_KEXEC >> +#define IMA_KEXEC_EVENT_LEN 256 >> + >>   static struct seq_file ima_kexec_file; >>   static void *ima_kexec_buffer; >>   static size_t kexec_segment_size; >> @@ -38,6 +40,10 @@ static void ima_free_kexec_file_buf(struct seq_file >> *sf) >>   static int ima_alloc_kexec_file_buf(size_t segment_size) >>   { >> +    char ima_kexec_event[IMA_KEXEC_EVENT_LEN]; >> +    size_t buf_size; >> +    long len; >> + >>       /* >>        * kexec 'load' may be called multiple times. >>        * Free and realloc the buffer only if the segment_size is >> @@ -47,7 +53,7 @@ static int ima_alloc_kexec_file_buf(size_t >> segment_size) >>           ima_kexec_file.size == segment_size && >>           ima_kexec_file.read_pos == 0 && >>           ima_kexec_file.count == sizeof(struct ima_kexec_hdr)) >> -        return 0; >> +        goto out; >>       ima_free_kexec_file_buf(&ima_kexec_file); >> @@ -60,6 +66,18 @@ static int ima_alloc_kexec_file_buf(size_t >> segment_size) >>       ima_kexec_file.read_pos = 0; >>       ima_kexec_file.count = sizeof(struct ima_kexec_hdr);    /* >> reserved space */ >> +out: >> +    buf_size = ima_get_binary_runtime_size(); >> +    len = atomic_long_read(&ima_htable.len); >> + >> +    scnprintf(ima_kexec_event, IMA_KEXEC_EVENT_LEN, >> +          "kexec_segment_size=%lu;ima_binary_runtime_size=%lu;" >> +          "ima_runtime_measurements_count=%ld;", >> +          segment_size, buf_size, len); >> + >> +    ima_measure_critical_data("ima_kexec", "kexec_load", >> ima_kexec_event, >> +                  strlen(ima_kexec_event), false, NULL, 0); >> + >>       return 0; >>   } >> @@ -186,10 +204,12 @@ void ima_add_kexec_buffer(struct kimage *image) >>   static int ima_update_kexec_buffer(struct notifier_block *self, >>                      unsigned long action, void *data) >>   { >> +    char ima_kexec_event[IMA_KEXEC_EVENT_LEN]; >>       void *buf = NULL; >>       size_t buf_size; >>       int ret = NOTIFY_OK; >>       bool resume = false; >> +    long len; >>       if (!kexec_in_progress) { >>           pr_info("%s: No kexec in progress.\n", __func__); >> @@ -201,6 +221,18 @@ static int ima_update_kexec_buffer(struct >> notifier_block *self, >>           return ret; >>       } >> +    buf_size = ima_get_binary_runtime_size(); >> +    len = atomic_long_read(&ima_htable.len); >> + >> +    scnprintf(ima_kexec_event, IMA_KEXEC_EVENT_LEN, >> +          "kexec_segment_size=%lu;ima_binary_runtime_size=%lu;" >> +          "ima_runtime_measurements_count=%ld;", >> +          kexec_segment_size, buf_size, len); >> + >> +    ima_measure_critical_data("ima_kexec", "kexec_execute", >> +                  ima_kexec_event, strlen(ima_kexec_event), >> +                  false, NULL, 0); >> + >>       ima_measurements_suspend(); >>       ret = ima_dump_measurement_list(&buf_size, &buf, > > It's twice the same code almost in the same file. You could move it into > a function. Fair enough. Will do. ~Tushar