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 366C4C88E56 for ; Sat, 12 Sep 2026 17:36:13 +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=PTzfC2qMbfFLN05nCjh5iWxLTnlByauTkUbIf0PkGSc=; b=Ll5UJVZ5Gfk9b7 4LE0VDyvr8R709Ozp3LO7U2ZeUflzYdKKM2hTaI67UpFgiQ14HgCNSsUO50QqbCQz3X6XyXL61JGd LjQMdNLKD1yobPp2XAPNqdCS/AMyXYefze0BKey5zPFO/WqPpVaXsrHnc6mj7E3RFa3WQwknlB4Fn nI/neu+I5ovwnhsysBH7hbMVMSerU74DYi2WzW3V+jYS0vuYf7hI0nPymQoK3UvhkfW01/YWeSmJ8 bqQdNEXNaSSepGcoYaTPY1UYpS28kmJ4TCPGysB4wRHsdlGFWyyWe5hKCk2/tNt4QlkY+4h7U52XR /e0jVuB3GVI8HPVkgDwQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x5Rdg-000000012qS-1Y1e; Sat, 12 Sep 2026 17:35:44 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x5Rde-000000012qE-3jes for linux-riscv@lists.infradead.org; Sat, 12 Sep 2026 17:35:42 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 3A5DC43577; Sat, 12 Sep 2026 17:35:42 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A62881F000FF; Sat, 12 Sep 2026 17:35:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789234542; bh=FEe2Rz/fJk3PRB8Q54ex0lMJG3zWYPZcQ6tk6AJ+7bM=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=ZnOqyl6v9PbbDHzpeQJgveszxX+jf5S3lSl4fMfQ4GjvBrx4cJuFGj+sWIOoWuEPr fn4KU2Tgfa4EbJ5rfAPuwcFZy2b2kbA0GrJyVRgCp1QkusaINVsMg6kHErg5XT0sR1 9xKSCUyr099vOGbZGSg0TRO/oKJctUIHx70GYg4bLfhh114E4UGedrqfOD9phAMOk8 /AuO8o+L27Jpex/YN3LQ38a+bI7Mg35se0vL5D1LHbEJcz/mWObblcJ9mxX9vbBZqB f64Jr7q2qjcUE8udHCH7EADU5/TSqzhwKnK4rKnc+ahgFBKTXn6ivAsOZp4kzsyJ8G oN6kJadLFLLSw== Message-ID: <2dedc7a9-95f5-4a7f-8d38-6b9351db402f@kernel.org> Date: Sat, 12 Sep 2026 19:35:32 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] powerpc/kasan: require memintrinsic prefix support for KASAN To: Mukesh Kumar Chaurasiya Cc: maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, ryabinin.a.a@gmail.com, glider@google.com, andreyknvl@gmail.com, dvyukov@google.com, vincenzo.frascino@arm.com, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, kees@kernel.org, amachhiw@linux.ibm.com, ritesh.list@gmail.com, robh@kernel.org, sayalip@linux.ibm.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, linux-riscv@lists.infradead.org, linux-hardening@vger.kernel.org, Venkat Rao Bagalkote References: <20260908064948.999530-1-mkchauras@gmail.com> Content-Language: fr-FR From: "Christophe Leroy (CS GROUP)" In-Reply-To: X-BeenThere: linux-riscv@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: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org SGkgTXVrZXNoLAoKTGUgMTEvMDkvMjAyNiDDoCAxOTozOSwgTXVrZXNoIEt1bWFyIENoYXVyYXNp eWEgYSDDqWNyaXTCoDoKPiAKPiBbLi4uXQo+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9r ZXJuZWwvY3B1dGFibGUuYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvY3B1dGFibGUuYwo+Pj4gaW5k ZXggNmY2ODAxZGE5ZGMxLi40NDExNWY5MDRjMmMgMTAwNjQ0Cj4+PiAtLS0gYS9hcmNoL3Bvd2Vy cGMva2VybmVsL2NwdXRhYmxlLmMKPj4+ICsrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvY3B1dGFi bGUuYwo+Pj4gQEAgLTM2LDggKzM2LDggQEAgdm9pZCBfX2luaXQgc2V0X2N1cl9jcHVfc3BlYyhz dHJ1Y3QgY3B1X3NwZWMgKnMpCj4+PiAgICAJdCA9IFBUUlJFTE9DKHQpOwo+Pj4gICAgCS8qCj4+ PiAtCSAqIHVzZSBtZW1jcHkoKSBpbnN0ZWFkIG9mICp0ID0gKnMgc28gdGhhdCBHQ0MgcmVwbGFj ZXMgaXQKPj4+IC0JICogYnkgX19tZW1jcHkoKSB3aGVuIEtBU0FOIGlzIGFjdGl2ZQo+Pj4gKwkg KiB1c2UgbWVtY3B5KCkgaW5zdGVhZCBvZiAqdCA9ICpzIHNvIHRoYXQgdGhlIGNvbXBpbGVyIHJl cGxhY2VzIGl0Cj4+PiArCSAqIGJ5IF9fYXNhbl9tZW1jcHkoKSB3aGVuIEtBU0FOIGlzIGFjdGl2 ZQo+Pj4gICAgCSAqLwo+Pgo+PiBEb2VzIHRoZSBpbml0aWFsIHByb2JsZW0gc3RpbGwgZXhpc3Qg d2l0aCB0aGUgbmV3IF9fYXNhbl9tZW1jcHkoKSBhcHByb2FjaCA/Cj4+IElmIG5vdCB0aGUgY29t bWVudCBzaG91bGQgYmUgcmVtb3ZlZC4KPj4KPiBIZXkgQ2hyaXN0b3BoZSwKPiAKPiBUaGFua3Mg Zm9yIHBvaW50aW5nIGl0IG91dCwgaSB0b29rIGEgZGVlcGVyIGxvb2sgaW50byB0aGlzLCBoZXJl J3MgbXkKPiB1bmRlcnN0YW5kaW5nIG9uIGl0Lgo+IAo+IE9uIFBvd2VyUEMgZHVyaW5nIHZlcnkg ZWFybHkgYm9vdCB0aGUga2VybmVsIGlzIGxvYWRlZCBieSB0aGUKPiBib290bG9hZGVyL2Zpcm13 YXJlIGF0IHNvbWUgcGh5c2ljYWwgYWRkcmVzcywgYnV0IHRoZSBrZXJuZWwgd2FzIGxpbmtlZAo+ IGV4cGVjdGluZyBpdCB0byBydW4gYXQgS0VSTkVMQkFTRSh2aXJ0dWFsIGFkZHJlc3MgbGlrZQo+ IDB4YzAwMDAwMDAwMDAwMDAwMCkuIFRoZSBNTVUgbWFwcGluZyB0aGF0IG1ha2VzIHRoYXQgdmly dHVhbCBhZGRyZXNzCj4gdmFsaWQgaGFzbid0IGJlZW4gc2V0IHVwIHlldC4gU28gZmFyIGZvciBh IHdpbmRvdyBvZiBlYXJseSBib290LCBjb2RlIGlzCj4gZXhlY3V0aW5nIGF0IHRoZSBwaHlzaWNh bCBsb2FkIGFkZHJlc3Mgd2hpbGUgYWxsIHN5bWJvbCBhZGRyZXNzZXMgaW4gdGhlCj4gYmluYXJ5 IHJlZmVyIHRvIHRoZSB2aXJ0dWFsIGxpbmtlZCBhZGRyZXNzLiByZWxvY19vZmZzZXQoKSBjb21w dXRlcyB0aGUKPiBnYXAgYmV0d2VlbiB0aGVzZSB0d28gYW5kIFBUUlJFTE9DIGFwcGxpZXMgaXQg dG8gYW55IHBvaW50ZXIuCj4gCj4gU28gUFRSUkVMT0MoJnRoZV9jcHVfc3BlYykgZ2l2ZXMgdGhl IHBoeXNpY2FsIGFkZHJlc3Mgd2hlcmUgdGhlIHN0cnVjdAo+IGFjdHVhbGx5IGxpdmVzIGluIG1l bW9yeSByaWdodCBub3csIG5vdCB3aGVyZSB0aGUgbGlua2VyIHRoaW5rcyBpdCBsaXZlcy4KPiAK PiBXaHkgKnQgPSAqcyB3b3VsZCBiZSB3cm9uZz8KPiAKPiBJbiBzZXRfY3VyX2NwdV9zcGVjOgo+ IAo+IHN0cnVjdCBjcHVfc3BlYyAqdCA9ICZ0aGVfY3B1X3NwZWM7ICAvLyBsaW5rZWQgKHZpcnR1 YWwpIGFkZHJlc3MKPiB0ID0gUFRSUkVMT0ModCk7ICAgICAgICAgICAgICAgICAgICAgLy8gcGh5 c2ljYWwgYWRkcmVzcyDigJQgd2hlcmUgaXQgYWN0dWFsbHkgaXMKPiBtZW1jcHkodCwgcywgc2l6 ZW9mKCp0KSk7ICAgICAgICAgICAgLy8gY29weSBpbnRvIHRoZSByaWdodCBwbGFjZQo+IAo+IElm IHlvdSB3cm90ZSAqdCA9ICpzIGluc3RlYWQsIHRoZSBjb21waWxlciBnZW5lcmF0ZXMgYSBzdHJ1 Y3QgYXNzaWdubWVudC4KPiBGb3IgYSBsYXJnZSBzdHJ1Y3QgbGlrZSBjcHVfc3BlYywgR0NDIGlz IGZyZWUgdG8gaW1wbGVtZW50IHRoYXQgaG93ZXZlcgo+IGl0IGxpa2VzIOKAlCBpbmNsdWRpbmcg ZW1pdHRpbmcgYSBjYWxsIHRvIG1lbWNweSgpLiBCdXQgY3J1Y2lhbGx5LCBhCj4gY29tcGlsZXIt Z2VuZXJhdGVkIG1lbWNweSBjYWxsIHJlc29sdmVzIHRocm91Z2ggdGhlIEdPVC9QTFQgb3IgZGly ZWN0Cj4gc3ltYm9sIOKAlCB3aGljaCBwb2ludHMgdG8gdGhlIGxpbmtlZCB2aXJ0dWFsIGFkZHJl c3Mgb2YgbWVtY3B5LCBub3QgdGhlCj4gcGh5c2ljYWwgYWRkcmVzcy4gQXQgdGhpcyBwb2ludCBp biBib290LCBjYWxsaW5nIHRocm91Z2ggdGhlIHdyb25nCj4gYWRkcmVzcyB3b3VsZCBqdW1wIHRv IGdhcmJhZ2Ugb3IgYW4gdW5tYXBwZWQgcGFnZS4KPiAKPiBtZW1jcHkodCwgcywgc2l6ZW9mKCp0 KSkgd3JpdHRlbiBleHBsaWNpdGx5IGlzIGRpZmZlcmVudDogdCBpcyBhbHJlYWR5Cj4gdGhlIGNv cnJlY3RlZCBwaHlzaWNhbCBhZGRyZXNzLCBzIHBvaW50cyBpbnRvIHRoZSBjcHVfc3BlY3MgdGFi bGUgd2hpY2gKPiBoYXMgYWxzbyBiZWVuIFBUUlJFTE9DJ2QuIFRoZSBleHBsaWNpdCBjYWxsIGdv ZXMgdGhyb3VnaCB0aGUgbm9ybWFsCj4gZWFybHktYm9vdCBjYWxsIG1lY2hhbmlzbSB3aGljaCBp cyBzYWZlLgo+IAo+IFRoZSBvcmlnaW5hbCBjb21tZW50IHNhaWQ6Cj4gCj4gInVzZSBtZW1jcHko KSBpbnN0ZWFkIG9mICp0ID0gKnMgc28gdGhhdCBHQ0MgcmVwbGFjZXMgaXQgYnkgX19tZW1jcHko KQo+IHdoZW4gS0FTQU4gaXMgYWN0aXZlIgo+IAo+IFRoaXMgd2FzIGFkZGVkIGJlY2F1c2UgdW5k ZXIgdGhlIG9sZCBLQVNBTiBzY2hlbWUKPiAoIUNDX0hBU19LQVNBTl9NRU1JTlRSSU5TSUNfUFJF RklYKSwgS0FTQU4gb3ZlcnJvZGUgdGhlIG1lbXNldC9tZW1jcHkKPiBsaW5rZXIgc3ltYm9scyBn bG9iYWxseSB3aXRoIEMgd3JhcHBlcnMgdGhhdCBjYWxsZWQga2FzYW5fY2hlY2tfcmFuZ2UoKS4K PiBJZiB0aGUgY29tcGlsZXIgdHVybmVkICp0ID0gKnMgaW50byBhbiBpbXBsaWNpdCBtZW1jcHko KSwgdGhhdCB3b3VsZCBoaXQKPiB0aGUgS0FTQU4gd3JhcHBlciDigJQgY2FsbGluZyBrYXNhbl9j aGVja19yYW5nZSgpIGF0IGEgcG9pbnQgaW4gZWFybHkgYm9vdAo+IHdoZXJlIHRoZSBLQVNBTiBz aGFkb3cgaXNuJ3QgbWFwcGVkIHlldCwgY2F1c2luZyBhIGNyYXNoLgo+IAo+IFdyaXRpbmcgbWVt Y3B5KHQsIHMsIHNpemVvZigqdCkpIGV4cGxpY2l0bHkgbWFkZSBHQ0MgZW1pdCBfX21lbWNweSgp Cj4gKHRoZSByYXcgYXNzZW1ibHkgYWxpYXMgZXhwb3NlZCBieSBfR0xPQkFMX0tBU0FOKSBpbnN0 ZWFkIG9mIHRoZQo+IEtBU0FOLXdyYXBwZWQgbWVtY3B5KCksIGJ5cGFzc2luZyB0aGUgc2hhZG93 IGNoZWNrLgo+IAo+IFRoYXQgd2FzIHRoZSBzZWNvbmRhcnkgcmVhc29uLiBUaGUgcHJpbWFyeSBy ZWFzb24gdGhhdCB0IGlzIGEKPiBQVFJSRUxPQy1hZGp1c3RlZCBwaHlzaWNhbCBwb2ludGVyIGFu ZCB0aGUgY29weSBtdXN0IGdvIHRocm91Z2ggaXQKPiBjb3JyZWN0bHkgd2FzIG5ldmVyIHN0YXRl ZC4KPiAKPiBTbyB0aGUgS0FTQU4gY29tbWVudCBpcyBub3QgcmVxdWlyZWQgYnV0IGkgdGhpbmsg d2Ugc3RpbGwgbmVlZCB0byBzdGF0ZQo+IHdoeSBtZW1jcHkgaXMgcmVxdWlyZWQuIEZvciBQVFJS RUxPQyBhZGp1c3RtZW50LCBjb21tZW50IHNob3VsZCByZWZsZWN0Cj4gdGhhdC4KPiAKPiBJJ2xs IHVwZGF0ZSB0aGUgY29tbWVudCBhbmQgY29tbWl0IG1lc3NhZ2UgYW5kIHNlbmQgb3V0IGEgbmV3 IHZlcnNpb24uCgpFeHBsYW5hdGlvbiBiYXNlZCBvbiBrZXJuZWwgdjUuMTAKClRoZSBwcm9ibGVt IHdhcyBub3QgbGlua2VkIHRvIFBUUlJFTE9DLCB0aGUgdCA9IFBUUlJFTE9DKHQpIGZvbGxvd2Vk IGJ5IAoqdCA9ICpzIHdvcmtzIHdlbGwgaW4gdGVybSBvZiBhZHJlc3NpbmcsIHJlZ2FyZGxlc3Mg b2Ygd2hldGhlciAKQ09ORklHX0tBU0FOIGlzIGVuYWJsZWQgb3Igbm90LgoKVGhlIHByb2JsZW0g aXMgdGhhdCB3aXRoICp0ID0gKnMsIGdjYyBlbWl0cyBhIGNhbGwgdG8gbWVtY3B5KCkuIFdoZW4g CkNPTkZJR19LQVNBTiBpcyBlbmFibGVkLCBtZW1jcHkoKSBpcyBpbnN0cnVtZW50ZWQuIEJ1dCB3 ZSBkb24ndCB3YW50IApjcHV0YWJsZS5vIGluc3RydW1lbnRlZCBhcyB3ZSBoYXZlIEtBU0FOX1NB TklUSVpFX2NwdXRhYmxlLm8gOj0gbiBpbiAKTWFrZWZpbGUuCgpJbiBhc20vc3RyaW5nLmggd2Ug aGF2ZToKCiNpZiBkZWZpbmVkKENPTkZJR19LQVNBTikgJiYgIWRlZmluZWQoX19TQU5JVElaRV9B RERSRVNTX18pCi8qCiAgKiBGb3IgZmlsZXMgdGhhdCBhcmUgbm90IGluc3RydW1lbnRlZCAoZS5n LiBtbS9zbHViLmMpIHdlCiAgKiBzaG91bGQgdXNlIG5vdCBpbnN0cnVtZW50ZWQgdmVyc2lvbiBv ZiBtZW0qIGZ1bmN0aW9ucy4KICAqLwojZGVmaW5lIG1lbWNweShkc3QsIHNyYywgbGVuKSBfX21l bWNweShkc3QsIHNyYywgbGVuKQojZGVmaW5lIG1lbW1vdmUoZHN0LCBzcmMsIGxlbikgX19tZW1t b3ZlKGRzdCwgc3JjLCBsZW4pCiNkZWZpbmUgbWVtc2V0KHMsIGMsIG4pIF9fbWVtc2V0KHMsIGMs IG4pCgpCZWNhdXNlIGluIG5vbi1pbnN0cnVtZW50ZWQgZmlsZXMgbGlrZSBjcHV0YWJsZS5vIHdl IHdhbnQgbWVtY3B5KCkgdG8gYmUgCnJlcGxhY2VkIGF0IGJ1aWxkdGltZSBieSBfX21lbWNweSgp IHRvIHNraXAgS0FTQU4gaW5zdHJ1bWVudGF0aW9uLiBCdXQgCnRoaXMgaXMgcmVzb2x2ZWQgYnkg cHJlLXByb2Nlc3NpbmcsIGFuZCBwcmUtcHJvY2Vzc29yIGRvZXNuJ3Qga25vdyB0aGF0IAp0aGUg Y29tcGlsZXIgd2lsbCBlbWl0IGEgY2FsbCB0byBtZW1jcHkoKS4KCkJ5IHJlcGxhY2luZyAqdCA9 ICpzIGJ5IHRoZSBtZW1jcHkoKSwgdGhlIHByZS1wcm9jZXNzb3IgcmVwbGFjZXMgCm1lbWNweSgp IGJ5IF9fbWVtY3B5KCkgd2hlbiBDT05GSUdfS0FTQU4gaXMgZW5hYmxlZC4KClNlZSB0aGUgZGlm ZmVyZW5jZToKClRoaXMgaXMgdjUuMTAKCjAwMDAwMDAwIDxzZXRfY3VyX2NwdV9zcGVjPjoKICAg IDA6CTk0IDIxIGZmIGUwIAlzdHd1ICAgIHIxLC0zMihyMSkKICAgIDQ6CTdjIDY5IDFiIDc4IAlt ciAgICAgIHI5LHIzCiAgICA4OgliZiBjMSAwMCAxOCAJc3RtdyAgICByMzAsMjQocjEpCiAgICBj OgkzZiBlMCAwMCAwMCAJbGlzICAgICByMzEsMAoJCQllOiBSX1BQQ19BRERSMTZfSEEJLmRhdGEu LnJlYWRfbW9zdGx5CiAgIDEwOgkzYiBmZiAwMCAwMCAJYWRkaSAgICByMzEscjMxLDAKCQkJMTI6 IFJfUFBDX0FERFIxNl9MTwkuZGF0YS4ucmVhZF9tb3N0bHkKICAgMTQ6CTdjIDA4IDAyIGE2IAlt ZmxyICAgIHIwCiAgIDE4Ogk3ZCAzZSA0YiA3OCAJbXIgICAgICByMzAscjkKICAgMWM6CTdmIGUz IGZiIDc4IAltciAgICAgIHIzLHIzMQogICAyMDoJOTAgMDEgMDAgMjQgCXN0dyAgICAgcjAsMzYo cjEpCiAgIDI0Ogk0OCAwMCAwMCAwMSAJYmwgICAgICAyNCA8c2V0X2N1cl9jcHVfc3BlYysweDI0 PgoJCQkyNDogUl9QUENfUkVMMjQJYWRkX3JlbG9jX29mZnNldAogICAyODoJN2YgYzQgZjMgNzgg CW1yICAgICAgcjQscjMwCiAgIDJjOgkzOCBhMCAwMCA1OCAJbGkgICAgICByNSw4OAogICAzMDoJ NDggMDAgMDAgMDEgCWJsICAgICAgMzAgPHNldF9jdXJfY3B1X3NwZWMrMHgzMD4KCQkJMzA6IFJf UFBDX1JFTDI0CV9fbWVtY3B5CiAgIDM0OgkzOCA3ZiAwMCA1OCAJYWRkaSAgICByMyxyMzEsODgK ICAgMzg6CTQ4IDAwIDAwIDAxIAlibCAgICAgIDM4IDxzZXRfY3VyX2NwdV9zcGVjKzB4Mzg+CgkJ CTM4OiBSX1BQQ19SRUwyNAlhZGRfcmVsb2Nfb2Zmc2V0CiAgIDNjOgk5MyBlMyAwMCAwMCAJc3R3 ICAgICByMzEsMChyMykKICAgNDA6CTgwIDAxIDAwIDI0IAlsd3ogICAgIHIwLDM2KHIxKQogICA0 NDoJODMgYzEgMDAgMTggCWx3eiAgICAgcjMwLDI0KHIxKQogICA0ODoJODMgZTEgMDAgMWMgCWx3 eiAgICAgcjMxLDI4KHIxKQogICA0YzoJN2MgMDggMDMgYTYgCW10bHIgICAgcjAKICAgNTA6CTM4 IDIxIDAwIDIwIAlhZGRpICAgIHIxLHIxLDMyCiAgIDU0Ogk0ZSA4MCAwMCAyMCAJYmxyCgpUaGlz IGlzIHY1LjEwIHdpdGggY29tbWl0IGFkY2Y1OTE4N2UyNzAgcmV2ZXJ0ZWQ6CgowMDAwMDAwMCA8 c2V0X2N1cl9jcHVfc3BlYz46CiAgICAwOgk5NCAyMSBmZiBlMCAJc3R3dSAgICByMSwtMzIocjEp CiAgICA0Ogk3YyA2OSAxYiA3OCAJbXIgICAgICByOSxyMwogICAgODoJYmYgYzEgMDAgMTggCXN0 bXcgICAgcjMwLDI0KHIxKQogICAgYzoJM2YgZTAgMDAgMDAgCWxpcyAgICAgcjMxLDAKCQkJZTog Ul9QUENfQUREUjE2X0hBCS5kYXRhLi5yZWFkX21vc3RseQogICAxMDoJM2IgZmYgMDAgMDAgCWFk ZGkgICAgcjMxLHIzMSwwCgkJCTEyOiBSX1BQQ19BRERSMTZfTE8JLmRhdGEuLnJlYWRfbW9zdGx5 CiAgIDE0Ogk3YyAwOCAwMiBhNiAJbWZsciAgICByMAogICAxODoJN2QgM2UgNGIgNzggCW1yICAg ICAgcjMwLHI5CiAgIDFjOgk3ZiBlMyBmYiA3OCAJbXIgICAgICByMyxyMzEKICAgMjA6CTkwIDAx IDAwIDI0IAlzdHcgICAgIHIwLDM2KHIxKQogICAyNDoJNDggMDAgMDAgMDEgCWJsICAgICAgMjQg PHNldF9jdXJfY3B1X3NwZWMrMHgyND4KCQkJMjQ6IFJfUFBDX1JFTDI0CWFkZF9yZWxvY19vZmZz ZXQKICAgMjg6CTdmIGM0IGYzIDc4IAltciAgICAgIHI0LHIzMAogICAyYzoJMzggYTAgMDAgNTgg CWxpICAgICAgcjUsODgKICAgMzA6CTQ4IDAwIDAwIDAxIAlibCAgICAgIDMwIDxzZXRfY3VyX2Nw dV9zcGVjKzB4MzA+CgkJCTMwOiBSX1BQQ19SRUwyNAltZW1jcHkKICAgMzQ6CTM4IDdmIDAwIDU4 IAlhZGRpICAgIHIzLHIzMSw4OAogICAzODoJNDggMDAgMDAgMDEgCWJsICAgICAgMzggPHNldF9j dXJfY3B1X3NwZWMrMHgzOD4KCQkJMzg6IFJfUFBDX1JFTDI0CWFkZF9yZWxvY19vZmZzZXQKICAg M2M6CTkzIGUzIDAwIDAwIAlzdHcgICAgIHIzMSwwKHIzKQogICA0MDoJODAgMDEgMDAgMjQgCWx3 eiAgICAgcjAsMzYocjEpCiAgIDQ0Ogk4MyBjMSAwMCAxOCAJbHd6ICAgICByMzAsMjQocjEpCiAg IDQ4Ogk4MyBlMSAwMCAxYyAJbHd6ICAgICByMzEsMjgocjEpCiAgIDRjOgk3YyAwOCAwMyBhNiAJ bXRsciAgICByMAogICA1MDoJMzggMjEgMDAgMjAgCWFkZGkgICAgcjEscjEsMzIKICAgNTQ6CTRl IDgwIDAwIDIwIAlibHIKClNvIG15IHF1ZXN0aW9uIGlzID8gRG8gd2Ugc3RpbGwgaGF2ZSB0aGlz IGlzc3VlIG5vd2FkYXlzID8KCkNocmlzdG9waGUKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNj dkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtcmlzY3YK 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 lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (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 E5C43C88E59 for ; Sat, 12 Sep 2026 17:35:47 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [127.0.0.1]) by lists.ozlabs.org (Postfix) with ESMTP id 4hhz8d6vZ0z2yDr; Sun, 13 Sep 2026 03:35:45 +1000 (AEST) Authentication-Results: lists.ozlabs.org; arc=none smtp.remote-ip=172.234.252.31 ARC-Seal: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1789234545; cv=none; b=LIVa+Pa2IAwZw3IoRPnWPoNneJo9Mll0qBSE6CxY/b+dm+Xlxjqnnidseee4IGdmh+9hAe9JEASRK6TjlY4lNhkZPd2ahydxLCBu2zI07iYtDRRT4affHLjbVNWTIXSEEz+Tl870VS8dfNXaxsC00/lx6MlEqb4zBuedFaw6nwVY56/725Rg5K05HO5D/J1+fDcJMQ2FhYN/AGnQHISuZEifkEzcceVK4oT9bVPseRjDhWbQan/iozg/By6QzrzdOiXmne/7MjgltXoEeoW2KsDIKIZ8r3k4YTS+anpkD/itbUnyxhivBf1GUR6EezeKqpnwJDVJB69yAv7lluCayA== ARC-Message-Signature: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1789234545; c=relaxed/relaxed; bh=FEe2Rz/fJk3PRB8Q54ex0lMJG3zWYPZcQ6tk6AJ+7bM=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=HUnZJQwIs3u1oj+4AGPj0lpKgkrvzfLlqrvIQCXkNMbrNEhT2yuKBwJ/XuJOljOmXdSIo/wtYvCYfgDpRiJfvhZsSGutW6sqZBlAZAhUAhQ24pYQo1fTFo5goTmDntIrS4zM15/xUusL3NMY6EA2i0XA5JdWZIOjfHlp61pxOZLC9QW4qnztgq0jfyItFxlOjdGKMqB4bmuRpCqdTCvfcl15oCYolgslCTAvZOj9CRMVEvyXEJXiO8PxCzKnrZrjCrQWKp8pvvhCnSfTNX1IwjinTcCPLHJ24x9JcBFAODcCEQSQ9wWDyd7fN/p8BwckA2LtWtRr1/ibRxzJlM6ZpA== ARC-Authentication-Results: i=1; lists.ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=kernel.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=ZnOqyl6v; dkim-atps=neutral; spf=pass (client-ip=172.234.252.31; helo=sea.source.kernel.org; envelope-from=chleroy@kernel.org; receiver=lists.ozlabs.org) smtp.mailfrom=kernel.org Authentication-Results: lists.ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=kernel.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=ZnOqyl6v; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org (client-ip=172.234.252.31; helo=sea.source.kernel.org; envelope-from=chleroy@kernel.org; receiver=lists.ozlabs.org) Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4hhz8c62MQz2xqM for ; Sun, 13 Sep 2026 03:35:44 +1000 (AEST) Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 3A5DC43577; Sat, 12 Sep 2026 17:35:42 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A62881F000FF; Sat, 12 Sep 2026 17:35:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789234542; bh=FEe2Rz/fJk3PRB8Q54ex0lMJG3zWYPZcQ6tk6AJ+7bM=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=ZnOqyl6v9PbbDHzpeQJgveszxX+jf5S3lSl4fMfQ4GjvBrx4cJuFGj+sWIOoWuEPr fn4KU2Tgfa4EbJ5rfAPuwcFZy2b2kbA0GrJyVRgCp1QkusaINVsMg6kHErg5XT0sR1 9xKSCUyr099vOGbZGSg0TRO/oKJctUIHx70GYg4bLfhh114E4UGedrqfOD9phAMOk8 /AuO8o+L27Jpex/YN3LQ38a+bI7Mg35se0vL5D1LHbEJcz/mWObblcJ9mxX9vbBZqB f64Jr7q2qjcUE8udHCH7EADU5/TSqzhwKnK4rKnc+ahgFBKTXn6ivAsOZp4kzsyJ8G oN6kJadLFLLSw== Message-ID: <2dedc7a9-95f5-4a7f-8d38-6b9351db402f@kernel.org> Date: Sat, 12 Sep 2026 19:35:32 +0200 X-Mailing-List: linuxppc-dev@lists.ozlabs.org List-Id: List-Help: List-Owner: List-Post: List-Archive: , List-Subscribe: , , List-Unsubscribe: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] powerpc/kasan: require memintrinsic prefix support for KASAN To: Mukesh Kumar Chaurasiya Cc: maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, ryabinin.a.a@gmail.com, glider@google.com, andreyknvl@gmail.com, dvyukov@google.com, vincenzo.frascino@arm.com, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, kees@kernel.org, amachhiw@linux.ibm.com, ritesh.list@gmail.com, robh@kernel.org, sayalip@linux.ibm.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, linux-riscv@lists.infradead.org, linux-hardening@vger.kernel.org, Venkat Rao Bagalkote References: <20260908064948.999530-1-mkchauras@gmail.com> Content-Language: fr-FR From: "Christophe Leroy (CS GROUP)" In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi Mukesh, Le 11/09/2026 à 19:39, Mukesh Kumar Chaurasiya a écrit : > > [...] >>> diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c >>> index 6f6801da9dc1..44115f904c2c 100644 >>> --- a/arch/powerpc/kernel/cputable.c >>> +++ b/arch/powerpc/kernel/cputable.c >>> @@ -36,8 +36,8 @@ void __init set_cur_cpu_spec(struct cpu_spec *s) >>> t = PTRRELOC(t); >>> /* >>> - * use memcpy() instead of *t = *s so that GCC replaces it >>> - * by __memcpy() when KASAN is active >>> + * use memcpy() instead of *t = *s so that the compiler replaces it >>> + * by __asan_memcpy() when KASAN is active >>> */ >> >> Does the initial problem still exist with the new __asan_memcpy() approach ? >> If not the comment should be removed. >> > Hey Christophe, > > Thanks for pointing it out, i took a deeper look into this, here's my > understanding on it. > > On PowerPC during very early boot the kernel is loaded by the > bootloader/firmware at some physical address, but the kernel was linked > expecting it to run at KERNELBASE(virtual address like > 0xc000000000000000). The MMU mapping that makes that virtual address > valid hasn't been set up yet. So far for a window of early boot, code is > executing at the physical load address while all symbol addresses in the > binary refer to the virtual linked address. reloc_offset() computes the > gap between these two and PTRRELOC applies it to any pointer. > > So PTRRELOC(&the_cpu_spec) gives the physical address where the struct > actually lives in memory right now, not where the linker thinks it lives. > > Why *t = *s would be wrong? > > In set_cur_cpu_spec: > > struct cpu_spec *t = &the_cpu_spec; // linked (virtual) address > t = PTRRELOC(t); // physical address — where it actually is > memcpy(t, s, sizeof(*t)); // copy into the right place > > If you wrote *t = *s instead, the compiler generates a struct assignment. > For a large struct like cpu_spec, GCC is free to implement that however > it likes — including emitting a call to memcpy(). But crucially, a > compiler-generated memcpy call resolves through the GOT/PLT or direct > symbol — which points to the linked virtual address of memcpy, not the > physical address. At this point in boot, calling through the wrong > address would jump to garbage or an unmapped page. > > memcpy(t, s, sizeof(*t)) written explicitly is different: t is already > the corrected physical address, s points into the cpu_specs table which > has also been PTRRELOC'd. The explicit call goes through the normal > early-boot call mechanism which is safe. > > The original comment said: > > "use memcpy() instead of *t = *s so that GCC replaces it by __memcpy() > when KASAN is active" > > This was added because under the old KASAN scheme > (!CC_HAS_KASAN_MEMINTRINSIC_PREFIX), KASAN overrode the memset/memcpy > linker symbols globally with C wrappers that called kasan_check_range(). > If the compiler turned *t = *s into an implicit memcpy(), that would hit > the KASAN wrapper — calling kasan_check_range() at a point in early boot > where the KASAN shadow isn't mapped yet, causing a crash. > > Writing memcpy(t, s, sizeof(*t)) explicitly made GCC emit __memcpy() > (the raw assembly alias exposed by _GLOBAL_KASAN) instead of the > KASAN-wrapped memcpy(), bypassing the shadow check. > > That was the secondary reason. The primary reason that t is a > PTRRELOC-adjusted physical pointer and the copy must go through it > correctly was never stated. > > So the KASAN comment is not required but i think we still need to state > why memcpy is required. For PTRRELOC adjustment, comment should reflect > that. > > I'll update the comment and commit message and send out a new version. Explanation based on kernel v5.10 The problem was not linked to PTRRELOC, the t = PTRRELOC(t) followed by *t = *s works well in term of adressing, regardless of whether CONFIG_KASAN is enabled or not. The problem is that with *t = *s, gcc emits a call to memcpy(). When CONFIG_KASAN is enabled, memcpy() is instrumented. But we don't want cputable.o instrumented as we have KASAN_SANITIZE_cputable.o := n in Makefile. In asm/string.h we have: #if defined(CONFIG_KASAN) && !defined(__SANITIZE_ADDRESS__) /* * For files that are not instrumented (e.g. mm/slub.c) we * should use not instrumented version of mem* functions. */ #define memcpy(dst, src, len) __memcpy(dst, src, len) #define memmove(dst, src, len) __memmove(dst, src, len) #define memset(s, c, n) __memset(s, c, n) Because in non-instrumented files like cputable.o we want memcpy() to be replaced at buildtime by __memcpy() to skip KASAN instrumentation. But this is resolved by pre-processing, and pre-processor doesn't know that the compiler will emit a call to memcpy(). By replacing *t = *s by the memcpy(), the pre-processor replaces memcpy() by __memcpy() when CONFIG_KASAN is enabled. See the difference: This is v5.10 00000000 : 0: 94 21 ff e0 stwu r1,-32(r1) 4: 7c 69 1b 78 mr r9,r3 8: bf c1 00 18 stmw r30,24(r1) c: 3f e0 00 00 lis r31,0 e: R_PPC_ADDR16_HA .data..read_mostly 10: 3b ff 00 00 addi r31,r31,0 12: R_PPC_ADDR16_LO .data..read_mostly 14: 7c 08 02 a6 mflr r0 18: 7d 3e 4b 78 mr r30,r9 1c: 7f e3 fb 78 mr r3,r31 20: 90 01 00 24 stw r0,36(r1) 24: 48 00 00 01 bl 24 24: R_PPC_REL24 add_reloc_offset 28: 7f c4 f3 78 mr r4,r30 2c: 38 a0 00 58 li r5,88 30: 48 00 00 01 bl 30 30: R_PPC_REL24 __memcpy 34: 38 7f 00 58 addi r3,r31,88 38: 48 00 00 01 bl 38 38: R_PPC_REL24 add_reloc_offset 3c: 93 e3 00 00 stw r31,0(r3) 40: 80 01 00 24 lwz r0,36(r1) 44: 83 c1 00 18 lwz r30,24(r1) 48: 83 e1 00 1c lwz r31,28(r1) 4c: 7c 08 03 a6 mtlr r0 50: 38 21 00 20 addi r1,r1,32 54: 4e 80 00 20 blr This is v5.10 with commit adcf59187e270 reverted: 00000000 : 0: 94 21 ff e0 stwu r1,-32(r1) 4: 7c 69 1b 78 mr r9,r3 8: bf c1 00 18 stmw r30,24(r1) c: 3f e0 00 00 lis r31,0 e: R_PPC_ADDR16_HA .data..read_mostly 10: 3b ff 00 00 addi r31,r31,0 12: R_PPC_ADDR16_LO .data..read_mostly 14: 7c 08 02 a6 mflr r0 18: 7d 3e 4b 78 mr r30,r9 1c: 7f e3 fb 78 mr r3,r31 20: 90 01 00 24 stw r0,36(r1) 24: 48 00 00 01 bl 24 24: R_PPC_REL24 add_reloc_offset 28: 7f c4 f3 78 mr r4,r30 2c: 38 a0 00 58 li r5,88 30: 48 00 00 01 bl 30 30: R_PPC_REL24 memcpy 34: 38 7f 00 58 addi r3,r31,88 38: 48 00 00 01 bl 38 38: R_PPC_REL24 add_reloc_offset 3c: 93 e3 00 00 stw r31,0(r3) 40: 80 01 00 24 lwz r0,36(r1) 44: 83 c1 00 18 lwz r30,24(r1) 48: 83 e1 00 1c lwz r31,28(r1) 4c: 7c 08 03 a6 mtlr r0 50: 38 21 00 20 addi r1,r1,32 54: 4e 80 00 20 blr So my question is ? Do we still have this issue nowadays ? Christophe