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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 59446EB64D7 for ; Tue, 20 Jun 2023 11:33:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BBA9C8D0003; Tue, 20 Jun 2023 07:33:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B6AC08D0001; Tue, 20 Jun 2023 07:33:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A32E38D0003; Tue, 20 Jun 2023 07:33:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 940BF8D0001 for ; Tue, 20 Jun 2023 07:33:38 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 48060809DE for ; Tue, 20 Jun 2023 11:33:38 +0000 (UTC) X-FDA: 80922916116.17.C006502 Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) by imf14.hostedemail.com (Postfix) with ESMTP id 65276100003 for ; Tue, 20 Jun 2023 11:33:36 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=PkVmSxkx; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf14.hostedemail.com: domain of elver@google.com designates 209.85.167.54 as permitted sender) smtp.mailfrom=elver@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687260816; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=XVsib4qKyB82Osq6CfMX+p3Eul3U7zE2OWUFnDtEhvo=; b=kivAiW9IBokuZXB+WnkABvDIfPUwLtO1h/UYjillBrsU3RVz3OVVPJ4ZnGUYpgpD0cKSfn v4Ok/GJ8dswu5er5MF08kWbQhWKmwQsz04STp7mG8Xx00OWANXAPe/s55KMj/cHQ5igIRZ uhjupGcCRL2i0GmPtWG/+tTyvBi6TKs= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=PkVmSxkx; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf14.hostedemail.com: domain of elver@google.com designates 209.85.167.54 as permitted sender) smtp.mailfrom=elver@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687260816; a=rsa-sha256; cv=none; b=iFdeyvNeghsPkWFuqtNEP7Ly/H/Mda1jKdgi10toz29qHoZaDidjtvhFnf796msH26kgj8 TjvTGrSdIC5vZRVz3360LA334S3DKImHShdzAGrAMshqnaaWY/QUmHp5IaiInbW61d7gvh njiHh10LG3b/nbjewmybLWd0BiDIh9M= Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-4f86a7a5499so3624424e87.2 for ; Tue, 20 Jun 2023 04:33:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1687260814; x=1689852814; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=XVsib4qKyB82Osq6CfMX+p3Eul3U7zE2OWUFnDtEhvo=; b=PkVmSxkxBTKfOJoGCeY3MpFQDih6koxeOCQ14L+BpZCZ6kD0s2PK4WBKEjZ50gVvx9 tDm5MO2zh+vUPqQtUMqEard3YaukFyV9rTD8o9U6ek/JzB8fLufmF4HixGFiJnWZ/h6E Lyx82E7hKSR0qnVKz+l7gF6f1sU15vY2D/C2vwiYp9kGbb+ge6YlzQQup20662JX3man vRAiHnQSro7U2xy1x7mRUyrFcwTVjEcFg4DnUgrv8S4FODS46xb1h7BpQ+PIz0f6co0l SCr41shFRago+35eQ234HzgUloxVacc+VWJEPu3EPp6zsdzuG7V+xVNBfazLkXQQdCuZ 3CDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687260814; x=1689852814; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XVsib4qKyB82Osq6CfMX+p3Eul3U7zE2OWUFnDtEhvo=; b=MMc0BTO23fWOAPqsVu9L+KPGO31RGoP02bC3B0zjP3ZrzfmI1Hff4d11207xU9h7Ga 4lpr9+bW9gqpLRf7D4oXIuHvykTY4/L0OdcPwz1cd83RT7nSzNIFqFvCaAP8pITBgAMX 0JhpYVfMgaOSk6KZpz6c9EIvhY2AVouULSFhgssRJlYGaJ5P3+GmMAZZMgvX8DLvj8VT cW5SF2iFYmPiJ+K7N3zEnutiSXcbTgzagXy0xoWzZFYXiIRJikfKDbyoN7rcg7hpD7kd E54Fl2tFJSFa4Gx1HIy8bRGq5dTlEy6kqkYDpez69/XiB9S3EMoA1/INj2RCjkyW3p67 refg== X-Gm-Message-State: AC+VfDwSyNqYAmS4MFAiflmukts10eZHFO7/3OsHo8bNcO5gA4NfQggL 9ywmMxx8scQSw6HA9mjNpgqzH9bKXBp6QEY7938oCg== X-Google-Smtp-Source: ACHHUZ6i52O32LZigRCWsfh0agBf2LmLpUofUpFF51XMDq+fuNByYXQJL7Pt5SwRjcIXw5UxCzPhjHNhb3uSV71WwNo= X-Received: by 2002:ac2:5b0c:0:b0:4f8:666b:9de8 with SMTP id v12-20020ac25b0c000000b004f8666b9de8mr5150573lfn.13.1687260814348; Tue, 20 Jun 2023 04:33:34 -0700 (PDT) MIME-Version: 1.0 References: <20230614095158.1133673-1-elver@google.com> In-Reply-To: From: Marco Elver Date: Tue, 20 Jun 2023 13:32:57 +0200 Message-ID: Subject: Re: [PATCH] kasan: add support for kasan.fault=panic_on_write To: Andrey Konovalov Cc: Andrew Morton , Alexander Potapenko , Dmitry Vyukov , Taras Madan , Aleksandr Nogikh , Andrey Ryabinin , Vincenzo Frascino , Jonathan Corbet , kasan-dev@googlegroups.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Catalin Marinas Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 65276100003 X-Stat-Signature: 389858iuz5s8zq8csw8w8zwu1cgzwfk1 X-HE-Tag: 1687260816-842666 X-HE-Meta: U2FsdGVkX1+oTR1BMxR18K1BlbtY2jSobu4gF8TnceVo5zqXcjv6kjbodvRAhUZba9/w8JANaBkpEUFLrUNZnRYFsARf+2D4i+c2ngDr9o3bbYt4DxGpc0GnywP6AU6jj8TrPCdt25vIi1cQGvhca4CScLzkYtOEo75aZsTBPpowE+DjFJq2L2Np+Rq/ucFprn5Li6BfyH6AvsI0qUIUULCYcjnUOKifLIs5BnHnRd8Tb2dAO3zLGswDxPifOfw/oOznHrJF3kxrSDu5fSf4J/pDD4YIhuPvIkFVC6bbUMABI9pzL7RHuesj5KrxH7sdSbkC4kuMczEYpFcBoEB3f7XQUny6r6KEeSRBd693uxSlTCUYBQn1zeEj189eOJVbLYZBWV8lYxo8y72BvAC+afoY92enKgLrWYon+vPl6bmSgZfCLDzsE66feC4kOJKaVuKMbHZideefkCPBVoSnnKB+he+CwyHXyMcxxjWRPgPph6MZ5y9+hg/QKAYNDm7Hl3O7u7wusKJ7AvS3bpKIPbsYRnwEATnN69Zb7R0dYHmktK+DvwCbNOLvbvedbUG2+NSerdQra/GQvFPCh+z/adESA44V0aUII9PfxigS/EWgYsmcB1goJJ3S7MFaLmbvRQPlDYDS4puLQ75qvkxntchw+8OH29a7GWXADCK4ZaRUX06wJpvG7wxszxnxxRmgNPnOLC4GZGk3MVulcqzE7zly550YsaxoqOlbqfN5I9nbT4UCk6IQr9X4CTF5/UmKs7NhtIj7Ahfj9uKnpgEhBPAhEau3H4XW5MUmx2k8LHnhF4YvFc4r9XMdnmib2Nbn3fU4+/75b2QFIIr+jAaiEjhQa1qVfp5+u8Fz79rNa0MTmyV90PksPKQDLW5x0qvKQl+QBuxz3F2GRn+Jvvms6/QPr6QQUO/mToMLtssf2XC66DU3OTny35vBTWpKK+mgH/M0j/mW4zcfujyG45F ZnJa5DR1 4WkKokMSJ4qvm7ydGUqkQVWAEOB8F6ge0b63t5TSuG/BLxtUNOCWy2PWjEIqzWQTxNmN1rUc8c1CL79StbJO50t5k+I7sY0xVrMSeFRbCk2KVIm2NpO+pM6xIagLMl9QpPJBM/r7vFUzzg4B0C3SziOQbcLrmsYWfysWd8dxnCLcfn0HUpLNUUbjU/bFBxSs3FBVBJW4D3UxCvPZs1iA51GMUDjG2vZwkY1siUghx5jq3ssZ7CF2qYp6cGB30Ksi2V5+7syUoQf5F5gsoFny0BlbDxHIdZ9zkzY6j45Ak2oKNMMBQN7Uh6NSIymsEywanot+Yz7AvIgA1F73bB/8aVzU8Ry+wMGApGw683/IpKiO9GRGVfC4UHm4y1ziciAPy2aQHB0LYFlcwvo14XC3Dk/AIaZgUUa/wo4k4rNi+MA1UNpG1mKEVVE/8a+FGyEApnD63C5wGYEdp8DaLxrwvPhisf09MzkO/iRlI X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, 20 Jun 2023 at 12:57, Andrey Konovalov wrote= : > > On Wed, Jun 14, 2023 at 11:52=E2=80=AFAM Marco Elver w= rote: > > > > @@ -597,7 +614,11 @@ void kasan_report_async(void) > > pr_err("Asynchronous fault: no details available\n"); > > pr_err("\n"); > > dump_stack_lvl(KERN_ERR); > > - end_report(&flags, NULL); > > + /* > > + * Conservatively set is_write=3Dtrue, because no details are a= vailable. > > + * In this mode, kasan.fault=3Dpanic_on_write is like kasan.fau= lt=3Dpanic. > > + */ > > + end_report(&flags, NULL, true); > > Hi Marco, > > When asymm mode is enabled, kasan_report_async should only be called > for read accesses. I think we could check the mode and panic > accordingly. How do we check the mode, and how do we prove it's only called for read accesses? > Please also update the documentation to describe the flag behavior wrt > async/asymm modes. Will do. > On a related note, it looks like we have a typo in KASAN > documentation: it states that asymm mode detects reads synchronously, > and writes - asynchronously. Should be the reverse. This says the documentation is correct, and it's actually called for writes: https://docs.kernel.org/arm64/memory-tagging-extension.html#tag-che= ck-faults Who is right?