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 722DFCF9C6C for ; Sun, 22 Sep 2024 12:06:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DECD06B0085; Sun, 22 Sep 2024 08:06:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D9BDB6B0088; Sun, 22 Sep 2024 08:06:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C63826B0089; Sun, 22 Sep 2024 08:06:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id A48206B0085 for ; Sun, 22 Sep 2024 08:06:48 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 3D519A0D55 for ; Sun, 22 Sep 2024 12:06:48 +0000 (UTC) X-FDA: 82592247696.14.13E019A Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by imf26.hostedemail.com (Postfix) with ESMTP id 625BA140003 for ; Sun, 22 Sep 2024 12:06:46 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hwhpjqko; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf26.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=andreyknvl@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727006720; a=rsa-sha256; cv=none; b=Rh72U2hu1gEOZvC6Hv7V97q7VdU0IbJ7+lg/1isd1d5QUh3ln5SItu5cwhMZZ//jtVjDLS 5gjL3p+irjz1DDIJxjKzGO3TBw7XfaiIPqqVcYgVXQLVRrEzmAtx8IUrnPFKKpp+7SekgU s9Jeh4udmuM+y3x/mpprnlCmwQqMtlw= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hwhpjqko; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf26.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.128.43 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=1727006720; 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=PiZOe2lz0efuBE5xsl2if9Xg0X7UVZYSnN/VuYjkL3s=; b=zMkdbnJFXrYyoNs8UHvdgBh0+TwwPGxQZMBw6mnLwB5PTtu0vb4ddzG44lpOqINK/4OdRC UM9/g6UG2O0jueMkn3jO9sUuczTpVeYWT5O9fMdyTwgjhqZAj6XxEBm3C49HF6Tt1RwX8E M6fY9sYo6pvmGr7FQX2mEBzFap4fpu0= Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-42cbb08a1a5so32477265e9.3 for ; Sun, 22 Sep 2024 05:06:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727006805; x=1727611605; 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=PiZOe2lz0efuBE5xsl2if9Xg0X7UVZYSnN/VuYjkL3s=; b=hwhpjqkogoFH9NOB/BXfbiphisk0Le3RR7KN7tWGr041UFpTgNW2fTPvNGgefN3Y4F WLUuk41LNj9VwtVqAI1GZ+5SnUrAx0e4HEL+qa1RnLzFrFnW5jW4BiiuSRSCpNsuMyFU bo60utdh9xWmy6Izzq57dASHsj8wT56+l4h0gdEm0sCIPe/VuZzRT0v9txpVr0sEccby ObmquGyWF08YH3o1e2sLe36oFVhxRQ63ykXqnecRTE3GNcgdnlfsOdYweiZsU/E0Tm4P qz+B2IS9XnRiecq51da+zJc7+X+wbVoDpUirUo02VuGyzuE5kyNYO0BUo8MtbO0HEByg K4zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727006805; x=1727611605; 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=PiZOe2lz0efuBE5xsl2if9Xg0X7UVZYSnN/VuYjkL3s=; b=pCh+swW16ASVL/dGiYFbHobg0xr4AzRa2yLd79NAWcv/RxjYBopZRMZeSR3d8Nm7/q teGM1D1b4ysI1xE0pGCMddfC8OqRo6v2uMJeHgjFGNXL3hL3rbUF4mtfwJ1iep5BUEja C6FR1WrdqUTjJOLDLHAxtrqw0Jjx9FTEquCILgZwwscgrhqQfReCywwk9GdpmU8DSmVw 9dgRB15OM7jNwMl233cpHx5K2BdpjAlcm/y5tsKjmoGFhGNNavbXIfSW885LH46qlefg eOMvstLSA5fS54j6HyKNUz6meqwnVPjzVqqoTpWaA7HTWxDLdtcQ1xOv1dkUppz19mJb 3RQw== X-Forwarded-Encrypted: i=1; AJvYcCUdLL5kYESVFmz119gjrwhvEV4NGaquWdqHRS10jHAkJIZ4/FFNtgycQvCyBwBH+cvAXlBj0peYMg==@kvack.org X-Gm-Message-State: AOJu0Yz6WkHX4B63RklREWkToq/w8vA+6bk9WQzlCAKDc+/avtJETmKC ++oU7yg3lcgvZ9Y4KdrT5A71+7nSLd5O8KxJZ+6xqgDLV1ffPuy/VCA96ozKefVdKu0voZOOkpz xW4mQwXlxgX0v57T1PRDiVd0FLWY= X-Google-Smtp-Source: AGHT+IFI/LzUiaaN9j2ioL0Boz8nfXukgualdsFYRmEzQ7Sb0pS6nsINcWotP+04mGDp8wqhnWaWRNHSOC1/w2hwK3Y= X-Received: by 2002:a05:600c:4f8f:b0:42c:a574:6360 with SMTP id 5b1f17b1804b1-42e7adc0dc7mr60810165e9.29.1727006804828; Sun, 22 Sep 2024 05:06:44 -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: Sun, 22 Sep 2024 14:06:34 +0200 Message-ID: Subject: Re: [PATCH v4] mm: x86: instrument __get/__put_kernel_nofault To: Sabyrzhan Tasbolatov , glider@google.com Cc: akpm@linux-foundation.org, bp@alien8.de, brauner@kernel.org, dave.hansen@linux.intel.com, dhowells@redhat.com, dvyukov@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-Queue-Id: 625BA140003 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: wwqkt5qtbj3kn3rmejprprbiitoq3m3k X-HE-Tag: 1727006806-645831 X-HE-Meta: U2FsdGVkX188JuFAGl0nyJ/jK8jzKf8LdGlHxievi9OTtoL/1QWXtFgQTeIXKdG8l1NIwIJSQy2zYl4AmZatAZHr9f9sa/HxwJ/gQyjhK+jmyNzD/Yg1WI8vuiDvi55MDXHIRmVHy9rqirTCZYitp/XHNZT09tT+3dsQGCO5ousteaLUXJXDYdOrv2L8lgliWGYjrdY4Hf9SYkhdZZNFpiMmUghbBb4t4xLEnaAr0uI9E2GC9xMIHsAq9KjNcM+4jpgzZjzjq+DYtxtIfSYjQYUffOLLEFTIoHZiOq1B+4fksUQ8Cab1wKltlC2h5ifUJi/w7Tjt8Bwk6PYZzN7SnzZ7rhHky8a5M0k6PizrYSeGa9lOKyDhnMkr0gOE9B3FUjIY9fBdfTtrGeVtfTtFHQcWzJefVCtAbxNh1xfmTLAjo0iRdbki3x+F/7Ien/UHpfRf3kCZpCZDvdqQtw/fqJA7kxJPA0kh8YvdM2JQr8rPOnZiM9XTLyNL2CeUuoUxDP7jOO4UuRkgPxdfULlMlsyiM6A17uqiT3xZ47dIIkLbDCAJBML4+fqH8ZOYbiTe0lRWON8xabuRy+MF0nYEsz2dbHgvjVJPy9YOQPDCl9uHQ/PYarf7GR6fYq9hkKmOk2WA8+WUU5jWXJFskHxJ/2iFLvkHEVs2mTHrMt2Dwlf+e4KMn30J4Mxfemw+NvkID8yKzYTTTeiAcbDx4Y2yVmzs15JgjrgYbO7cSKlYrJp58kxwCOb3moZBRlw/ZYXAPmGQN2f93PiF5XnQMC/yiKGZto7mkfQl8iEO9bqxCUGrzWLS/QH1IgmOmp0yQBhq7Z0un48Iu54F1mxiTl6aQrl2Uc+hbDxwQHiV27YF37lbZL+WsFclWyLCYsaq3NARBnlnAQNR0Z6w6FsW+/TE7gApKyp3lkkhV+CorIF4k/vohoYrhHGoltLxs0JYuakoPgoa0F6FR4IONYRFQOX qOniRhWE PZFRLqR+A2jw9YcxmNnZSKnZblA1l7Sg4kUZGm5+pN2uShxhoJ8r/H+rFPBE8xmrU5ZcFppkci1bOyBCjr9fQgCxWK8xDb+ZHUTl4O2HWfDUQb9ZNQ/HoXjNmWRRC757XV0OsF7acx12b77jfuC7Dp4dMcfl8o9lf0arBjKqsYNvftR2QpqcTG5+OHZrcrkOLCeUAhyDn8Ucfu0JUHReCUo5UF7vjDPgGb6L6lqpFkOMGW2WHB1d2IkR6ue8LI/MiO66FdMfvr+mGUSxsXiJ1IpjhfbwBxNqsQpmKm9+jHXMeLEsG26Ggh7X3QWDPCsqy9XzyT6FJ51cVFM5uviVkcgjNkKPJ8+BttHWVmIsLS/zZ+p4q6xHJ8CPDYHS6Hbd4OTLE4XR+IIKTuY0dpZquyFEmnBgh3QdPcwers7W2j2BFzBwMXpZxrNUTvhU43JDq9JM4/3kFRmG9s1Z1DJACZD1+g/9wmFxC611VuIlsopgYd/c= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000019, 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 > --- > v3: changed kunit test from UAF to OOB case and git commit message. > v4: updated a grammar in git commit message. > --- > arch/x86/include/asm/uaccess.h | 4 ++++ > mm/kasan/kasan_test.c | 21 +++++++++++++++++++++ > 2 files changed, 25 insertions(+) > > diff --git a/arch/x86/include/asm/uaccess.h b/arch/x86/include/asm/uacces= s.h > index 3a7755c1a441..87fb59071e8c 100644 > --- a/arch/x86/include/asm/uaccess.h > +++ b/arch/x86/include/asm/uaccess.h > @@ -353,6 +353,7 @@ do { = \ > default: \ > (x) =3D __get_user_bad(); = \ > } \ > + instrument_get_user(x); \ > } while (0) instrument_get_user is KMSAN-related, so I don't think this change belongs as a part of this patch. Perhaps Alexander can comment on whether we need to add instrument_get_user here for KMSAN.