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 C0E27C41535 for ; Fri, 22 Dec 2023 11:20:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E139A6B0075; Fri, 22 Dec 2023 06:20:57 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DC38C6B0078; Fri, 22 Dec 2023 06:20:57 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C8B986B007B; Fri, 22 Dec 2023 06:20:57 -0500 (EST) 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 B86B36B0075 for ; Fri, 22 Dec 2023 06:20:57 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 89DBC80EA0 for ; Fri, 22 Dec 2023 11:20:57 +0000 (UTC) X-FDA: 81594212154.21.FD5FF27 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf06.hostedemail.com (Postfix) with ESMTP id E4C8E180016 for ; Fri, 22 Dec 2023 11:20:54 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="B/uUWFPk"; spf=pass (imf06.hostedemail.com: domain of guoren@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=guoren@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703244055; 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=ThXr9sq+YTt+D9kbPpfTWx0VWdIcB9LkZ/oyitqdPlA=; b=UF+FEEEGhHSTO06NS5ocEggsU3KVEMw4yBqkDWOtFgD2ziBD7hz9iRUjf/7nt8zwwvpleQ 6uHRDAKEqz6zBvDlU/5clbbc3HX0P6c0fTScxOCuO2Iux4L/6Srr0MRFikgIdf2cZjDasC 5oQT0MyfPd/ncPFRrVsHI8ZNtBQazS4= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="B/uUWFPk"; spf=pass (imf06.hostedemail.com: domain of guoren@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=guoren@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703244055; a=rsa-sha256; cv=none; b=R76+8j2y1wQsSoOA4nq7iCn2XAHqMtmn4TFSEPohI5rHwoVfA+eZq0J5BgPvFlN6KXHpaD vaJBnA0T0YFN3Q4dXfWPJGBXi17DcsS89llB5Ia4s90XJuTsyNuLVHWmqCTVCqwu3Mj05Q MDJOHm5u0DAc3IH6qob4tN/4As5pf+c= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id DD623CE21B1 for ; Fri, 22 Dec 2023 11:20:50 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4BAE0C433B6 for ; Fri, 22 Dec 2023 11:20:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1703244049; bh=VyOf0Nbm3eElcobcOdq0RIskLo4Ccvqk/gGgSWsd0Ec=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=B/uUWFPkoXZAriI8VSvKQWlcAu38i2HNMHne6Q7pWbHNRtVu9hAkTWoomJtHF40gN gkVKQGd84Ri994M8KJ3F58/CeFBkV2fxc8cS5KtX/dfVIFfvvPjWnfuRF3DYlFWIzb 3N7vgTiziO63zUTPlw9x2s3dNxPeKGPZRquRva77oA4X9UyXqjg+bEOWKEjEuKOT88 9H2vhUsSpuzdHjikz3ehvq9ltcCxulVphnYmjowwbQJqtfiCRAg5NPSjl91rZk+IQC FsPX9IIlW7l0ifXpmG4wFP8tulZShu71fuJHBe5V4mipxu1zYrYdAzD7D4a/NpzA44 86Bnw/AwHZ+gQ== Received: by mail-ej1-f42.google.com with SMTP id a640c23a62f3a-a234dc0984fso194850766b.0 for ; Fri, 22 Dec 2023 03:20:49 -0800 (PST) X-Gm-Message-State: AOJu0YyOzGbFnr8pmPW63wnFuHzE6IJudl+qE92f5zl9cnyyo3Fq+mXs BR6Zh4+O08jf7t8qq+jr+rRb+ltdIu3gJTzvovo= X-Google-Smtp-Source: AGHT+IH9Ax5gaGTljfFnsV4S+ecgjXZzoRp5b+AUpaKM3FR0Ld4GSciGJygXOpZXIE5wXJ5iU/9ljTazK/ew/Y/FecQ= X-Received: by 2002:a17:906:51cf:b0:a19:a19b:78cf with SMTP id v15-20020a17090651cf00b00a19a19b78cfmr695212ejk.146.1703244047649; Fri, 22 Dec 2023 03:20:47 -0800 (PST) MIME-Version: 1.0 References: <20231222074605.452452-1-leobras@redhat.com> <20231222074605.452452-4-leobras@redhat.com> In-Reply-To: <20231222074605.452452-4-leobras@redhat.com> From: Guo Ren Date: Fri, 22 Dec 2023 19:20:36 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC PATCH 3/4] riscv: Introduce is_compat_thread() into compat.h To: Leonardo Bras Cc: Paul Walmsley , Palmer Dabbelt , Albert Ou , Eric Biederman , Kees Cook , Oleg Nesterov , Conor Dooley , Andy Chiu , Greg Ungerer , Vincent Chen , Xiao Wang , Charlie Jenkins , Andrew Morton , Alexandre Ghiti , Kemeng Shi , David Hildenbrand , "Matthew Wilcox (Oracle)" , Qinglin Pan , Greentime Hu , =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= , =?UTF-8?B?Q2zDqW1lbnQgTMOpZ2Vy?= , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: E4C8E180016 X-Rspam-User: X-Stat-Signature: wn8rw5asok8fh5sn9pt9foo53t158xob X-Rspamd-Server: rspam01 X-HE-Tag: 1703244054-435115 X-HE-Meta: U2FsdGVkX18KfOKL1kiSBIWTp70Mc4xT4QOtLZjRJ3awecAfRhyAL7JvQV7u9HyW/dBvP9xJyDdybGGaSk4Pz3wgjAyDjpzmutO7O9ly5USQddG1VTvl9p1kAR/RYDJ5MJYgZklnhQnXs1s2EtJi2LzUmBTh28jSwAgNhY+jiCATmrRG8JMuXGM4kr0iehnS68TJJ3G/hq8HgAsNgx8ylrLUITjH6eOXGHvMTETO+kB2b2b3GwE7nxuRVVLYjRypCgylH6nfxZmcAffYx5lWbNAzbUARlzuqndAf9RP16qzl3qGx6Vb7HpUj6pP/mseHz0W6SXApbT5z6VciBPh/gZfflRM1r7RJ+28cpKT4hKUfLluQsRKA40uTF3vA2Psr8lJ9OFchdciIMzLmDl4+8qJQIf6tJ9nelyEmTV40QgS6sSnDx/KJTvMbmYTKovipsQL7+a7yLC/ZrDVNcxsthHr2pE12oLdDE6RMqHl7qd7Jil9hzcgV3w75U59KSXitG4BnxMh5BwcsIW1if21wIONeF8T7FxfB2Z2WQn4OanotU4jhZuumVIaTW80mZuiFv4Hir7PwRaFtoHZafAn/PDfSq8HhP8oc3UEJWiCKjcwVz3cfyHN4mNs2b/NAZOnfelSvl54t8V/kuKgXE8LXZtcn3BzNVLh9IGvsNW445wn8gR7lEZ9Sz+i4I+F7XGOtcqOgS2XqNqWFl0L6CUPQYogEuFJsLP8M9UkGbWszcJgoM2TW7nzcmduDMgSiEzF832Q/Mc80lU6DUd32VXLWFX1athr1fX4klJiPuk/Tf5b/QQxqxl5v8hAyj+UImh0APLR8Ghi3gU3avIVBNDF6ELJNAvFMTA0vZWzPtkv9ll51h+Y+rZB83HxkUsqM1ePndMWIxTQwDm6gD8qjNZa8qhmn+izv0P2Ohv/g5lZNiZP50anuJANluWzwkEG6q0r39XrF9Cn6euhjc7VUSCL PKD8Fqgy hc6RhBns2IjTNHvPCg7ESPr04VSkPF2+3IuzTvSkUSXCBw/zqEHQJQsd52wyF4sDGdrbWoahq1dNN5m/oH2Wy/FGW+CXxTu1LlY8tbBQw7ereZShj0/AEcYka350mpuDl3j4MNP3eQKJxSolOczA7oZ+Vdr9E7Rtj6cPfI+ASE+VVj77lG2No46XqVlH6YvQw7iGYcsTYTCkmaGV/G4bLosR8LvxkJfy64yJUQoMOpdrY1FDFdd3UtF6QlOKrUmLVpn5F7yQtYWrZUn7OONThbKU8Uj+RgoBTG0p//Z8k8THN7pFBm5b6KFN1qlnsQTd2Fcg9P1dLisaepvoFi+xNX/HVXA== 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 Fri, Dec 22, 2023 at 3:47=E2=80=AFPM Leonardo Bras = wrote: > > task_user_regset_view() makes use of a function very similar to > is_compat_task(), but pointing to a any thread. > > In arm64 asm/compat.h there is a function very similar to that: > is_compat_thread(struct thread_info *thread) > > Copy this function to riscv asm/compat.h and make use of it into > task_user_regset_view(). > > Also, introduce a compile-time test for CONFIG_COMPAT and simplify the > function code by removing the #ifdef. > > Signed-off-by: Leonardo Bras > --- > arch/riscv/include/asm/compat.h | 8 ++++++++ > arch/riscv/kernel/ptrace.c | 6 +++--- > 2 files changed, 11 insertions(+), 3 deletions(-) > > diff --git a/arch/riscv/include/asm/compat.h b/arch/riscv/include/asm/com= pat.h > index 91517b51b8e27..da4b28cd01a95 100644 > --- a/arch/riscv/include/asm/compat.h > +++ b/arch/riscv/include/asm/compat.h > @@ -20,6 +20,14 @@ static inline int is_compat_task(void) > return test_thread_flag(TIF_32BIT); > } > > +static inline int is_compat_thread(struct thread_info *thread) > +{ > + if (!IS_ENABLED(CONFIG_COMPAT)) > + return 0; We also could put this into is_compat_task(). > + > + return test_ti_thread_flag(thread, TIF_32BIT); > +} > + > struct compat_user_regs_struct { > compat_ulong_t pc; > compat_ulong_t ra; > diff --git a/arch/riscv/kernel/ptrace.c b/arch/riscv/kernel/ptrace.c > index 2afe460de16a6..f362832123616 100644 > --- a/arch/riscv/kernel/ptrace.c > +++ b/arch/riscv/kernel/ptrace.c > @@ -374,14 +374,14 @@ long compat_arch_ptrace(struct task_struct *child, = compat_long_t request, > > return ret; > } > +#else > +static const struct user_regset_view compat_riscv_user_native_view =3D {= }; > #endif /* CONFIG_COMPAT */ > > const struct user_regset_view *task_user_regset_view(struct task_struct = *task) > { > -#ifdef CONFIG_COMPAT > - if (test_tsk_thread_flag(task, TIF_32BIT)) > + if (is_compat_thread(&task->thread_info)) > return &compat_riscv_user_native_view; > else > -#endif > return &riscv_user_native_view; > } > -- > 2.43.0 > LGTM Reviewed-by: Guo Ren --=20 Best Regards Guo Ren