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 D44F9CF9C5B for ; Sat, 21 Sep 2024 20:49:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 54B8C6B0085; Sat, 21 Sep 2024 16:49:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4FC536B0088; Sat, 21 Sep 2024 16:49:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3C2D06B0089; Sat, 21 Sep 2024 16:49:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 1ED6D6B0085 for ; Sat, 21 Sep 2024 16:49:31 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 93EE2140B50 for ; Sat, 21 Sep 2024 20:49:30 +0000 (UTC) X-FDA: 82589936100.03.FD940DC Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) by imf07.hostedemail.com (Postfix) with ESMTP id C85274000A for ; Sat, 21 Sep 2024 20:49:28 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=kQ0CIzO2; spf=pass (imf07.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.221.45 as permitted sender) smtp.mailfrom=andreyknvl@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1726951710; 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=DpMS7wUdHk5IVkgVUMOVgwFSAzOkqlQUSFAK20B9Mtg=; b=g5/T01kyG6yq6toqUhnK8BVdEz/hNrElzXReqGaYKgZPtXf8venlP9N87OQZTbb/KQwb7M LkVefm10eCDDTcKG8xByNLOARKE5m2wcU+YjtqJO5yPJZekdnTuR+ju4UpJtaXaIJR3AAI JbahBcF68yknmA9WCcah1swklLIOSiw= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=kQ0CIzO2; spf=pass (imf07.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.221.45 as permitted sender) smtp.mailfrom=andreyknvl@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1726951710; a=rsa-sha256; cv=none; b=OOx7c9MbkT8aLg6FfoR/Db8yA4F+yXHzd+0FMT9KxnFVzfm0S6cjHVALFwdr19pixePqmJ xiqhrBlYiylNu7UXPE7XbEemxR8fVrsMP9N8bsI0CFWAtiQSJMEcQWXDYt39zRkEs2Hciu ZsOtg2daKrQrHMX5oPFD+b9Hh9EqlEo= Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-374c7e64b60so1680055f8f.2 for ; Sat, 21 Sep 2024 13:49:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726951767; x=1727556567; 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=DpMS7wUdHk5IVkgVUMOVgwFSAzOkqlQUSFAK20B9Mtg=; b=kQ0CIzO2ilSTVp5EGmrW2DN5u2w4CnISINmG5BcfKjMXXoTBvGs1OeTnw0ruQytdLc sPCH3EchBbyWGDacumgaQoz2+SLKsOB7l2x8DlUt3lNXQbpqut9JM3Q+cwJEm20xnv0w bCVFSgilZg3USnTAtB0at9TnzasYNG5s7TP9hDDQC0wT2P/cVMnxyf2Uso4zd7RLUv2L +BV/XuvGZB2kkhPKHnQT62dpbKTWQ2bQx0v2brRLHGR24RsSFOWq/CkT3AQZC1dAN9NV R8o0utAf4lTiTJADcCgARiPlgVb69CNa/vMo7EFSUwD2guFBopmaN3Vh6l5Pof4+qPcL rXEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726951767; x=1727556567; 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=DpMS7wUdHk5IVkgVUMOVgwFSAzOkqlQUSFAK20B9Mtg=; b=JY+fPQSigYkHwYu/lUzkaikimNxSXiX6SBkcpkNzefVZSKn2OxNeoWTUTzXui0/OQY 3Ma61LHzV5h6atj0Sj9+pdm/0nD3wKHuAed30u7h9tjjd98U0Ay3COMykTEkwivB3569 CtjH4T4F/M0yM0MGJ1lXldtw9ckjyPEcuxzO8s81/BnU9mN7+Fy1/Dy8gdG0bPN8N/fl /fwe/EYCwGIY9OFeL1g5X20Wr0hboFEydtryXiguwhLu2fCBFBVLpymapKCs6Gu0e67M 64nyJFGXWbEE76E4jBE7BagxWZ/d6wWx6rWwHTEPYav3JGyDXo423z6hHE6z8avR/Fj/ qqLg== X-Forwarded-Encrypted: i=1; AJvYcCWBqTh/N5/IkFIrLRjCbA6Wh7XlWrSSulizYhPzr8UMIOC8ortwYfCVFMcTibVpBvR4xMI2yO7fGw==@kvack.org X-Gm-Message-State: AOJu0Yy29JgcJoF51up2Gx60hyxYGi7+caKv5GAJA3cuKXzcJ4Zo4Yy+ 4JaJgsKwFaEvdX5OlJgJBjTqqkm0cux/MMzWC1y/sA4l58xJfnt8SdkQNHsNZPJAYf+QXtudXKO aFJuXS4KJ+B0r8+8H6FvmPY35cA8= X-Google-Smtp-Source: AGHT+IFbJfBXdTc6O4Y015mD/nF5MMHpcTtHpNY9+A/YDKXDqQd8e4KejNmxH9971L1jk1/lD6FsWn/GbbPD6Hp8inc= X-Received: by 2002:a5d:4d8f:0:b0:374:b3a3:3f83 with SMTP id ffacd0b85a97d-37a423989e7mr3719363f8f.53.1726951766939; Sat, 21 Sep 2024 13:49:26 -0700 (PDT) MIME-Version: 1.0 References: <20240921071005.909660-1-snovitoll@gmail.com> In-Reply-To: <20240921071005.909660-1-snovitoll@gmail.com> From: Andrey Konovalov Date: Sat, 21 Sep 2024 22:49:15 +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-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: C85274000A X-Stat-Signature: ekfk38a4phbpaxr5ty6xc6bxn1hbb5q8 X-HE-Tag: 1726951768-227756 X-HE-Meta: U2FsdGVkX1/yULeJK3cNfBZWWoG8IQpsUDP3fXhDft0vBubPmnAFHPqAIfZjtG2eUbt4BkPDuKF1wet0eb8gaGJBIsEi2LS3cSKlhsPyvFDsj+nljwHMUJyMk+HX33NMKHFWsWQ59nUbDpGTyBSQwTvaL08i+afJX8mvezCPQG6ofqD3IOiLb+mpFY5YRfqcA8Dw5Q1UkWNO9r/OV52pc94mFN9+cZjjZ55Kd/Ju5mF6WNGtHRKnhUE12pU1gS0yU7FNoFUBhWZbWcgA/SjsLQS4OE1hkO1Eo+ZgB/FogykU/QjmSaFMDsrKnQlEfnim6npJVJ8oRFGSxygQ4Y8JNMqm2KnMoSSbOm/UpwIvlJsC7S8Bu1hawpC98gd4Q+FghoVr+fZwDL3WaWDwz9D3BoENZcWFw5j7AcOxf9MJbgXJ2SGTHn+63+OQDYX0JLWBA19KFVVFL4sHRJFwSpbrQUthWbjpu92lk86GA2LHWbw3VNyLF1IP2wFj2wUZqkSVNHPLug102TOmA4xCsJmlsfYGsBr1hAUUWVKoxoD7DoD7Ke/Ul5RLTdEKDMdPlTLie7jSCL3jvaCsetL7YtTDKLHIoGpBFJqAeRAmM+l7jyEGnDZYIBdZZjQIVWSLZ2VjSUsRtuILS5H5PUd5E/LQ0wjgHRKvbfd8GxG1g7I7UYFfBEnhi4ZQ3fM/vxH2e/1oNIzGzw1+2GhdndMY1+UJ3UHJli9jYaQc3+jFp2RKH0e1STbVxBrtlpdkGjm8S/mdYSN5pTh332bF7YuaBqPysXvBIDbG0Hb2yJ3me+jzXUYdyjtA9BvPiQSDAn+h1uxYOrxsG2+Jj+DD7e9BZhWoC8seuwXZHwX53zi7nyGtNoEg+UV3hNuZOEM0/olRMU3m7pzeNCpEqeKkPoUI4WzLFfJzUKZxoIrLkDpy6TGWgWJluQGzV6QlnMcyIXSChqrCpax12kKVglZophV/Fzw 4GzAMg2H 51G2w3Z6O0IIsWUg+zGkE2diGrSVGRuP2xcoRD8OHZ7sBroZOYIqxjdhQw2s/gSYSYibC9xj8f004rmBwpIUxb3STJxECft5HE4qUiU5jtC0FCL7Y41TlEWujpGDcxrXL1eB35E4GFg8yxjeTHT8PDNAa/ei6RQ5FUa3AkCbljDY4Q+iac2z73tHi9CdiaxLxiFiVMf2aUsxY9Td26npxPZLoemGDsE/nIEOlWBLiaCxcGwsciNLCHKfN3gT1VlkEEDcRNS9FOAM+v+Srvr6eSbUOhOhxEbkG8wSqeBgN+o00J64ZStCFAdNjln3t1bpHyAu6deD9c+UjJWLtf+I2UV2zDmoB32/23wWl1zU/Rmjc79TpfAiq1TOppo4Ds0PXojtkmvQxoGsZ6evnvtnC0A9DudMVYJEq1bt3+Tvteec9YAqVocw3bwsGQI/FmZc5LXia7LL3Cc8IObaPuGjYpmcCbVAVtMtboXrzAyuQKra0sQc= 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: List-Subscribe: List-Unsubscribe: On Sat, Sep 21, 2024 at 9:09=E2=80=AFAM Sabyrzhan Tasbolatov wrote: > > Instrument copy_from_kernel_nofault(), copy_to_kernel_nofault(), > strncpy_from_kernel_nofault() where __put_kernel_nofault, > __get_kernel_nofault macros are used. > > __get_kernel_nofault needs instrument_memcpy_before() which handles > KASAN, KCSAN checks for src, dst address, whereas for __put_kernel_nofaul= t > macro, instrument_write() check should be enough as it's validated via > kmsan_copy_to_user() in instrument_put_user(). > > __get_user_size was appended with instrument_get_user() for KMSAN check i= n > commit 888f84a6da4d("x86: asm: instrument usercopy in get_user() and > put_user()") but only for CONFIG_CC_HAS_ASM_GOTO_OUTPUT. > > copy_from_to_kernel_nofault_oob() kunit test triggers 4 KASAN OOB > bug reports as expected, one for each copy_from/to_kernel_nofault call. > > Reported-by: Andrey Konovalov > Closes: https://bugzilla.kernel.org/show_bug.cgi?id=3D210505 > Signed-off-by: Sabyrzhan Tasbolatov 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. 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. Thanks!