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 7B2E3C2BD09 for ; Fri, 12 Jul 2024 05:53:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 14AA86B0096; Fri, 12 Jul 2024 01:53:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0D3E26B0098; Fri, 12 Jul 2024 01:53:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EB6976B0099; Fri, 12 Jul 2024 01:53:09 -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 C6A1E6B0096 for ; Fri, 12 Jul 2024 01:53:09 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 3950E80904 for ; Fri, 12 Jul 2024 05:53:09 +0000 (UTC) X-FDA: 82330032498.15.CAA7E8E Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf21.hostedemail.com (Postfix) with ESMTP id C9E581C001F for ; Fri, 12 Jul 2024 05:53:06 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=O8mX7n1s; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf21.hostedemail.com: domain of mchehab+huawei@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=mchehab+huawei@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720763562; a=rsa-sha256; cv=none; b=hmHTLQuzMuhJG03vCcVmqcZ7MCpQoah8nWW/EADyQn0vYqxFy5YJMUHjsK6uT8BLcua/Is wbGwn7WWQBIc7MUsz3rkLEhp3pILSApF7Oy9f8WdcDBumxKvo3+8261Oz9RgjVwTNMEzVT s+mh7JOjcyRInN6QnRS8fVy6xcdN6/E= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=O8mX7n1s; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf21.hostedemail.com: domain of mchehab+huawei@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=mchehab+huawei@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720763562; 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=GoMHgjPXZs5j8x4fH2J1kOsO5nFtKeaAzI6/tVh3GSY=; b=xVQ2CZX0Zu05UY8c/LoWVrgKjRqOoK6FZAcK7zq1a5EuY7y0cVuhsdLCyno/Y1FJWiURd8 WP77mUWnTpyPowSaVfNgK4bxgWFqOU/ZgSD7uZ8KRp3f0wYMK/efHiMot88fz3YnDAroa2 wTAQOWw7uygBjCq5050l/wX5Fq4FhZE= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id B8F16CE1A35; Fri, 12 Jul 2024 05:53:02 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 570D0C3277B; Fri, 12 Jul 2024 05:52:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1720763582; bh=OsnxxtZ8aNzoHaRaBj666PxT5Qr4RTk3qJYfN72D0hU=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=O8mX7n1s54ENYm8KJks55dNzdK6Lfov0Mdh9l11y1xCWHYSOZJL5FPDtJXr+64jsA fF32OxVM+xZMKDjWtkpi0WMD715qEHbYCJhb29tXkcda9zAlHrZx+cwHbLqihdM1jo FX8ZHIuqcZlhnL9JRhjNnsaK90IuS0DMR0feZBHQLlcO05oMcnplqDF9HZBAwI0rqn EF7x26i/kXuBQYaJodreHb7KTcWolsbJa6XuhI7l6iESH+Gr5vqH9A5q6iFycCyvSr I8vwKQqJ2AV6W4dekH7NjwDfRKG0MzKOSB1OvAKsZ1QfZfCfM8p2Pz327Nji+5DZXo Uv4O+GvAckwqg== Date: Fri, 12 Jul 2024 07:52:53 +0200 From: Mauro Carvalho Chehab To: Tong Tiangen Cc: Mark Rutland , Catalin Marinas , Will Deacon , Andrew Morton , James Morse , Robin Murphy , Andrey Konovalov , Dmitry Vyukov , Vincenzo Frascino , Michael Ellerman , Nicholas Piggin , Andrey Ryabinin , Alexander Potapenko , Christophe Leroy , "Aneesh Kumar K.V" , "Naveen N. Rao" , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , , "H. Peter Anvin" , , , , , , Guohanjun Subject: Re: [PATCH v12 1/6] uaccess: add generic fallback version of copy_mc_to_user() Message-ID: <20240712075253.05e548d9@foz.lan> In-Reply-To: <20240711155343.3729bc30@foz.lan> References: <20240528085915.1955987-1-tongtiangen@huawei.com> <20240528085915.1955987-2-tongtiangen@huawei.com> <20240711155343.3729bc30@foz.lan> X-Mailer: Claws Mail 4.3.0 (GTK 3.24.42; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: C9E581C001F X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 8gn9me8r5moxd6xkpffprg93am8m6m5p X-HE-Tag: 1720763586-553310 X-HE-Meta: U2FsdGVkX1+K/fahzo7jbTolUULcVQImbEw2XP1b7VsEUlgHvhzDkIay7rPckEW1ZqazG04HoqWC97s/IKtDLITs7IqD1uGdyU2/JFNupoPhTqmzLrLW+KYKsYOSBYcugRaAPoUY5xk+7gvzUU78RaV9StShtn75mgfuZM8YNhIBrdzorWnOgSw9aOc4WpjYcdoNFBOEItjpnWEeUumV8T1fBXV9akjOP762z3D6iqWDYyvnh9sE85PL0RrEew62KQiSC51YS+Ry8hw+WIBlRuYdo9kvvACxjSS9jGwpuPuPN2Bw6dwD0NnHKHm1sLTSr0lV48IhO4Lb7c4fOneBWYE4lrS/TRt6LHC7hzIRXfF2O8l4ZkOfzm8F95lw9UoOk7KD8aeYQOwtARPmxkGIfqZEr8mwAQW5OS7q6kWRnvzfbdKBTJTt0esR7qiYLp9FhGEw4whVWfUCANvHNF+KpNTPOgLKB6J139gaCukRQUtNDeEGrziVk98ZN7bY+/YEzELV4qolnsdxSuhadR4pXCB2uqMSKJjdF31JpMr5QoWTxMD+RGwiRkTxbLQqJwSPq2g8tYVTWWxYwt9905JpbkyBM1RaqdXccOfoqFFO/XYxDSqHIzqbWPyVHqKX+7BrnctdihTHbs3bdVQI/uzTvkaeSgKdUNPdO6Cu/Z8ecvo0XowGnZIXVSAemcr6eBtuOK+E2THVk3Hb9ZMIs3JU645GzLeMgfWaJLxqYAOvHtayoHhjj/oXKtroQ4Q/AhLv77rzhWdkObWvCZPnYBTGxQXr3bY6eJQWY+ECnuIzXTd3rvitiSwxwoIpLZAo1JerN5Gk3kYoYDM98VXa+VIcRHS0U8PxqRjs4q1i9tSYKEG94E2nW/nXx1Oh07BB9RN+QFfePCbHW0SRh0C5wEWkujMcWDE02F5sc3koVXlX9XNamwCvJQOZbT/tMJr6dlSAgM7vQYNkdVyL94crXtH gmNxLPd1 SrN1pVJ32yl/cLC/7d8n4OPHQdbd7Ayd2hfhVob4E0tPGPGMC5l62B1SjdqzzysOr970n2q/mp94oxir1cptKZGe17slUFd6c56pdCAse7ckRT18icW8TXyRb7ADacb9DopdrUZzWBTvQXsd1Hz9sGr75ah7RoUXnYuRgUUjBUZKjCe9QsjXHp1ydg1ZQ7iGKYirOQqA1J9BPQYyINAlbP6SZjv3RMMi/hHO8BHbYerDEBwLVIc1fMX4L7RzkMyLIYVI5dMzO0rlmm948Oh/Og5dq/6nakscAnv9mT298WkY+HrFX9jIxMbdxL15U13iViYnuBV/kY/KL/mz+dUgxyfJQUb3kJ/aPXsKbzvTeQFhltnXpG3sf9IyKUJBPFwZ8kcbb 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: Em Thu, 11 Jul 2024 15:53:43 +0200 Mauro Carvalho Chehab escreveu: > Em Tue, 28 May 2024 16:59:10 +0800 > Tong Tiangen escreveu: > > > x86/powerpc has it's implementation of copy_mc_to_user(), we add generic > > fallback in include/linux/uaccess.h prepare for other architechures to > > enable CONFIG_ARCH_HAS_COPY_MC. > > > > Signed-off-by: Tong Tiangen > > Acked-by: Michael Ellerman > > --- > > arch/powerpc/include/asm/uaccess.h | 1 + > > arch/x86/include/asm/uaccess.h | 1 + > > include/linux/uaccess.h | 8 ++++++++ > > 3 files changed, 10 insertions(+) > > > > diff --git a/arch/powerpc/include/asm/uaccess.h b/arch/powerpc/include/asm/uaccess.h > > index de10437fd206..df42e6ad647f 100644 > > --- a/arch/powerpc/include/asm/uaccess.h > > +++ b/arch/powerpc/include/asm/uaccess.h > > @@ -381,6 +381,7 @@ copy_mc_to_user(void __user *to, const void *from, unsigned long n) > > > > return n; > > } > > +#define copy_mc_to_user copy_mc_to_user > > Such define looks weird on my eyes. What to do you want to do here? Ok, other places at uaccess.h have the same pattern. After sleeping over it, it is now clear to me the rationale: you're using an inline to enforce typecast check, as using just a macro won't be doing cast checks. The define will let to use gcc preprocessor #if/#ifdef logic to check if the symbol was defined or not, which makes sense as not all architectures have it. Clever. Patch LGTM. Reviewed-by: Mauro Carvalho Chehab > > > #endif > > > > extern long __copy_from_user_flushcache(void *dst, const void __user *src, > > diff --git a/arch/x86/include/asm/uaccess.h b/arch/x86/include/asm/uaccess.h > > index 0f9bab92a43d..309f2439327e 100644 > > --- a/arch/x86/include/asm/uaccess.h > > +++ b/arch/x86/include/asm/uaccess.h > > @@ -497,6 +497,7 @@ copy_mc_to_kernel(void *to, const void *from, unsigned len); > > > > unsigned long __must_check > > copy_mc_to_user(void __user *to, const void *from, unsigned len); > > +#define copy_mc_to_user copy_mc_to_user > > Same here. > > > #endif > > > > /* > > diff --git a/include/linux/uaccess.h b/include/linux/uaccess.h > > index 3064314f4832..0dfa9241b6ee 100644 > > --- a/include/linux/uaccess.h > > +++ b/include/linux/uaccess.h > > @@ -205,6 +205,14 @@ copy_mc_to_kernel(void *dst, const void *src, size_t cnt) > > } > > #endif > > > > +#ifndef copy_mc_to_user > > +static inline unsigned long __must_check > > +copy_mc_to_user(void *dst, const void *src, size_t cnt) > > +{ > > + return copy_to_user(dst, src, cnt); > > +} > > +#endif > > + > > static __always_inline void pagefault_disabled_inc(void) > > { > > current->pagefault_disabled++; > > > > Thanks, > Mauro Thanks, Mauro