From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 410AA3B961A for ; Thu, 16 Jul 2026 12:55:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784206548; cv=none; b=jWz+7qK+fXaSe13tc5vDWE588FWEzHgx/BZLM69m49wjrjSAoBWWJlob1Sj1m8HfrN0JPSa5FI2rsTysHGJvEwrlGbvJ2OqsmzuYjI23OPUoyhWC4K2Oc3BhF6C9p+192CZF/fadv0yUkoeiIqdF/B5CoggeX6OWDM06HlQbVK4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784206548; c=relaxed/simple; bh=zcR5w12XbJvaTlTn2W8g3KHVnfMeHLQItS2HmVmIXRQ=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=g/9WH8YT3C2LF67m7geKGmVbQgYmEwsisdK2uJPFqngK7UxafVoFb1tzgH35JD3y72Y4A+vRO/b/+MkHCuv/nuqfKBeP//rHRaKLkkJs7nspHwTchzHT3qVHkrcel3BWGjOZP80wvAWAoZDlteyN89rBl77PSCVXqs6s5kA6zi4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=QgAYoCvJ; arc=none smtp.client-ip=209.85.218.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="QgAYoCvJ" Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-c166f1bbeaeso407162166b.0 for ; Thu, 16 Jul 2026 05:55:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1784206544; x=1784811344; darn=vger.kernel.org; h=content-type:in-reply-to:autocrypt:from:content-language:references :cc:to:subject:user-agent:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to:content-type; bh=zcR5w12XbJvaTlTn2W8g3KHVnfMeHLQItS2HmVmIXRQ=; b=QgAYoCvJBSh+EaOepsS5uyUBEcmVANPgbcjh82i5pWCcqDwr2pn1ZRRNtfEGwBCVGW WZirYAlY5WOCvijCVIKK2IXBZecjbwp0xMsGbnVIaVa/6+wgSmKgjQUasEMSRJFvYSEJ +OixSShQc3fhX6+A3Yr7VruHY4BuLjO9Sc3Uss8kAh8kGTpOpAeEqZCWL6t8y+j2S+kT VXVuay9lUTYBnd04edkSm5OV+OB1ySR+TCXrnkk7PDVedpsh4NIsXIBA40V0rDe5eWPJ sZuuAVADbBa0SY7K4wkm7SNbVxiWUW+CPD7h2Rn5jV4NeRExubLDq2CzBhG2nE4paqJO h9Gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784206544; x=1784811344; h=content-type:in-reply-to:autocrypt:from:content-language:references :cc:to:subject:user-agent:mime-version:date:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=zcR5w12XbJvaTlTn2W8g3KHVnfMeHLQItS2HmVmIXRQ=; b=SfOgyJYDwJalFdVqKxLb6P4XIzP1f9n1DBTb3hHoDUq3Fe4MiB90a5hbG1Qu5zM7v2 8g8JpKxauCFrx4yJlQsTZDOr+IKlTlRdZLiblrN0KoJMIlVrJhtglXYbAPgoNF4MBWvt KR++kz1rZZl09Y9hbM6NSIBq5z5YnX8mDxOltF/z5Ud4uqWym/oLjOa8ij9Tt/OJdZLz C06eR5+j7TR8vAMz6BUnJtAhZ2EV4Azdm79BWb732Nn7yJ7av9gAJ3NnTtMTJhm7oQnm BMg1jNlaO2uhRKUuesKf9bKwlmHiOS6tgx1aB4Ugy3cLZQ+u++TOP0vGuPlIzcYHxT9x fiAA== X-Forwarded-Encrypted: i=1; AHgh+RocNIxbyUwM3tBxDoWFpPa0THgU/ebMQKhvhmuPP4FqcZK7EFGKfrpH8/S2W2SuMq/MFnqjYq9GVCe0DaM=@vger.kernel.org X-Gm-Message-State: AOJu0YxWqc+vN+gY8tteGq2z56CwXWYgiVwhbZeF2DANfqXYwyBKidm9 ewORhQdhXfdNgl4TsngvnllOyF6JzzHnEksxVuwFDhr4BSgD3SHp5ZvHAuefMJdPbr0= X-Gm-Gg: AfdE7cmRuFsi8l5C0im852DYEs9J+ccVOFCXQ6RCQSHyGALxDO5OZ03ctmVdqzDIW6k isFMkfr6YAykv1ZXsXJS1Se7UDW/oIoyl6ucyDXB21TeXJwX/nFfdO5gB4lygUJpXj6imwmvk5x cC/tbwwfHWPxmsmyJlNXu8ht7KaXIHZ2KWUpLjiZxoPIcQMz5/GTd7G+VCjB0VYR1+YiRUgC1jQ C1sazhznXSC34oB19iwlNvBAahY6BDp4DhrN1FXcVc79EOuTeQBbPTfkwcZXaU120J2mYBOYuRp SJ0KxZK3PjD2Uew3WJRXUU5tyqcpUSYMcftgALjKeITIDsox+YSKpjfmtJ5BN+u3YN9AtifFzZs c3pjvS4v+Hhig8W9NyjYmg7mCKFGx3ymBqKjZ1W3GvmtbhL05JhNud5kxgMBIDQjYiD53xV+oVS Zb2N6JPbFdbZu/TaK8xcZKvYRzuM3igcRBfuNWd/zoCGlUwvBAeSi5wG3fa01A3QsiOiHs9BMyw xzgM3GvoI0YNzFBFx3bBh4bWwv9Ange X-Received: by 2002:a17:907:1c04:b0:c16:3074:6593 with SMTP id a640c23a62f3a-c166161c08dmr745306866b.12.1784206544245; Thu, 16 Jul 2026 05:55:44 -0700 (PDT) Received: from ?IPV6:2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112? (2a00-12d0-af5d-ad01-5d3f-14e6-9bcb-5112.ip.tng.de. [2a00:12d0:af5d:ad01:5d3f:14e6:9bcb:5112]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c168744966asm217895666b.50.2026.07.16.05.55.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Jul 2026 05:55:43 -0700 (PDT) Message-ID: Date: Thu, 16 Jul 2026 14:55:43 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] x86/mm/pat: fix effective RW computation in lookup_address_in_pgd_attr() To: David Laight Cc: Mike Rapoport , Dave Hansen , Andy Lutomirski , Borislav Petkov , Ingo Molnar , Ingo Molnar , "H. Peter Anvin" , Peter Zijlstra , Thomas Gleixner , x86@kernel.org, linux-kernel@vger.kernel.org References: <20260716-verify-rwx-fix-v1-1-d8a04854df06@kernel.org> <20260716133539.6ba7deb4@pumpkin> <20260716134943.73103a22@pumpkin> Content-Language: en-US From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= Autocrypt: addr=jgross@suse.com; keydata= xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw== In-Reply-To: <20260716134943.73103a22@pumpkin> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------r1Kac4gk4qX0d6I0wsFbCr02" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------r1Kac4gk4qX0d6I0wsFbCr02 Content-Type: multipart/mixed; boundary="------------Bpe3G0jbG0QQIrxS0HcmWRny"; protected-headers="v1" From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= To: David Laight Cc: Mike Rapoport , Dave Hansen , Andy Lutomirski , Borislav Petkov , Ingo Molnar , Ingo Molnar , "H. Peter Anvin" , Peter Zijlstra , Thomas Gleixner , x86@kernel.org, linux-kernel@vger.kernel.org Message-ID: Subject: Re: [PATCH] x86/mm/pat: fix effective RW computation in lookup_address_in_pgd_attr() References: <20260716-verify-rwx-fix-v1-1-d8a04854df06@kernel.org> <20260716133539.6ba7deb4@pumpkin> <20260716134943.73103a22@pumpkin> In-Reply-To: <20260716134943.73103a22@pumpkin> --------------Bpe3G0jbG0QQIrxS0HcmWRny Content-Type: multipart/mixed; boundary="------------nGr1yiYPA6IRVtuOHGKqm04T" --------------nGr1yiYPA6IRVtuOHGKqm04T Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gMTYuMDcuMjYgMTQ6NDksIERhdmlkIExhaWdodCB3cm90ZToNCj4gT24gVGh1LCAxNiBK dWwgMjAyNiAxNDo0Njo0OCArMDIwMA0KPiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5j b20+IHdyb3RlOg0KPiANCj4+IE9uIDE2LjA3LjI2IDE0OjM1LCBEYXZpZCBMYWlnaHQgd3Jv dGU6DQo+Pj4gT24gVGh1LCAxNiBKdWwgMjAyNiAxMjoxODo0OCArMDMwMA0KPj4+IE1pa2Ug UmFwb3BvcnQgPHJwcHRAa2VybmVsLm9yZz4gd3JvdGU6DQo+Pj4gICAgDQo+Pj4+IE9uIFRo dSwgSnVsIDE2LCAyMDI2IGF0IDEwOjM3OjAwQU0gKzAyMDAsIErDvHJnZW4gR3Jvw58gd3Jv dGU6DQo+Pj4+PiBPbiAxNi4wNy4yNiAxMDoxMCwgTWlrZSBSYXBvcG9ydCAoTWljcm9zb2Z0 KSB3cm90ZToNCj4+Pj4+PiBsb29rdXBfYWRkcmVzc19pbl9wZ2RfYXR0cigpIGFjY3VtdWxh dGVzIHRoZSBlZmZlY3RpdmUgTlggYW5kIFJXIGJpdHMgb2YNCj4+Pj4+PiB0aGUgd2Fsa2Vk IHBhZ2UgdGFibGUgbGV2ZWxzIHNvIHRoYXQgdmVyaWZ5X3J3eCgpIGNhbiBkZXRlY3QgbWFw cGluZ3MgdGhhdA0KPj4+Pj4+IGFyZSBib3RoIHdyaXRhYmxlIGFuZCBleGVjdXRhYmxlLg0K Pj4+Pj4+DQo+Pj4+Pj4gVGhlIFJXIGJpdHMgYXJlIGZvbGRlZCBpbnRvIGEgYm9vbCB3aXRo DQo+Pj4+Pj4NCj4+Pj4+PiAJKnJ3ICY9IHBYZF9mbGFncygqcFhkKSAmIF9QQUdFX1JXOw0K Pj4+Pj4+DQo+Pj4+Pj4gYnV0IF9QQUdFX1JXIGlzIGJpdCAxIHdoaWxlICpydyBvbmx5IGV2 ZXIgaG9sZHMgMCBvciAxLCBzbyB0aGUgQU5EIGlzDQo+Pj4+Pj4gYWx3YXlzIDAuICAqcncg YmVjb21lcyBmYWxzZSBhdCB0aGUgZmlyc3QgbGV2ZWwgd2Fsa2VkLCByZWdhcmRsZXNzIG9m IHRoZQ0KPj4+Pj4+IGFjdHVhbCBwZXJtaXNzaW9ucywgYW5kIHZlcmlmeV9yd3goKSB0cmVh dHMgZXZlcnkgbWFwcGluZyBhcyBub24td3JpdGFibGUNCj4+Pj4+PiBhbmQgbmV2ZXIgcmVw b3J0cyBhIFdeWCB2aW9sYXRpb24uDQo+Pj4+Pj4NCj4+Pj4+PiBBY2N1bXVsYXRlIE5YIGFu ZCBSVyBpbiB1bnNpZ25lZCBsb25nIGxvY2FscyBpbiB0aGVpciBuYXRpdmUgYml0IHBvc2l0 aW9ucw0KPj4+Pj4+IGFuZCBzdG9yZSB0aGUgcmVzdWx0IGludG8gdGhlIGJvb2wgb3V0cHV0 cyBvbmNlLg0KPj4+Pj4+DQo+Pj4+Pj4gRml4ZXM6IGNlYjY0N2I0YjUyOSAoIng4Ni9wYXQ6 IEludHJvZHVjZSBsb29rdXBfYWRkcmVzc19pbl9wZ2RfYXR0cigpIikNCj4+Pj4+PiBBc3Np c3RlZC1ieTogQ29waWxvdDpjbGF1ZGUtb3B1cy00LjgNCj4+Pj4+PiBTaWduZWQtb2ZmLWJ5 OiBNaWtlIFJhcG9wb3J0IChNaWNyb3NvZnQpIDxycHB0QGtlcm5lbC5vcmc+DQo+Pj4+Pg0K Pj4+Pj4gVGhhbmtzIGZvciBjYXRjaGluZyB0aGlzLg0KPj4+Pj4NCj4+Pj4+IFJldmlld2Vk LWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+Pj4+Pg0KPj4+Pj4gSnVz dCBvbmUgcmVtYXJrOiBpbnN0ZWFkIG9mIHVzaW5nIGFkZGl0aW9uYWwgbG9jYWwgdmFyaWFi bGVzIHRoZSBmaXggY291bGQNCj4+Pj4+IGp1c3QgbG9vayBsaWtlOg0KPj4+Pj4NCj4+Pj4+ ICAgICAgICpydyB8PSAhIShwWGRfZmxhZ3MoKnBYZCkgJiBfUEFHRV9SVyk7DQo+Pj4+Pg0K Pj4+Pj4gSSBkb24ndCByZWFsbHkgY2FyZSBob3cgdGhlIGlzc3VlIGlzIGZpeGVkLCBidXQg dGhpcyB3b3VsZCByZXN1bHQgaW4gbGVzcw0KPj4+Pj4gY29kZS4NCj4+Pj4NCj4+Pj4gQnV0 IGl0IHdpbGwgYmUgc2xvd2VyIDopDQo+Pj4+DQo+Pj4+IEkgaW5zdHJ1bWVudGVkIGNwYS10 ZXN0IGFuZCBJIHNlZSB+MiUgaW1wcm92ZW1lbnQgd2l0aCBhZGRpdGlvbmFsIGxvY2FsDQo+ Pj4+IHZhcmlhYmxlcy4NCj4+Pg0KPj4+IERvZXMgaXQgaW1wcm92ZSBmdXJ0aGVyIGlmIHlv dSBkZWZlciB0aGUgJyYgX1BBR0VfTlgnIHRvIHRoZSBmaW5hbCBhc3NpZ21lbnQ/DQo+Pg0K Pj4gSWYgc28sIGl0IHdvdWxkIHByb2JhYmx5IGJlIGJlbmVmaWNpYWwgdG8gaGF2ZSBvbmUg bG9jYWwgdmFyaWFibGUgZm9yIHRoZQ0KPj4gbG9naWNhbCBPUiBvZiBhbGwgcGFnZSB0YWJs ZSBlbnRyaWVzIGludm9sdmVkICh1c2VkIGZvciAqbngpLCBhbmQgb25lIGZvcg0KPj4gdGhl IGxvZ2ljYWwgQU5EIG9mIGFsbCBlbnRyaWVzICh1c2VkIGZvciAqcncpLg0KPiANCj4gV2hp Y2ggaXMgd2hhdCB0aGUgcGF0Y2ggZG9lcy4uLg0KDQpZZXMsIG9mIGNvdXJzZSwgYnV0IHlv dSBjb3VsZCBkZWxheSBtYXNraW5nIHRoZSBSVyBhbmQgTlggYml0cyB1bnRpbCB0aGUgZmlu YWwNCmFzc2lnbm1lbnQgdG8gKnJldF9ueCBhbmQgKnJldF9ydy4gQXQgdGhlIHNhbWUgdGlt ZSBJJ2QgZmV0Y2ggdGhlIGZsYWdzIG9ubHkNCm9uY2UgcGVyIGxldmVsLiBTbyBzb21ldGhp bmcgbGlrZToNCg0KdW5zaWduZWQgbG9uZyBmbGFnc19vcmVkID0gMDsNCnVuc2lnbmVkIGxv bmcgZmxhZ3NfYW5kZWQgPSB+MFVMOw0KdW5zaWduZWQgbG9uZyBmbGFnczsNCg0KZmxhZ3Mg PSBwZ2RfZmxhZ3MoKnBnZCkNCmZsYWdzX29yZWQgfD0gZmxhZ3M7DQpmbGFnc19hbmRlZCAm PSBmbGFnczsNCg0KLi4uDQoNCipyZXRfbnggPSAhIShmbGFnc19vcmVkICYgX1BBR0VfTlgp Ow0KKnJldF9ydyA9ICEhKGZsYWdzX2FuZGVkICYgX1BBR0VfUlcpOw0KDQoNCkp1ZXJnZW4N Cg== --------------nGr1yiYPA6IRVtuOHGKqm04T Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc" Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- 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 kt+z4drzFUyEjLM1vVvIMjkUoJs=3D =3DeeAB -----END PGP PUBLIC KEY BLOCK----- --------------nGr1yiYPA6IRVtuOHGKqm04T-- --------------Bpe3G0jbG0QQIrxS0HcmWRny-- --------------r1Kac4gk4qX0d6I0wsFbCr02 Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmpY1M8FAwAAAAAACgkQsN6d1ii/Ey9i aggAnIbM6yW1QRQkZ69V4GLYH2O59s36L2S1mN1WQEb0liyU3v0xwiBioFE8dtV1pJ9nlm8IqQPf 82sYHH2tEphN1bGVBhsaxrLevp6Ui/J2OMaRXLXkFT8MmetoPI2n/grsLQ8YPtUPXGH7VTuDUuqF UAfc/rJOUDZp4vIIJMhxv+1zpjKltNMRV8tnXQnrzvnOGzQsbGMZ++XnKw7gNf+BPdTIuDGLGTcl PljTsJcxSIqkjCHLWq6KcTeAn9VjEagcvo/OL72+GaAHzRMuAMv1RkPF0+6tRTdkM3kYWK1VP5rd BP4fRBxsxPvCA8WniKIjwiOitAwd/dQiTx14THB6mQ== =AwaV -----END PGP SIGNATURE----- --------------r1Kac4gk4qX0d6I0wsFbCr02--