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 2EC29ECAAA1 for ; Tue, 30 Aug 2022 22:26:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9826B8D001B; Tue, 30 Aug 2022 18:26:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 932058D0001; Tue, 30 Aug 2022 18:26:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7D2688D001B; Tue, 30 Aug 2022 18:26:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 6EB218D0001 for ; Tue, 30 Aug 2022 18:26:02 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 41A1880167 for ; Tue, 30 Aug 2022 22:26:02 +0000 (UTC) X-FDA: 79857692964.20.EE17043 Received: from mail-ua1-f43.google.com (mail-ua1-f43.google.com [209.85.222.43]) by imf01.hostedemail.com (Postfix) with ESMTP id F25E640040 for ; Tue, 30 Aug 2022 22:26:01 +0000 (UTC) Received: by mail-ua1-f43.google.com with SMTP id cd25so4796988uab.8 for ; Tue, 30 Aug 2022 15:26:01 -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=r2P9ypGVKmAeSRno/tnjXqx+dUVsN5K996xR9WW8XbA=; b=DZGo2BNvDlG7/zqfXW/QJuwqFO+SIOxNidK6H2ty1hFs/dLY5Eqn1UETUmlkSu0enV xDyl5CVvVebImnq5Thn9RArOrtrLqQX3fekaHzaHeVW+lIS8iJvvPw/5+z07o0RcvVPC P37KA8UbL/ispTj6OaeJhcgK4v7SmiUmj6ynT2QxqZCV10hUtaa+EK6K+79t4PGF/noQ 9e24buA1qTJzQdQvBrsBpdCzA76jh3e8mtF06xH26lCG7Ta02lQOWsrgs9PT6JvynFE/ //7MWylVSxXDVeYji4ooSry5grv9QKnnHoLMwpyWZSUuBEZtdBSjHTIRp1QWqIdIr38W hFQw== 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=r2P9ypGVKmAeSRno/tnjXqx+dUVsN5K996xR9WW8XbA=; b=FqznFKG7kEQ3Ti61BYGEuVRMRW71LLOAxYHXTiQrqIkGAIEn9VLFwXzS0Vk9f8Vwlt ZfUsFZpvae34KApAGQLPMkM6r682YkaeoEmfKUNrF+HAhU6scNOg7IziHGg/Onizn1cQ aJL/hnY33n5YN5dipqj5gxDtW3fNaweMV7UqhyspQb0luUyahjGIO1uXtiiHDI5mXH2q qOwFc9HlXE0+ZOIqx1vYrsDshQDgZ8lv2E6YEHPLa0ZkNe/d/9/IxS8ylhEbh8xg1yHg OroglY3j6/17apxCLsnd6Ma/5Pk3RnYgaKz0mVKNXYwUQxnH6y6Uokjxa2xlcDmBuyzi b2Tw== X-Gm-Message-State: ACgBeo0+jri75NvVjDICruxLhck+HJVum4ZPGtNjIa7WlHLT1HvDxJmf cpizZYyEVaPN0zy1OCyhuFHa2JzOYSbRXh2vZ7yv0g== X-Google-Smtp-Source: AA6agR60+KV0yqyQq+iX5Bs1kEZbtaQBiCEn4gv6zHZYqemrhxaS5IB5T402nhD96NsktnfRhmWwTB/EIRtyUYdZwfQ= X-Received: by 2002:ab0:1e0d:0:b0:39f:a187:b72e with SMTP id m13-20020ab01e0d000000b0039fa187b72emr3174662uak.70.1661898361104; Tue, 30 Aug 2022 15:26:01 -0700 (PDT) MIME-Version: 1.0 References: <20220826150807.723137-1-glider@google.com> <20220826150807.723137-5-glider@google.com> <20220826211729.e65d52e7919fee5c34d22efc@linux-foundation.org> <20220829122452.cce41f2754c4e063f3ae8b75@linux-foundation.org> <20220830150549.afa67340c2f5eb33ff9615f4@linux-foundation.org> In-Reply-To: <20220830150549.afa67340c2f5eb33ff9615f4@linux-foundation.org> From: Yu Zhao Date: Tue, 30 Aug 2022 16:25:24 -0600 Message-ID: Subject: Re: [PATCH v5 04/44] x86: asm: instrument usercopy in get_user() and put_user() To: Andrew Morton Cc: Alexander Potapenko , Marco Elver , Alexander Viro , Alexei Starovoitov , Andrey Konovalov , Andy Lutomirski , Arnd Bergmann , Borislav Petkov , Christoph Hellwig , Christoph Lameter , David Rientjes , Dmitry Vyukov , Eric Dumazet , Greg Kroah-Hartman , Herbert Xu , Ilya Leoshkevich , Ingo Molnar , Jens Axboe , Joonsoo Kim , Kees Cook , Mark Rutland , Matthew Wilcox , "Michael S. Tsirkin" , Pekka Enberg , Peter Zijlstra , Petr Mladek , Steven Rostedt , Thomas Gleixner , Vasily Gorbik , Vegard Nossum , Vlastimil Babka , kasan-dev , Linux Memory Management List , Linux-Arch , 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=1661898362; 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=r2P9ypGVKmAeSRno/tnjXqx+dUVsN5K996xR9WW8XbA=; b=ryJkELEFjG37hYhKyAEUCVPhQG7wxUScGqM/Oun6eKMMqqMW7D/fNr+d2ftwBdhs+R72+X Ol6QLPbFAeK/c5k+aW7SpTimBxWpH0GrpJ096hvFDWp3Pczu8k5AG82p8Hpsn7Emb7a3RW ns+TWwvpRX9JIoj/S/LB05a64FqyVNc= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=DZGo2BNv; spf=pass (imf01.hostedemail.com: domain of yuzhao@google.com designates 209.85.222.43 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1661898362; a=rsa-sha256; cv=none; b=P4qBCJf0M+EYqYqQMnxXcvrE4i9yD5Gy+O+YDmkg4TAgGLSz6mtw9IHyjcmYxEHUALfmNl viwx9f6+nviBVPZdMYhe+gNv64L9vA/qo8FK6KTSNs6zX0sIxUk1soW0aOPF1U2XEIJ17V yMaJ2/bh1YVqflLSBehe1nYs8n6HOms= Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=DZGo2BNv; spf=pass (imf01.hostedemail.com: domain of yuzhao@google.com designates 209.85.222.43 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (policy=reject) header.from=google.com X-Stat-Signature: 8qmspbe1n8m9k46n5j4h37a4hf9kkp56 X-Rspamd-Queue-Id: F25E640040 X-Rspam-User: X-Rspamd-Server: rspam03 X-HE-Tag: 1661898361-722285 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, Aug 30, 2022 at 4:05 PM Andrew Morton w= rote: > > On Tue, 30 Aug 2022 16:23:44 +0200 Alexander Potapenko wrote: > > > > from init/do_mounts.c:2: > > > ./include/linux/page-flags.h: In function =E2=80=98page_fixed_fake_he= ad=E2=80=99: > > > ./include/linux/page-flags.h:226:36: error: invalid use of undefined = type =E2=80=98const struct page=E2=80=99 > > > 226 | test_bit(PG_head, &page->flags)) { > > > | ^~ > > > ./include/linux/bitops.h:50:44: note: in definition of macro =E2=80= =98bitop=E2=80=99 > > > 50 | __builtin_constant_p((uintptr_t)(addr) !=3D (uintpt= r_t)NULL) && \ > > > | ^~~~ > > > ./include/linux/page-flags.h:226:13: note: in expansion of macro =E2= =80=98test_bit=E2=80=99 > > > 226 | test_bit(PG_head, &page->flags)) { > > > | ^~~~~~~~ > > > ... > > > > Gotcha, this is a circular dependency: mm_types.h -> sched.h -> > > kmsan.h -> gfp.h -> mmzone.h -> page-flags.h -> mm_types.h, where the > > inclusion of sched.h into mm_types.h was only introduced in "mm: > > multi-gen LRU: support page table walks" - that's why the problem was > > missing in other trees. > > Ah, thanks for digging that out. > > Yu, that inclusion is regrettable. Sorry for the trouble -- it's also superfluous because we don't call lru_gen_use_mm() when switching to the kernel. I've queued the following for now. --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -3,7 +3,6 @@ #define _LINUX_MM_TYPES_H #include -#include #include #include @@ -742,8 +741,7 @@ static inline void lru_gen_init_mm(struct mm_struct *mm= ) static inline void lru_gen_use_mm(struct mm_struct *mm) { - if (!(current->flags & PF_KTHREAD)) - WRITE_ONCE(mm->lru_gen.bitmap, -1); + WRITE_ONCE(mm->lru_gen.bitmap, -1); } #else /* !CONFIG_LRU_GEN */