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 D4F1FCF9C6C for ; Sun, 22 Sep 2024 12:04:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ED4926B007B; Sun, 22 Sep 2024 08:04:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E84CF6B0082; Sun, 22 Sep 2024 08:04:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D4C796B0085; Sun, 22 Sep 2024 08:04:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id B7DC96B007B for ; Sun, 22 Sep 2024 08:04:44 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 37FE180D44 for ; Sun, 22 Sep 2024 12:04:44 +0000 (UTC) X-FDA: 82592242488.23.95D5752 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by imf27.hostedemail.com (Postfix) with ESMTP id 5B2B140018 for ; Sun, 22 Sep 2024 12:04:42 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=d4g0zLen; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf27.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=andreyknvl@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727006669; a=rsa-sha256; cv=none; b=YcZ2O67XtlV9KPj9UcZPECTvvSnQTX8KNp4qwEP3punsLv4kCHIU/tvPmNB/yQF7D+fEdz D8EB3LIyFOPKXmrpKxr9lt3m9wW4eYWB+LD4qZXQ6QkOt7KfGOElIBQvn0gwOd7r1eGxIE 8l1FZJFBbU9T81RyWDgE1NJcMR4NTmA= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=d4g0zLen; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf27.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=andreyknvl@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727006669; 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=RBEPlNYF+wUU1oRD6OHrayxuYaCQspJdH4WFCZ/gD0I=; b=yY55leiLLgehquSGTXdXTVHZfDRPvvvI0+FqWG64vV24bVVmPSX0RoNT//hDQrTxBd75HH 0ya1FHjl7sBATQkRfLR2wWHTiBE6WirwrQqk1KJXfnD22XW1S4mrPY66vZPjWPNyLUSBLE 4T1M4STL8Z4ySokaTNAGtb007xUxvwQ= Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-42cacabd2e0so28320385e9.3 for ; Sun, 22 Sep 2024 05:04:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727006681; x=1727611481; darn=kvack.org; 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=RBEPlNYF+wUU1oRD6OHrayxuYaCQspJdH4WFCZ/gD0I=; b=d4g0zLenjBp6FPoZaU+/+rrdWgy7FQJchNLBv1LefvWA5DfGrZJIE2ZLgFONAvQmN1 dJnx0Wh3hhZPktlsuFhrr2UOUxUAb7p5N0Cu1CkwVtUFiji4oMHH7RYa8XA/t29BhKmu 6ZyZ4bgj1xDRDPn5AfjmXYu0bihOLMEpWScO0RD5TbS95HiazbJhQgRr5s5Vkv+yqKEx IFwGWItkFeDiQEEnVKRkZkKm+ClHwgZno0RAPU1twt6iwAE9I7HZWwbK3xIm4iEIEHVY iJiH0glX8RQRqS3g4/UAVWgWywAe0qdUTQXFqXXsx61X+2wa9HywqvGKd1SFSTM0q7MP x+GA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727006681; x=1727611481; 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=RBEPlNYF+wUU1oRD6OHrayxuYaCQspJdH4WFCZ/gD0I=; b=TsCVrPZtj8zPSYDem2mTM3px975bwBOHn8O9dg80bMWq7R01sPql7iz/YYBz63zEt/ gtnD2et1O96v+eFsUsLDSSviDdqYUR1I2/iI/JnT2WlDQamfnJWGrAN8yLgNweQzUweh i1tw35i9rTt7tiGfDG2Qf65Xk72YXvfMGtEaXWhug9ZddNQ9EmNIez+v88rjLgKztFXt vwnUHBPZIQKZdnrW5NbPECH4a8oNtz+4qC4iaYzgr2kFyB7tp9IPk3qsnsdXaix7wgX7 mpjkjml6IpgMEy2cq9bRVH/OFetVHEL1RIqIuqCLje18sWgnHu4o7iROfqUOIJl8ea79 gBzw== X-Forwarded-Encrypted: i=1; AJvYcCXnLF6GtlH3oxMrXftWZS4Numcg9QQWEVnCiDCygMZ4VM73O+tHGpg4m3urh6huh61pMg9IFUm/Uw==@kvack.org X-Gm-Message-State: AOJu0YzoeCWHM2pjUtcfznUh/uKkoPirbyvQBJVMnPzpGs8IIIfOEEng dmuI2r35NaxLqaw1JlkqaKKTz/qYXfrlfQSZu6NaopLSHU9MwYDN1x10O2UNNl54cc2IF6ZMqQJ gD5X2lNrq/ZSTlECsNloNSNoR8Hg= X-Google-Smtp-Source: AGHT+IEMkYivBBLCu45KwOxOr1zlBQuXYCIPWCIVHkwszKB/mQ1UOqREqYbpX2MLZHyEse9IAwbi7RS164qLT8lftkY= X-Received: by 2002:a05:600c:15d4:b0:42c:b22e:fc23 with SMTP id 5b1f17b1804b1-42e7e7aa2ccmr43532325e9.15.1727006680647; Sun, 22 Sep 2024 05:04:40 -0700 (PDT) MIME-Version: 1.0 References: <20240921071005.909660-1-snovitoll@gmail.com> In-Reply-To: From: Andrey Konovalov Date: Sun, 22 Sep 2024 14:04:29 +0200 Message-ID: Subject: Re: [PATCH v4] mm: x86: instrument __get/__put_kernel_nofault To: Sabyrzhan Tasbolatov Cc: akpm@linux-foundation.org, bp@alien8.de, brauner@kernel.org, dave.hansen@linux.intel.com, dhowells@redhat.com, dvyukov@google.com, glider@google.com, hpa@zytor.com, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, mingo@redhat.com, ryabinin.a.a@gmail.com, tglx@linutronix.de, vincenzo.frascino@arm.com, x86@kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: 8isec5gm6uxqchnb8oipfocwor4k616q X-Rspamd-Queue-Id: 5B2B140018 X-Rspamd-Server: rspam02 X-HE-Tag: 1727006682-114222 X-HE-Meta: U2FsdGVkX1/amcay6BZ0LrxFDX9nsewPD8gdWH2I6EghehaNbFBT4CZiRnHb1BcXCGTDTzHC7r8O1jbEgRXpMS4XDIVp/v5taOb02URcHrAx1fSPgXbvaei6sY8JnOQUVFgfrTTMmzyOecBEQiaowmyEN8wlTKAAJ5mxJo77O32Gl5TWkPWSDJ/MZE2/AlebRxqztT5Knq0h8A+nHFe81sdH725KuhM7Nprg3lyA0iA0I6GrFjKnsALM9nDnusR6jVJCVOYjfaoYq7DVzLEDWt4aTvUIg0HYKPzWjP2fLFrjNh2uEhF/rfpaQ+nhKQdGyKWrGrd9hRjlNr4F8Ymn1OejkIBJEDtGeUMXCUcvm0KnBCX8Lenql5Ur4GYK9XAk29qq3Winp1b5TfT7zBXBm+wpbJtZtN6W7ihNWvz8J/7zPJmu8aude/e0UgMNm8HqvMdMM1peiFoW4ovcDU8QYALWE6bVy603Y7J8aNyG0AzeLsd7w8TowHIpFZ1iatSrWE6de9rayW6w/bX7I///ixef1ozMyFTtlQ4Rutd2aqRqPwxOXjeVfXNs3OzJjOEPt3LsHbPf3UA6ws5qCnaGEtIHQ45i7XRMV+F44u6nzjV2Ij/02kVCLVuT++UtqonM8KewOygLG6h8nCs4pvcqy7pMZb2Jy9leLINEbhz8Q5o7Fy0Bw267xFVLRASfnToiS+JE9wfoZ0Yu41TRVDBM3UovXExGoc+R1zX9ZkDYPFwREr5ehRu9NdRtaWkbsvUjQeAQyRXAes4J1crVOKijhzlS8fiTt//+oPjiBjAsvqp9biWjtMcM+vKBD50dkvIW6FmqOGfZIL+ORfQ4w0MFpJy70g2hn4h/wA5XmEkrAFBccNYCHzCUARNuWaZD1or8TK2GzIMpsAvk2ElpqhuSQ91dRRnH2jq7TepOsmuv1SD6oFD0TdRmsrtfSbp+PZv1PcbXEY52fto7n7bM7FF /nDI7Vza lkBIWv50niRZS05ROxvdr4Ml1dMztaw/9DCKSKfrKPg3B1WIY8iuGGLUCDrJToO0fsV1b2XEgfVcW5Cs0lvlQx1yo7BiUiZvj2NfRc5QnPejdVy1PithghN7H+sjh3QbJCmn3tuYKQeT4ZOwNDJ+bI9W6x7aZavvlfKkNheSdNUU9SODI5ssvoQN2e8rhfplBY/qv8yltGoN0pfbBi/hNOa8ld2czjkMzJfgeHA0XO8Z0FwBG34GRoBpNpfO7rOHDUtZUfVsmTDAuEX+1aQqM31SVJF0Pvn4eIgiEekTlgASvavSlmr2PRjZphucLTGJ7a5p2sgR9BcL6FZnexRjC9iXbYdwXibkvXcJ39tukt2VHCX7FsjO2H/S2+08au+88IhwvvDT73AOv2irGkcJPaGpSOxAEs3eHgxLZQLQ60teL6HNGq2wnFC3Aq6CRx7hO/He3fUl1UiRN3BM5A9Wb0qAusrU7nfC+zN3gpfiCdGYtdikSX5PjIbQ4vl5BNRL6T2xBCiOWatq5pMM= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000002, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Sun, Sep 22, 2024 at 11:26=E2=80=AFAM Sabyrzhan Tasbolatov wrote: > > On Sun, Sep 22, 2024 at 1:49=E2=80=AFAM Andrey Konovalov wrote: > > > > I tried running the tests with this patch applied, but unfortunately > > the added test fails on arm64, most likely due to missing annotations > > in arm64 asm code. > > Thanks for testing it on arm64. I've checked other arch and found out > that only s390, x86 are using header with > KASAN and friends in annotations. is in arm64 and = x86. > > While the current [PATCH v4] has x86 only instrumentations for > __get/put_kernel_nofault, I think, we can take as an example copy_from_us= er > solution here: > > https://elixir.bootlin.com/linux/v6.11-rc7/source/include/linux/uaccess.h= #L162-L164 > > , which should be a generic instrumentation of __get/put_kernel_nofault > for all arch. I can try to make a separate PATCH with this solution. _inline_copy_from_user appears to only be called for non-kernel variants of copy_from_user, so you would need something different. > > We need to either mark the added test as x86-only via > > KASAN_TEST_NEEDS_CONFIG_ON or add annotations for arm64. > > > > With annotations for arm64, the test might still fail for other > > architectures, but I think that's fine: hopefully relevant people will > > add annotations in time. But I consider both x86 and arm64 important, > > so we should keep the tests working there. > > > > If you decide to add annotations for arm64, please also test both > > KASAN_SW_TAGS and KASAN_HW_TAGS modes. > > Please suggest if the solution above to make a generic instrumentation of > __get/put_kernel_nofault is suitable. I think the approach you have taken with adding instrument_read/write into arch code is fine, we just need to do this for all arches. An alternative would be common wrapper macros that calls __get/put_kernel_nofault + instrument_read/write. > Otherwise, for this patch as you've suggested, we can add > KASAN_TEST_NEEDS_CONFIG_ON(test, CONFIG_X86); > to make sure that kunit test is for x86 only and I can add arm64 kasan-ch= ecks > with SW, HW tags in separate "mm, arm64" PATCH. Sounds good too.