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 CDAFEC19F2A for ; Wed, 3 Aug 2022 17:26:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1B5356B0072; Wed, 3 Aug 2022 13:26:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 165476B0073; Wed, 3 Aug 2022 13:26:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 004608E0001; Wed, 3 Aug 2022 13:26:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id E30926B0072 for ; Wed, 3 Aug 2022 13:26:04 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id A9C5C1C6F65 for ; Wed, 3 Aug 2022 17:26:04 +0000 (UTC) X-FDA: 79758959448.14.E205AA1 Received: from mail-yw1-f181.google.com (mail-yw1-f181.google.com [209.85.128.181]) by imf17.hostedemail.com (Postfix) with ESMTP id 4E3FC4010D for ; Wed, 3 Aug 2022 17:26:04 +0000 (UTC) Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-31f41584236so178409027b3.5 for ; Wed, 03 Aug 2022 10:26:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc; bh=GFxAw/jBxe5LyMOP+HmBMT2P1a4JnHFp13BCTBWGaAQ=; b=S9GOm9JhkpXet5QE1g6qStdUS01m5oEGnSr+xoXFKylVXyDOjto9yj3KvBUKmkWYHQ QtriN3zqO/SCTIN7N289ER4t7VIU4mbb7r7xAQ+IUUK3q2PufBwzCYUJ4q+YB+2hA46n kDZYvRlVOT0GhCBLTrCZhbjWJogEtkf+Nh0e1uwp9xoqotk666gubA9i9DzFCCIxPJjZ rIXcZy7zzvvRdhvN8upFK0Ld8TerAmcZpsBIt8yX18aeys0qTpXLo6wFf8cy/2rbM5VD 1DrlTtkPiROfJID3eSL+RZMaU7fVTKZeh6KukejUV8OKYfukA5RnU/D+ej7fz7b/wN+E Esjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc; bh=GFxAw/jBxe5LyMOP+HmBMT2P1a4JnHFp13BCTBWGaAQ=; b=MkjxHl8wSvV7P5S708z5EejuCsMv4TlFT1Dwx9byutlfR3THsx4yscSL6h85Ld6Zdg B9Bi572bltxF5Etn0sHAmKwVo+iLay7I/NOMrVWq7RBd3jLgGKFlgCjIheF7MrCLrVpx 2n3ET0UggPAnRhBvlr/byL3wVWKHRJgab/HtDjvRLYuPP+TxlvAM2nLbGm646AFbzvoP bxmIr/nKDVRbY/Ui5OhD7wBTVZAHeojWcMXV7w1hCbSRWMH/qRehRHVVkCAPcZiqu6/O m2f6tYID8JpGFiGpFlafWGfKkWPp8BxpUua6g456Y0XnhIqEB34rdG/qYVf3DTY/TkmY 5PoQ== X-Gm-Message-State: ACgBeo1Gy5VZXgWTsBd53k/zk/akqnAqooSeDzGZPtsBfji5pqBRmGue w4gDWULRxiPe/Brg7cGpUpooN5DEQdhmU1MEcWKgJw== X-Google-Smtp-Source: AA6agR7Pj2xv/8h3UZoq7GMEfel/PV3Cx0fY7u6nPz19urddu/CnfjbVwmAi8z7209lpFtoa6svstVuCqHFOmXbo1IQ= X-Received: by 2002:a81:7586:0:b0:31f:658e:1ac7 with SMTP id q128-20020a817586000000b0031f658e1ac7mr25234452ywc.295.1659547563352; Wed, 03 Aug 2022 10:26:03 -0700 (PDT) MIME-Version: 1.0 References: <20220701142310.2188015-1-glider@google.com> <20220701142310.2188015-12-glider@google.com> <20220702001806.1379-1-hdanton@sina.com> In-Reply-To: <20220702001806.1379-1-hdanton@sina.com> From: Alexander Potapenko Date: Wed, 3 Aug 2022 19:25:26 +0200 Message-ID: Subject: Re: [PATCH v4 11/45] kmsan: add KMSAN runtime core To: Hillf Danton Cc: Linux Memory Management List , LKML Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1659547564; 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=GFxAw/jBxe5LyMOP+HmBMT2P1a4JnHFp13BCTBWGaAQ=; b=NdT/kiFX5JK6pzmcLoGvgptf3CeSyrZ/erpjoZhYAczbgRZNHqDgnyEEmnjTB6/0sShtzz bOh81zuFJrJ3b+rqGlxVRI1EWXzezVaLv82KfpCRzo0rPOKAJj1wn8/xux5NgWXoEO5q5+ MsM015dRf+6umHerGM8YWMfvALBqj+U= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=S9GOm9Jh; spf=pass (imf17.hostedemail.com: domain of glider@google.com designates 209.85.128.181 as permitted sender) smtp.mailfrom=glider@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1659547564; a=rsa-sha256; cv=none; b=Pq6OrNsa7F5bgovczIZIsasOz0AdPbP7hZAoDul/rKYRndWZBiZ5HVsD8c7FLRGTxsyxMC bLbPDMUpCKNjIfQXGvbn0CTCFGkMQYkkcrVdP6BA1DbAimRpo1sDXTFcVVTSfsqDuS9ojP cCrPePW16XXXAXRqC+tCoMZ4L63WuXk= X-Rspam-User: Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=S9GOm9Jh; spf=pass (imf17.hostedemail.com: domain of glider@google.com designates 209.85.128.181 as permitted sender) smtp.mailfrom=glider@google.com; dmarc=pass (policy=reject) header.from=google.com X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 4E3FC4010D X-Stat-Signature: 91gkqaf6fa6q3c9ye78gnin9scezsf5z X-HE-Tag: 1659547564-703773 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000048, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Sat, Jul 2, 2022 at 2:18 AM Hillf Danton wrote: > > On Fri, 1 Jul 2022 16:22:36 +0200 Alexander Potapenko wrote: > > + > > +bool kmsan_internal_is_module_addr(void *vaddr) > > +{ > > + return ((u64)vaddr >=3D3D MODULES_VADDR) && ((u64)vaddr < MODULES= _END); > > +} > > + > > +bool kmsan_internal_is_vmalloc_addr(void *addr) > > +{ > > + return ((u64)addr >=3D3D VMALLOC_START) && ((u64)addr < VMALLOC_E= ND); > > +} > > Given is_vmalloc_addr(), feel free to add a one-line comment showing the > reason for adding the kmsan internal version. Ok, will do. I'm also going to move these two to mm/kmsan/kmsan.h, so that they can be inlined. Keeping internal versions allows us to not have these two functions instrumented by KMSAN, which gains us some performance and (more importantly) prevents potential recursion. In fact right now the original is_vmalloc_addr() doesn't contain instrumented memory accesses and is thus safe to be called from KMSAN runtime without causing recursion. I am not sure though whether we can rely on that remaining true, so I added it along with the internal version of is_module_address(), which actually has the problem. > Hillf -- Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Stra=C3=9Fe, 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Liana Sebastian Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg