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 3E79DC43334 for ; Thu, 16 Jun 2022 08:51:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CC4046B0072; Thu, 16 Jun 2022 04:51:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C737C6B0073; Thu, 16 Jun 2022 04:51:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B630B6B0074; Thu, 16 Jun 2022 04:51:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id A6CCC6B0072 for ; Thu, 16 Jun 2022 04:51:30 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 7594B21609 for ; Thu, 16 Jun 2022 08:51:30 +0000 (UTC) X-FDA: 79583480340.10.515CD23 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) by imf06.hostedemail.com (Postfix) with ESMTP id 2E78C18009E for ; Thu, 16 Jun 2022 08:51:30 +0000 (UTC) Received: by mail-pf1-f178.google.com with SMTP id u2so928435pfc.2 for ; Thu, 16 Jun 2022 01:51:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=mS2uJPMoWWyqakgkIdFuWI8LXuVrd/9W+lfIvr+9p8Y=; b=SZT39bg5cR+OkMkWO5wpeSl3DkMyVqFd7YbLXnBc60MgW2piCSkn1g2gFZJpThRNpt zkruCyj9rMXe9VLBuJIVMUVAfTRBovSNa8qE3NggTbAxAui55wdPYIGeR9JSjo6xsCdK vp14LlkuY2f1kUJ79yE6hY4/qkkSfmhGwyh+XjJ7TxRshSFEpu+USi3iV2qtPOErlQa6 lsgD7CupMgQgFMRRVSYaEE0YCrra4B36+VlGp4XwUIUiYag336BCw1tJMltDALHsMDvz 9J39jjgOthpxTrMY6B0kwBljuxBx6qLOBekA/2d3JCvRVdwCtn6K7SmsUKImAEOHfuGo 0K7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=mS2uJPMoWWyqakgkIdFuWI8LXuVrd/9W+lfIvr+9p8Y=; b=KdzmBj7/AjUKdaP516jW8dOEiPtMp1b+z1MsoYtA+RarPwVGgBpTBRw0p2SPkWqFIj 9wDNjNcDRZML1E+2e2E820JTqxBWHwGHF9FRtOCzyWHYIVSUq2E0mEz/hIkXgB9FeZVO D84v1DZfTIBDfqsL//gIjgVuT3bl4Tg9z8CGeLLwqiQb1XWPuGZKn1If0/gYzdchUgYC u0CDORFLJcN0wUSwpChpFrhbSDoZZuVJF9wO2/2Af69Dg1RExFqtNYLzUM8INAqzL47I dinkF2ynt004V1Me/7dOoRFq8nRsZhhsWQAK+PmY/EEUf7bqjGGvxk0/ZsDRqAL3aIy7 ZrGw== X-Gm-Message-State: AJIora8oi08Iv05Lk4ZDAGJ3Mq9fqLY0vJAcvpQ8NLkLPoY2FtE94b51 dEf8h7+fC7dQZ9Pfzaga6Sa4QZbbhO5xyw== X-Google-Smtp-Source: AGRyM1tBSbt9YGCCeHIlCon4OiQOwE+mktdYxApM19mjyNs2duWTLroN+49RjK/ySoB2AmV25WKR7A== X-Received: by 2002:a63:fd0f:0:b0:3fa:5e0b:a434 with SMTP id d15-20020a63fd0f000000b003fa5e0ba434mr3465604pgh.493.1655369489100; Thu, 16 Jun 2022 01:51:29 -0700 (PDT) Received: from hyeyoo ([114.29.24.243]) by smtp.gmail.com with ESMTPSA id 75-20020a62184e000000b0051b915c1a47sm1131727pfy.113.2022.06.16.01.51.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Jun 2022 01:51:28 -0700 (PDT) Date: Thu, 16 Jun 2022 17:51:19 +0900 From: Hyeonggon Yoo <42.hyeyoo@gmail.com> To: Christoph Hellwig Cc: Dave Hansen , Andy Lutomirski , Peter Zijlstra , Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Dan Williams , Paolo Bonzini , Jane Chu , "Aneesh Kumar K . V" , Sean Christopherson , Tianyu Lan , Mike Rapoport , Rick Edgecombe , linux-mm@kvack.org, Borislav Petkov , x86@kernel.org Subject: Re: [RFC 1/2] x86/mm/cpa: always fail when user address is passed Message-ID: References: <20220614063933.13030-1-42.hyeyoo@gmail.com> <20220614063933.13030-2-42.hyeyoo@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1655369490; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=mS2uJPMoWWyqakgkIdFuWI8LXuVrd/9W+lfIvr+9p8Y=; b=M7tlibMjZw1ZNdf5RrduahcnTLue+6CVldxhhlQ2t/giivXqQK8RiZj1+Y35CDaXjaLFFC 92eWEdWaGR90pMKCWgHxiSp2Bt/xolHrMCtQAdEa8IEBidl9gFdZ11WJ7fPAPeuB/3rLr5 DxiD/31psgppoEPkD4HXT6Xz/zrrQSI= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=SZT39bg5; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf06.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.210.178 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1655369490; a=rsa-sha256; cv=none; b=apLn+RkCGNzM/FUmZhu5wLjD+jlpAiRS+N+xKhVEVjzQbSYq9r4jce/rM218tBxnQEemWB rlDUa7XiLS+kfClDXyfGFnPGh474QgJ4OtxuSCtZhuORtRqHYakmvNWpIikctD2iQgK4UV yQ0JaF99sQsBIIG9kMfixhpssowvmcI= X-Rspamd-Queue-Id: 2E78C18009E X-Rspam-User: X-Stat-Signature: fxctizgewh1etui1i73jypco8ukehibr Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=SZT39bg5; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf06.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.210.178 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com X-Rspamd-Server: rspam04 X-HE-Tag: 1655369490-427477 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 Wed, Jun 15, 2022 at 06:11:03AM -0700, Christoph Hellwig wrote: > On Tue, Jun 14, 2022 at 03:39:32PM +0900, Hyeonggon Yoo wrote: > > + > > + if (WARN((IS_ENABLED(CONFIG_EFI) ? cpa->pgd != efi_mm.pgd : true) > > + && address <= TASK_SIZE_MAX, > > + KERN_WARNING "CPA: Got a user address")) > > + return -EINVAL; > > This looks rather unreadable. > > Why not something like: > > static bool cpa_addr_valid(struct cpa_data *cpa, unsigned long address) > { > if (address > TASK_SIZE_MAX) > return true; > if (IS_ENABLED(CONFIG_EFI) && cpa->pgd == efi_mm.pgd) > return true; > return false; > } > > .... > > if (WARN_ON_ONCE(!cpa_addr_valid(cpa, address))) > return -EINVAL; > Thank your for feedback. I'll care more about readability in v2. -- Thanks, Hyeonggon